@firela/api-types 0.0.0-canary.3d558482 → 0.0.0-canary.3d7ae187
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 +2043 -1415
- package/dist/index.d.ts +2043 -1415
- package/dist/index.js +8 -6
- package/dist/index.mjs +8 -6
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +2443 -1390
- package/src/generated/services.gen.ts +820 -660
- package/src/generated/types.gen.ts +22857 -1586
|
@@ -99,6 +99,14 @@ import type {
|
|
|
99
99
|
CommodityControllerGetOrCreateResponse,
|
|
100
100
|
CommodityControllerBulkCreateData,
|
|
101
101
|
CommodityControllerBulkCreateResponse,
|
|
102
|
+
ReportingControllerGetPortfolioTrendsData,
|
|
103
|
+
ReportingControllerGetPortfolioTrendsResponse,
|
|
104
|
+
ReportingControllerGetCashFlowTrendsData,
|
|
105
|
+
ReportingControllerGetCashFlowTrendsResponse,
|
|
106
|
+
ReportingControllerGenerateSnapshotData,
|
|
107
|
+
ReportingControllerGenerateSnapshotResponse,
|
|
108
|
+
ReportingControllerBackfillSnapshotsData,
|
|
109
|
+
ReportingControllerBackfillSnapshotsResponse,
|
|
102
110
|
PriceControllerCreateData,
|
|
103
111
|
PriceControllerCreateResponse,
|
|
104
112
|
PriceControllerFindAllData,
|
|
@@ -111,6 +119,28 @@ import type {
|
|
|
111
119
|
PriceControllerDeleteResponse,
|
|
112
120
|
PriceControllerBulkCreateData,
|
|
113
121
|
PriceControllerBulkCreateResponse,
|
|
122
|
+
UserControllerDeleteOwnUserData,
|
|
123
|
+
UserControllerDeleteOwnUserResponse,
|
|
124
|
+
UserControllerGetUserData,
|
|
125
|
+
UserControllerGetUserResponse,
|
|
126
|
+
UserControllerSignupUserData,
|
|
127
|
+
UserControllerSignupUserResponse,
|
|
128
|
+
UserControllerDeleteUserData,
|
|
129
|
+
UserControllerDeleteUserResponse,
|
|
130
|
+
UserControllerGetUserInfoData,
|
|
131
|
+
UserControllerGetUserInfoResponse,
|
|
132
|
+
UserControllerUpdateUserSettingData,
|
|
133
|
+
UserControllerUpdateUserSettingResponse,
|
|
134
|
+
UserControllerGetAllUserSettingsByPageData,
|
|
135
|
+
UserControllerGetAllUserSettingsByPageResponse,
|
|
136
|
+
UserControllerGetAssetLiabilitySummaryResponse,
|
|
137
|
+
PropertyControllerGetAllResponse,
|
|
138
|
+
PropertyControllerGetByKeyData,
|
|
139
|
+
PropertyControllerGetByKeyResponse,
|
|
140
|
+
PropertyControllerUpdateData,
|
|
141
|
+
PropertyControllerUpdateResponse,
|
|
142
|
+
PropertyControllerDeleteData,
|
|
143
|
+
PropertyControllerDeleteResponse,
|
|
114
144
|
RecurringRuleControllerCreateData,
|
|
115
145
|
RecurringRuleControllerCreateResponse,
|
|
116
146
|
RecurringRuleControllerFindAllData,
|
|
@@ -163,36 +193,8 @@ import type {
|
|
|
163
193
|
TransactionRuleControllerDeleteResponse,
|
|
164
194
|
TransactionRuleControllerTestData,
|
|
165
195
|
TransactionRuleControllerTestResponse,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
UserControllerGetUserData,
|
|
169
|
-
UserControllerGetUserResponse,
|
|
170
|
-
UserControllerSignupUserData,
|
|
171
|
-
UserControllerSignupUserResponse,
|
|
172
|
-
UserControllerDeleteUserData,
|
|
173
|
-
UserControllerDeleteUserResponse,
|
|
174
|
-
UserControllerGetUserInfoData,
|
|
175
|
-
UserControllerGetUserInfoResponse,
|
|
176
|
-
UserControllerUpdateUserSettingData,
|
|
177
|
-
UserControllerUpdateUserSettingResponse,
|
|
178
|
-
UserControllerGetAllUserSettingsByPageData,
|
|
179
|
-
UserControllerGetAllUserSettingsByPageResponse,
|
|
180
|
-
UserControllerGetAssetLiabilitySummaryResponse,
|
|
181
|
-
PropertyControllerGetAllResponse,
|
|
182
|
-
PropertyControllerGetByKeyData,
|
|
183
|
-
PropertyControllerGetByKeyResponse,
|
|
184
|
-
PropertyControllerUpdateData,
|
|
185
|
-
PropertyControllerUpdateResponse,
|
|
186
|
-
PropertyControllerDeleteData,
|
|
187
|
-
PropertyControllerDeleteResponse,
|
|
188
|
-
ReportingControllerGetPortfolioTrendsData,
|
|
189
|
-
ReportingControllerGetPortfolioTrendsResponse,
|
|
190
|
-
ReportingControllerGetCashFlowTrendsData,
|
|
191
|
-
ReportingControllerGetCashFlowTrendsResponse,
|
|
192
|
-
ReportingControllerGenerateSnapshotData,
|
|
193
|
-
ReportingControllerGenerateSnapshotResponse,
|
|
194
|
-
ReportingControllerBackfillSnapshotsData,
|
|
195
|
-
ReportingControllerBackfillSnapshotsResponse,
|
|
196
|
+
CategoryCatalogControllerListData,
|
|
197
|
+
CategoryCatalogControllerListResponse,
|
|
196
198
|
EventControllerCreateData,
|
|
197
199
|
EventControllerCreateResponse,
|
|
198
200
|
EventControllerFindAllData,
|
|
@@ -257,9 +259,12 @@ import type {
|
|
|
257
259
|
PlatformControllerFindAllResponse,
|
|
258
260
|
PlatformControllerCreateData,
|
|
259
261
|
PlatformControllerCreateResponse,
|
|
262
|
+
PlatformControllerGetPlatformListData,
|
|
260
263
|
PlatformControllerGetPlatformListResponse,
|
|
261
264
|
PlatformControllerMatchPlatformsData,
|
|
262
265
|
PlatformControllerMatchPlatformsResponse,
|
|
266
|
+
PlatformControllerGetPlatformStandardsData,
|
|
267
|
+
PlatformControllerGetPlatformStandardsResponse,
|
|
263
268
|
PlatformControllerUpdateData,
|
|
264
269
|
PlatformControllerUpdateResponse,
|
|
265
270
|
PlatformControllerDeleteData,
|
|
@@ -277,6 +282,8 @@ import type {
|
|
|
277
282
|
ApiKeysControllerCreateApiKeyResponse,
|
|
278
283
|
AuthControllerAccessTokenLoginData,
|
|
279
284
|
AuthControllerAccessTokenLoginResponse,
|
|
285
|
+
ParserContributionControllerCreateData,
|
|
286
|
+
ParserContributionControllerCreateResponse,
|
|
280
287
|
CacheControllerFlushCacheResponse,
|
|
281
288
|
ExchangeRateControllerGetExchangeRateData,
|
|
282
289
|
ExchangeRateControllerGetExchangeRateResponse,
|
|
@@ -288,7 +295,11 @@ import type {
|
|
|
288
295
|
HealthControllerResetCircuitBreakerData,
|
|
289
296
|
HealthControllerResetCircuitBreakerResponse,
|
|
290
297
|
HealthControllerGetMetricsResponse,
|
|
291
|
-
InfoControllerGetInfoResponse
|
|
298
|
+
InfoControllerGetInfoResponse,
|
|
299
|
+
SymbolControllerSearchData,
|
|
300
|
+
SymbolControllerSearchResponse,
|
|
301
|
+
SymbolControllerGetQuoteData,
|
|
302
|
+
SymbolControllerGetQuoteResponse
|
|
292
303
|
} from './types.gen';
|
|
293
304
|
|
|
294
305
|
export class BeanAccountsService {
|
|
@@ -326,7 +337,7 @@ export class BeanAccountsService {
|
|
|
326
337
|
* @param data.type Filter by account type
|
|
327
338
|
* @param data.status Filter by status
|
|
328
339
|
* @param data.isCustom Filter by custom (user-created) accounts only
|
|
329
|
-
* @param data.search Search term
|
|
340
|
+
* @param data.search Search term matched against account path and user-set display name (case-insensitive)
|
|
330
341
|
* @param data.limit Maximum number of results
|
|
331
342
|
* @param data.offset Number of results to skip
|
|
332
343
|
* @returns AccountListResponseDto Accounts retrieved successfully
|
|
@@ -407,7 +418,7 @@ export class BeanAccountsService {
|
|
|
407
418
|
|
|
408
419
|
/**
|
|
409
420
|
* Delete account
|
|
410
|
-
* Deletes an account (only if no transactions)
|
|
421
|
+
* Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
|
|
411
422
|
* @param data The data for the request.
|
|
412
423
|
* @param data.id Account UUID
|
|
413
424
|
* @param data.region Region code for tenant context
|
|
@@ -426,7 +437,7 @@ export class BeanAccountsService {
|
|
|
426
437
|
},
|
|
427
438
|
errors: {
|
|
428
439
|
404: 'Account not found',
|
|
429
|
-
409: 'Account has transactions and cannot be deleted'
|
|
440
|
+
409: 'Account has active transactions and cannot be deleted'
|
|
430
441
|
}
|
|
431
442
|
});
|
|
432
443
|
}
|
|
@@ -522,11 +533,11 @@ export class BeanAccountsService {
|
|
|
522
533
|
export class BeanAccountStandardsService {
|
|
523
534
|
/**
|
|
524
535
|
* Get account templates
|
|
525
|
-
* Returns predefined account templates for a region. Supports filtering by account type and search term.
|
|
536
|
+
* Returns predefined account templates for a region. Supports filtering by account type and search term. Not-yet-open region codes return the universal-only catalog (#759).
|
|
526
537
|
* @param data The data for the request.
|
|
527
|
-
* @param data.region Region code (
|
|
538
|
+
* @param data.region Region code (any ISO alpha-2; not-yet-open codes return the universal-only catalog)
|
|
528
539
|
* @param data.type Filter by account type
|
|
529
|
-
* @param data.search Search term for path or
|
|
540
|
+
* @param data.search Search term for path, description, aliases, or localized display name
|
|
530
541
|
* @returns AccountStandardListResponseDto Account templates retrieved successfully
|
|
531
542
|
* @throws ApiError
|
|
532
543
|
*/
|
|
@@ -550,7 +561,7 @@ export class BeanAccountStandardsService {
|
|
|
550
561
|
* Get template metadata for an account path
|
|
551
562
|
* Returns root type for a template path.
|
|
552
563
|
* @param data The data for the request.
|
|
553
|
-
* @param data.region Region code for tenant context
|
|
564
|
+
* @param data.region Region code for tenant context. Not-yet-open codes degrade to the universal-only catalog (#759)
|
|
554
565
|
* @param data.path Account path to check
|
|
555
566
|
* @returns TemplateMetadataResponseDto Template metadata retrieved successfully
|
|
556
567
|
* @throws ApiError
|
|
@@ -572,9 +583,9 @@ export class BeanAccountStandardsService {
|
|
|
572
583
|
|
|
573
584
|
/**
|
|
574
585
|
* Get available regions with hierarchy
|
|
575
|
-
* Returns
|
|
586
|
+
* Returns the full region catalog (every ISO 3166-1 entry) with an 'open' flag and inheritance metadata (#759)
|
|
576
587
|
* @param data The data for the request.
|
|
577
|
-
* @param data.region Region code for tenant context
|
|
588
|
+
* @param data.region Region code for tenant context. Not-yet-open codes degrade to the universal-only catalog (#759)
|
|
578
589
|
* @returns RegionsMetadataResponseDto Regions metadata retrieved successfully
|
|
579
590
|
* @throws ApiError
|
|
580
591
|
*/
|
|
@@ -631,10 +642,11 @@ export class BeanTransactionsService {
|
|
|
631
642
|
* @param data.offset Number of items to skip (default: 0)
|
|
632
643
|
* @param data.dateFrom Filter by start date (inclusive), format: YYYY-MM-DD
|
|
633
644
|
* @param data.dateTo Filter by end date (inclusive), format: YYYY-MM-DD
|
|
634
|
-
* @param data.status Filter by transaction status
|
|
645
|
+
* @param data.status Filter by transaction status: single value, comma-separated multi-value (e.g. VOIDED,SUPERSEDED), or ALL to include audit rows. Defaults to ACTIVE-only (ADR-0128; previously unfiltered — breaking change).
|
|
635
646
|
* @param data.search Search in narration and payee fields (max 200 chars)
|
|
636
647
|
* @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
|
|
648
|
+
* @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an account whose derived Group segment equals this value. Must be accompanied by flow (ADR-0126).
|
|
649
|
+
* @param data.flow Required when category is present (400 otherwise) and vice versa (ADR-0126). Restricts the category account set to the flow root (income → Income:, expense → Expenses:) and drives the per-leg sign normalization of row viewpointAmount and the summary. OpenAPI cannot express conditional requiredness — the pairing is enforced at runtime.
|
|
638
650
|
* @returns TransactionListResponseDto Transaction list
|
|
639
651
|
* @throws ApiError
|
|
640
652
|
*/
|
|
@@ -655,7 +667,8 @@ export class BeanTransactionsService {
|
|
|
655
667
|
status: data.status,
|
|
656
668
|
search: data.search,
|
|
657
669
|
accountId: data.accountId,
|
|
658
|
-
category: data.category
|
|
670
|
+
category: data.category,
|
|
671
|
+
flow: data.flow
|
|
659
672
|
},
|
|
660
673
|
errors: {
|
|
661
674
|
400: 'Validation failed',
|
|
@@ -1368,7 +1381,7 @@ export class AdminPayeeProfilesService {
|
|
|
1368
1381
|
* Removes verification status by setting verifiedAt to null.
|
|
1369
1382
|
* @param data The data for the request.
|
|
1370
1383
|
* @param data.id Payee profile ID (UUID)
|
|
1371
|
-
* @returns
|
|
1384
|
+
* @returns void Payee profile unverified successfully
|
|
1372
1385
|
* @throws ApiError
|
|
1373
1386
|
*/
|
|
1374
1387
|
public static payeeProfileAdminControllerUnverify(
|
|
@@ -1564,6 +1577,163 @@ export class BeanCommoditiesService {
|
|
|
1564
1577
|
}
|
|
1565
1578
|
}
|
|
1566
1579
|
|
|
1580
|
+
export class ReportingService {
|
|
1581
|
+
/**
|
|
1582
|
+
* Get portfolio value trends
|
|
1583
|
+
*
|
|
1584
|
+
* Returns time series data of portfolio net worth.
|
|
1585
|
+
*
|
|
1586
|
+
* **Multi-currency Support:**
|
|
1587
|
+
* - `series[].byCurrency` - Currency breakdown for each data point
|
|
1588
|
+
* - `byCurrency` - Separate time series grouped by currency
|
|
1589
|
+
* - `warnings` - Exchange rate warnings if conversion failed
|
|
1590
|
+
*
|
|
1591
|
+
* **Parameters:**
|
|
1592
|
+
* - `period`: Time period (1m, 3m, 6m, 1y)
|
|
1593
|
+
* - `granularity`: Data granularity (day, week, month)
|
|
1594
|
+
*
|
|
1595
|
+
* @param data The data for the request.
|
|
1596
|
+
* @param data.region Region code for tenant context
|
|
1597
|
+
* @param data.period Time period
|
|
1598
|
+
* @param data.granularity Data granularity
|
|
1599
|
+
* @returns PortfolioTrendsResponseDto Trends retrieved successfully
|
|
1600
|
+
* @throws ApiError
|
|
1601
|
+
*/
|
|
1602
|
+
public static reportingControllerGetPortfolioTrends(
|
|
1603
|
+
data: ReportingControllerGetPortfolioTrendsData
|
|
1604
|
+
): CancelablePromise<ReportingControllerGetPortfolioTrendsResponse> {
|
|
1605
|
+
return __request(OpenAPI, {
|
|
1606
|
+
method: 'GET',
|
|
1607
|
+
url: '/api/v1/{region}/reporting/portfolio/trends',
|
|
1608
|
+
path: {
|
|
1609
|
+
region: data.region
|
|
1610
|
+
},
|
|
1611
|
+
query: {
|
|
1612
|
+
period: data.period,
|
|
1613
|
+
granularity: data.granularity
|
|
1614
|
+
},
|
|
1615
|
+
errors: {
|
|
1616
|
+
401: 'User not authenticated'
|
|
1617
|
+
}
|
|
1618
|
+
});
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
/**
|
|
1622
|
+
* Get cash-flow trends
|
|
1623
|
+
*
|
|
1624
|
+
* Monthly income / expense / netSavings over a fixed N-month window
|
|
1625
|
+
* (current month + N−1 prior). Missing months are zero-filled (flow metric).
|
|
1626
|
+
*
|
|
1627
|
+
* **Parameters:**
|
|
1628
|
+
* - `period`: 1m | 3m | 6m | 1y (default 6m)
|
|
1629
|
+
* - `granularity`: accepted for API symmetry; v1 returns month buckets
|
|
1630
|
+
*
|
|
1631
|
+
* @param data The data for the request.
|
|
1632
|
+
* @param data.region Region code for tenant context
|
|
1633
|
+
* @param data.period Time period
|
|
1634
|
+
* @param data.granularity Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
1635
|
+
* @returns CashFlowTrendsResponseDto Cash-flow trends retrieved successfully
|
|
1636
|
+
* @throws ApiError
|
|
1637
|
+
*/
|
|
1638
|
+
public static reportingControllerGetCashFlowTrends(
|
|
1639
|
+
data: ReportingControllerGetCashFlowTrendsData
|
|
1640
|
+
): CancelablePromise<ReportingControllerGetCashFlowTrendsResponse> {
|
|
1641
|
+
return __request(OpenAPI, {
|
|
1642
|
+
method: 'GET',
|
|
1643
|
+
url: '/api/v1/{region}/reporting/cash-flow/trends',
|
|
1644
|
+
path: {
|
|
1645
|
+
region: data.region
|
|
1646
|
+
},
|
|
1647
|
+
query: {
|
|
1648
|
+
period: data.period,
|
|
1649
|
+
granularity: data.granularity
|
|
1650
|
+
},
|
|
1651
|
+
errors: {
|
|
1652
|
+
401: 'User not authenticated'
|
|
1653
|
+
}
|
|
1654
|
+
});
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
/**
|
|
1658
|
+
* Generate portfolio snapshot
|
|
1659
|
+
*
|
|
1660
|
+
* Manually generate a portfolio snapshot for a specific date.
|
|
1661
|
+
*
|
|
1662
|
+
* **Multi-currency Support:**
|
|
1663
|
+
* - Fetches balances grouped by currency
|
|
1664
|
+
* - Uses user's baseCurrency setting for conversion
|
|
1665
|
+
* - Stores exchange rates and warnings
|
|
1666
|
+
*
|
|
1667
|
+
* **Use Cases:**
|
|
1668
|
+
* - Testing snapshot generation
|
|
1669
|
+
* - Force regeneration after data correction
|
|
1670
|
+
* - Initial setup for new users
|
|
1671
|
+
*
|
|
1672
|
+
* @param data The data for the request.
|
|
1673
|
+
* @param data.region Region code for tenant context
|
|
1674
|
+
* @param data.requestBody Optional date (defaults to today)
|
|
1675
|
+
* @returns GenerateSnapshotResponse Snapshot generated successfully
|
|
1676
|
+
* @throws ApiError
|
|
1677
|
+
*/
|
|
1678
|
+
public static reportingControllerGenerateSnapshot(
|
|
1679
|
+
data: ReportingControllerGenerateSnapshotData
|
|
1680
|
+
): CancelablePromise<ReportingControllerGenerateSnapshotResponse> {
|
|
1681
|
+
return __request(OpenAPI, {
|
|
1682
|
+
method: 'POST',
|
|
1683
|
+
url: '/api/v1/{region}/reporting/snapshots/generate',
|
|
1684
|
+
path: {
|
|
1685
|
+
region: data.region
|
|
1686
|
+
},
|
|
1687
|
+
body: data.requestBody,
|
|
1688
|
+
mediaType: 'application/json',
|
|
1689
|
+
errors: {
|
|
1690
|
+
400: 'Invalid date format',
|
|
1691
|
+
401: 'User not authenticated'
|
|
1692
|
+
}
|
|
1693
|
+
});
|
|
1694
|
+
}
|
|
1695
|
+
|
|
1696
|
+
/**
|
|
1697
|
+
* Backfill portfolio snapshots
|
|
1698
|
+
*
|
|
1699
|
+
* Generate snapshots for a date range (historical data backfill).
|
|
1700
|
+
*
|
|
1701
|
+
* **Multi-currency Support:**
|
|
1702
|
+
* - Each snapshot includes multi-currency data
|
|
1703
|
+
* - Uses exchange rates available at generation time
|
|
1704
|
+
* - Warnings stored for missing exchange rates
|
|
1705
|
+
*
|
|
1706
|
+
* **Best Practices:**
|
|
1707
|
+
* - Use for initial setup after account configuration
|
|
1708
|
+
* - Run during low-traffic periods for large date ranges
|
|
1709
|
+
* - Existing snapshots are skipped (not regenerated)
|
|
1710
|
+
*
|
|
1711
|
+
* @param data The data for the request.
|
|
1712
|
+
* @param data.region Region code for tenant context
|
|
1713
|
+
* @param data.requestBody
|
|
1714
|
+
* @returns BackfillSnapshotsResponse Backfill completed successfully
|
|
1715
|
+
* @throws ApiError
|
|
1716
|
+
*/
|
|
1717
|
+
public static reportingControllerBackfillSnapshots(
|
|
1718
|
+
data: ReportingControllerBackfillSnapshotsData
|
|
1719
|
+
): CancelablePromise<ReportingControllerBackfillSnapshotsResponse> {
|
|
1720
|
+
return __request(OpenAPI, {
|
|
1721
|
+
method: 'POST',
|
|
1722
|
+
url: '/api/v1/{region}/reporting/snapshots/backfill',
|
|
1723
|
+
path: {
|
|
1724
|
+
region: data.region
|
|
1725
|
+
},
|
|
1726
|
+
body: data.requestBody,
|
|
1727
|
+
mediaType: 'application/json',
|
|
1728
|
+
errors: {
|
|
1729
|
+
400: 'Invalid date format or range',
|
|
1730
|
+
401: 'User not authenticated',
|
|
1731
|
+
409: 'Backfill already in progress for this user'
|
|
1732
|
+
}
|
|
1733
|
+
});
|
|
1734
|
+
}
|
|
1735
|
+
}
|
|
1736
|
+
|
|
1567
1737
|
export class BeanPricesService {
|
|
1568
1738
|
/**
|
|
1569
1739
|
* Create a new price
|
|
@@ -1731,1121 +1901,992 @@ export class BeanPricesService {
|
|
|
1731
1901
|
}
|
|
1732
1902
|
}
|
|
1733
1903
|
|
|
1734
|
-
export class
|
|
1904
|
+
export class UsersService {
|
|
1735
1905
|
/**
|
|
1736
|
-
*
|
|
1737
|
-
* Creates a new recurring transaction rule for the authenticated user
|
|
1906
|
+
* Delete own user account
|
|
1738
1907
|
* @param data The data for the request.
|
|
1739
|
-
* @param data.region Region code for tenant context
|
|
1740
1908
|
* @param data.requestBody
|
|
1741
|
-
* @returns
|
|
1909
|
+
* @returns void User deleted successfully
|
|
1742
1910
|
* @throws ApiError
|
|
1743
1911
|
*/
|
|
1744
|
-
public static
|
|
1745
|
-
data:
|
|
1746
|
-
): CancelablePromise<
|
|
1912
|
+
public static userControllerDeleteOwnUser(
|
|
1913
|
+
data: UserControllerDeleteOwnUserData
|
|
1914
|
+
): CancelablePromise<UserControllerDeleteOwnUserResponse> {
|
|
1747
1915
|
return __request(OpenAPI, {
|
|
1748
|
-
method: '
|
|
1749
|
-
url: '/api/v1/
|
|
1750
|
-
path: {
|
|
1751
|
-
region: data.region
|
|
1752
|
-
},
|
|
1916
|
+
method: 'DELETE',
|
|
1917
|
+
url: '/api/v1/users',
|
|
1753
1918
|
body: data.requestBody,
|
|
1754
1919
|
mediaType: 'application/json',
|
|
1755
1920
|
errors: {
|
|
1756
|
-
|
|
1757
|
-
409: 'Rule with same name already exists'
|
|
1921
|
+
403: 'Invalid access token'
|
|
1758
1922
|
}
|
|
1759
1923
|
});
|
|
1760
1924
|
}
|
|
1761
1925
|
|
|
1762
1926
|
/**
|
|
1763
|
-
*
|
|
1764
|
-
* Returns all recurring rules for the authenticated user with optional filtering
|
|
1927
|
+
* Get current authenticated user
|
|
1765
1928
|
* @param data The data for the request.
|
|
1766
|
-
* @param data.
|
|
1767
|
-
* @
|
|
1768
|
-
* @param data.frequency Filter by frequency (WEEKLY, MONTHLY, etc.)
|
|
1769
|
-
* @param data.hasAutoCreate Filter by autoCreate enabled
|
|
1770
|
-
* @returns RecurringRuleResponseDto Rules retrieved successfully
|
|
1929
|
+
* @param data.acceptLanguage
|
|
1930
|
+
* @returns UserResponseDto User retrieved successfully
|
|
1771
1931
|
* @throws ApiError
|
|
1772
1932
|
*/
|
|
1773
|
-
public static
|
|
1774
|
-
data:
|
|
1775
|
-
): CancelablePromise<
|
|
1933
|
+
public static userControllerGetUser(
|
|
1934
|
+
data: UserControllerGetUserData
|
|
1935
|
+
): CancelablePromise<UserControllerGetUserResponse> {
|
|
1776
1936
|
return __request(OpenAPI, {
|
|
1777
1937
|
method: 'GET',
|
|
1778
|
-
url: '/api/v1/
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
},
|
|
1782
|
-
query: {
|
|
1783
|
-
isActive: data.isActive,
|
|
1784
|
-
frequency: data.frequency,
|
|
1785
|
-
hasAutoCreate: data.hasAutoCreate
|
|
1938
|
+
url: '/api/v1/users',
|
|
1939
|
+
headers: {
|
|
1940
|
+
'accept-language': data.acceptLanguage
|
|
1786
1941
|
}
|
|
1787
1942
|
});
|
|
1788
1943
|
}
|
|
1789
1944
|
|
|
1790
1945
|
/**
|
|
1791
|
-
*
|
|
1792
|
-
*
|
|
1946
|
+
* Sign up new user
|
|
1947
|
+
* Create a new account with auto-generated access token. Protected by Cloudflare Turnstile to prevent automated signup (when enabled).
|
|
1793
1948
|
* @param data The data for the request.
|
|
1794
|
-
* @param data.transactionId Source transaction ID
|
|
1795
|
-
* @param data.region Region code for tenant context
|
|
1796
1949
|
* @param data.requestBody
|
|
1797
|
-
* @returns
|
|
1950
|
+
* @returns SignupResponseDto User created successfully
|
|
1798
1951
|
* @throws ApiError
|
|
1799
1952
|
*/
|
|
1800
|
-
public static
|
|
1801
|
-
data:
|
|
1802
|
-
): CancelablePromise<
|
|
1953
|
+
public static userControllerSignupUser(
|
|
1954
|
+
data: UserControllerSignupUserData
|
|
1955
|
+
): CancelablePromise<UserControllerSignupUserResponse> {
|
|
1803
1956
|
return __request(OpenAPI, {
|
|
1804
1957
|
method: 'POST',
|
|
1805
|
-
url: '/api/v1/
|
|
1806
|
-
path: {
|
|
1807
|
-
transactionId: data.transactionId,
|
|
1808
|
-
region: data.region
|
|
1809
|
-
},
|
|
1958
|
+
url: '/api/v1/users',
|
|
1810
1959
|
body: data.requestBody,
|
|
1811
1960
|
mediaType: 'application/json',
|
|
1812
1961
|
errors: {
|
|
1813
|
-
|
|
1814
|
-
|
|
1962
|
+
400: 'Invalid Turnstile token (when Turnstile is enabled)',
|
|
1963
|
+
403: 'User signup is disabled'
|
|
1815
1964
|
}
|
|
1816
1965
|
});
|
|
1817
1966
|
}
|
|
1818
1967
|
|
|
1819
1968
|
/**
|
|
1820
|
-
*
|
|
1821
|
-
* Returns a specific recurring rule with its details
|
|
1969
|
+
* Delete user by ID (admin only)
|
|
1822
1970
|
* @param data The data for the request.
|
|
1823
|
-
* @param data.id
|
|
1824
|
-
* @
|
|
1825
|
-
* @returns RecurringRuleResponseDto Rule retrieved successfully
|
|
1971
|
+
* @param data.id User ID to delete
|
|
1972
|
+
* @returns void User deleted successfully
|
|
1826
1973
|
* @throws ApiError
|
|
1827
1974
|
*/
|
|
1828
|
-
public static
|
|
1829
|
-
data:
|
|
1830
|
-
): CancelablePromise<
|
|
1975
|
+
public static userControllerDeleteUser(
|
|
1976
|
+
data: UserControllerDeleteUserData
|
|
1977
|
+
): CancelablePromise<UserControllerDeleteUserResponse> {
|
|
1831
1978
|
return __request(OpenAPI, {
|
|
1832
|
-
method: '
|
|
1833
|
-
url: '/api/v1/
|
|
1979
|
+
method: 'DELETE',
|
|
1980
|
+
url: '/api/v1/users/{id}',
|
|
1834
1981
|
path: {
|
|
1835
|
-
id: data.id
|
|
1836
|
-
region: data.region
|
|
1982
|
+
id: data.id
|
|
1837
1983
|
},
|
|
1838
1984
|
errors: {
|
|
1839
|
-
|
|
1985
|
+
403: 'Cannot delete own account or insufficient permissions'
|
|
1840
1986
|
}
|
|
1841
1987
|
});
|
|
1842
1988
|
}
|
|
1843
1989
|
|
|
1844
1990
|
/**
|
|
1845
|
-
*
|
|
1846
|
-
* Updates an existing recurring rule
|
|
1991
|
+
* Get user info by user ID
|
|
1847
1992
|
* @param data The data for the request.
|
|
1848
|
-
* @param data.id
|
|
1849
|
-
* @
|
|
1850
|
-
* @param data.requestBody
|
|
1851
|
-
* @returns RecurringRuleResponseDto Rule updated successfully
|
|
1993
|
+
* @param data.id User ID
|
|
1994
|
+
* @returns unknown User info retrieved successfully
|
|
1852
1995
|
* @throws ApiError
|
|
1853
1996
|
*/
|
|
1854
|
-
public static
|
|
1855
|
-
data:
|
|
1856
|
-
): CancelablePromise<
|
|
1997
|
+
public static userControllerGetUserInfo(
|
|
1998
|
+
data: UserControllerGetUserInfoData
|
|
1999
|
+
): CancelablePromise<UserControllerGetUserInfoResponse> {
|
|
1857
2000
|
return __request(OpenAPI, {
|
|
1858
|
-
method: '
|
|
1859
|
-
url: '/api/v1/
|
|
2001
|
+
method: 'GET',
|
|
2002
|
+
url: '/api/v1/users/{id}/info',
|
|
1860
2003
|
path: {
|
|
1861
|
-
id: data.id
|
|
1862
|
-
region: data.region
|
|
2004
|
+
id: data.id
|
|
1863
2005
|
},
|
|
1864
|
-
body: data.requestBody,
|
|
1865
|
-
mediaType: 'application/json',
|
|
1866
2006
|
errors: {
|
|
1867
|
-
|
|
1868
|
-
404: 'Rule not found'
|
|
2007
|
+
403: 'Cannot access other user info without admin permission'
|
|
1869
2008
|
}
|
|
1870
2009
|
});
|
|
1871
2010
|
}
|
|
1872
2011
|
|
|
1873
2012
|
/**
|
|
1874
|
-
*
|
|
1875
|
-
* Soft deletes a recurring rule (sets isActive to false)
|
|
2013
|
+
* Update user settings
|
|
1876
2014
|
* @param data The data for the request.
|
|
1877
|
-
* @param data.
|
|
1878
|
-
* @
|
|
1879
|
-
* @returns void Rule deleted successfully
|
|
2015
|
+
* @param data.requestBody
|
|
2016
|
+
* @returns unknown Settings updated successfully
|
|
1880
2017
|
* @throws ApiError
|
|
1881
2018
|
*/
|
|
1882
|
-
public static
|
|
1883
|
-
data:
|
|
1884
|
-
): CancelablePromise<
|
|
2019
|
+
public static userControllerUpdateUserSetting(
|
|
2020
|
+
data: UserControllerUpdateUserSettingData
|
|
2021
|
+
): CancelablePromise<UserControllerUpdateUserSettingResponse> {
|
|
1885
2022
|
return __request(OpenAPI, {
|
|
1886
|
-
method: '
|
|
1887
|
-
url: '/api/v1/
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
region: data.region
|
|
1891
|
-
},
|
|
2023
|
+
method: 'PUT',
|
|
2024
|
+
url: '/api/v1/users/setting',
|
|
2025
|
+
body: data.requestBody,
|
|
2026
|
+
mediaType: 'application/json',
|
|
1892
2027
|
errors: {
|
|
1893
|
-
|
|
2028
|
+
403: 'Insufficient permissions'
|
|
1894
2029
|
}
|
|
1895
2030
|
});
|
|
1896
2031
|
}
|
|
1897
2032
|
|
|
1898
2033
|
/**
|
|
1899
|
-
* Get
|
|
1900
|
-
* Returns a rule with pending/overdue counts and next expected date
|
|
2034
|
+
* Get all user settings paginated (admin only)
|
|
1901
2035
|
* @param data The data for the request.
|
|
1902
|
-
* @param data.
|
|
1903
|
-
* @param data.
|
|
1904
|
-
* @returns
|
|
2036
|
+
* @param data.pageNo Page number
|
|
2037
|
+
* @param data.pageSize Page size
|
|
2038
|
+
* @returns unknown Settings list retrieved successfully
|
|
1905
2039
|
* @throws ApiError
|
|
1906
2040
|
*/
|
|
1907
|
-
public static
|
|
1908
|
-
data:
|
|
1909
|
-
): CancelablePromise<
|
|
2041
|
+
public static userControllerGetAllUserSettingsByPage(
|
|
2042
|
+
data: UserControllerGetAllUserSettingsByPageData
|
|
2043
|
+
): CancelablePromise<UserControllerGetAllUserSettingsByPageResponse> {
|
|
1910
2044
|
return __request(OpenAPI, {
|
|
1911
2045
|
method: 'GET',
|
|
1912
|
-
url: '/api/v1/
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
},
|
|
1917
|
-
errors: {
|
|
1918
|
-
404: 'Rule not found'
|
|
2046
|
+
url: '/api/v1/users/settings-by-page',
|
|
2047
|
+
query: {
|
|
2048
|
+
pageNo: data.pageNo,
|
|
2049
|
+
pageSize: data.pageSize
|
|
1919
2050
|
}
|
|
1920
2051
|
});
|
|
1921
2052
|
}
|
|
1922
|
-
}
|
|
1923
2053
|
|
|
1924
|
-
export class ExpectedTransactionsService {
|
|
1925
2054
|
/**
|
|
1926
|
-
*
|
|
1927
|
-
*
|
|
1928
|
-
* @param data The data for the request.
|
|
1929
|
-
* @param data.region Region code for tenant context
|
|
1930
|
-
* @param data.ruleId Filter by recurring rule ID
|
|
1931
|
-
* @param data.status Filter by status (PENDING, COMPLETED, SKIPPED)
|
|
1932
|
-
* @param data.fromDate Filter by date range start (YYYY-MM-DD)
|
|
1933
|
-
* @param data.toDate Filter by date range end (YYYY-MM-DD)
|
|
1934
|
-
* @returns ExpectedTransactionListResponseDto Expected transactions retrieved successfully
|
|
2055
|
+
* Get asset and liability summary for current user
|
|
2056
|
+
* @returns unknown Summary retrieved successfully
|
|
1935
2057
|
* @throws ApiError
|
|
1936
2058
|
*/
|
|
1937
|
-
public static
|
|
1938
|
-
data: ExpectedTransactionControllerFindAllData
|
|
1939
|
-
): CancelablePromise<ExpectedTransactionControllerFindAllResponse> {
|
|
2059
|
+
public static userControllerGetAssetLiabilitySummary(): CancelablePromise<UserControllerGetAssetLiabilitySummaryResponse> {
|
|
1940
2060
|
return __request(OpenAPI, {
|
|
1941
2061
|
method: 'GET',
|
|
1942
|
-
url: '/api/v1/
|
|
1943
|
-
path: {
|
|
1944
|
-
region: data.region
|
|
1945
|
-
},
|
|
1946
|
-
query: {
|
|
1947
|
-
ruleId: data.ruleId,
|
|
1948
|
-
status: data.status,
|
|
1949
|
-
fromDate: data.fromDate,
|
|
1950
|
-
toDate: data.toDate
|
|
1951
|
-
}
|
|
2062
|
+
url: '/api/v1/users/asset-liability-summary'
|
|
1952
2063
|
});
|
|
1953
2064
|
}
|
|
2065
|
+
}
|
|
1954
2066
|
|
|
2067
|
+
export class PropertiesService {
|
|
1955
2068
|
/**
|
|
1956
|
-
*
|
|
1957
|
-
*
|
|
1958
|
-
* @param data The data for the request.
|
|
1959
|
-
* @param data.region Region code for tenant context
|
|
1960
|
-
* @returns ExpectedTransactionListResponseDto Overdue transactions retrieved successfully
|
|
2069
|
+
* Get all system properties
|
|
2070
|
+
* @returns unknown Properties retrieved successfully
|
|
1961
2071
|
* @throws ApiError
|
|
1962
2072
|
*/
|
|
1963
|
-
public static
|
|
1964
|
-
data: ExpectedTransactionControllerFindOverdueData
|
|
1965
|
-
): CancelablePromise<ExpectedTransactionControllerFindOverdueResponse> {
|
|
2073
|
+
public static propertyControllerGetAll(): CancelablePromise<PropertyControllerGetAllResponse> {
|
|
1966
2074
|
return __request(OpenAPI, {
|
|
1967
2075
|
method: 'GET',
|
|
1968
|
-
url: '/api/v1/
|
|
1969
|
-
|
|
1970
|
-
|
|
2076
|
+
url: '/api/v1/admin/properties',
|
|
2077
|
+
errors: {
|
|
2078
|
+
401: 'Unauthorized',
|
|
2079
|
+
403: 'Forbidden - insufficient permissions'
|
|
1971
2080
|
}
|
|
1972
2081
|
});
|
|
1973
2082
|
}
|
|
1974
2083
|
|
|
1975
2084
|
/**
|
|
1976
|
-
* Get
|
|
1977
|
-
* Returns a specific expected transaction with rule details
|
|
2085
|
+
* Get property by key
|
|
1978
2086
|
* @param data The data for the request.
|
|
1979
|
-
* @param data.
|
|
1980
|
-
* @
|
|
1981
|
-
* @returns ExpectedTransactionResponseDto Expected transaction retrieved successfully
|
|
2087
|
+
* @param data.key Property key
|
|
2088
|
+
* @returns unknown Property retrieved successfully
|
|
1982
2089
|
* @throws ApiError
|
|
1983
2090
|
*/
|
|
1984
|
-
public static
|
|
1985
|
-
data:
|
|
1986
|
-
): CancelablePromise<
|
|
2091
|
+
public static propertyControllerGetByKey(
|
|
2092
|
+
data: PropertyControllerGetByKeyData
|
|
2093
|
+
): CancelablePromise<PropertyControllerGetByKeyResponse> {
|
|
1987
2094
|
return __request(OpenAPI, {
|
|
1988
2095
|
method: 'GET',
|
|
1989
|
-
url: '/api/v1/
|
|
2096
|
+
url: '/api/v1/admin/properties/{key}',
|
|
1990
2097
|
path: {
|
|
1991
|
-
|
|
1992
|
-
region: data.region
|
|
2098
|
+
key: data.key
|
|
1993
2099
|
},
|
|
1994
2100
|
errors: {
|
|
1995
|
-
|
|
2101
|
+
401: 'Unauthorized',
|
|
2102
|
+
403: 'Forbidden - insufficient permissions',
|
|
2103
|
+
404: 'Property not found'
|
|
1996
2104
|
}
|
|
1997
2105
|
});
|
|
1998
2106
|
}
|
|
1999
2107
|
|
|
2000
2108
|
/**
|
|
2001
|
-
*
|
|
2002
|
-
* Marks an expected transaction as skipped (PENDING -> SKIPPED)
|
|
2109
|
+
* Update a system property
|
|
2003
2110
|
* @param data The data for the request.
|
|
2004
|
-
* @param data.
|
|
2005
|
-
* @param data.
|
|
2006
|
-
* @returns
|
|
2111
|
+
* @param data.key Property key
|
|
2112
|
+
* @param data.requestBody
|
|
2113
|
+
* @returns unknown Property updated successfully
|
|
2007
2114
|
* @throws ApiError
|
|
2008
2115
|
*/
|
|
2009
|
-
public static
|
|
2010
|
-
data:
|
|
2011
|
-
): CancelablePromise<
|
|
2116
|
+
public static propertyControllerUpdate(
|
|
2117
|
+
data: PropertyControllerUpdateData
|
|
2118
|
+
): CancelablePromise<PropertyControllerUpdateResponse> {
|
|
2012
2119
|
return __request(OpenAPI, {
|
|
2013
|
-
method: '
|
|
2014
|
-
url: '/api/v1/
|
|
2120
|
+
method: 'PUT',
|
|
2121
|
+
url: '/api/v1/admin/properties/{key}',
|
|
2015
2122
|
path: {
|
|
2016
|
-
|
|
2017
|
-
region: data.region
|
|
2123
|
+
key: data.key
|
|
2018
2124
|
},
|
|
2125
|
+
body: data.requestBody,
|
|
2126
|
+
mediaType: 'application/json',
|
|
2019
2127
|
errors: {
|
|
2020
|
-
|
|
2021
|
-
|
|
2128
|
+
401: 'Unauthorized',
|
|
2129
|
+
403: 'Forbidden - insufficient permissions'
|
|
2022
2130
|
}
|
|
2023
2131
|
});
|
|
2024
2132
|
}
|
|
2025
2133
|
|
|
2026
2134
|
/**
|
|
2027
|
-
*
|
|
2028
|
-
* Reverses a skip operation (SKIPPED -> PENDING)
|
|
2135
|
+
* Delete a system property
|
|
2029
2136
|
* @param data The data for the request.
|
|
2030
|
-
* @param data.
|
|
2031
|
-
* @
|
|
2032
|
-
* @returns ExpectedTransactionResponseDto Skip undone successfully
|
|
2137
|
+
* @param data.key Property key
|
|
2138
|
+
* @returns void Property deleted successfully
|
|
2033
2139
|
* @throws ApiError
|
|
2034
2140
|
*/
|
|
2035
|
-
public static
|
|
2036
|
-
data:
|
|
2037
|
-
): CancelablePromise<
|
|
2141
|
+
public static propertyControllerDelete(
|
|
2142
|
+
data: PropertyControllerDeleteData
|
|
2143
|
+
): CancelablePromise<PropertyControllerDeleteResponse> {
|
|
2038
2144
|
return __request(OpenAPI, {
|
|
2039
2145
|
method: 'DELETE',
|
|
2040
|
-
url: '/api/v1/
|
|
2146
|
+
url: '/api/v1/admin/properties/{key}',
|
|
2041
2147
|
path: {
|
|
2042
|
-
|
|
2043
|
-
region: data.region
|
|
2148
|
+
key: data.key
|
|
2044
2149
|
},
|
|
2045
2150
|
errors: {
|
|
2046
|
-
|
|
2047
|
-
|
|
2151
|
+
401: 'Unauthorized',
|
|
2152
|
+
403: 'Forbidden - insufficient permissions',
|
|
2153
|
+
404: 'Property not found'
|
|
2048
2154
|
}
|
|
2049
2155
|
});
|
|
2050
2156
|
}
|
|
2157
|
+
}
|
|
2051
2158
|
|
|
2159
|
+
export class RecurringRulesService {
|
|
2052
2160
|
/**
|
|
2053
|
-
*
|
|
2054
|
-
*
|
|
2161
|
+
* Create a new recurring rule
|
|
2162
|
+
* Creates a new recurring transaction rule for the authenticated user
|
|
2055
2163
|
* @param data The data for the request.
|
|
2056
|
-
* @param data.id Expected transaction ID
|
|
2057
2164
|
* @param data.region Region code for tenant context
|
|
2058
2165
|
* @param data.requestBody
|
|
2059
|
-
* @returns
|
|
2166
|
+
* @returns RecurringRuleResponseDto Rule created successfully
|
|
2060
2167
|
* @throws ApiError
|
|
2061
2168
|
*/
|
|
2062
|
-
public static
|
|
2063
|
-
data:
|
|
2064
|
-
): CancelablePromise<
|
|
2169
|
+
public static recurringRuleControllerCreate(
|
|
2170
|
+
data: RecurringRuleControllerCreateData
|
|
2171
|
+
): CancelablePromise<RecurringRuleControllerCreateResponse> {
|
|
2065
2172
|
return __request(OpenAPI, {
|
|
2066
2173
|
method: 'POST',
|
|
2067
|
-
url: '/api/v1/{region}/bean/
|
|
2174
|
+
url: '/api/v1/{region}/bean/recurring-rules',
|
|
2068
2175
|
path: {
|
|
2069
|
-
id: data.id,
|
|
2070
2176
|
region: data.region
|
|
2071
2177
|
},
|
|
2072
2178
|
body: data.requestBody,
|
|
2073
2179
|
mediaType: 'application/json',
|
|
2074
2180
|
errors: {
|
|
2075
|
-
400: '
|
|
2076
|
-
|
|
2077
|
-
409: 'Actual transaction already matched to another rule'
|
|
2181
|
+
400: 'Invalid input data (e.g., autoCreate without accounts)',
|
|
2182
|
+
409: 'Rule with same name already exists'
|
|
2078
2183
|
}
|
|
2079
2184
|
});
|
|
2080
2185
|
}
|
|
2081
2186
|
|
|
2082
2187
|
/**
|
|
2083
|
-
*
|
|
2084
|
-
*
|
|
2188
|
+
* List recurring rules
|
|
2189
|
+
* Returns all recurring rules for the authenticated user with optional filtering
|
|
2085
2190
|
* @param data The data for the request.
|
|
2086
|
-
* @param data.id Expected transaction ID
|
|
2087
2191
|
* @param data.region Region code for tenant context
|
|
2088
|
-
* @
|
|
2192
|
+
* @param data.isActive Filter by active status
|
|
2193
|
+
* @param data.frequency Filter by frequency (WEEKLY, MONTHLY, etc.)
|
|
2194
|
+
* @param data.hasAutoCreate Filter by autoCreate enabled
|
|
2195
|
+
* @returns RecurringRuleResponseDto Rules retrieved successfully
|
|
2089
2196
|
* @throws ApiError
|
|
2090
2197
|
*/
|
|
2091
|
-
public static
|
|
2092
|
-
data:
|
|
2093
|
-
): CancelablePromise<
|
|
2198
|
+
public static recurringRuleControllerFindAll(
|
|
2199
|
+
data: RecurringRuleControllerFindAllData
|
|
2200
|
+
): CancelablePromise<RecurringRuleControllerFindAllResponse> {
|
|
2094
2201
|
return __request(OpenAPI, {
|
|
2095
|
-
method: '
|
|
2096
|
-
url: '/api/v1/{region}/bean/
|
|
2202
|
+
method: 'GET',
|
|
2203
|
+
url: '/api/v1/{region}/bean/recurring-rules',
|
|
2097
2204
|
path: {
|
|
2098
|
-
id: data.id,
|
|
2099
2205
|
region: data.region
|
|
2100
2206
|
},
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2207
|
+
query: {
|
|
2208
|
+
isActive: data.isActive,
|
|
2209
|
+
frequency: data.frequency,
|
|
2210
|
+
hasAutoCreate: data.hasAutoCreate
|
|
2104
2211
|
}
|
|
2105
2212
|
});
|
|
2106
2213
|
}
|
|
2107
2214
|
|
|
2108
2215
|
/**
|
|
2109
|
-
*
|
|
2110
|
-
*
|
|
2216
|
+
* Create recurring rule from transaction
|
|
2217
|
+
* Auto-creates a recurring rule using transaction data. User only confirms frequency.
|
|
2111
2218
|
* @param data The data for the request.
|
|
2112
|
-
* @param data.
|
|
2219
|
+
* @param data.transactionId Source transaction ID
|
|
2113
2220
|
* @param data.region Region code for tenant context
|
|
2114
2221
|
* @param data.requestBody
|
|
2115
|
-
* @returns
|
|
2222
|
+
* @returns RecurringRuleResponseDto Rule created successfully
|
|
2116
2223
|
* @throws ApiError
|
|
2117
2224
|
*/
|
|
2118
|
-
public static
|
|
2119
|
-
data:
|
|
2120
|
-
): CancelablePromise<
|
|
2225
|
+
public static recurringRuleControllerCreateFromTransaction(
|
|
2226
|
+
data: RecurringRuleControllerCreateFromTransactionData
|
|
2227
|
+
): CancelablePromise<RecurringRuleControllerCreateFromTransactionResponse> {
|
|
2121
2228
|
return __request(OpenAPI, {
|
|
2122
2229
|
method: 'POST',
|
|
2123
|
-
url: '/api/v1/{region}/bean/
|
|
2230
|
+
url: '/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}',
|
|
2124
2231
|
path: {
|
|
2125
|
-
|
|
2232
|
+
transactionId: data.transactionId,
|
|
2126
2233
|
region: data.region
|
|
2127
2234
|
},
|
|
2128
2235
|
body: data.requestBody,
|
|
2129
2236
|
mediaType: 'application/json',
|
|
2130
2237
|
errors: {
|
|
2131
|
-
|
|
2132
|
-
|
|
2238
|
+
404: 'Transaction not found',
|
|
2239
|
+
409: 'Rule with same name already exists or transaction already linked'
|
|
2133
2240
|
}
|
|
2134
2241
|
});
|
|
2135
2242
|
}
|
|
2136
|
-
}
|
|
2137
2243
|
|
|
2138
|
-
export class RecurringForecastService {
|
|
2139
2244
|
/**
|
|
2140
|
-
* Get
|
|
2141
|
-
* Returns
|
|
2245
|
+
* Get recurring rule by ID
|
|
2246
|
+
* Returns a specific recurring rule with its details
|
|
2142
2247
|
* @param data The data for the request.
|
|
2248
|
+
* @param data.id Rule ID
|
|
2143
2249
|
* @param data.region Region code for tenant context
|
|
2144
|
-
* @
|
|
2145
|
-
* @returns ForecastResponseDto Forecast retrieved successfully
|
|
2250
|
+
* @returns RecurringRuleResponseDto Rule retrieved successfully
|
|
2146
2251
|
* @throws ApiError
|
|
2147
2252
|
*/
|
|
2148
|
-
public static
|
|
2149
|
-
data:
|
|
2150
|
-
): CancelablePromise<
|
|
2253
|
+
public static recurringRuleControllerFindOne(
|
|
2254
|
+
data: RecurringRuleControllerFindOneData
|
|
2255
|
+
): CancelablePromise<RecurringRuleControllerFindOneResponse> {
|
|
2151
2256
|
return __request(OpenAPI, {
|
|
2152
2257
|
method: 'GET',
|
|
2153
|
-
url: '/api/v1/{region}/bean/recurring/
|
|
2258
|
+
url: '/api/v1/{region}/bean/recurring-rules/{id}',
|
|
2154
2259
|
path: {
|
|
2260
|
+
id: data.id,
|
|
2155
2261
|
region: data.region
|
|
2156
2262
|
},
|
|
2157
|
-
|
|
2158
|
-
|
|
2263
|
+
errors: {
|
|
2264
|
+
404: 'Rule not found'
|
|
2159
2265
|
}
|
|
2160
2266
|
});
|
|
2161
2267
|
}
|
|
2162
|
-
}
|
|
2163
2268
|
|
|
2164
|
-
export class BeanTransactionRulesService {
|
|
2165
2269
|
/**
|
|
2166
|
-
*
|
|
2167
|
-
*
|
|
2270
|
+
* Update recurring rule
|
|
2271
|
+
* Updates an existing recurring rule
|
|
2168
2272
|
* @param data The data for the request.
|
|
2273
|
+
* @param data.id Rule ID
|
|
2169
2274
|
* @param data.region Region code for tenant context
|
|
2170
2275
|
* @param data.requestBody
|
|
2171
|
-
* @returns
|
|
2276
|
+
* @returns RecurringRuleResponseDto Rule updated successfully
|
|
2172
2277
|
* @throws ApiError
|
|
2173
2278
|
*/
|
|
2174
|
-
public static
|
|
2175
|
-
data:
|
|
2176
|
-
): CancelablePromise<
|
|
2279
|
+
public static recurringRuleControllerUpdate(
|
|
2280
|
+
data: RecurringRuleControllerUpdateData
|
|
2281
|
+
): CancelablePromise<RecurringRuleControllerUpdateResponse> {
|
|
2177
2282
|
return __request(OpenAPI, {
|
|
2178
|
-
method: '
|
|
2179
|
-
url: '/api/v1/{region}/bean/
|
|
2283
|
+
method: 'PATCH',
|
|
2284
|
+
url: '/api/v1/{region}/bean/recurring-rules/{id}',
|
|
2180
2285
|
path: {
|
|
2286
|
+
id: data.id,
|
|
2181
2287
|
region: data.region
|
|
2182
2288
|
},
|
|
2183
2289
|
body: data.requestBody,
|
|
2184
2290
|
mediaType: 'application/json',
|
|
2185
2291
|
errors: {
|
|
2186
|
-
400: '
|
|
2187
|
-
|
|
2188
|
-
409: 'Resource conflict - another process is updating this rule'
|
|
2292
|
+
400: 'Invalid input data',
|
|
2293
|
+
404: 'Rule not found'
|
|
2189
2294
|
}
|
|
2190
2295
|
});
|
|
2191
2296
|
}
|
|
2192
2297
|
|
|
2193
2298
|
/**
|
|
2194
|
-
*
|
|
2299
|
+
* Delete recurring rule
|
|
2300
|
+
* Soft deletes a recurring rule (sets isActive to false)
|
|
2195
2301
|
* @param data The data for the request.
|
|
2302
|
+
* @param data.id Rule ID
|
|
2196
2303
|
* @param data.region Region code for tenant context
|
|
2197
|
-
* @
|
|
2198
|
-
* @param data.offset Pagination offset (default: 0)
|
|
2199
|
-
* @param data.enabled Filter by enabled status
|
|
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
|
|
2304
|
+
* @returns void Rule deleted successfully
|
|
2203
2305
|
* @throws ApiError
|
|
2204
2306
|
*/
|
|
2205
|
-
public static
|
|
2206
|
-
data:
|
|
2207
|
-
): CancelablePromise<
|
|
2307
|
+
public static recurringRuleControllerDelete(
|
|
2308
|
+
data: RecurringRuleControllerDeleteData
|
|
2309
|
+
): CancelablePromise<RecurringRuleControllerDeleteResponse> {
|
|
2208
2310
|
return __request(OpenAPI, {
|
|
2209
|
-
method: '
|
|
2210
|
-
url: '/api/v1/{region}/bean/
|
|
2311
|
+
method: 'DELETE',
|
|
2312
|
+
url: '/api/v1/{region}/bean/recurring-rules/{id}',
|
|
2211
2313
|
path: {
|
|
2314
|
+
id: data.id,
|
|
2212
2315
|
region: data.region
|
|
2213
2316
|
},
|
|
2214
|
-
query: {
|
|
2215
|
-
limit: data.limit,
|
|
2216
|
-
offset: data.offset,
|
|
2217
|
-
enabled: data.enabled,
|
|
2218
|
-
learningSource: data.learningSource,
|
|
2219
|
-
autoApplyEnabled: data.autoApplyEnabled
|
|
2220
|
-
},
|
|
2221
2317
|
errors: {
|
|
2222
|
-
|
|
2318
|
+
404: 'Rule not found'
|
|
2223
2319
|
}
|
|
2224
2320
|
});
|
|
2225
2321
|
}
|
|
2226
2322
|
|
|
2227
2323
|
/**
|
|
2228
|
-
*
|
|
2324
|
+
* Get rule with statistics
|
|
2325
|
+
* Returns a rule with pending/overdue counts and next expected date
|
|
2229
2326
|
* @param data The data for the request.
|
|
2327
|
+
* @param data.id Rule ID
|
|
2230
2328
|
* @param data.region Region code for tenant context
|
|
2231
|
-
* @
|
|
2232
|
-
* @returns ValidateRuleResponseDto Validation result
|
|
2329
|
+
* @returns RecurringRuleWithStatsResponseDto Rule with stats retrieved successfully
|
|
2233
2330
|
* @throws ApiError
|
|
2234
2331
|
*/
|
|
2235
|
-
public static
|
|
2236
|
-
data:
|
|
2237
|
-
): CancelablePromise<
|
|
2332
|
+
public static recurringRuleControllerGetWithStats(
|
|
2333
|
+
data: RecurringRuleControllerGetWithStatsData
|
|
2334
|
+
): CancelablePromise<RecurringRuleControllerGetWithStatsResponse> {
|
|
2238
2335
|
return __request(OpenAPI, {
|
|
2239
|
-
method: '
|
|
2240
|
-
url: '/api/v1/{region}/bean/
|
|
2336
|
+
method: 'GET',
|
|
2337
|
+
url: '/api/v1/{region}/bean/recurring-rules/{id}/stats',
|
|
2241
2338
|
path: {
|
|
2339
|
+
id: data.id,
|
|
2242
2340
|
region: data.region
|
|
2243
2341
|
},
|
|
2244
|
-
body: data.requestBody,
|
|
2245
|
-
mediaType: 'application/json',
|
|
2246
2342
|
errors: {
|
|
2247
|
-
|
|
2248
|
-
401: 'Unauthorized'
|
|
2343
|
+
404: 'Rule not found'
|
|
2249
2344
|
}
|
|
2250
2345
|
});
|
|
2251
2346
|
}
|
|
2347
|
+
}
|
|
2252
2348
|
|
|
2349
|
+
export class ExpectedTransactionsService {
|
|
2253
2350
|
/**
|
|
2254
|
-
*
|
|
2351
|
+
* List expected transactions
|
|
2352
|
+
* Returns expected transactions for the authenticated user with optional filtering
|
|
2255
2353
|
* @param data The data for the request.
|
|
2256
2354
|
* @param data.region Region code for tenant context
|
|
2257
|
-
* @param data.
|
|
2258
|
-
* @
|
|
2355
|
+
* @param data.ruleId Filter by recurring rule ID
|
|
2356
|
+
* @param data.status Filter by status (PENDING, COMPLETED, SKIPPED)
|
|
2357
|
+
* @param data.fromDate Filter by date range start (YYYY-MM-DD)
|
|
2358
|
+
* @param data.toDate Filter by date range end (YYYY-MM-DD)
|
|
2359
|
+
* @returns ExpectedTransactionListResponseDto Expected transactions retrieved successfully
|
|
2259
2360
|
* @throws ApiError
|
|
2260
2361
|
*/
|
|
2261
|
-
public static
|
|
2262
|
-
data:
|
|
2263
|
-
): CancelablePromise<
|
|
2362
|
+
public static expectedTransactionControllerFindAll(
|
|
2363
|
+
data: ExpectedTransactionControllerFindAllData
|
|
2364
|
+
): CancelablePromise<ExpectedTransactionControllerFindAllResponse> {
|
|
2264
2365
|
return __request(OpenAPI, {
|
|
2265
|
-
method: '
|
|
2266
|
-
url: '/api/v1/{region}/bean/
|
|
2366
|
+
method: 'GET',
|
|
2367
|
+
url: '/api/v1/{region}/bean/expected-transactions',
|
|
2267
2368
|
path: {
|
|
2268
2369
|
region: data.region
|
|
2269
2370
|
},
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2371
|
+
query: {
|
|
2372
|
+
ruleId: data.ruleId,
|
|
2373
|
+
status: data.status,
|
|
2374
|
+
fromDate: data.fromDate,
|
|
2375
|
+
toDate: data.toDate
|
|
2275
2376
|
}
|
|
2276
2377
|
});
|
|
2277
2378
|
}
|
|
2278
2379
|
|
|
2279
2380
|
/**
|
|
2280
|
-
*
|
|
2381
|
+
* List overdue expected transactions
|
|
2382
|
+
* Returns all overdue expected transactions (PENDING past tolerance)
|
|
2281
2383
|
* @param data The data for the request.
|
|
2282
|
-
* @param data.format Export format (currently only JSON supported)
|
|
2283
2384
|
* @param data.region Region code for tenant context
|
|
2284
|
-
* @returns
|
|
2385
|
+
* @returns ExpectedTransactionListResponseDto Overdue transactions retrieved successfully
|
|
2285
2386
|
* @throws ApiError
|
|
2286
2387
|
*/
|
|
2287
|
-
public static
|
|
2288
|
-
data:
|
|
2289
|
-
): CancelablePromise<
|
|
2388
|
+
public static expectedTransactionControllerFindOverdue(
|
|
2389
|
+
data: ExpectedTransactionControllerFindOverdueData
|
|
2390
|
+
): CancelablePromise<ExpectedTransactionControllerFindOverdueResponse> {
|
|
2290
2391
|
return __request(OpenAPI, {
|
|
2291
2392
|
method: 'GET',
|
|
2292
|
-
url: '/api/v1/{region}/bean/
|
|
2393
|
+
url: '/api/v1/{region}/bean/expected-transactions/overdue',
|
|
2293
2394
|
path: {
|
|
2294
|
-
format: data.format,
|
|
2295
2395
|
region: data.region
|
|
2296
|
-
},
|
|
2297
|
-
errors: {
|
|
2298
|
-
400: 'Unsupported format',
|
|
2299
|
-
401: 'Unauthorized'
|
|
2300
2396
|
}
|
|
2301
2397
|
});
|
|
2302
2398
|
}
|
|
2303
2399
|
|
|
2304
2400
|
/**
|
|
2305
|
-
* Get transaction
|
|
2401
|
+
* Get expected transaction by ID
|
|
2402
|
+
* Returns a specific expected transaction with rule details
|
|
2306
2403
|
* @param data The data for the request.
|
|
2307
|
-
* @param data.
|
|
2404
|
+
* @param data.id Expected transaction ID
|
|
2308
2405
|
* @param data.region Region code for tenant context
|
|
2309
|
-
* @returns
|
|
2406
|
+
* @returns ExpectedTransactionResponseDto Expected transaction retrieved successfully
|
|
2310
2407
|
* @throws ApiError
|
|
2311
2408
|
*/
|
|
2312
|
-
public static
|
|
2313
|
-
data:
|
|
2314
|
-
): CancelablePromise<
|
|
2409
|
+
public static expectedTransactionControllerFindOne(
|
|
2410
|
+
data: ExpectedTransactionControllerFindOneData
|
|
2411
|
+
): CancelablePromise<ExpectedTransactionControllerFindOneResponse> {
|
|
2315
2412
|
return __request(OpenAPI, {
|
|
2316
2413
|
method: 'GET',
|
|
2317
|
-
url: '/api/v1/{region}/bean/
|
|
2414
|
+
url: '/api/v1/{region}/bean/expected-transactions/{id}',
|
|
2318
2415
|
path: {
|
|
2319
|
-
|
|
2416
|
+
id: data.id,
|
|
2320
2417
|
region: data.region
|
|
2321
2418
|
},
|
|
2322
2419
|
errors: {
|
|
2323
|
-
|
|
2420
|
+
404: 'Expected transaction not found'
|
|
2324
2421
|
}
|
|
2325
2422
|
});
|
|
2326
2423
|
}
|
|
2327
2424
|
|
|
2328
2425
|
/**
|
|
2329
|
-
*
|
|
2426
|
+
* Skip expected transaction
|
|
2427
|
+
* Marks an expected transaction as skipped (PENDING -> SKIPPED)
|
|
2330
2428
|
* @param data The data for the request.
|
|
2331
|
-
* @param data.
|
|
2429
|
+
* @param data.id Expected transaction ID
|
|
2332
2430
|
* @param data.region Region code for tenant context
|
|
2333
|
-
* @returns
|
|
2431
|
+
* @returns ExpectedTransactionResponseDto Expected transaction skipped successfully
|
|
2334
2432
|
* @throws ApiError
|
|
2335
2433
|
*/
|
|
2336
|
-
public static
|
|
2337
|
-
data:
|
|
2338
|
-
): CancelablePromise<
|
|
2434
|
+
public static expectedTransactionControllerSkip(
|
|
2435
|
+
data: ExpectedTransactionControllerSkipData
|
|
2436
|
+
): CancelablePromise<ExpectedTransactionControllerSkipResponse> {
|
|
2339
2437
|
return __request(OpenAPI, {
|
|
2340
|
-
method: '
|
|
2341
|
-
url: '/api/v1/{region}/bean/
|
|
2438
|
+
method: 'POST',
|
|
2439
|
+
url: '/api/v1/{region}/bean/expected-transactions/{id}/skip',
|
|
2342
2440
|
path: {
|
|
2343
|
-
|
|
2441
|
+
id: data.id,
|
|
2344
2442
|
region: data.region
|
|
2345
2443
|
},
|
|
2346
2444
|
errors: {
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
404: 'Rule not found'
|
|
2445
|
+
400: 'Cannot skip - not in PENDING status',
|
|
2446
|
+
404: 'Expected transaction not found'
|
|
2350
2447
|
}
|
|
2351
2448
|
});
|
|
2352
2449
|
}
|
|
2353
2450
|
|
|
2354
2451
|
/**
|
|
2355
|
-
*
|
|
2452
|
+
* Undo skip
|
|
2453
|
+
* Reverses a skip operation (SKIPPED -> PENDING)
|
|
2356
2454
|
* @param data The data for the request.
|
|
2357
|
-
* @param data.
|
|
2455
|
+
* @param data.id Expected transaction ID
|
|
2358
2456
|
* @param data.region Region code for tenant context
|
|
2359
|
-
* @
|
|
2360
|
-
* @returns TransactionRuleResponseDto Rule updated successfully
|
|
2457
|
+
* @returns void Skip undone successfully
|
|
2361
2458
|
* @throws ApiError
|
|
2362
2459
|
*/
|
|
2363
|
-
public static
|
|
2364
|
-
data:
|
|
2365
|
-
): CancelablePromise<
|
|
2460
|
+
public static expectedTransactionControllerUndoSkip(
|
|
2461
|
+
data: ExpectedTransactionControllerUndoSkipData
|
|
2462
|
+
): CancelablePromise<ExpectedTransactionControllerUndoSkipResponse> {
|
|
2366
2463
|
return __request(OpenAPI, {
|
|
2367
|
-
method: '
|
|
2368
|
-
url: '/api/v1/{region}/bean/
|
|
2464
|
+
method: 'DELETE',
|
|
2465
|
+
url: '/api/v1/{region}/bean/expected-transactions/{id}/skip',
|
|
2369
2466
|
path: {
|
|
2370
|
-
|
|
2467
|
+
id: data.id,
|
|
2371
2468
|
region: data.region
|
|
2372
2469
|
},
|
|
2373
|
-
body: data.requestBody,
|
|
2374
|
-
mediaType: 'application/json',
|
|
2375
2470
|
errors: {
|
|
2376
|
-
400: '
|
|
2377
|
-
|
|
2378
|
-
403: 'Forbidden - not owner of rule',
|
|
2379
|
-
404: 'Rule not found',
|
|
2380
|
-
409: 'Resource conflict - rule is being modified by another process'
|
|
2471
|
+
400: 'Cannot undo - not in SKIPPED status',
|
|
2472
|
+
404: 'Expected transaction not found'
|
|
2381
2473
|
}
|
|
2382
2474
|
});
|
|
2383
2475
|
}
|
|
2384
2476
|
|
|
2385
2477
|
/**
|
|
2386
|
-
*
|
|
2478
|
+
* Confirm transaction match
|
|
2479
|
+
* Manually matches an expected transaction with an actual transaction
|
|
2387
2480
|
* @param data The data for the request.
|
|
2388
|
-
* @param data.
|
|
2481
|
+
* @param data.id Expected transaction ID
|
|
2389
2482
|
* @param data.region Region code for tenant context
|
|
2390
|
-
* @
|
|
2483
|
+
* @param data.requestBody
|
|
2484
|
+
* @returns unknown Match confirmed successfully
|
|
2391
2485
|
* @throws ApiError
|
|
2392
2486
|
*/
|
|
2393
|
-
public static
|
|
2394
|
-
data:
|
|
2395
|
-
): CancelablePromise<
|
|
2487
|
+
public static expectedTransactionControllerConfirmMatch(
|
|
2488
|
+
data: ExpectedTransactionControllerConfirmMatchData
|
|
2489
|
+
): CancelablePromise<ExpectedTransactionControllerConfirmMatchResponse> {
|
|
2396
2490
|
return __request(OpenAPI, {
|
|
2397
|
-
method: '
|
|
2398
|
-
url: '/api/v1/{region}/bean/
|
|
2491
|
+
method: 'POST',
|
|
2492
|
+
url: '/api/v1/{region}/bean/expected-transactions/{id}/match',
|
|
2399
2493
|
path: {
|
|
2400
|
-
|
|
2494
|
+
id: data.id,
|
|
2401
2495
|
region: data.region
|
|
2402
2496
|
},
|
|
2497
|
+
body: data.requestBody,
|
|
2498
|
+
mediaType: 'application/json',
|
|
2403
2499
|
errors: {
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
409: 'Resource conflict - rule is being modified by another process'
|
|
2500
|
+
400: 'Cannot match - not in PENDING status',
|
|
2501
|
+
404: 'Expected or actual transaction not found',
|
|
2502
|
+
409: 'Actual transaction already matched to another rule'
|
|
2408
2503
|
}
|
|
2409
2504
|
});
|
|
2410
2505
|
}
|
|
2411
2506
|
|
|
2412
2507
|
/**
|
|
2413
|
-
*
|
|
2508
|
+
* Unmatch transaction
|
|
2509
|
+
* Removes the match between expected and actual transaction (COMPLETED -> PENDING)
|
|
2414
2510
|
* @param data The data for the request.
|
|
2415
|
-
* @param data.
|
|
2511
|
+
* @param data.id Expected transaction ID
|
|
2416
2512
|
* @param data.region Region code for tenant context
|
|
2417
|
-
* @
|
|
2418
|
-
* @returns TestRuleResponseDto Test result
|
|
2513
|
+
* @returns void Match removed successfully
|
|
2419
2514
|
* @throws ApiError
|
|
2420
2515
|
*/
|
|
2421
|
-
public static
|
|
2422
|
-
data:
|
|
2423
|
-
): CancelablePromise<
|
|
2516
|
+
public static expectedTransactionControllerUnmatch(
|
|
2517
|
+
data: ExpectedTransactionControllerUnmatchData
|
|
2518
|
+
): CancelablePromise<ExpectedTransactionControllerUnmatchResponse> {
|
|
2424
2519
|
return __request(OpenAPI, {
|
|
2425
|
-
method: '
|
|
2426
|
-
url: '/api/v1/{region}/bean/
|
|
2520
|
+
method: 'DELETE',
|
|
2521
|
+
url: '/api/v1/{region}/bean/expected-transactions/{id}/match',
|
|
2427
2522
|
path: {
|
|
2428
|
-
|
|
2523
|
+
id: data.id,
|
|
2429
2524
|
region: data.region
|
|
2430
2525
|
},
|
|
2431
|
-
body: data.requestBody,
|
|
2432
|
-
mediaType: 'application/json',
|
|
2433
2526
|
errors: {
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
404: 'Rule not found'
|
|
2527
|
+
400: 'Cannot unmatch - not in COMPLETED status',
|
|
2528
|
+
404: 'Expected transaction not found'
|
|
2437
2529
|
}
|
|
2438
2530
|
});
|
|
2439
2531
|
}
|
|
2440
|
-
}
|
|
2441
2532
|
|
|
2442
|
-
export class UsersService {
|
|
2443
2533
|
/**
|
|
2444
|
-
*
|
|
2534
|
+
* Enter Now
|
|
2535
|
+
* Creates an actual transaction for an expected transaction (YNAB-style Enter Now)
|
|
2445
2536
|
* @param data The data for the request.
|
|
2537
|
+
* @param data.id Expected transaction ID
|
|
2538
|
+
* @param data.region Region code for tenant context
|
|
2446
2539
|
* @param data.requestBody
|
|
2447
|
-
* @returns
|
|
2540
|
+
* @returns unknown Transaction created successfully
|
|
2448
2541
|
* @throws ApiError
|
|
2449
2542
|
*/
|
|
2450
|
-
public static
|
|
2451
|
-
data:
|
|
2452
|
-
): CancelablePromise<
|
|
2543
|
+
public static expectedTransactionControllerEnterNow(
|
|
2544
|
+
data: ExpectedTransactionControllerEnterNowData
|
|
2545
|
+
): CancelablePromise<ExpectedTransactionControllerEnterNowResponse> {
|
|
2453
2546
|
return __request(OpenAPI, {
|
|
2454
|
-
method: '
|
|
2455
|
-
url: '/api/v1/
|
|
2547
|
+
method: 'POST',
|
|
2548
|
+
url: '/api/v1/{region}/bean/expected-transactions/{id}/enter',
|
|
2549
|
+
path: {
|
|
2550
|
+
id: data.id,
|
|
2551
|
+
region: data.region
|
|
2552
|
+
},
|
|
2456
2553
|
body: data.requestBody,
|
|
2457
2554
|
mediaType: 'application/json',
|
|
2458
2555
|
errors: {
|
|
2459
|
-
|
|
2556
|
+
400: 'Cannot enter - not in PENDING status or missing accounts',
|
|
2557
|
+
404: 'Expected transaction or accounts not found'
|
|
2460
2558
|
}
|
|
2461
2559
|
});
|
|
2462
2560
|
}
|
|
2561
|
+
}
|
|
2463
2562
|
|
|
2563
|
+
export class RecurringForecastService {
|
|
2464
2564
|
/**
|
|
2465
|
-
* Get
|
|
2565
|
+
* Get cash flow forecast
|
|
2566
|
+
* Returns predicted outflows for the next N months based on active recurring rules
|
|
2466
2567
|
* @param data The data for the request.
|
|
2467
|
-
* @param data.
|
|
2468
|
-
* @
|
|
2568
|
+
* @param data.region Region code for tenant context
|
|
2569
|
+
* @param data.months Number of months to forecast (1-12, default 3)
|
|
2570
|
+
* @returns ForecastResponseDto Forecast retrieved successfully
|
|
2469
2571
|
* @throws ApiError
|
|
2470
2572
|
*/
|
|
2471
|
-
public static
|
|
2472
|
-
data:
|
|
2473
|
-
): CancelablePromise<
|
|
2573
|
+
public static forecastControllerGetForecast(
|
|
2574
|
+
data: ForecastControllerGetForecastData
|
|
2575
|
+
): CancelablePromise<ForecastControllerGetForecastResponse> {
|
|
2474
2576
|
return __request(OpenAPI, {
|
|
2475
2577
|
method: 'GET',
|
|
2476
|
-
url: '/api/v1/
|
|
2477
|
-
|
|
2478
|
-
|
|
2578
|
+
url: '/api/v1/{region}/bean/recurring/forecast',
|
|
2579
|
+
path: {
|
|
2580
|
+
region: data.region
|
|
2581
|
+
},
|
|
2582
|
+
query: {
|
|
2583
|
+
months: data.months
|
|
2479
2584
|
}
|
|
2480
2585
|
});
|
|
2481
2586
|
}
|
|
2587
|
+
}
|
|
2482
2588
|
|
|
2589
|
+
export class BeanTransactionRulesService {
|
|
2483
2590
|
/**
|
|
2484
|
-
*
|
|
2485
|
-
*
|
|
2591
|
+
* Create a new transaction rule (or upsert if upsertByPayee=true)
|
|
2592
|
+
* Creates a new rule. If upsertByPayee=true, updates existing rule matching payeeKeywords[0] instead of creating duplicate.
|
|
2486
2593
|
* @param data The data for the request.
|
|
2594
|
+
* @param data.region Region code for tenant context
|
|
2487
2595
|
* @param data.requestBody
|
|
2488
|
-
* @returns
|
|
2596
|
+
* @returns TransactionRuleResponseDto Rule updated successfully (upsert mode)
|
|
2489
2597
|
* @throws ApiError
|
|
2490
2598
|
*/
|
|
2491
|
-
public static
|
|
2492
|
-
data:
|
|
2493
|
-
): CancelablePromise<
|
|
2599
|
+
public static transactionRuleControllerCreate(
|
|
2600
|
+
data: TransactionRuleControllerCreateData
|
|
2601
|
+
): CancelablePromise<TransactionRuleControllerCreateResponse> {
|
|
2494
2602
|
return __request(OpenAPI, {
|
|
2495
2603
|
method: 'POST',
|
|
2496
|
-
url: '/api/v1/
|
|
2604
|
+
url: '/api/v1/{region}/bean/transaction-rules',
|
|
2605
|
+
path: {
|
|
2606
|
+
region: data.region
|
|
2607
|
+
},
|
|
2497
2608
|
body: data.requestBody,
|
|
2498
2609
|
mediaType: 'application/json',
|
|
2499
2610
|
errors: {
|
|
2500
|
-
400: '
|
|
2501
|
-
|
|
2611
|
+
400: 'Validation failed',
|
|
2612
|
+
401: 'Unauthorized',
|
|
2613
|
+
409: 'Resource conflict - another process is updating this rule'
|
|
2502
2614
|
}
|
|
2503
2615
|
});
|
|
2504
2616
|
}
|
|
2505
2617
|
|
|
2506
2618
|
/**
|
|
2507
|
-
*
|
|
2619
|
+
* Get all transaction rules for user
|
|
2508
2620
|
* @param data The data for the request.
|
|
2509
|
-
* @param data.
|
|
2510
|
-
* @
|
|
2621
|
+
* @param data.region Region code for tenant context
|
|
2622
|
+
* @param data.limit Max results per page (default: 20, max: 100)
|
|
2623
|
+
* @param data.offset Pagination offset (default: 0)
|
|
2624
|
+
* @param data.enabled Filter by enabled status
|
|
2625
|
+
* @param data.learningSource Filter by learning source. Omit this parameter or pass empty string to get manually created rules (learningSource is null in database).
|
|
2626
|
+
* @param data.autoApplyEnabled Filter by auto-apply status
|
|
2627
|
+
* @returns TransactionRuleListResponseDto List of rules
|
|
2511
2628
|
* @throws ApiError
|
|
2512
2629
|
*/
|
|
2513
|
-
public static
|
|
2514
|
-
data:
|
|
2515
|
-
): CancelablePromise<
|
|
2630
|
+
public static transactionRuleControllerList(
|
|
2631
|
+
data: TransactionRuleControllerListData
|
|
2632
|
+
): CancelablePromise<TransactionRuleControllerListResponse> {
|
|
2516
2633
|
return __request(OpenAPI, {
|
|
2517
|
-
method: '
|
|
2518
|
-
url: '/api/v1/
|
|
2634
|
+
method: 'GET',
|
|
2635
|
+
url: '/api/v1/{region}/bean/transaction-rules',
|
|
2519
2636
|
path: {
|
|
2520
|
-
|
|
2637
|
+
region: data.region
|
|
2638
|
+
},
|
|
2639
|
+
query: {
|
|
2640
|
+
limit: data.limit,
|
|
2641
|
+
offset: data.offset,
|
|
2642
|
+
enabled: data.enabled,
|
|
2643
|
+
learningSource: data.learningSource,
|
|
2644
|
+
autoApplyEnabled: data.autoApplyEnabled
|
|
2521
2645
|
},
|
|
2522
2646
|
errors: {
|
|
2523
|
-
|
|
2647
|
+
401: 'Unauthorized'
|
|
2524
2648
|
}
|
|
2525
2649
|
});
|
|
2526
2650
|
}
|
|
2527
2651
|
|
|
2528
2652
|
/**
|
|
2529
|
-
*
|
|
2653
|
+
* Validate transaction rule configuration
|
|
2530
2654
|
* @param data The data for the request.
|
|
2531
|
-
* @param data.
|
|
2532
|
-
* @
|
|
2655
|
+
* @param data.region Region code for tenant context
|
|
2656
|
+
* @param data.requestBody
|
|
2657
|
+
* @returns ValidateRuleResponseDto Validation result
|
|
2533
2658
|
* @throws ApiError
|
|
2534
2659
|
*/
|
|
2535
|
-
public static
|
|
2536
|
-
data:
|
|
2537
|
-
): CancelablePromise<
|
|
2660
|
+
public static transactionRuleControllerValidate(
|
|
2661
|
+
data: TransactionRuleControllerValidateData
|
|
2662
|
+
): CancelablePromise<TransactionRuleControllerValidateResponse> {
|
|
2538
2663
|
return __request(OpenAPI, {
|
|
2539
|
-
method: '
|
|
2540
|
-
url: '/api/v1/
|
|
2664
|
+
method: 'POST',
|
|
2665
|
+
url: '/api/v1/{region}/bean/transaction-rules/validate',
|
|
2541
2666
|
path: {
|
|
2542
|
-
|
|
2667
|
+
region: data.region
|
|
2543
2668
|
},
|
|
2669
|
+
body: data.requestBody,
|
|
2670
|
+
mediaType: 'application/json',
|
|
2544
2671
|
errors: {
|
|
2545
|
-
|
|
2672
|
+
400: 'Validation failed',
|
|
2673
|
+
401: 'Unauthorized'
|
|
2546
2674
|
}
|
|
2547
2675
|
});
|
|
2548
2676
|
}
|
|
2549
2677
|
|
|
2550
2678
|
/**
|
|
2551
|
-
*
|
|
2679
|
+
* Bulk create transaction rules
|
|
2552
2680
|
* @param data The data for the request.
|
|
2681
|
+
* @param data.region Region code for tenant context
|
|
2553
2682
|
* @param data.requestBody
|
|
2554
|
-
* @returns
|
|
2683
|
+
* @returns BulkCreateRulesResponseDto Bulk create completed
|
|
2555
2684
|
* @throws ApiError
|
|
2556
2685
|
*/
|
|
2557
|
-
public static
|
|
2558
|
-
data:
|
|
2559
|
-
): CancelablePromise<
|
|
2686
|
+
public static transactionRuleControllerBulkCreate(
|
|
2687
|
+
data: TransactionRuleControllerBulkCreateData
|
|
2688
|
+
): CancelablePromise<TransactionRuleControllerBulkCreateResponse> {
|
|
2560
2689
|
return __request(OpenAPI, {
|
|
2561
|
-
method: '
|
|
2562
|
-
url: '/api/v1/
|
|
2690
|
+
method: 'POST',
|
|
2691
|
+
url: '/api/v1/{region}/bean/transaction-rules/bulk',
|
|
2692
|
+
path: {
|
|
2693
|
+
region: data.region
|
|
2694
|
+
},
|
|
2563
2695
|
body: data.requestBody,
|
|
2564
2696
|
mediaType: 'application/json',
|
|
2565
2697
|
errors: {
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
});
|
|
2569
|
-
}
|
|
2570
|
-
|
|
2571
|
-
/**
|
|
2572
|
-
* Get all user settings paginated (admin only)
|
|
2573
|
-
* @param data The data for the request.
|
|
2574
|
-
* @param data.pageNo Page number
|
|
2575
|
-
* @param data.pageSize Page size
|
|
2576
|
-
* @returns unknown Settings list retrieved successfully
|
|
2577
|
-
* @throws ApiError
|
|
2578
|
-
*/
|
|
2579
|
-
public static userControllerGetAllUserSettingsByPage(
|
|
2580
|
-
data: UserControllerGetAllUserSettingsByPageData
|
|
2581
|
-
): CancelablePromise<UserControllerGetAllUserSettingsByPageResponse> {
|
|
2582
|
-
return __request(OpenAPI, {
|
|
2583
|
-
method: 'GET',
|
|
2584
|
-
url: '/api/v1/users/settings-by-page',
|
|
2585
|
-
query: {
|
|
2586
|
-
pageNo: data.pageNo,
|
|
2587
|
-
pageSize: data.pageSize
|
|
2588
|
-
}
|
|
2589
|
-
});
|
|
2590
|
-
}
|
|
2591
|
-
|
|
2592
|
-
/**
|
|
2593
|
-
* Get asset and liability summary for current user
|
|
2594
|
-
* @returns unknown Summary retrieved successfully
|
|
2595
|
-
* @throws ApiError
|
|
2596
|
-
*/
|
|
2597
|
-
public static userControllerGetAssetLiabilitySummary(): CancelablePromise<UserControllerGetAssetLiabilitySummaryResponse> {
|
|
2598
|
-
return __request(OpenAPI, {
|
|
2599
|
-
method: 'GET',
|
|
2600
|
-
url: '/api/v1/users/asset-liability-summary'
|
|
2601
|
-
});
|
|
2602
|
-
}
|
|
2603
|
-
}
|
|
2604
|
-
|
|
2605
|
-
export class PropertiesService {
|
|
2606
|
-
/**
|
|
2607
|
-
* Get all system properties
|
|
2608
|
-
* @returns unknown Properties retrieved successfully
|
|
2609
|
-
* @throws ApiError
|
|
2610
|
-
*/
|
|
2611
|
-
public static propertyControllerGetAll(): CancelablePromise<PropertyControllerGetAllResponse> {
|
|
2612
|
-
return __request(OpenAPI, {
|
|
2613
|
-
method: 'GET',
|
|
2614
|
-
url: '/api/v1/admin/properties',
|
|
2615
|
-
errors: {
|
|
2616
|
-
401: 'Unauthorized',
|
|
2617
|
-
403: 'Forbidden - insufficient permissions'
|
|
2698
|
+
400: 'Invalid bulk create data',
|
|
2699
|
+
401: 'Unauthorized'
|
|
2618
2700
|
}
|
|
2619
2701
|
});
|
|
2620
2702
|
}
|
|
2621
2703
|
|
|
2622
2704
|
/**
|
|
2623
|
-
*
|
|
2705
|
+
* Export transaction rules
|
|
2624
2706
|
* @param data The data for the request.
|
|
2625
|
-
* @param data.
|
|
2626
|
-
* @
|
|
2707
|
+
* @param data.format Export format (currently only JSON supported)
|
|
2708
|
+
* @param data.region Region code for tenant context
|
|
2709
|
+
* @returns ExportRulesResponseDto Exported rules
|
|
2627
2710
|
* @throws ApiError
|
|
2628
2711
|
*/
|
|
2629
|
-
public static
|
|
2630
|
-
data:
|
|
2631
|
-
): CancelablePromise<
|
|
2712
|
+
public static transactionRuleControllerExport(
|
|
2713
|
+
data: TransactionRuleControllerExportData
|
|
2714
|
+
): CancelablePromise<TransactionRuleControllerExportResponse> {
|
|
2632
2715
|
return __request(OpenAPI, {
|
|
2633
2716
|
method: 'GET',
|
|
2634
|
-
url: '/api/v1/
|
|
2717
|
+
url: '/api/v1/{region}/bean/transaction-rules/export/{format}',
|
|
2635
2718
|
path: {
|
|
2636
|
-
|
|
2719
|
+
format: data.format,
|
|
2720
|
+
region: data.region
|
|
2637
2721
|
},
|
|
2638
2722
|
errors: {
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
404: 'Property not found'
|
|
2723
|
+
400: 'Unsupported format',
|
|
2724
|
+
401: 'Unauthorized'
|
|
2642
2725
|
}
|
|
2643
2726
|
});
|
|
2644
2727
|
}
|
|
2645
2728
|
|
|
2646
2729
|
/**
|
|
2647
|
-
*
|
|
2730
|
+
* Get transaction rule statistics
|
|
2648
2731
|
* @param data The data for the request.
|
|
2649
|
-
* @param data.
|
|
2650
|
-
* @param data.
|
|
2651
|
-
* @returns
|
|
2732
|
+
* @param data.period Statistics time period
|
|
2733
|
+
* @param data.region Region code for tenant context
|
|
2734
|
+
* @returns RuleStatisticsResponseDto Rule statistics
|
|
2652
2735
|
* @throws ApiError
|
|
2653
2736
|
*/
|
|
2654
|
-
public static
|
|
2655
|
-
data:
|
|
2656
|
-
): CancelablePromise<
|
|
2737
|
+
public static transactionRuleControllerGetStatistics(
|
|
2738
|
+
data: TransactionRuleControllerGetStatisticsData
|
|
2739
|
+
): CancelablePromise<TransactionRuleControllerGetStatisticsResponse> {
|
|
2657
2740
|
return __request(OpenAPI, {
|
|
2658
|
-
method: '
|
|
2659
|
-
url: '/api/v1/
|
|
2741
|
+
method: 'GET',
|
|
2742
|
+
url: '/api/v1/{region}/bean/transaction-rules/statistics/{period}',
|
|
2660
2743
|
path: {
|
|
2661
|
-
|
|
2744
|
+
period: data.period,
|
|
2745
|
+
region: data.region
|
|
2662
2746
|
},
|
|
2663
|
-
body: data.requestBody,
|
|
2664
|
-
mediaType: 'application/json',
|
|
2665
2747
|
errors: {
|
|
2666
|
-
401: 'Unauthorized'
|
|
2667
|
-
403: 'Forbidden - insufficient permissions'
|
|
2748
|
+
401: 'Unauthorized'
|
|
2668
2749
|
}
|
|
2669
2750
|
});
|
|
2670
2751
|
}
|
|
2671
2752
|
|
|
2672
2753
|
/**
|
|
2673
|
-
*
|
|
2754
|
+
* Get transaction rule detail
|
|
2674
2755
|
* @param data The data for the request.
|
|
2675
|
-
* @param data.
|
|
2676
|
-
* @
|
|
2756
|
+
* @param data.ruleId Rule ID
|
|
2757
|
+
* @param data.region Region code for tenant context
|
|
2758
|
+
* @returns TransactionRuleResponseDto Rule details
|
|
2677
2759
|
* @throws ApiError
|
|
2678
2760
|
*/
|
|
2679
|
-
public static
|
|
2680
|
-
data:
|
|
2681
|
-
): CancelablePromise<
|
|
2761
|
+
public static transactionRuleControllerGetDetail(
|
|
2762
|
+
data: TransactionRuleControllerGetDetailData
|
|
2763
|
+
): CancelablePromise<TransactionRuleControllerGetDetailResponse> {
|
|
2682
2764
|
return __request(OpenAPI, {
|
|
2683
|
-
method: '
|
|
2684
|
-
url: '/api/v1/
|
|
2765
|
+
method: 'GET',
|
|
2766
|
+
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
|
|
2685
2767
|
path: {
|
|
2686
|
-
|
|
2768
|
+
ruleId: data.ruleId,
|
|
2769
|
+
region: data.region
|
|
2687
2770
|
},
|
|
2688
2771
|
errors: {
|
|
2689
2772
|
401: 'Unauthorized',
|
|
2690
|
-
403: 'Forbidden -
|
|
2691
|
-
404: '
|
|
2773
|
+
403: 'Forbidden - not owner of rule',
|
|
2774
|
+
404: 'Rule not found'
|
|
2692
2775
|
}
|
|
2693
2776
|
});
|
|
2694
2777
|
}
|
|
2695
|
-
}
|
|
2696
2778
|
|
|
2697
|
-
export class ReportingService {
|
|
2698
2779
|
/**
|
|
2699
|
-
*
|
|
2700
|
-
*
|
|
2701
|
-
* Returns time series data of portfolio net worth.
|
|
2702
|
-
*
|
|
2703
|
-
* **Multi-currency Support:**
|
|
2704
|
-
* - `series[].byCurrency` - Currency breakdown for each data point
|
|
2705
|
-
* - `byCurrency` - Separate time series grouped by currency
|
|
2706
|
-
* - `warnings` - Exchange rate warnings if conversion failed
|
|
2707
|
-
*
|
|
2708
|
-
* **Parameters:**
|
|
2709
|
-
* - `period`: Time period (1m, 3m, 6m, 1y)
|
|
2710
|
-
* - `granularity`: Data granularity (day, week, month)
|
|
2711
|
-
*
|
|
2780
|
+
* Update a transaction rule
|
|
2712
2781
|
* @param data The data for the request.
|
|
2782
|
+
* @param data.ruleId Rule ID to update
|
|
2713
2783
|
* @param data.region Region code for tenant context
|
|
2714
|
-
* @param data.
|
|
2715
|
-
* @
|
|
2716
|
-
* @returns PortfolioTrendsResponseDto Trends retrieved successfully
|
|
2784
|
+
* @param data.requestBody
|
|
2785
|
+
* @returns TransactionRuleResponseDto Rule updated successfully
|
|
2717
2786
|
* @throws ApiError
|
|
2718
2787
|
*/
|
|
2719
|
-
public static
|
|
2720
|
-
data:
|
|
2721
|
-
): CancelablePromise<
|
|
2788
|
+
public static transactionRuleControllerUpdate(
|
|
2789
|
+
data: TransactionRuleControllerUpdateData
|
|
2790
|
+
): CancelablePromise<TransactionRuleControllerUpdateResponse> {
|
|
2722
2791
|
return __request(OpenAPI, {
|
|
2723
|
-
method: '
|
|
2724
|
-
url: '/api/v1/{region}/
|
|
2792
|
+
method: 'PUT',
|
|
2793
|
+
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
|
|
2725
2794
|
path: {
|
|
2795
|
+
ruleId: data.ruleId,
|
|
2726
2796
|
region: data.region
|
|
2727
2797
|
},
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
granularity: data.granularity
|
|
2731
|
-
},
|
|
2798
|
+
body: data.requestBody,
|
|
2799
|
+
mediaType: 'application/json',
|
|
2732
2800
|
errors: {
|
|
2733
|
-
|
|
2801
|
+
400: 'Validation failed',
|
|
2802
|
+
401: 'Unauthorized',
|
|
2803
|
+
403: 'Forbidden - not owner of rule',
|
|
2804
|
+
404: 'Rule not found',
|
|
2805
|
+
409: 'Resource conflict - rule is being modified by another process'
|
|
2734
2806
|
}
|
|
2735
2807
|
});
|
|
2736
2808
|
}
|
|
2737
2809
|
|
|
2738
2810
|
/**
|
|
2739
|
-
*
|
|
2740
|
-
*
|
|
2741
|
-
* Monthly income / expense / netSavings over a fixed N-month window
|
|
2742
|
-
* (current month + N−1 prior). Missing months are zero-filled (flow metric).
|
|
2743
|
-
*
|
|
2744
|
-
* **Parameters:**
|
|
2745
|
-
* - `period`: 1m | 3m | 6m | 1y (default 6m)
|
|
2746
|
-
* - `granularity`: accepted for API symmetry; v1 returns month buckets
|
|
2747
|
-
*
|
|
2811
|
+
* Delete a transaction rule
|
|
2748
2812
|
* @param data The data for the request.
|
|
2813
|
+
* @param data.ruleId Rule ID to delete
|
|
2749
2814
|
* @param data.region Region code for tenant context
|
|
2750
|
-
* @
|
|
2751
|
-
* @param data.granularity Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
2752
|
-
* @returns CashFlowTrendsResponseDto Cash-flow trends retrieved successfully
|
|
2815
|
+
* @returns void Rule deleted successfully
|
|
2753
2816
|
* @throws ApiError
|
|
2754
2817
|
*/
|
|
2755
|
-
public static
|
|
2756
|
-
data:
|
|
2757
|
-
): CancelablePromise<
|
|
2818
|
+
public static transactionRuleControllerDelete(
|
|
2819
|
+
data: TransactionRuleControllerDeleteData
|
|
2820
|
+
): CancelablePromise<TransactionRuleControllerDeleteResponse> {
|
|
2758
2821
|
return __request(OpenAPI, {
|
|
2759
|
-
method: '
|
|
2760
|
-
url: '/api/v1/{region}/
|
|
2822
|
+
method: 'DELETE',
|
|
2823
|
+
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}',
|
|
2761
2824
|
path: {
|
|
2825
|
+
ruleId: data.ruleId,
|
|
2762
2826
|
region: data.region
|
|
2763
2827
|
},
|
|
2764
|
-
query: {
|
|
2765
|
-
period: data.period,
|
|
2766
|
-
granularity: data.granularity
|
|
2767
|
-
},
|
|
2768
2828
|
errors: {
|
|
2769
|
-
401: '
|
|
2829
|
+
401: 'Unauthorized',
|
|
2830
|
+
403: 'Forbidden - not owner of rule',
|
|
2831
|
+
404: 'Rule not found',
|
|
2832
|
+
409: 'Resource conflict - rule is being modified by another process'
|
|
2770
2833
|
}
|
|
2771
2834
|
});
|
|
2772
2835
|
}
|
|
2773
2836
|
|
|
2774
2837
|
/**
|
|
2775
|
-
*
|
|
2776
|
-
*
|
|
2777
|
-
* Manually generate a portfolio snapshot for a specific date.
|
|
2778
|
-
*
|
|
2779
|
-
* **Multi-currency Support:**
|
|
2780
|
-
* - Fetches balances grouped by currency
|
|
2781
|
-
* - Uses user's baseCurrency setting for conversion
|
|
2782
|
-
* - Stores exchange rates and warnings
|
|
2783
|
-
*
|
|
2784
|
-
* **Use Cases:**
|
|
2785
|
-
* - Testing snapshot generation
|
|
2786
|
-
* - Force regeneration after data correction
|
|
2787
|
-
* - Initial setup for new users
|
|
2788
|
-
*
|
|
2838
|
+
* Test rule matching
|
|
2789
2839
|
* @param data The data for the request.
|
|
2840
|
+
* @param data.ruleId Rule ID to test
|
|
2790
2841
|
* @param data.region Region code for tenant context
|
|
2791
|
-
* @param data.requestBody
|
|
2792
|
-
* @returns
|
|
2842
|
+
* @param data.requestBody
|
|
2843
|
+
* @returns TestRuleResponseDto Test result
|
|
2793
2844
|
* @throws ApiError
|
|
2794
2845
|
*/
|
|
2795
|
-
public static
|
|
2796
|
-
data:
|
|
2797
|
-
): CancelablePromise<
|
|
2846
|
+
public static transactionRuleControllerTest(
|
|
2847
|
+
data: TransactionRuleControllerTestData
|
|
2848
|
+
): CancelablePromise<TransactionRuleControllerTestResponse> {
|
|
2798
2849
|
return __request(OpenAPI, {
|
|
2799
2850
|
method: 'POST',
|
|
2800
|
-
url: '/api/v1/{region}/
|
|
2851
|
+
url: '/api/v1/{region}/bean/transaction-rules/{ruleId}/test',
|
|
2801
2852
|
path: {
|
|
2853
|
+
ruleId: data.ruleId,
|
|
2802
2854
|
region: data.region
|
|
2803
2855
|
},
|
|
2804
2856
|
body: data.requestBody,
|
|
2805
2857
|
mediaType: 'application/json',
|
|
2806
2858
|
errors: {
|
|
2807
|
-
|
|
2808
|
-
|
|
2859
|
+
401: 'Unauthorized',
|
|
2860
|
+
403: 'Forbidden - not owner of rule',
|
|
2861
|
+
404: 'Rule not found'
|
|
2809
2862
|
}
|
|
2810
2863
|
});
|
|
2811
2864
|
}
|
|
2865
|
+
}
|
|
2812
2866
|
|
|
2867
|
+
export class BeanCategoryCatalogService {
|
|
2813
2868
|
/**
|
|
2814
|
-
*
|
|
2815
|
-
*
|
|
2816
|
-
* Generate snapshots for a date range (historical data backfill).
|
|
2817
|
-
*
|
|
2818
|
-
* **Multi-currency Support:**
|
|
2819
|
-
* - Each snapshot includes multi-currency data
|
|
2820
|
-
* - Uses exchange rates available at generation time
|
|
2821
|
-
* - Warnings stored for missing exchange rates
|
|
2822
|
-
*
|
|
2823
|
-
* **Best Practices:**
|
|
2824
|
-
* - Use for initial setup after account configuration
|
|
2825
|
-
* - Run during low-traffic periods for large date ranges
|
|
2826
|
-
* - Existing snapshots are skipped (not regenerated)
|
|
2827
|
-
*
|
|
2869
|
+
* List category catalog for a region
|
|
2870
|
+
* Returns the region-scoped category slugs (expense/income/investment/banking/transfer/payment) for the NLP result picker, each with the categoryAccount paths the region-enabled system rules map it to (#816). CN-exclusive payment instruments (huabei/baitiao) appear only under /cn.
|
|
2828
2871
|
* @param data The data for the request.
|
|
2829
2872
|
* @param data.region Region code for tenant context
|
|
2830
|
-
* @param data.
|
|
2831
|
-
* @
|
|
2873
|
+
* @param data.scenario Filter by scenario
|
|
2874
|
+
* @param data.routeBearing Filter by routeBearing (entity-router route() consumes it)
|
|
2875
|
+
* @returns CategoryCatalogListResponseDto Category catalog retrieved successfully
|
|
2832
2876
|
* @throws ApiError
|
|
2833
2877
|
*/
|
|
2834
|
-
public static
|
|
2835
|
-
data:
|
|
2836
|
-
): CancelablePromise<
|
|
2878
|
+
public static categoryCatalogControllerList(
|
|
2879
|
+
data: CategoryCatalogControllerListData
|
|
2880
|
+
): CancelablePromise<CategoryCatalogControllerListResponse> {
|
|
2837
2881
|
return __request(OpenAPI, {
|
|
2838
|
-
method: '
|
|
2839
|
-
url: '/api/v1/{region}/
|
|
2882
|
+
method: 'GET',
|
|
2883
|
+
url: '/api/v1/{region}/bean/categories',
|
|
2840
2884
|
path: {
|
|
2841
2885
|
region: data.region
|
|
2842
2886
|
},
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
400: 'Invalid date format or range',
|
|
2847
|
-
401: 'User not authenticated',
|
|
2848
|
-
409: 'Backfill already in progress for this user'
|
|
2887
|
+
query: {
|
|
2888
|
+
scenario: data.scenario,
|
|
2889
|
+
routeBearing: data.routeBearing
|
|
2849
2890
|
}
|
|
2850
2891
|
});
|
|
2851
2892
|
}
|
|
@@ -3030,7 +3071,7 @@ export class OnboardingService {
|
|
|
3030
3071
|
/**
|
|
3031
3072
|
* Bootstrap core accounts + register asset accounts with opening balances (ADR-0113)
|
|
3032
3073
|
* @param data The data for the request.
|
|
3033
|
-
* @param data.region Region code for tenant context
|
|
3074
|
+
* @param data.region Region code for tenant context. Not-yet-open codes are accepted: the universal catalog backs onboarding regardless of region (#759)
|
|
3034
3075
|
* @param data.requestBody
|
|
3035
3076
|
* @returns unknown Onboarding bootstrap result.
|
|
3036
3077
|
* @throws ApiError
|
|
@@ -3163,7 +3204,7 @@ export class BeanExportService {
|
|
|
3163
3204
|
/**
|
|
3164
3205
|
* Export Beancount ledger as ZIP
|
|
3165
3206
|
* Export all user Beancount data as a ZIP file containing ledger.beancount and yearly files in community format.
|
|
3166
|
-
* @returns
|
|
3207
|
+
* @returns binary ZIP archive (application/zip) streamed as an attachment
|
|
3167
3208
|
* @throws ApiError
|
|
3168
3209
|
*/
|
|
3169
3210
|
public static exportControllerExportBeancount(): CancelablePromise<ExportControllerExportBeancountResponse> {
|
|
@@ -3726,13 +3767,20 @@ export class BeanPlatformsService {
|
|
|
3726
3767
|
|
|
3727
3768
|
/**
|
|
3728
3769
|
* Get platform list for current user
|
|
3770
|
+
* @param data The data for the request.
|
|
3771
|
+
* @param data.region Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
|
|
3729
3772
|
* @returns PlatformListItemDto List of platforms with user binding status
|
|
3730
3773
|
* @throws ApiError
|
|
3731
3774
|
*/
|
|
3732
|
-
public static platformControllerGetPlatformList(
|
|
3775
|
+
public static platformControllerGetPlatformList(
|
|
3776
|
+
data: PlatformControllerGetPlatformListData = {}
|
|
3777
|
+
): CancelablePromise<PlatformControllerGetPlatformListResponse> {
|
|
3733
3778
|
return __request(OpenAPI, {
|
|
3734
3779
|
method: 'GET',
|
|
3735
|
-
url: '/api/v1/bean/platforms/list'
|
|
3780
|
+
url: '/api/v1/bean/platforms/list',
|
|
3781
|
+
query: {
|
|
3782
|
+
region: data.region
|
|
3783
|
+
}
|
|
3736
3784
|
});
|
|
3737
3785
|
}
|
|
3738
3786
|
|
|
@@ -3740,7 +3788,7 @@ export class BeanPlatformsService {
|
|
|
3740
3788
|
* Match platforms by name or alias
|
|
3741
3789
|
* @param data The data for the request.
|
|
3742
3790
|
* @param data.q Search query — Chinese name, English name, or abbreviation
|
|
3743
|
-
* @param data.region Region code
|
|
3791
|
+
* @param data.region Region code (ISO 3166-1 alpha-2) that biases within-tier ordering (local-region platforms first); also the intended categoryOverrides key. Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
|
|
3744
3792
|
* @returns PlatformMatchResponseDto Matching platforms with overall match type and truncation flag
|
|
3745
3793
|
* @throws ApiError
|
|
3746
3794
|
*/
|
|
@@ -3757,6 +3805,31 @@ export class BeanPlatformsService {
|
|
|
3757
3805
|
});
|
|
3758
3806
|
}
|
|
3759
3807
|
|
|
3808
|
+
/**
|
|
3809
|
+
* Get the region and candidate account standards for a platform
|
|
3810
|
+
* @param data The data for the request.
|
|
3811
|
+
* @param data.id Platform ID (from a match result)
|
|
3812
|
+
* @param data.region Region code (ISO 3166-1 alpha-2, case-insensitive). Required for global platforms (countryCode null) — resolved as their template region; ignored when the platform has its own countryCode.
|
|
3813
|
+
* @param data.type Filter templates by account type (path first segment)
|
|
3814
|
+
* @returns PlatformStandardsResponseDto Resolved region plus the merged account-standard catalog of that region (groupable by productCategory client-side)
|
|
3815
|
+
* @throws ApiError
|
|
3816
|
+
*/
|
|
3817
|
+
public static platformControllerGetPlatformStandards(
|
|
3818
|
+
data: PlatformControllerGetPlatformStandardsData
|
|
3819
|
+
): CancelablePromise<PlatformControllerGetPlatformStandardsResponse> {
|
|
3820
|
+
return __request(OpenAPI, {
|
|
3821
|
+
method: 'GET',
|
|
3822
|
+
url: '/api/v1/bean/platforms/{id}/standards',
|
|
3823
|
+
path: {
|
|
3824
|
+
id: data.id
|
|
3825
|
+
},
|
|
3826
|
+
query: {
|
|
3827
|
+
region: data.region,
|
|
3828
|
+
type: data.type
|
|
3829
|
+
}
|
|
3830
|
+
});
|
|
3831
|
+
}
|
|
3832
|
+
|
|
3760
3833
|
/**
|
|
3761
3834
|
* Update a platform
|
|
3762
3835
|
* @param data The data for the request.
|
|
@@ -4000,15 +4073,52 @@ export class AuthService {
|
|
|
4000
4073
|
}
|
|
4001
4074
|
}
|
|
4002
4075
|
|
|
4003
|
-
export class
|
|
4076
|
+
export class CommunityService {
|
|
4077
|
+
/**
|
|
4078
|
+
* Relay a sanitized parser-contribution payload
|
|
4079
|
+
* A server-side bot re-sanitizes the payload and opens an issue on the target repository; the issue URL is returned. The payload is never persisted or logged (forward-and-drop).
|
|
4080
|
+
* @param data The data for the request.
|
|
4081
|
+
* @param data.region Region code for tenant context (routing only; the institution region rides in the payload meta)
|
|
4082
|
+
* @param data.requestBody
|
|
4083
|
+
* @returns ParserContributionRelayResponseDto Issue created by the bot
|
|
4084
|
+
* @throws ApiError
|
|
4085
|
+
*/
|
|
4086
|
+
public static parserContributionControllerCreate(
|
|
4087
|
+
data: ParserContributionControllerCreateData
|
|
4088
|
+
): CancelablePromise<ParserContributionControllerCreateResponse> {
|
|
4089
|
+
return __request(OpenAPI, {
|
|
4090
|
+
method: 'POST',
|
|
4091
|
+
url: '/api/v1/{region}/community/parser-contributions',
|
|
4092
|
+
path: {
|
|
4093
|
+
region: data.region
|
|
4094
|
+
},
|
|
4095
|
+
body: data.requestBody,
|
|
4096
|
+
mediaType: 'application/json',
|
|
4097
|
+
errors: {
|
|
4098
|
+
401: 'Unauthorized',
|
|
4099
|
+
422: 'Validation failed (institution slug, empty samples, row/cell size limits)',
|
|
4100
|
+
429: 'Rate limited (5 submissions per user per hour)',
|
|
4101
|
+
501: 'Relay not configured on this deployment — clients fall back to the clipboard flow',
|
|
4102
|
+
502: 'GitHub bot failure (upstream), safe to retry'
|
|
4103
|
+
}
|
|
4104
|
+
});
|
|
4105
|
+
}
|
|
4106
|
+
}
|
|
4107
|
+
|
|
4108
|
+
export class AdminCacheService {
|
|
4004
4109
|
/**
|
|
4005
|
-
*
|
|
4110
|
+
* Flush entire cache (L1 + L2)
|
|
4111
|
+
* Clears ALL cache entries across ALL namespaces and users. Use only for emergency cache corruption recovery, maintenance-window refresh, or development resets.
|
|
4112
|
+
* @returns unknown Cache flushed successfully
|
|
4006
4113
|
* @throws ApiError
|
|
4007
4114
|
*/
|
|
4008
4115
|
public static cacheControllerFlushCache(): CancelablePromise<CacheControllerFlushCacheResponse> {
|
|
4009
4116
|
return __request(OpenAPI, {
|
|
4010
4117
|
method: 'POST',
|
|
4011
|
-
url: '/api/v1/cache/flush'
|
|
4118
|
+
url: '/api/v1/cache/flush',
|
|
4119
|
+
errors: {
|
|
4120
|
+
403: 'Admin access required'
|
|
4121
|
+
}
|
|
4012
4122
|
});
|
|
4013
4123
|
}
|
|
4014
4124
|
}
|
|
@@ -4169,3 +4279,53 @@ export class InfoService {
|
|
|
4169
4279
|
});
|
|
4170
4280
|
}
|
|
4171
4281
|
}
|
|
4282
|
+
|
|
4283
|
+
export class MarketDataService {
|
|
4284
|
+
/**
|
|
4285
|
+
* Search market symbols by name or code
|
|
4286
|
+
* Ranked search over the openbb catalog. Empty `q` returns [].
|
|
4287
|
+
* @param data The data for the request.
|
|
4288
|
+
* @param data.q Search term — matched against symbol and instrument name. Empty string returns [].
|
|
4289
|
+
* @param data.limit Maximum number of results (clamped 1..50)
|
|
4290
|
+
* @param data.exchange Filter by exchange code (e.g. US, HK, SS, SZ)
|
|
4291
|
+
* @param data.assetType Filter by OpenBB asset_type (e.g. stock, etf)
|
|
4292
|
+
* @returns SymbolSearchResultDto Ranked search results
|
|
4293
|
+
* @throws ApiError
|
|
4294
|
+
*/
|
|
4295
|
+
public static symbolControllerSearch(
|
|
4296
|
+
data: SymbolControllerSearchData
|
|
4297
|
+
): CancelablePromise<SymbolControllerSearchResponse> {
|
|
4298
|
+
return __request(OpenAPI, {
|
|
4299
|
+
method: 'GET',
|
|
4300
|
+
url: '/api/v1/market/symbols/search',
|
|
4301
|
+
query: {
|
|
4302
|
+
q: data.q,
|
|
4303
|
+
limit: data.limit,
|
|
4304
|
+
exchange: data.exchange,
|
|
4305
|
+
assetType: data.assetType
|
|
4306
|
+
}
|
|
4307
|
+
});
|
|
4308
|
+
}
|
|
4309
|
+
|
|
4310
|
+
/**
|
|
4311
|
+
* Get a market symbol quote
|
|
4312
|
+
* @param data The data for the request.
|
|
4313
|
+
* @param data.symbol
|
|
4314
|
+
* @returns SymbolQuoteDto Symbol quote
|
|
4315
|
+
* @throws ApiError
|
|
4316
|
+
*/
|
|
4317
|
+
public static symbolControllerGetQuote(
|
|
4318
|
+
data: SymbolControllerGetQuoteData
|
|
4319
|
+
): CancelablePromise<SymbolControllerGetQuoteResponse> {
|
|
4320
|
+
return __request(OpenAPI, {
|
|
4321
|
+
method: 'GET',
|
|
4322
|
+
url: '/api/v1/market/symbols/{symbol}/quote',
|
|
4323
|
+
path: {
|
|
4324
|
+
symbol: data.symbol
|
|
4325
|
+
},
|
|
4326
|
+
errors: {
|
|
4327
|
+
404: 'Symbol not found in the openbb catalog'
|
|
4328
|
+
}
|
|
4329
|
+
});
|
|
4330
|
+
}
|
|
4331
|
+
}
|