@firela/api-types 0.0.0-canary.a4e21680 → 0.0.0-canary.a6014079

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 CHANGED
@@ -27,13 +27,9 @@ type CreateAccountDto = {
27
27
  */
28
28
  path: string;
29
29
  /**
30
- * Display name to distinguish accounts at the same path (default: "")
30
+ * Account open date (server defaults to today)
31
31
  */
32
- displayName?: string;
33
- /**
34
- * Account open date
35
- */
36
- openDate: string;
32
+ openDate?: string;
37
33
  /**
38
34
  * Allowed currencies (null = no restriction)
39
35
  */
@@ -50,18 +46,14 @@ type CreateAccountDto = {
50
46
  * Whether this is a custom (user-created) account
51
47
  */
52
48
  isCustom?: boolean;
53
- /**
54
- * i18n key for display name (overrides template)
55
- */
56
- i18nKey?: string;
57
49
  /**
58
50
  * Icon identifier (overrides template)
59
51
  */
60
52
  icon?: string;
61
53
  /**
62
- * Additional metadata
54
+ * Open directive metadata (NOT an opening-balance amount — use the opening-balance endpoint)
63
55
  */
64
- openMeta?: {
56
+ openDirectiveMeta?: {
65
57
  [key: string]: unknown;
66
58
  };
67
59
  /**
@@ -82,14 +74,14 @@ type AccountResponseDto = {
82
74
  * Account path (hierarchical, colon-separated)
83
75
  */
84
76
  path: string;
85
- /**
86
- * Display name distinguishing multiple accounts at the same path
87
- */
88
- displayName: string;
89
77
  /**
90
78
  * Account type (root segment)
91
79
  */
92
80
  type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
81
+ /**
82
+ * Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
83
+ */
84
+ assetSubClass?: 'DEPOSIT' | 'CASH' | 'MONEY_MARKET_FUND' | 'STOCK' | 'ETF' | 'MUTUAL_FUND' | 'EQUITY_COMPENSATION' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'BOND_FUND' | 'PRIMARY_RESIDENCE' | 'INVESTMENT_PROPERTY' | 'REIT' | 'GOLD' | 'SILVER' | 'PRECIOUS_METAL' | 'PRECIOUS_METAL_FUND' | 'COMMODITY' | 'COMMODITY_FUND' | 'CRYPTOCURRENCY' | 'RETIREMENT_ACCOUNT' | 'HEALTH_ACCOUNT' | 'EDUCATION_ACCOUNT' | 'INSURANCE' | 'PRIVATE_EQUITY' | 'HEDGE_FUND' | 'COLLECTIBLES' | 'MORTGAGE' | 'STUDENT_LOAN' | 'CREDIT_CARD' | 'PERSONAL_LOAN' | 'ACCOUNTS_PAYABLE' | 'TAX_PAYABLE' | 'OTHER' | null;
93
85
  /**
94
86
  * Account status
95
87
  */
@@ -119,17 +111,17 @@ type AccountResponseDto = {
119
111
  */
120
112
  isCustom: boolean;
121
113
  /**
122
- * i18n key for display name
114
+ * Localized display name (ADR-0114, read-time projection)
123
115
  */
124
- i18nKey?: string;
116
+ displayName?: string;
125
117
  /**
126
118
  * Icon identifier
127
119
  */
128
120
  icon?: string;
129
121
  /**
130
- * Account metadata
122
+ * Open directive metadata (ADR-0115 Decision 9)
131
123
  */
132
- openMeta?: {
124
+ openDirectiveMeta?: {
133
125
  [key: string]: unknown;
134
126
  };
135
127
  /**
@@ -157,6 +149,10 @@ type AccountResponseDto = {
157
149
  * Account type (root segment)
158
150
  */
159
151
  type type = 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
152
+ /**
153
+ * Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
154
+ */
155
+ type assetSubClass = 'DEPOSIT' | 'CASH' | 'MONEY_MARKET_FUND' | 'STOCK' | 'ETF' | 'MUTUAL_FUND' | 'EQUITY_COMPENSATION' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'BOND_FUND' | 'PRIMARY_RESIDENCE' | 'INVESTMENT_PROPERTY' | 'REIT' | 'GOLD' | 'SILVER' | 'PRECIOUS_METAL' | 'PRECIOUS_METAL_FUND' | 'COMMODITY' | 'COMMODITY_FUND' | 'CRYPTOCURRENCY' | 'RETIREMENT_ACCOUNT' | 'HEALTH_ACCOUNT' | 'EDUCATION_ACCOUNT' | 'INSURANCE' | 'PRIVATE_EQUITY' | 'HEDGE_FUND' | 'COLLECTIBLES' | 'MORTGAGE' | 'STUDENT_LOAN' | 'CREDIT_CARD' | 'PERSONAL_LOAN' | 'ACCOUNTS_PAYABLE' | 'TAX_PAYABLE' | 'OTHER';
160
156
  /**
161
157
  * Account status
162
158
  */
@@ -172,10 +168,6 @@ type AccountListResponseDto = {
172
168
  total: number;
173
169
  };
174
170
  type UpdateAccountDto = {
175
- /**
176
- * Display name to distinguish accounts at the same path
177
- */
178
- displayName?: string;
179
171
  /**
180
172
  * Allowed currencies (null = no restriction)
181
173
  */
@@ -184,18 +176,14 @@ type UpdateAccountDto = {
184
176
  * Booking method for cost basis
185
177
  */
186
178
  bookingMethod?: 'FIFO' | 'LIFO' | 'HIFO' | 'AVERAGE' | 'STRICT' | 'STRICT_WITH_SIZE' | 'NONE';
187
- /**
188
- * i18n key for display name
189
- */
190
- i18nKey?: string;
191
179
  /**
192
180
  * Icon identifier
193
181
  */
194
182
  icon?: string;
195
183
  /**
196
- * Additional metadata (merged with existing)
184
+ * Open directive metadata (merged with existing; NOT an opening-balance amount)
197
185
  */
198
- openMeta?: {
186
+ openDirectiveMeta?: {
199
187
  [key: string]: unknown;
200
188
  };
201
189
  /**
@@ -221,6 +209,26 @@ type ReopenAccountDto = {
221
209
  */
222
210
  reopenDate?: string;
223
211
  };
212
+ type CreateOpeningBalanceDto = {
213
+ /**
214
+ * Opening balance amount (non-negative)
215
+ */
216
+ amount: number;
217
+ /**
218
+ * Currency code
219
+ */
220
+ currency: string;
221
+ /**
222
+ * Opening-balance date (defaults to now)
223
+ */
224
+ date?: string;
225
+ };
226
+ type OpeningBalanceResultDto = {
227
+ /**
228
+ * Created opening-balance transaction id.
229
+ */
230
+ transactionId: string;
231
+ };
224
232
  type AccountStandardResponseDto = {
225
233
  /**
226
234
  * Account path (hierarchical, colon-separated)
@@ -230,10 +238,6 @@ type AccountStandardResponseDto = {
230
238
  * Account type in Beancount hierarchy
231
239
  */
232
240
  type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
233
- /**
234
- * i18n key for localized display name
235
- */
236
- i18nKey: string;
237
241
  /**
238
242
  * Short localized display name
239
243
  */
@@ -250,7 +254,27 @@ type AccountStandardResponseDto = {
250
254
  * Icon identifier for UI display
251
255
  */
252
256
  icon: string;
257
+ /**
258
+ * Onboarding product category (coarse grouping derived from assetSubClass)
259
+ */
260
+ productCategory: 'cash' | 'investment' | 'credit_card' | 'loan' | 'payable_tax' | 'other';
261
+ /**
262
+ * Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules
263
+ */
264
+ assetClass?: 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
265
+ /**
266
+ * Asset sub-class (product type, derived at read time from classification rules)
267
+ */
268
+ assetSubClass?: string;
253
269
  };
270
+ /**
271
+ * Onboarding product category (coarse grouping derived from assetSubClass)
272
+ */
273
+ type productCategory = 'cash' | 'investment' | 'credit_card' | 'loan' | 'payable_tax' | 'other';
274
+ /**
275
+ * Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules
276
+ */
277
+ type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
254
278
  type AccountStandardListResponseDto = {
255
279
  /**
256
280
  * Array of account templates
@@ -266,10 +290,6 @@ type AccountStandardListResponseDto = {
266
290
  region: string;
267
291
  };
268
292
  type TemplateMetadataDto = {
269
- /**
270
- * Whether this path can be extended
271
- */
272
- extendable: boolean;
273
293
  /**
274
294
  * Root account type
275
295
  */
@@ -1688,6 +1708,104 @@ type UpdateCommodityDto = {
1688
1708
  [key: string]: unknown;
1689
1709
  };
1690
1710
  };
1711
+ type CreateBeanPriceDto = {
1712
+ /**
1713
+ * Currency being priced (e.g., USD, AAPL, BTC)
1714
+ */
1715
+ currency: string;
1716
+ /**
1717
+ * Quote currency (pricing currency, e.g., CNY, EUR)
1718
+ */
1719
+ quoteCurrency: string;
1720
+ /**
1721
+ * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1722
+ */
1723
+ amount: number;
1724
+ /**
1725
+ * Price date (ISO 8601 format)
1726
+ */
1727
+ date: string;
1728
+ /**
1729
+ * Metadata (validated by Zod schema, max field lengths enforced)
1730
+ */
1731
+ metadata?: {
1732
+ [key: string]: unknown;
1733
+ };
1734
+ };
1735
+ type PriceResponseDto = {
1736
+ /**
1737
+ * Unique identifier
1738
+ */
1739
+ id: string;
1740
+ /**
1741
+ * User ID (owner of the price)
1742
+ */
1743
+ userId: string;
1744
+ /**
1745
+ * Currency being priced (e.g., USD, AAPL, BTC)
1746
+ */
1747
+ currency: string;
1748
+ /**
1749
+ * Quote currency (pricing currency, e.g., USD, CNY)
1750
+ */
1751
+ quoteCurrency: string;
1752
+ /**
1753
+ * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1754
+ */
1755
+ amount: number;
1756
+ /**
1757
+ * Price date (ISO 8601 format). Represents the date this price was valid.
1758
+ */
1759
+ date: string;
1760
+ /**
1761
+ * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1762
+ */
1763
+ meta: {
1764
+ [key: string]: unknown;
1765
+ };
1766
+ /**
1767
+ * Creation timestamp
1768
+ */
1769
+ createdAt: string;
1770
+ /**
1771
+ * Last update timestamp
1772
+ */
1773
+ updatedAt: string;
1774
+ };
1775
+ type PriceListResponseDto = {
1776
+ /**
1777
+ * List of prices
1778
+ */
1779
+ items: Array<PriceResponseDto>;
1780
+ /**
1781
+ * Total number of prices
1782
+ */
1783
+ total: number;
1784
+ };
1785
+ type UpdateBeanPriceDto = {
1786
+ /**
1787
+ * Currency being priced
1788
+ */
1789
+ currency?: string;
1790
+ /**
1791
+ * Quote currency (pricing currency)
1792
+ */
1793
+ quoteCurrency?: string;
1794
+ /**
1795
+ * Price amount (MUST be >= 0 per Beancount spec)
1796
+ */
1797
+ amount?: number;
1798
+ /**
1799
+ * Price date (ISO 8601 format)
1800
+ */
1801
+ date?: string;
1802
+ /**
1803
+ * Metadata
1804
+ */
1805
+ metadata?: {
1806
+ [key: string]: unknown;
1807
+ };
1808
+ };
1691
1809
  type CreateRecurringRuleDto = {
1692
1810
  /**
1693
1811
  * Rule name (unique per user)
@@ -2285,356 +2403,198 @@ type ForecastResponseDto = {
2285
2403
  */
2286
2404
  periodEnd: string;
2287
2405
  };
2288
- type CreateTransactionRuleDto = {
2289
- name: string;
2290
- description?: string;
2291
- narrationKeywords?: Array<unknown[]>;
2292
- payeeKeywords?: Array<unknown[]>;
2293
- categoryKeywords?: Array<unknown[]>;
2406
+ type CurrencyBalanceDto = {
2294
2407
  /**
2295
- * Payment method keywords (e.g., HuaBei, YuEBao)
2408
+ * ISO 4217 currency code
2296
2409
  */
2297
- methodKeywords?: Array<unknown[]>;
2410
+ currency: string;
2298
2411
  /**
2299
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2412
+ * Balance amount
2300
2413
  */
2301
- categoryAccount?: string;
2302
- matchLogic: 'OR' | 'AND';
2414
+ balance: string;
2415
+ };
2416
+ type TimeSeriesPointDto = {
2303
2417
  /**
2304
- * Minimum transaction amount (inclusive)
2418
+ * Date in YYYY-MM-DD format
2305
2419
  */
2306
- amountMin?: number;
2420
+ date: string;
2307
2421
  /**
2308
- * Maximum transaction amount (inclusive)
2422
+ * Value at this date (in base currency)
2309
2423
  */
2310
- amountMax?: number;
2311
- priority: number;
2312
- additionalTags?: Array<unknown[]>;
2313
- additionalMetadata?: {
2424
+ value: string;
2425
+ /**
2426
+ * Change from previous point
2427
+ */
2428
+ change?: {
2314
2429
  [key: string]: unknown;
2315
2430
  };
2316
2431
  /**
2317
- * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2432
+ * Total assets at this date (in base currency)
2318
2433
  */
2319
- upsertByPayee?: boolean;
2320
- };
2321
- type matchLogic = 'OR' | 'AND';
2322
- type AmountRangeDto = {
2434
+ assets?: string;
2323
2435
  /**
2324
- * Minimum amount
2436
+ * Total liabilities at this date (in base currency)
2325
2437
  */
2326
- min?: number;
2438
+ liabilities?: string;
2327
2439
  /**
2328
- * Maximum amount
2440
+ * Multi-currency breakdown for this point
2329
2441
  */
2330
- max?: number;
2442
+ byCurrency?: Array<CurrencyBalanceDto>;
2331
2443
  };
2332
- type TransactionRuleResponseDto = {
2444
+ type TrendSummaryDto = {
2333
2445
  /**
2334
- * Rule ID
2446
+ * Value at start of period
2335
2447
  */
2336
- id: string;
2448
+ startValue: string;
2337
2449
  /**
2338
- * Rule name
2450
+ * Value at end of period
2339
2451
  */
2340
- name: string;
2452
+ endValue: string;
2341
2453
  /**
2342
- * Rule description
2454
+ * Total change over period
2343
2455
  */
2344
- description?: string;
2456
+ totalChange: string;
2345
2457
  /**
2346
- * Keywords to match in transaction narration
2458
+ * Total change percentage
2347
2459
  */
2348
- narrationKeywords: Array<string>;
2460
+ totalChangePercentage: string;
2461
+ };
2462
+ type MultiCurrencyPointDto = {
2349
2463
  /**
2350
- * Keywords to match in payee name
2464
+ * Date in YYYY-MM-DD format
2351
2465
  */
2352
- payeeKeywords: Array<string>;
2466
+ date: string;
2353
2467
  /**
2354
- * Keywords to match in category
2468
+ * Balances by currency
2355
2469
  */
2356
- categoryKeywords: Array<string>;
2470
+ byCurrency: Array<CurrencyBalanceDto>;
2471
+ };
2472
+ type PortfolioTrendsResponseDto = {
2357
2473
  /**
2358
- * Keywords to match in payment method
2474
+ * Time series data points
2359
2475
  */
2360
- methodKeywords: Array<string>;
2476
+ series: Array<TimeSeriesPointDto>;
2361
2477
  /**
2362
- * Destination account for categorization
2478
+ * Period summary
2363
2479
  */
2364
- categoryAccount?: string;
2480
+ summary: TrendSummaryDto;
2365
2481
  /**
2366
- * Keyword matching logic
2482
+ * Period requested
2367
2483
  */
2368
- matchLogic: 'OR' | 'AND';
2484
+ period: string;
2369
2485
  /**
2370
- * Amount range for matching
2486
+ * Data granularity
2371
2487
  */
2372
- amountRange?: AmountRangeDto;
2488
+ granularity: string;
2373
2489
  /**
2374
- * Rule priority (0-1000, higher = first match)
2490
+ * Base currency for converted values
2375
2491
  */
2376
- priority: number;
2492
+ currency: string;
2377
2493
  /**
2378
- * Whether the rule is enabled
2494
+ * Multi-currency time series (each point has currency breakdown)
2379
2495
  */
2380
- enabled: boolean;
2496
+ byCurrency?: Array<MultiCurrencyPointDto>;
2381
2497
  /**
2382
- * Learning source: NLP, REVIEW_CENTER, or null for manual
2383
- */
2384
- learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
2385
- /**
2386
- * Whether auto-apply is enabled for this rule
2387
- */
2388
- autoApplyEnabled: boolean;
2389
- /**
2390
- * Number of confirmations for NLP-learned rules
2391
- */
2392
- confirmationCount: number;
2393
- /**
2394
- * Additional tags
2395
- */
2396
- additionalTags: Array<string>;
2397
- /**
2398
- * Additional metadata
2399
- */
2400
- additionalMetadata?: {
2401
- [key: string]: string;
2402
- };
2403
- /**
2404
- * Created timestamp
2405
- */
2406
- createdAt: string;
2407
- /**
2408
- * Updated timestamp
2409
- */
2410
- updatedAt: string;
2411
- };
2412
- /**
2413
- * Learning source: NLP, REVIEW_CENTER, or null for manual
2414
- */
2415
- type learningSource = 'NLP' | 'REVIEW_CENTER';
2416
- type TransactionRuleListResponseDto = {
2417
- data: Array<TransactionRuleResponseDto>;
2418
- /**
2419
- * Total count of rules
2420
- */
2421
- total: number;
2422
- /**
2423
- * Results per page
2424
- */
2425
- limit: number;
2426
- /**
2427
- * Pagination offset
2498
+ * Exchange rate warnings
2428
2499
  */
2429
- offset: number;
2500
+ warnings?: Array<ExchangeRateWarningDto>;
2430
2501
  };
2431
- type ValidateRuleDto = {
2432
- name: string;
2433
- description?: string;
2434
- narrationKeywords?: Array<unknown[]>;
2435
- payeeKeywords?: Array<unknown[]>;
2436
- categoryKeywords?: Array<unknown[]>;
2437
- /**
2438
- * Payment method keywords (e.g., HuaBei, YuEBao)
2439
- */
2440
- methodKeywords?: Array<unknown[]>;
2502
+ type CashFlowPointDto = {
2441
2503
  /**
2442
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2504
+ * Month key (YYYY-MM)
2443
2505
  */
2444
- categoryAccount?: string;
2445
- matchLogic: 'OR' | 'AND';
2506
+ month: string;
2446
2507
  /**
2447
- * Minimum transaction amount (inclusive)
2508
+ * Income in base currency (absolute, converted)
2448
2509
  */
2449
- amountMin?: number;
2510
+ income: string;
2450
2511
  /**
2451
- * Maximum transaction amount (inclusive)
2512
+ * Expense in base currency (absolute, converted)
2452
2513
  */
2453
- amountMax?: number;
2454
- priority: number;
2455
- additionalTags?: Array<unknown[]>;
2456
- additionalMetadata?: {
2457
- [key: string]: unknown;
2458
- };
2514
+ expense: string;
2459
2515
  /**
2460
- * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2516
+ * netSavings = income expense (savings positive)
2461
2517
  */
2462
- upsertByPayee?: boolean;
2518
+ netSavings: string;
2463
2519
  };
2464
- type ValidateRuleResponseDto = {
2465
- /**
2466
- * Whether the rule configuration is valid
2467
- */
2468
- valid: boolean;
2520
+ type CashFlowTrendSummaryDto = {
2469
2521
  /**
2470
- * List of validation errors (empty if valid)
2522
+ * Total income across the period
2471
2523
  */
2472
- errors: Array<unknown[]>;
2524
+ totalIncome: string;
2473
2525
  /**
2474
- * List of validation warnings (non-blocking issues)
2526
+ * Total expense across the period
2475
2527
  */
2476
- warnings: Array<unknown[]>;
2477
- };
2478
- type BulkCreateRulesDto = {
2528
+ totalExpense: string;
2479
2529
  /**
2480
- * Array of rules to import
2530
+ * income expense across the period
2481
2531
  */
2482
- rules: Array<unknown[]>;
2532
+ totalNetSavings: string;
2483
2533
  /**
2484
- * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2534
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
2485
2535
  */
2486
- conflictStrategy: 'replace' | 'skip';
2536
+ averageMonthlyNetSavings: string;
2487
2537
  };
2488
- /**
2489
- * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2490
- */
2491
- type conflictStrategy = 'replace' | 'skip';
2492
- type BulkCreateRulesResponseDto = {
2493
- /**
2494
- * Number of successfully created rules
2495
- */
2496
- successCount: number;
2497
- /**
2498
- * Number of failed rules
2499
- */
2500
- failureCount: number;
2538
+ type CashFlowTrendsResponseDto = {
2501
2539
  /**
2502
- * Error details for failed rules
2540
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
2503
2541
  */
2504
- errors: Array<{
2505
- index?: number;
2506
- message?: string;
2507
- }>;
2542
+ series: Array<CashFlowPointDto>;
2508
2543
  /**
2509
- * IDs of successfully created rules
2544
+ * Period totals
2510
2545
  */
2511
- createdRuleIds: Array<string>;
2512
- };
2513
- type ExportRulesResponseDto = {
2546
+ summary: CashFlowTrendSummaryDto;
2514
2547
  /**
2515
- * Export timestamp
2548
+ * Period requested
2516
2549
  */
2517
- exportedAt: string;
2550
+ period: string;
2518
2551
  /**
2519
- * User ID
2552
+ * Data granularity (v1 returns month buckets)
2520
2553
  */
2521
- userId: string;
2554
+ granularity: string;
2522
2555
  /**
2523
- * Number of exported rules
2556
+ * Base currency for converted values
2524
2557
  */
2525
- ruleCount: number;
2558
+ currency: string;
2526
2559
  /**
2527
- * Exported rules
2560
+ * Exchange rate warnings (e.g. missing rate for a currency)
2528
2561
  */
2529
- rules: unknown[];
2562
+ warnings?: Array<ExchangeRateWarningDto>;
2530
2563
  };
2531
- type RuleStatisticsResponseDto = {
2532
- /**
2533
- * Statistics time period
2534
- */
2535
- period: '7d' | '30d' | '90d';
2536
- /**
2537
- * Total number of rules
2538
- */
2539
- totalRules: number;
2540
- /**
2541
- * Number of rules with at least one match
2542
- */
2543
- rulesWithMatches: number;
2544
- /**
2545
- * Total number of matches across all rules
2546
- */
2547
- totalMatches: number;
2548
- /**
2549
- * Average confidence score across all matches
2550
- */
2551
- averageConfidence: number;
2564
+ type GenerateSnapshotBody = unknown;
2565
+ type GenerateSnapshotResponse = unknown;
2566
+ type BackfillSnapshotsBody = unknown;
2567
+ type BackfillSnapshotsResponse = unknown;
2568
+ type DeleteOwnUserDto = {
2552
2569
  /**
2553
- * Per-rule statistics
2570
+ * Access token for user verification
2554
2571
  */
2555
- ruleStats: Array<{
2556
- ruleId?: string;
2557
- ruleName?: string;
2558
- matchCount?: number;
2559
- averageConfidence?: number;
2560
- }>;
2572
+ accessToken: string;
2561
2573
  };
2562
- /**
2563
- * Statistics time period
2564
- */
2565
- type period = '7d' | '30d' | '90d';
2566
- type UpdateTransactionRuleDto = {
2567
- name?: string;
2568
- description?: string;
2569
- narrationKeywords?: Array<unknown[]>;
2570
- payeeKeywords?: Array<unknown[]>;
2571
- categoryKeywords?: Array<unknown[]>;
2572
- /**
2573
- * Payment method keywords (e.g., HuaBei, YuEBao)
2574
- */
2575
- methodKeywords?: Array<unknown[]>;
2576
- /**
2577
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2578
- */
2579
- categoryAccount?: string;
2580
- matchLogic?: 'OR' | 'AND';
2581
- /**
2582
- * Minimum transaction amount (inclusive)
2583
- */
2584
- amountMin?: number;
2585
- /**
2586
- * Maximum transaction amount (inclusive)
2587
- */
2588
- amountMax?: number;
2589
- priority?: number;
2574
+ type SignupDto = {
2590
2575
  /**
2591
- * Enable or disable the rule
2576
+ * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2592
2577
  */
2593
- enabled?: boolean;
2594
- additionalTags?: Array<unknown[]>;
2595
- additionalMetadata?: {
2596
- [key: string]: unknown;
2597
- };
2598
- };
2599
- type TestRuleDto = {
2600
- narration: string;
2601
- payee?: string;
2602
- categoryAccount?: string;
2603
- amount?: number;
2604
- currency?: string;
2578
+ turnstileToken?: string;
2605
2579
  };
2606
- type TestRuleResponseDto = {
2607
- /**
2608
- * Rule ID that was tested
2609
- */
2610
- ruleId: string;
2611
- /**
2612
- * Whether the rule matched the test data
2613
- */
2614
- matches: boolean;
2615
- /**
2616
- * Match confidence score (0-1)
2617
- */
2618
- confidence: number;
2580
+ type SignupResponseDto = {
2619
2581
  /**
2620
- * Details of which fields matched
2582
+ * JWT auth token
2621
2583
  */
2622
- matchDetails: {
2623
- [key: string]: unknown;
2624
- };
2625
- };
2626
- type DeleteOwnUserDto = {
2584
+ authToken: string;
2627
2585
  /**
2628
- * Access token for user verification
2586
+ * Auto-generated access token
2629
2587
  */
2630
2588
  accessToken: string;
2631
- };
2632
- type SignupDto = {
2633
2589
  /**
2634
- * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2590
+ * Assigned user role
2635
2591
  */
2636
- turnstileToken?: string;
2592
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2637
2593
  };
2594
+ /**
2595
+ * Assigned user role
2596
+ */
2597
+ type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2638
2598
  type UpdateUserSettingDto = {
2639
2599
  /**
2640
2600
  * Security ID
@@ -2735,9 +2695,347 @@ type UpdatePropertyDto = {
2735
2695
  */
2736
2696
  value: string;
2737
2697
  };
2738
- type CreateBeanEventDto = {
2739
- /**
2740
- * Life event date (ISO 8601)
2698
+ type CreateTransactionRuleDto = {
2699
+ name: string;
2700
+ description?: string;
2701
+ narrationKeywords?: Array<unknown[]>;
2702
+ payeeKeywords?: Array<unknown[]>;
2703
+ categoryKeywords?: Array<unknown[]>;
2704
+ /**
2705
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2706
+ */
2707
+ methodKeywords?: Array<unknown[]>;
2708
+ /**
2709
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2710
+ */
2711
+ categoryAccount?: string;
2712
+ matchLogic: 'OR' | 'AND';
2713
+ /**
2714
+ * Minimum transaction amount (inclusive)
2715
+ */
2716
+ amountMin?: number;
2717
+ /**
2718
+ * Maximum transaction amount (inclusive)
2719
+ */
2720
+ amountMax?: number;
2721
+ priority: number;
2722
+ additionalTags?: Array<unknown[]>;
2723
+ additionalMetadata?: {
2724
+ [key: string]: unknown;
2725
+ };
2726
+ /**
2727
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2728
+ */
2729
+ upsertByPayee?: boolean;
2730
+ };
2731
+ type matchLogic = 'OR' | 'AND';
2732
+ type AmountRangeDto = {
2733
+ /**
2734
+ * Minimum amount
2735
+ */
2736
+ min?: number;
2737
+ /**
2738
+ * Maximum amount
2739
+ */
2740
+ max?: number;
2741
+ };
2742
+ type TransactionRuleResponseDto = {
2743
+ /**
2744
+ * Rule ID
2745
+ */
2746
+ id: string;
2747
+ /**
2748
+ * Rule name
2749
+ */
2750
+ name: string;
2751
+ /**
2752
+ * Rule description
2753
+ */
2754
+ description?: string;
2755
+ /**
2756
+ * Keywords to match in transaction narration
2757
+ */
2758
+ narrationKeywords: Array<string>;
2759
+ /**
2760
+ * Keywords to match in payee name
2761
+ */
2762
+ payeeKeywords: Array<string>;
2763
+ /**
2764
+ * Keywords to match in category
2765
+ */
2766
+ categoryKeywords: Array<string>;
2767
+ /**
2768
+ * Keywords to match in payment method
2769
+ */
2770
+ methodKeywords: Array<string>;
2771
+ /**
2772
+ * Destination account for categorization
2773
+ */
2774
+ categoryAccount?: string;
2775
+ /**
2776
+ * Keyword matching logic
2777
+ */
2778
+ matchLogic: 'OR' | 'AND';
2779
+ /**
2780
+ * Amount range for matching
2781
+ */
2782
+ amountRange?: AmountRangeDto;
2783
+ /**
2784
+ * Rule priority (0-1000, higher = first match)
2785
+ */
2786
+ priority: number;
2787
+ /**
2788
+ * Whether the rule is enabled
2789
+ */
2790
+ enabled: boolean;
2791
+ /**
2792
+ * Learning source: NLP, REVIEW_CENTER, or null for manual
2793
+ */
2794
+ learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
2795
+ /**
2796
+ * Whether auto-apply is enabled for this rule
2797
+ */
2798
+ autoApplyEnabled: boolean;
2799
+ /**
2800
+ * Number of confirmations for NLP-learned rules
2801
+ */
2802
+ confirmationCount: number;
2803
+ /**
2804
+ * Additional tags
2805
+ */
2806
+ additionalTags: Array<string>;
2807
+ /**
2808
+ * Additional metadata
2809
+ */
2810
+ additionalMetadata?: {
2811
+ [key: string]: string;
2812
+ };
2813
+ /**
2814
+ * Created timestamp
2815
+ */
2816
+ createdAt: string;
2817
+ /**
2818
+ * Updated timestamp
2819
+ */
2820
+ updatedAt: string;
2821
+ };
2822
+ /**
2823
+ * Learning source: NLP, REVIEW_CENTER, or null for manual
2824
+ */
2825
+ type learningSource = 'NLP' | 'REVIEW_CENTER';
2826
+ type TransactionRuleListResponseDto = {
2827
+ data: Array<TransactionRuleResponseDto>;
2828
+ /**
2829
+ * Total count of rules
2830
+ */
2831
+ total: number;
2832
+ /**
2833
+ * Results per page
2834
+ */
2835
+ limit: number;
2836
+ /**
2837
+ * Pagination offset
2838
+ */
2839
+ offset: number;
2840
+ };
2841
+ type ValidateRuleDto = {
2842
+ name: string;
2843
+ description?: string;
2844
+ narrationKeywords?: Array<unknown[]>;
2845
+ payeeKeywords?: Array<unknown[]>;
2846
+ categoryKeywords?: Array<unknown[]>;
2847
+ /**
2848
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2849
+ */
2850
+ methodKeywords?: Array<unknown[]>;
2851
+ /**
2852
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2853
+ */
2854
+ categoryAccount?: string;
2855
+ matchLogic: 'OR' | 'AND';
2856
+ /**
2857
+ * Minimum transaction amount (inclusive)
2858
+ */
2859
+ amountMin?: number;
2860
+ /**
2861
+ * Maximum transaction amount (inclusive)
2862
+ */
2863
+ amountMax?: number;
2864
+ priority: number;
2865
+ additionalTags?: Array<unknown[]>;
2866
+ additionalMetadata?: {
2867
+ [key: string]: unknown;
2868
+ };
2869
+ /**
2870
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2871
+ */
2872
+ upsertByPayee?: boolean;
2873
+ };
2874
+ type ValidateRuleResponseDto = {
2875
+ /**
2876
+ * Whether the rule configuration is valid
2877
+ */
2878
+ valid: boolean;
2879
+ /**
2880
+ * List of validation errors (empty if valid)
2881
+ */
2882
+ errors: Array<unknown[]>;
2883
+ /**
2884
+ * List of validation warnings (non-blocking issues)
2885
+ */
2886
+ warnings: Array<unknown[]>;
2887
+ };
2888
+ type BulkCreateRulesDto = {
2889
+ /**
2890
+ * Array of rules to import
2891
+ */
2892
+ rules: Array<unknown[]>;
2893
+ /**
2894
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2895
+ */
2896
+ conflictStrategy: 'replace' | 'skip';
2897
+ };
2898
+ /**
2899
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2900
+ */
2901
+ type conflictStrategy = 'replace' | 'skip';
2902
+ type BulkCreateRulesResponseDto = {
2903
+ /**
2904
+ * Number of successfully created rules
2905
+ */
2906
+ successCount: number;
2907
+ /**
2908
+ * Number of failed rules
2909
+ */
2910
+ failureCount: number;
2911
+ /**
2912
+ * Error details for failed rules
2913
+ */
2914
+ errors: Array<{
2915
+ index?: number;
2916
+ message?: string;
2917
+ }>;
2918
+ /**
2919
+ * IDs of successfully created rules
2920
+ */
2921
+ createdRuleIds: Array<string>;
2922
+ };
2923
+ type ExportRulesResponseDto = {
2924
+ /**
2925
+ * Export timestamp
2926
+ */
2927
+ exportedAt: string;
2928
+ /**
2929
+ * User ID
2930
+ */
2931
+ userId: string;
2932
+ /**
2933
+ * Number of exported rules
2934
+ */
2935
+ ruleCount: number;
2936
+ /**
2937
+ * Exported rules
2938
+ */
2939
+ rules: unknown[];
2940
+ };
2941
+ type RuleStatisticsResponseDto = {
2942
+ /**
2943
+ * Statistics time period
2944
+ */
2945
+ period: '7d' | '30d' | '90d';
2946
+ /**
2947
+ * Total number of rules
2948
+ */
2949
+ totalRules: number;
2950
+ /**
2951
+ * Number of rules with at least one match
2952
+ */
2953
+ rulesWithMatches: number;
2954
+ /**
2955
+ * Total number of matches across all rules
2956
+ */
2957
+ totalMatches: number;
2958
+ /**
2959
+ * Average confidence score across all matches
2960
+ */
2961
+ averageConfidence: number;
2962
+ /**
2963
+ * Per-rule statistics
2964
+ */
2965
+ ruleStats: Array<{
2966
+ ruleId?: string;
2967
+ ruleName?: string;
2968
+ matchCount?: number;
2969
+ averageConfidence?: number;
2970
+ }>;
2971
+ };
2972
+ /**
2973
+ * Statistics time period
2974
+ */
2975
+ type period = '7d' | '30d' | '90d';
2976
+ type UpdateTransactionRuleDto = {
2977
+ name?: string;
2978
+ description?: string;
2979
+ narrationKeywords?: Array<unknown[]>;
2980
+ payeeKeywords?: Array<unknown[]>;
2981
+ categoryKeywords?: Array<unknown[]>;
2982
+ /**
2983
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2984
+ */
2985
+ methodKeywords?: Array<unknown[]>;
2986
+ /**
2987
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2988
+ */
2989
+ categoryAccount?: string;
2990
+ matchLogic?: 'OR' | 'AND';
2991
+ /**
2992
+ * Minimum transaction amount (inclusive)
2993
+ */
2994
+ amountMin?: number;
2995
+ /**
2996
+ * Maximum transaction amount (inclusive)
2997
+ */
2998
+ amountMax?: number;
2999
+ priority?: number;
3000
+ /**
3001
+ * Enable or disable the rule
3002
+ */
3003
+ enabled?: boolean;
3004
+ additionalTags?: Array<unknown[]>;
3005
+ additionalMetadata?: {
3006
+ [key: string]: unknown;
3007
+ };
3008
+ };
3009
+ type TestRuleDto = {
3010
+ narration: string;
3011
+ payee?: string;
3012
+ categoryAccount?: string;
3013
+ amount?: number;
3014
+ currency?: string;
3015
+ };
3016
+ type TestRuleResponseDto = {
3017
+ /**
3018
+ * Rule ID that was tested
3019
+ */
3020
+ ruleId: string;
3021
+ /**
3022
+ * Whether the rule matched the test data
3023
+ */
3024
+ matches: boolean;
3025
+ /**
3026
+ * Match confidence score (0-1)
3027
+ */
3028
+ confidence: number;
3029
+ /**
3030
+ * Details of which fields matched
3031
+ */
3032
+ matchDetails: {
3033
+ [key: string]: unknown;
3034
+ };
3035
+ };
3036
+ type CreateBeanEventDto = {
3037
+ /**
3038
+ * Life event date (ISO 8601)
2741
3039
  */
2742
3040
  date: string;
2743
3041
  /**
@@ -2811,15 +3109,43 @@ type UpdateBeanEventDto = {
2811
3109
  */
2812
3110
  type?: string;
2813
3111
  /**
2814
- * Life event description. Empty string is a VALID value (distinct from absence).
3112
+ * Life event description. Empty string is a VALID value (distinct from absence).
3113
+ */
3114
+ description?: string;
3115
+ /**
3116
+ * Product-side metadata (free-form JSON)
3117
+ */
3118
+ meta?: {
3119
+ [key: string]: unknown;
3120
+ };
3121
+ };
3122
+ type OnboardingAccountDto = {
3123
+ /**
3124
+ * Account path (Assets/Liabilities only; format validated by the account service)
3125
+ */
3126
+ path: string;
3127
+ /**
3128
+ * ISO 4217 currency code (3 letters)
3129
+ */
3130
+ currency: string;
3131
+ /**
3132
+ * Opening balance as a non-negative Decimal string (e.g. "1000.00")
3133
+ */
3134
+ openingBalance?: string;
3135
+ /**
3136
+ * Platform ID to bind the account to (references Platform.id); omit for unbound
3137
+ */
3138
+ platformId?: string;
3139
+ };
3140
+ type OnboardingDto = {
3141
+ /**
3142
+ * Asset/Liability accounts to register with opening balances
2815
3143
  */
2816
- description?: string;
3144
+ accounts?: Array<OnboardingAccountDto>;
2817
3145
  /**
2818
- * Product-side metadata (free-form JSON)
3146
+ * Skip asset registration; only bootstrap the core account set
2819
3147
  */
2820
- meta?: {
2821
- [key: string]: unknown;
2822
- };
3148
+ skipAssetRegistration?: boolean;
2823
3149
  };
2824
3150
  type ActualBalanceDto = {
2825
3151
  /**
@@ -3181,70 +3507,6 @@ type UpdateImporterConfigDto = {
3181
3507
  */
3182
3508
  data?: UpdateConfigDataDto;
3183
3509
  };
3184
- type CreatePlatformDto = {
3185
- /**
3186
- * Platform name
3187
- */
3188
- name: string;
3189
- /**
3190
- * Platform canonical identifier (lowercase, kebab-case)
3191
- */
3192
- canonical: string;
3193
- /**
3194
- * Platform aliases (multi-language names for lookup)
3195
- */
3196
- aliases: Array<string>;
3197
- /**
3198
- * Platform URL
3199
- */
3200
- url: string;
3201
- /**
3202
- * Platform type
3203
- */
3204
- type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3205
- /**
3206
- * Platform logo URL
3207
- */
3208
- logoUrl?: string;
3209
- /**
3210
- * Whether the platform is active
3211
- */
3212
- isActive?: boolean;
3213
- };
3214
- /**
3215
- * Platform type
3216
- */
3217
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3218
- type UpdatePlatformDto = {
3219
- /**
3220
- * Platform name
3221
- */
3222
- name?: string;
3223
- /**
3224
- * Platform canonical identifier (lowercase, kebab-case)
3225
- */
3226
- canonical?: string;
3227
- /**
3228
- * Platform aliases (multi-language names for lookup)
3229
- */
3230
- aliases?: Array<string>;
3231
- /**
3232
- * Platform URL
3233
- */
3234
- url?: string;
3235
- /**
3236
- * Platform type
3237
- */
3238
- type?: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3239
- /**
3240
- * Platform logo URL
3241
- */
3242
- logoUrl?: string;
3243
- /**
3244
- * Whether the platform is active
3245
- */
3246
- isActive?: boolean;
3247
- };
3248
3510
  type ProviderSyncConfigDto = {
3249
3511
  /**
3250
3512
  * Source account for the first posting
@@ -3255,17 +3517,21 @@ type ProviderSyncConfigDto = {
3255
3517
  */
3256
3518
  defaultCurrency: string;
3257
3519
  /**
3258
- * Default expense account for the second posting
3520
+ * Default expense account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).
3259
3521
  */
3260
- defaultExpenseAccount: string;
3522
+ defaultExpenseAccount?: string;
3261
3523
  /**
3262
- * Default income account for the second posting
3524
+ * Default income account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).
3263
3525
  */
3264
- defaultIncomeAccount: string;
3526
+ defaultIncomeAccount?: string;
3265
3527
  /**
3266
3528
  * Filter pending transactions
3267
3529
  */
3268
3530
  filterPending?: boolean;
3531
+ /**
3532
+ * External account ID for per-batch providers (e.g. GoCardless). Overrides sourceAccount when an ExternalAccountLink mapping exists.
3533
+ */
3534
+ externalAccountId?: string;
3269
3535
  };
3270
3536
  type ProviderSyncDto = {
3271
3537
  /**
@@ -3317,6 +3583,41 @@ type SupportedProvidersResponseDto = {
3317
3583
  */
3318
3584
  providers: Array<string>;
3319
3585
  };
3586
+ type CreateExternalAccountLinkDto = {
3587
+ /**
3588
+ * Open Banking provider (whitelist)
3589
+ */
3590
+ provider: 'plaid' | 'teller' | 'truelayer' | 'gocardless' | 'simplefin' | 'yodlee' | 'beancount-direct' | 'parsed-bill';
3591
+ /**
3592
+ * External account ID from the provider
3593
+ */
3594
+ externalAccountId: string;
3595
+ /**
3596
+ * Target BeanAccount ID (must belong to the JWT user)
3597
+ */
3598
+ beanAccountId: string;
3599
+ };
3600
+ /**
3601
+ * Open Banking provider (whitelist)
3602
+ */
3603
+ type provider = 'plaid' | 'teller' | 'truelayer' | 'gocardless' | 'simplefin' | 'yodlee' | 'beancount-direct' | 'parsed-bill';
3604
+ type ExternalAccountLinkResponseDto = {
3605
+ id: string;
3606
+ provider: string;
3607
+ externalAccountId: string;
3608
+ beanAccountId: string;
3609
+ isActive: boolean;
3610
+ createdAt: string;
3611
+ updatedAt: string;
3612
+ };
3613
+ type ExternalAccountLinkListResponseDto = {
3614
+ items: Array<ExternalAccountLinkResponseDto>;
3615
+ total: number;
3616
+ /**
3617
+ * Filter by provider (query param)
3618
+ */
3619
+ provider?: string;
3620
+ };
3320
3621
  type ParserTelemetryReportDto = unknown;
3321
3622
  type UncoveredFormatMissDto = unknown;
3322
3623
  type ProcessNlpDto = {
@@ -3334,6 +3635,14 @@ type ProcessNlpDto = {
3334
3635
  parsedData?: {
3335
3636
  [key: string]: unknown;
3336
3637
  };
3638
+ /**
3639
+ * confirm_rule echo-back: rule id selected from the prior confirm_rule response (matchedRule.id or alternatives[i].ruleId). Applied directly when the session is confirming_rule — no NL re-parse.
3640
+ */
3641
+ selectedRuleId?: string;
3642
+ /**
3643
+ * confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.
3644
+ */
3645
+ selectedAccount?: string;
3337
3646
  };
3338
3647
  type NlpTransactionInfoDto = {
3339
3648
  /**
@@ -3567,9 +3876,9 @@ type NlpAccountConfirmationDataDto = {
3567
3876
  */
3568
3877
  invalidAccount: string;
3569
3878
  /**
3570
- * Suggested replacement account
3879
+ * Suggested replacement account (omitted when no clear candidate)
3571
3880
  */
3572
- suggestedAccount: string;
3881
+ suggestedAccount?: string;
3573
3882
  /**
3574
3883
  * Similar accounts for user selection
3575
3884
  */
@@ -3691,7 +4000,7 @@ type NlpSuggestedAccountDto = {
3691
4000
  */
3692
4001
  account: string;
3693
4002
  /**
3694
- * Confidence score for this suggestion (0-1)
4003
+ * Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)
3695
4004
  */
3696
4005
  confidence?: number;
3697
4006
  };
@@ -3707,21 +4016,21 @@ type NlpSuggestedAccountsDto = {
3707
4016
  };
3708
4017
  type NlpDefaultAccountsDto = {
3709
4018
  /**
3710
- * Default asset account
4019
+ * Default OPEN asset account (MRU when multiple), or null when none/ambiguous
3711
4020
  */
3712
- asset: string;
4021
+ asset: string | null;
3713
4022
  /**
3714
- * Default expense account
4023
+ * Default OPEN expense account (MRU when multiple), or null when none/ambiguous
3715
4024
  */
3716
- expense: string;
4025
+ expense: string | null;
3717
4026
  /**
3718
- * Default income account
4027
+ * Default OPEN income account (MRU when multiple), or null when none/ambiguous
3719
4028
  */
3720
- income: string;
4029
+ income: string | null;
3721
4030
  /**
3722
- * Default liability account
4031
+ * Default OPEN liability account (MRU when multiple), or null when none/ambiguous
3723
4032
  */
3724
- liability: string;
4033
+ liability: string | null;
3725
4034
  };
3726
4035
  type NlpResponseDto = {
3727
4036
  /**
@@ -3731,7 +4040,7 @@ type NlpResponseDto = {
3731
4040
  /**
3732
4041
  * Action taken or requested
3733
4042
  */
3734
- action: 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
4043
+ action: 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel' | 'aborted';
3735
4044
  /**
3736
4045
  * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3737
4046
  */
@@ -3802,56 +4111,226 @@ type NlpResponseDto = {
3802
4111
  /**
3803
4112
  * Payee confirmation data (when action is "confirm_payee"). Contains information about medium/low confidence payee match for user confirmation.
3804
4113
  */
3805
- payeeData?: NlpPayeeConfirmationDataDto;
4114
+ payeeData?: NlpPayeeConfirmationDataDto;
4115
+ /**
4116
+ * Overall confidence score (0-1)
4117
+ */
4118
+ confidence?: number;
4119
+ /**
4120
+ * Confidence threshold for automatic creation (default: 0.75). When confidence < threshold, action will be "confirm" requiring user verification.
4121
+ */
4122
+ confidenceThreshold?: number;
4123
+ /**
4124
+ * Recurring transaction match info (when action is "created"). Contains match details when transaction matches a pending expected transaction.
4125
+ */
4126
+ recurringMatch?: RecurringMatchInfoDto;
4127
+ /**
4128
+ * Recurring rule creation suggestion (when action is "created"). Contains suggestion to create a recurring rule based on detected patterns. Only present when no existing rule matched and similar historical transactions were found.
4129
+ */
4130
+ recurringSuggestion?: RecurringSuggestionDto;
4131
+ /**
4132
+ * Suggested accounts for this transaction (#586). confirm/confirm_rule/confirm_account: predicted (source/destination carry confidence); created: actual persisted accounts (confidence omitted). confirm_account destination is the suggested replacement, never the invalid account.
4133
+ */
4134
+ suggestedAccounts?: NlpSuggestedAccountsDto;
4135
+ /**
4136
+ * Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.
4137
+ */
4138
+ defaultAccounts?: NlpDefaultAccountsDto;
4139
+ };
4140
+ /**
4141
+ * Response status
4142
+ */
4143
+ type status4 = 'success' | 'pending' | 'error';
4144
+ /**
4145
+ * Action taken or requested
4146
+ */
4147
+ type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel' | 'aborted';
4148
+ /**
4149
+ * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
4150
+ */
4151
+ type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
4152
+ /**
4153
+ * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
4154
+ */
4155
+ type assetSubType = 'transfer' | 'banking' | 'investment';
4156
+ /**
4157
+ * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
4158
+ */
4159
+ type liabilitySubType = 'borrow' | 'repay';
4160
+ /**
4161
+ * Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
4162
+ */
4163
+ type equitySubType = 'opening' | 'adjustment';
4164
+ type PlatformListItemDto = {
4165
+ /**
4166
+ * Global platform ID
4167
+ */
4168
+ id: string;
4169
+ /**
4170
+ * Platform name
4171
+ */
4172
+ name: string;
4173
+ /**
4174
+ * Platform URL
4175
+ */
4176
+ url: string;
4177
+ /**
4178
+ * Platform type
4179
+ */
4180
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4181
+ /**
4182
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4183
+ */
4184
+ canonical: string;
4185
+ /**
4186
+ * Suggested path segment — PascalCase of canonical, hyphens removed (e.g. "ApplePay")
4187
+ */
4188
+ suggestedSegment: string;
4189
+ /**
4190
+ * Logo URL
4191
+ */
4192
+ logoUrl: string | null;
4193
+ /**
4194
+ * ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
4195
+ */
4196
+ countryCode: string | null;
4197
+ /**
4198
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
4199
+ */
4200
+ category: string | null;
4201
+ /**
4202
+ * Whether user has accounts using this platform
4203
+ */
4204
+ isBound: boolean;
4205
+ };
4206
+ /**
4207
+ * Platform type
4208
+ */
4209
+ type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4210
+ type PlatformMatchResultDto = {
4211
+ /**
4212
+ * Global platform ID
4213
+ */
4214
+ id: string;
4215
+ /**
4216
+ * Platform name (e.g., "ICBC")
4217
+ */
4218
+ name: string;
4219
+ /**
4220
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4221
+ */
4222
+ canonical: string;
4223
+ /**
4224
+ * Platform type
4225
+ */
4226
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4227
+ /**
4228
+ * Suggested path segment — PascalCase of canonical, hyphens removed (e.g. "ApplePay")
4229
+ */
4230
+ suggestedSegment: string;
4231
+ /**
4232
+ * Logo URL
4233
+ */
4234
+ logoUrl: string | null;
4235
+ /**
4236
+ * ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
4237
+ */
4238
+ countryCode: string | null;
4239
+ /**
4240
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
4241
+ */
4242
+ category: string | null;
4243
+ /**
4244
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4245
+ */
4246
+ matchType: 'exact' | 'prefix' | 'substring';
4247
+ };
4248
+ /**
4249
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4250
+ */
4251
+ type matchType = 'exact' | 'prefix' | 'substring';
4252
+ type PlatformMatchResponseDto = {
4253
+ /**
4254
+ * Ranked matches, best tier first (at most 10 rows)
4255
+ */
4256
+ platforms: Array<PlatformMatchResultDto>;
4257
+ /**
4258
+ * Overall match quality — top row's tier, or 'none' when no hits
4259
+ */
4260
+ matchType: 'none' | 'exact' | 'prefix' | 'substring';
4261
+ /**
4262
+ * Total matches before LIMIT (truncation transparency)
4263
+ */
4264
+ total: number;
4265
+ /**
4266
+ * true when total > platforms.length (more matches exist)
4267
+ */
4268
+ hasMore: boolean;
4269
+ };
4270
+ /**
4271
+ * Overall match quality — top row's tier, or 'none' when no hits
4272
+ */
4273
+ type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
4274
+ type CreatePlatformDto = {
4275
+ /**
4276
+ * Platform name
4277
+ */
4278
+ name: string;
4279
+ /**
4280
+ * Platform canonical identifier (lowercase, kebab-case)
4281
+ */
4282
+ canonical: string;
4283
+ /**
4284
+ * Platform aliases (multi-language names for lookup)
4285
+ */
4286
+ aliases: Array<string>;
4287
+ /**
4288
+ * Platform URL
4289
+ */
4290
+ url: string;
4291
+ /**
4292
+ * Platform type
4293
+ */
4294
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4295
+ /**
4296
+ * Platform logo URL
4297
+ */
4298
+ logoUrl?: string;
4299
+ /**
4300
+ * Whether the platform is active
4301
+ */
4302
+ isActive?: boolean;
4303
+ };
4304
+ type UpdatePlatformDto = {
4305
+ /**
4306
+ * Platform name
4307
+ */
4308
+ name?: string;
3806
4309
  /**
3807
- * Overall confidence score (0-1)
4310
+ * Platform canonical identifier (lowercase, kebab-case)
3808
4311
  */
3809
- confidence?: number;
4312
+ canonical?: string;
3810
4313
  /**
3811
- * Confidence threshold for automatic creation (default: 0.75). When confidence < threshold, action will be "confirm" requiring user verification.
4314
+ * Platform aliases (multi-language names for lookup)
3812
4315
  */
3813
- confidenceThreshold?: number;
4316
+ aliases?: Array<string>;
3814
4317
  /**
3815
- * Recurring transaction match info (when action is "created"). Contains match details when transaction matches a pending expected transaction.
4318
+ * Platform URL
3816
4319
  */
3817
- recurringMatch?: RecurringMatchInfoDto;
4320
+ url?: string;
3818
4321
  /**
3819
- * Recurring rule creation suggestion (when action is "created"). Contains suggestion to create a recurring rule based on detected patterns. Only present when no existing rule matched and similar historical transactions were found.
4322
+ * Platform type
3820
4323
  */
3821
- recurringSuggestion?: RecurringSuggestionDto;
4324
+ type?: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3822
4325
  /**
3823
- * Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
4326
+ * Platform logo URL
3824
4327
  */
3825
- suggestedAccounts?: NlpSuggestedAccountsDto;
4328
+ logoUrl?: string;
3826
4329
  /**
3827
- * Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
4330
+ * Whether the platform is active
3828
4331
  */
3829
- defaultAccounts?: NlpDefaultAccountsDto;
4332
+ isActive?: boolean;
3830
4333
  };
3831
- /**
3832
- * Response status
3833
- */
3834
- type status4 = 'success' | 'pending' | 'error';
3835
- /**
3836
- * Action taken or requested
3837
- */
3838
- type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
3839
- /**
3840
- * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3841
- */
3842
- type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
3843
- /**
3844
- * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
3845
- */
3846
- type assetSubType = 'transfer' | 'banking' | 'investment';
3847
- /**
3848
- * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
3849
- */
3850
- type liabilitySubType = 'borrow' | 'repay';
3851
- /**
3852
- * Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
3853
- */
3854
- type equitySubType = 'opening' | 'adjustment';
3855
4334
  type NetWorthByCurrencyDto = {
3856
4335
  /**
3857
4336
  * Net worth by currency
@@ -4106,10 +4585,6 @@ type AssetClassGroupDto = {
4106
4585
  */
4107
4586
  convertedBalance?: string;
4108
4587
  };
4109
- /**
4110
- * Asset class name
4111
- */
4112
- type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
4113
4588
  type AssetClassSummaryDto = {
4114
4589
  /**
4115
4590
  * Total number of accounts
@@ -4493,277 +4968,149 @@ type HoldingPnlResponseDto = {
4493
4968
  * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4494
4969
  */
4495
4970
  type method = 'average' | 'FIFO';
4496
- type CreateBeanPriceDto = {
4497
- /**
4498
- * Currency being priced (e.g., USD, AAPL, BTC)
4499
- */
4500
- currency: string;
4501
- /**
4502
- * Quote currency (pricing currency, e.g., CNY, EUR)
4503
- */
4504
- quoteCurrency: string;
4505
- /**
4506
- * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
4507
- */
4508
- amount: number;
4509
- /**
4510
- * Price date (ISO 8601 format)
4511
- */
4512
- date: string;
4513
- /**
4514
- * Metadata (validated by Zod schema, max field lengths enforced)
4515
- */
4516
- metadata?: {
4517
- [key: string]: unknown;
4518
- };
4519
- };
4520
- type PriceResponseDto = {
4521
- /**
4522
- * Unique identifier
4523
- */
4524
- id: string;
4525
- /**
4526
- * User ID (owner of the price)
4527
- */
4528
- userId: string;
4529
- /**
4530
- * Currency being priced (e.g., USD, AAPL, BTC)
4531
- */
4532
- currency: string;
4533
- /**
4534
- * Quote currency (pricing currency, e.g., USD, CNY)
4535
- */
4536
- quoteCurrency: string;
4537
- /**
4538
- * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
4539
- */
4540
- amount: number;
4541
- /**
4542
- * Price date (ISO 8601 format). Represents the date this price was valid.
4543
- */
4544
- date: string;
4545
- /**
4546
- * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
4547
- */
4548
- meta: {
4549
- [key: string]: unknown;
4550
- };
4551
- /**
4552
- * Creation timestamp
4553
- */
4554
- createdAt: string;
4971
+ type AnonymousLoginDto = {
4555
4972
  /**
4556
- * Last update timestamp
4973
+ * Access token for anonymous login
4557
4974
  */
4558
- updatedAt: string;
4975
+ accessToken: string;
4559
4976
  };
4560
- type PriceListResponseDto = {
4561
- /**
4562
- * List of prices
4563
- */
4564
- items: Array<PriceResponseDto>;
4977
+ type AnonymousLoginResponseDto = {
4565
4978
  /**
4566
- * Total number of prices
4979
+ * JWT auth token
4567
4980
  */
4568
- total: number;
4981
+ authToken: string;
4569
4982
  };
4570
- type UpdateBeanPriceDto = {
4571
- /**
4572
- * Currency being priced
4573
- */
4574
- currency?: string;
4575
- /**
4576
- * Quote currency (pricing currency)
4577
- */
4578
- quoteCurrency?: string;
4579
- /**
4580
- * Price amount (MUST be >= 0 per Beancount spec)
4581
- */
4582
- amount?: number;
4583
- /**
4584
- * Price date (ISO 8601 format)
4585
- */
4586
- date?: string;
4587
- /**
4588
- * Metadata
4589
- */
4590
- metadata?: {
4983
+ type SymbolSearchResultDto = {
4984
+ symbol: string;
4985
+ name?: {
4591
4986
  [key: string]: unknown;
4592
- };
4593
- };
4594
- type CurrencyBalanceDto = {
4595
- /**
4596
- * ISO 4217 currency code
4597
- */
4598
- currency: string;
4599
- /**
4600
- * Balance amount
4601
- */
4602
- balance: string;
4603
- };
4604
- type TimeSeriesPointDto = {
4605
- /**
4606
- * Date in YYYY-MM-DD format
4607
- */
4608
- date: string;
4609
- /**
4610
- * Value at this date (in base currency)
4611
- */
4612
- value: string;
4613
- /**
4614
- * Change from previous point
4615
- */
4616
- change?: {
4987
+ } | null;
4988
+ exchange?: {
4617
4989
  [key: string]: unknown;
4618
- };
4619
- /**
4620
- * Total assets at this date (in base currency)
4621
- */
4622
- assets?: string;
4623
- /**
4624
- * Total liabilities at this date (in base currency)
4625
- */
4626
- liabilities?: string;
4627
- /**
4628
- * Multi-currency breakdown for this point
4629
- */
4630
- byCurrency?: Array<CurrencyBalanceDto>;
4631
- };
4632
- type TrendSummaryDto = {
4633
- /**
4634
- * Value at start of period
4635
- */
4636
- startValue: string;
4637
- /**
4638
- * Value at end of period
4639
- */
4640
- endValue: string;
4641
- /**
4642
- * Total change over period
4643
- */
4644
- totalChange: string;
4645
- /**
4646
- * Total change percentage
4647
- */
4648
- totalChangePercentage: string;
4649
- };
4650
- type MultiCurrencyPointDto = {
4651
- /**
4652
- * Date in YYYY-MM-DD format
4653
- */
4654
- date: string;
4655
- /**
4656
- * Balances by currency
4657
- */
4658
- byCurrency: Array<CurrencyBalanceDto>;
4659
- };
4660
- type PortfolioTrendsResponseDto = {
4661
- /**
4662
- * Time series data points
4663
- */
4664
- series: Array<TimeSeriesPointDto>;
4665
- /**
4666
- * Period summary
4667
- */
4668
- summary: TrendSummaryDto;
4669
- /**
4670
- * Period requested
4671
- */
4672
- period: string;
4990
+ } | null;
4673
4991
  /**
4674
- * Data granularity
4992
+ * OpenBB asset_type (e.g. stock, etf)
4675
4993
  */
4676
- granularity: string;
4994
+ assetType?: {
4995
+ [key: string]: unknown;
4996
+ } | null;
4677
4997
  /**
4678
- * Base currency for converted values
4998
+ * IGN asset class (region.types.ts ASSET_CLASSES)
4679
4999
  */
4680
- currency: string;
5000
+ assetClass?: {
5001
+ [key: string]: unknown;
5002
+ } | null;
4681
5003
  /**
4682
- * Multi-currency time series (each point has currency breakdown)
5004
+ * IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
4683
5005
  */
4684
- byCurrency?: Array<MultiCurrencyPointDto>;
5006
+ assetSubClass?: {
5007
+ [key: string]: unknown;
5008
+ } | null;
4685
5009
  /**
4686
- * Exchange rate warnings
5010
+ * Trading currency (extra_data or inferred from exchange)
4687
5011
  */
4688
- warnings?: Array<ExchangeRateWarningDto>;
5012
+ currency?: {
5013
+ [key: string]: unknown;
5014
+ } | null;
4689
5015
  };
4690
- type CashFlowPointDto = {
4691
- /**
4692
- * Month key (YYYY-MM)
4693
- */
4694
- month: string;
5016
+ type SymbolQuoteDto = {
5017
+ symbol?: string;
5018
+ name?: {
5019
+ [key: string]: unknown;
5020
+ } | null;
5021
+ exchange?: {
5022
+ [key: string]: unknown;
5023
+ } | null;
4695
5024
  /**
4696
- * Income in base currency (absolute, converted)
5025
+ * OpenBB asset_type
4697
5026
  */
4698
- income: string;
5027
+ assetType?: {
5028
+ [key: string]: unknown;
5029
+ } | null;
4699
5030
  /**
4700
- * Expense in base currency (absolute, converted)
5031
+ * IGN asset class
4701
5032
  */
4702
- expense: string;
5033
+ assetClass?: {
5034
+ [key: string]: unknown;
5035
+ } | null;
4703
5036
  /**
4704
- * netSavings = income − expense (savings positive)
5037
+ * IGN asset sub-class
4705
5038
  */
4706
- netSavings: string;
4707
- };
4708
- type CashFlowTrendSummaryDto = {
5039
+ assetSubClass?: {
5040
+ [key: string]: unknown;
5041
+ } | null;
4709
5042
  /**
4710
- * Total income across the period
5043
+ * Trading currency (extra_data or inferred from exchange)
4711
5044
  */
4712
- totalIncome: string;
5045
+ currency?: {
5046
+ [key: string]: unknown;
5047
+ } | null;
4713
5048
  /**
4714
- * Total expense across the period
5049
+ * Latest price (Decimal string)
4715
5050
  */
4716
- totalExpense: string;
5051
+ price?: {
5052
+ [key: string]: unknown;
5053
+ } | null;
4717
5054
  /**
4718
- * income expense across the period
5055
+ * Date the price was observed (ISO yyyy-MM-dd)
4719
5056
  */
4720
- totalNetSavings: string;
5057
+ priceDate?: {
5058
+ [key: string]: unknown;
5059
+ } | null;
4721
5060
  /**
4722
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
5061
+ * Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.
4723
5062
  */
4724
- averageMonthlyNetSavings: string;
4725
- };
4726
- type CashFlowTrendsResponseDto = {
5063
+ changePercent?: {
5064
+ [key: string]: unknown;
5065
+ } | null;
4727
5066
  /**
4728
- * Monthly cash-flow series (fixed N-month window, zero-filled)
5067
+ * Previous close (Decimal string)
4729
5068
  */
4730
- series: Array<CashFlowPointDto>;
5069
+ prevClose?: {
5070
+ [key: string]: unknown;
5071
+ } | null;
4731
5072
  /**
4732
- * Period totals
5073
+ * Day open (Decimal string)
4733
5074
  */
4734
- summary: CashFlowTrendSummaryDto;
5075
+ open?: {
5076
+ [key: string]: unknown;
5077
+ } | null;
4735
5078
  /**
4736
- * Period requested
5079
+ * Day high (Decimal string)
4737
5080
  */
4738
- period: string;
5081
+ high?: {
5082
+ [key: string]: unknown;
5083
+ } | null;
4739
5084
  /**
4740
- * Data granularity (v1 returns month buckets)
5085
+ * Day low (Decimal string)
4741
5086
  */
4742
- granularity: string;
5087
+ low?: {
5088
+ [key: string]: unknown;
5089
+ } | null;
4743
5090
  /**
4744
- * Base currency for converted values
5091
+ * Day volume (Decimal string)
4745
5092
  */
4746
- currency: string;
5093
+ volume?: {
5094
+ [key: string]: unknown;
5095
+ } | null;
4747
5096
  /**
4748
- * Exchange rate warnings (e.g. missing rate for a currency)
5097
+ * 52-week high (Decimal string)
4749
5098
  */
4750
- warnings?: Array<ExchangeRateWarningDto>;
4751
- };
4752
- type GenerateSnapshotBody = unknown;
4753
- type GenerateSnapshotResponse = unknown;
4754
- type BackfillSnapshotsBody = unknown;
4755
- type BackfillSnapshotsResponse = unknown;
4756
- type AnonymousLoginDto = {
5099
+ yearHigh?: {
5100
+ [key: string]: unknown;
5101
+ } | null;
4757
5102
  /**
4758
- * Access token for anonymous login
5103
+ * 52-week low (Decimal string)
4759
5104
  */
4760
- accessToken: string;
5105
+ yearLow?: {
5106
+ [key: string]: unknown;
5107
+ } | null;
4761
5108
  };
4762
5109
  type AccountControllerCreateData = {
4763
5110
  /**
4764
5111
  * Region code for tenant context
4765
5112
  */
4766
- region: 'cn' | 'us' | 'de' | 'gb';
5113
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4767
5114
  requestBody: CreateAccountDto;
4768
5115
  };
4769
5116
  type AccountControllerCreateResponse = AccountResponseDto;
@@ -4783,9 +5130,9 @@ type AccountControllerFindAllData = {
4783
5130
  /**
4784
5131
  * Region code for tenant context
4785
5132
  */
4786
- region: 'cn' | 'us' | 'de' | 'gb';
5133
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4787
5134
  /**
4788
- * Search term for path or i18nKey
5135
+ * Search term for account path
4789
5136
  */
4790
5137
  search?: string;
4791
5138
  /**
@@ -4806,7 +5153,7 @@ type AccountControllerFindOneData = {
4806
5153
  /**
4807
5154
  * Region code for tenant context
4808
5155
  */
4809
- region: 'cn' | 'us' | 'de' | 'gb';
5156
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4810
5157
  };
4811
5158
  type AccountControllerFindOneResponse = AccountResponseDto;
4812
5159
  type AccountControllerUpdateData = {
@@ -4817,7 +5164,7 @@ type AccountControllerUpdateData = {
4817
5164
  /**
4818
5165
  * Region code for tenant context
4819
5166
  */
4820
- region: 'cn' | 'us' | 'de' | 'gb';
5167
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4821
5168
  requestBody: UpdateAccountDto;
4822
5169
  };
4823
5170
  type AccountControllerUpdateResponse = AccountResponseDto;
@@ -4829,7 +5176,7 @@ type AccountControllerDeleteData = {
4829
5176
  /**
4830
5177
  * Region code for tenant context
4831
5178
  */
4832
- region: 'cn' | 'us' | 'de' | 'gb';
5179
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4833
5180
  };
4834
5181
  type AccountControllerDeleteResponse = void;
4835
5182
  type AccountControllerCloseData = {
@@ -4840,7 +5187,7 @@ type AccountControllerCloseData = {
4840
5187
  /**
4841
5188
  * Region code for tenant context
4842
5189
  */
4843
- region: 'cn' | 'us' | 'de' | 'gb';
5190
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4844
5191
  requestBody: CloseAccountDto;
4845
5192
  };
4846
5193
  type AccountControllerCloseResponse = AccountResponseDto;
@@ -4852,15 +5199,27 @@ type AccountControllerReopenData = {
4852
5199
  /**
4853
5200
  * Region code for tenant context
4854
5201
  */
4855
- region: 'cn' | 'us' | 'de' | 'gb';
5202
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4856
5203
  requestBody: ReopenAccountDto;
4857
5204
  };
4858
5205
  type AccountControllerReopenResponse = AccountResponseDto;
5206
+ type AccountControllerAddOpeningBalanceData = {
5207
+ /**
5208
+ * Account UUID
5209
+ */
5210
+ id: string;
5211
+ /**
5212
+ * Region code for tenant context
5213
+ */
5214
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5215
+ requestBody: CreateOpeningBalanceDto;
5216
+ };
5217
+ type AccountControllerAddOpeningBalanceResponse = OpeningBalanceResultDto;
4859
5218
  type AccountStandardsControllerGetTemplatesData = {
4860
5219
  /**
4861
5220
  * Region code (cn, us, de)
4862
5221
  */
4863
- region: 'cn' | 'us' | 'de' | 'gb';
5222
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4864
5223
  /**
4865
5224
  * Search term for path or description
4866
5225
  */
@@ -4879,21 +5238,21 @@ type AccountStandardsControllerGetTemplateMetadataData = {
4879
5238
  /**
4880
5239
  * Region code for tenant context
4881
5240
  */
4882
- region: 'cn' | 'us' | 'de' | 'gb';
5241
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4883
5242
  };
4884
5243
  type AccountStandardsControllerGetTemplateMetadataResponse = TemplateMetadataResponseDto;
4885
5244
  type AccountStandardsControllerGetRegionsData = {
4886
5245
  /**
4887
5246
  * Region code for tenant context
4888
5247
  */
4889
- region: 'cn' | 'us' | 'de' | 'gb';
5248
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4890
5249
  };
4891
5250
  type AccountStandardsControllerGetRegionsResponse = RegionsMetadataResponseDto;
4892
5251
  type TransactionControllerCreateData = {
4893
5252
  /**
4894
5253
  * Region code for tenant context
4895
5254
  */
4896
- region: 'cn' | 'us' | 'de' | 'gb';
5255
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4897
5256
  /**
4898
5257
  * Transaction data with postings
4899
5258
  */
@@ -4928,7 +5287,7 @@ type TransactionControllerListData = {
4928
5287
  /**
4929
5288
  * Region code for tenant context
4930
5289
  */
4931
- region: 'cn' | 'us' | 'de' | 'gb';
5290
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4932
5291
  /**
4933
5292
  * Search in narration and payee fields (max 200 chars)
4934
5293
  */
@@ -4943,7 +5302,7 @@ type TransactionControllerCreateBatchData = {
4943
5302
  /**
4944
5303
  * Region code for tenant context
4945
5304
  */
4946
- region: 'cn' | 'us' | 'de' | 'gb';
5305
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4947
5306
  requestBody: BatchCreateTransactionDto;
4948
5307
  };
4949
5308
  type TransactionControllerCreateBatchResponse = BatchTransactionResponseDto;
@@ -4955,7 +5314,7 @@ type TransactionControllerCorrectData = {
4955
5314
  /**
4956
5315
  * Region code for tenant context
4957
5316
  */
4958
- region: 'cn' | 'us' | 'de' | 'gb';
5317
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4959
5318
  requestBody: CorrectTransactionDto;
4960
5319
  };
4961
5320
  type TransactionControllerCorrectResponse = TransactionDetailDto;
@@ -4971,7 +5330,7 @@ type TransactionControllerSuggestTagsData = {
4971
5330
  /**
4972
5331
  * Region code for tenant context
4973
5332
  */
4974
- region: 'cn' | 'us' | 'de' | 'gb';
5333
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4975
5334
  /**
4976
5335
  * usage (default) or name
4977
5336
  */
@@ -4986,7 +5345,7 @@ type TransactionControllerGetDetailData = {
4986
5345
  /**
4987
5346
  * Region code for tenant context
4988
5347
  */
4989
- region: 'cn' | 'us' | 'de' | 'gb';
5348
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4990
5349
  };
4991
5350
  type TransactionControllerGetDetailResponse = TransactionDetailDto;
4992
5351
  type TransactionControllerUpdateData = {
@@ -4997,7 +5356,7 @@ type TransactionControllerUpdateData = {
4997
5356
  /**
4998
5357
  * Region code for tenant context
4999
5358
  */
5000
- region: 'cn' | 'us' | 'de' | 'gb';
5359
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5001
5360
  /**
5002
5361
  * Fields to update (all optional)
5003
5362
  */
@@ -5012,12 +5371,12 @@ type TransactionControllerDeleteData = {
5012
5371
  /**
5013
5372
  * Region code for tenant context
5014
5373
  */
5015
- region: 'cn' | 'us' | 'de' | 'gb';
5374
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5016
5375
  };
5017
5376
  type TransactionControllerDeleteResponse = void;
5018
5377
  type BalanceControllerGetBalanceData = {
5019
5378
  /**
5020
- * Account name (e.g., "Assets:Bank:Checking")
5379
+ * Account name (e.g., "Assets:Checking")
5021
5380
  */
5022
5381
  account: string;
5023
5382
  /**
@@ -5031,14 +5390,14 @@ type BalanceControllerGetBalanceData = {
5031
5390
  /**
5032
5391
  * Region code for tenant context
5033
5392
  */
5034
- region: 'cn' | 'us' | 'de' | 'gb';
5393
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5035
5394
  };
5036
5395
  type BalanceControllerGetBalanceResponse = BalanceResponseDto;
5037
5396
  type BalanceControllerGetMultiCurrencyBalanceData = {
5038
5397
  /**
5039
5398
  * Region code for tenant context
5040
5399
  */
5041
- region: 'cn' | 'us' | 'de' | 'gb';
5400
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5042
5401
  };
5043
5402
  type BalanceControllerGetMultiCurrencyBalanceResponse = MultiCurrencyBalanceResponseDto;
5044
5403
  type ReviewControllerFindAllData = {
@@ -5057,7 +5416,7 @@ type ReviewControllerFindAllData = {
5057
5416
  /**
5058
5417
  * Region code for tenant context
5059
5418
  */
5060
- region: 'cn' | 'us' | 'de' | 'gb';
5419
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5061
5420
  /**
5062
5421
  * Sort order
5063
5422
  */
@@ -5072,7 +5431,7 @@ type ReviewControllerGetStatsData = {
5072
5431
  /**
5073
5432
  * Region code for tenant context
5074
5433
  */
5075
- region: 'cn' | 'us' | 'de' | 'gb';
5434
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5076
5435
  };
5077
5436
  type ReviewControllerGetStatsResponse = ReviewStatsDto;
5078
5437
  type ReviewControllerFindOneData = {
@@ -5083,7 +5442,7 @@ type ReviewControllerFindOneData = {
5083
5442
  /**
5084
5443
  * Region code for tenant context
5085
5444
  */
5086
- region: 'cn' | 'us' | 'de' | 'gb';
5445
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5087
5446
  };
5088
5447
  type ReviewControllerFindOneResponse = ReviewDetailDto;
5089
5448
  type ReviewControllerResolveData = {
@@ -5094,7 +5453,7 @@ type ReviewControllerResolveData = {
5094
5453
  /**
5095
5454
  * Region code for tenant context
5096
5455
  */
5097
- region: 'cn' | 'us' | 'de' | 'gb';
5456
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5098
5457
  requestBody: ResolveReviewDto;
5099
5458
  };
5100
5459
  type ReviewControllerResolveResponse = ResolveResultDto;
@@ -5106,14 +5465,14 @@ type ReviewControllerUndoData = {
5106
5465
  /**
5107
5466
  * Region code for tenant context
5108
5467
  */
5109
- region: 'cn' | 'us' | 'de' | 'gb';
5468
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5110
5469
  };
5111
5470
  type ReviewControllerUndoResponse = UndoResultDto;
5112
5471
  type ReviewControllerBatchResolveData = {
5113
5472
  /**
5114
5473
  * Region code for tenant context
5115
5474
  */
5116
- region: 'cn' | 'us' | 'de' | 'gb';
5475
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5117
5476
  /**
5118
5477
  * Batch resolution request containing review IDs and action
5119
5478
  */
@@ -5258,7 +5617,7 @@ type CommodityControllerCreateData = {
5258
5617
  /**
5259
5618
  * Region code for tenant context
5260
5619
  */
5261
- region: 'cn' | 'us' | 'de' | 'gb';
5620
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5262
5621
  requestBody: CreateCommodityDto;
5263
5622
  };
5264
5623
  type CommodityControllerCreateResponse = CommodityResponseDto;
@@ -5266,7 +5625,7 @@ type CommodityControllerFindAllData = {
5266
5625
  /**
5267
5626
  * Region code for tenant context
5268
5627
  */
5269
- region: 'cn' | 'us' | 'de' | 'gb';
5628
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5270
5629
  /**
5271
5630
  * Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
5272
5631
  */
@@ -5281,7 +5640,7 @@ type CommodityControllerFindOneData = {
5281
5640
  /**
5282
5641
  * Region code for tenant context
5283
5642
  */
5284
- region: 'cn' | 'us' | 'de' | 'gb';
5643
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5285
5644
  /**
5286
5645
  * Commodity symbol
5287
5646
  */
@@ -5292,7 +5651,7 @@ type CommodityControllerUpdateData = {
5292
5651
  /**
5293
5652
  * Region code for tenant context
5294
5653
  */
5295
- region: 'cn' | 'us' | 'de' | 'gb';
5654
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5296
5655
  requestBody: UpdateCommodityDto;
5297
5656
  /**
5298
5657
  * Commodity symbol
@@ -5304,7 +5663,7 @@ type CommodityControllerDeleteData = {
5304
5663
  /**
5305
5664
  * Region code for tenant context
5306
5665
  */
5307
- region: 'cn' | 'us' | 'de' | 'gb';
5666
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5308
5667
  /**
5309
5668
  * Commodity symbol
5310
5669
  */
@@ -5315,7 +5674,7 @@ type CommodityControllerGetOrCreateData = {
5315
5674
  /**
5316
5675
  * Region code for tenant context
5317
5676
  */
5318
- region: 'cn' | 'us' | 'de' | 'gb';
5677
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5319
5678
  /**
5320
5679
  * Commodity symbol
5321
5680
  */
@@ -5326,14 +5685,99 @@ type CommodityControllerBulkCreateData = {
5326
5685
  /**
5327
5686
  * Region code for tenant context
5328
5687
  */
5329
- region: 'cn' | 'us' | 'de' | 'gb';
5688
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5330
5689
  };
5331
5690
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
5691
+ type PriceControllerCreateData = {
5692
+ /**
5693
+ * Region code for tenant context
5694
+ */
5695
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5696
+ requestBody: CreateBeanPriceDto;
5697
+ };
5698
+ type PriceControllerCreateResponse = PriceResponseDto;
5699
+ type PriceControllerFindAllData = {
5700
+ /**
5701
+ * Filter by currency (e.g., BTC, AAPL, USD)
5702
+ */
5703
+ currency?: string;
5704
+ /**
5705
+ * Filter prices from this date (ISO 8601 format)
5706
+ */
5707
+ dateFrom?: string;
5708
+ /**
5709
+ * Filter prices to this date (ISO 8601 format)
5710
+ */
5711
+ dateTo?: string;
5712
+ /**
5713
+ * Number of items per page (default: 20, max: 100)
5714
+ */
5715
+ limit?: number;
5716
+ /**
5717
+ * Page number for pagination (default: 1)
5718
+ */
5719
+ page?: number;
5720
+ /**
5721
+ * Filter by quote currency (pricing currency, e.g., USD, CNY)
5722
+ */
5723
+ quoteCurrency?: string;
5724
+ /**
5725
+ * Region code for tenant context
5726
+ */
5727
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5728
+ /**
5729
+ * Search term for currency or quoteCurrency (case-insensitive partial match)
5730
+ */
5731
+ search?: string;
5732
+ };
5733
+ type PriceControllerFindAllResponse = PriceListResponseDto;
5734
+ type PriceControllerFindOneData = {
5735
+ /**
5736
+ * Price ID
5737
+ */
5738
+ id: string;
5739
+ /**
5740
+ * Region code for tenant context
5741
+ */
5742
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5743
+ };
5744
+ type PriceControllerFindOneResponse = PriceResponseDto;
5745
+ type PriceControllerUpdateData = {
5746
+ /**
5747
+ * Price ID
5748
+ */
5749
+ id: string;
5750
+ /**
5751
+ * Region code for tenant context
5752
+ */
5753
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5754
+ requestBody: UpdateBeanPriceDto;
5755
+ };
5756
+ type PriceControllerUpdateResponse = PriceResponseDto;
5757
+ type PriceControllerDeleteData = {
5758
+ /**
5759
+ * Price ID
5760
+ */
5761
+ id: string;
5762
+ /**
5763
+ * Region code for tenant context
5764
+ */
5765
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5766
+ };
5767
+ type PriceControllerDeleteResponse = void;
5768
+ type PriceControllerBulkCreateData = {
5769
+ /**
5770
+ * Region code for tenant context
5771
+ */
5772
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5773
+ requestBody: Array<string>;
5774
+ };
5775
+ type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
5332
5776
  type RecurringRuleControllerCreateData = {
5333
5777
  /**
5334
5778
  * Region code for tenant context
5335
5779
  */
5336
- region: 'cn' | 'us' | 'de' | 'gb';
5780
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5337
5781
  requestBody: CreateRecurringRuleDto;
5338
5782
  };
5339
5783
  type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
@@ -5353,14 +5797,14 @@ type RecurringRuleControllerFindAllData = {
5353
5797
  /**
5354
5798
  * Region code for tenant context
5355
5799
  */
5356
- region: 'cn' | 'us' | 'de' | 'gb';
5800
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5357
5801
  };
5358
5802
  type RecurringRuleControllerFindAllResponse = Array<RecurringRuleResponseDto>;
5359
5803
  type RecurringRuleControllerCreateFromTransactionData = {
5360
5804
  /**
5361
5805
  * Region code for tenant context
5362
5806
  */
5363
- region: 'cn' | 'us' | 'de' | 'gb';
5807
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5364
5808
  requestBody: CreateRuleFromTransactionDto;
5365
5809
  /**
5366
5810
  * Source transaction ID
@@ -5376,7 +5820,7 @@ type RecurringRuleControllerFindOneData = {
5376
5820
  /**
5377
5821
  * Region code for tenant context
5378
5822
  */
5379
- region: 'cn' | 'us' | 'de' | 'gb';
5823
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5380
5824
  };
5381
5825
  type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
5382
5826
  type RecurringRuleControllerUpdateData = {
@@ -5387,7 +5831,7 @@ type RecurringRuleControllerUpdateData = {
5387
5831
  /**
5388
5832
  * Region code for tenant context
5389
5833
  */
5390
- region: 'cn' | 'us' | 'de' | 'gb';
5834
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5391
5835
  requestBody: UpdateRecurringRuleDto;
5392
5836
  };
5393
5837
  type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
@@ -5399,7 +5843,7 @@ type RecurringRuleControllerDeleteData = {
5399
5843
  /**
5400
5844
  * Region code for tenant context
5401
5845
  */
5402
- region: 'cn' | 'us' | 'de' | 'gb';
5846
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5403
5847
  };
5404
5848
  type RecurringRuleControllerDeleteResponse = void;
5405
5849
  type RecurringRuleControllerGetWithStatsData = {
@@ -5410,7 +5854,7 @@ type RecurringRuleControllerGetWithStatsData = {
5410
5854
  /**
5411
5855
  * Region code for tenant context
5412
5856
  */
5413
- region: 'cn' | 'us' | 'de' | 'gb';
5857
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5414
5858
  };
5415
5859
  type RecurringRuleControllerGetWithStatsResponse = RecurringRuleWithStatsResponseDto;
5416
5860
  type ExpectedTransactionControllerFindAllData = {
@@ -5421,7 +5865,7 @@ type ExpectedTransactionControllerFindAllData = {
5421
5865
  /**
5422
5866
  * Region code for tenant context
5423
5867
  */
5424
- region: 'cn' | 'us' | 'de' | 'gb';
5868
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5425
5869
  /**
5426
5870
  * Filter by recurring rule ID
5427
5871
  */
@@ -5440,7 +5884,7 @@ type ExpectedTransactionControllerFindOverdueData = {
5440
5884
  /**
5441
5885
  * Region code for tenant context
5442
5886
  */
5443
- region: 'cn' | 'us' | 'de' | 'gb';
5887
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5444
5888
  };
5445
5889
  type ExpectedTransactionControllerFindOverdueResponse = ExpectedTransactionListResponseDto;
5446
5890
  type ExpectedTransactionControllerFindOneData = {
@@ -5451,7 +5895,7 @@ type ExpectedTransactionControllerFindOneData = {
5451
5895
  /**
5452
5896
  * Region code for tenant context
5453
5897
  */
5454
- region: 'cn' | 'us' | 'de' | 'gb';
5898
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5455
5899
  };
5456
5900
  type ExpectedTransactionControllerFindOneResponse = ExpectedTransactionResponseDto;
5457
5901
  type ExpectedTransactionControllerSkipData = {
@@ -5462,7 +5906,7 @@ type ExpectedTransactionControllerSkipData = {
5462
5906
  /**
5463
5907
  * Region code for tenant context
5464
5908
  */
5465
- region: 'cn' | 'us' | 'de' | 'gb';
5909
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5466
5910
  };
5467
5911
  type ExpectedTransactionControllerSkipResponse = ExpectedTransactionResponseDto;
5468
5912
  type ExpectedTransactionControllerUndoSkipData = {
@@ -5473,7 +5917,7 @@ type ExpectedTransactionControllerUndoSkipData = {
5473
5917
  /**
5474
5918
  * Region code for tenant context
5475
5919
  */
5476
- region: 'cn' | 'us' | 'de' | 'gb';
5920
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5477
5921
  };
5478
5922
  type ExpectedTransactionControllerUndoSkipResponse = ExpectedTransactionResponseDto;
5479
5923
  type ExpectedTransactionControllerConfirmMatchData = {
@@ -5484,7 +5928,7 @@ type ExpectedTransactionControllerConfirmMatchData = {
5484
5928
  /**
5485
5929
  * Region code for tenant context
5486
5930
  */
5487
- region: 'cn' | 'us' | 'de' | 'gb';
5931
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5488
5932
  requestBody: ConfirmMatchDto;
5489
5933
  };
5490
5934
  type ExpectedTransactionControllerConfirmMatchResponse = unknown;
@@ -5496,7 +5940,7 @@ type ExpectedTransactionControllerUnmatchData = {
5496
5940
  /**
5497
5941
  * Region code for tenant context
5498
5942
  */
5499
- region: 'cn' | 'us' | 'de' | 'gb';
5943
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5500
5944
  };
5501
5945
  type ExpectedTransactionControllerUnmatchResponse = unknown;
5502
5946
  type ExpectedTransactionControllerEnterNowData = {
@@ -5507,26 +5951,140 @@ type ExpectedTransactionControllerEnterNowData = {
5507
5951
  /**
5508
5952
  * Region code for tenant context
5509
5953
  */
5510
- region: 'cn' | 'us' | 'de' | 'gb';
5954
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5511
5955
  requestBody: EnterNowDto;
5512
5956
  };
5513
- type ExpectedTransactionControllerEnterNowResponse = unknown;
5514
- type ForecastControllerGetForecastData = {
5957
+ type ExpectedTransactionControllerEnterNowResponse = unknown;
5958
+ type ForecastControllerGetForecastData = {
5959
+ /**
5960
+ * Number of months to forecast (1-12, default 3)
5961
+ */
5962
+ months?: number;
5963
+ /**
5964
+ * Region code for tenant context
5965
+ */
5966
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5967
+ };
5968
+ type ForecastControllerGetForecastResponse = ForecastResponseDto;
5969
+ type ReportingControllerGetPortfolioTrendsData = {
5970
+ /**
5971
+ * Data granularity
5972
+ */
5973
+ granularity?: 'day' | 'week' | 'month';
5974
+ /**
5975
+ * Time period
5976
+ */
5977
+ period?: '1m' | '3m' | '6m' | '1y';
5978
+ /**
5979
+ * Region code for tenant context
5980
+ */
5981
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5982
+ };
5983
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5984
+ type ReportingControllerGetCashFlowTrendsData = {
5985
+ /**
5986
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
5987
+ */
5988
+ granularity?: 'day' | 'week' | 'month';
5989
+ /**
5990
+ * Time period
5991
+ */
5992
+ period?: '1m' | '3m' | '6m' | '1y';
5993
+ /**
5994
+ * Region code for tenant context
5995
+ */
5996
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5997
+ };
5998
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
5999
+ type ReportingControllerGenerateSnapshotData = {
6000
+ /**
6001
+ * Region code for tenant context
6002
+ */
6003
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6004
+ /**
6005
+ * Optional date (defaults to today)
6006
+ */
6007
+ requestBody: GenerateSnapshotBody;
6008
+ };
6009
+ type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6010
+ type ReportingControllerBackfillSnapshotsData = {
6011
+ /**
6012
+ * Region code for tenant context
6013
+ */
6014
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6015
+ requestBody: BackfillSnapshotsBody;
6016
+ };
6017
+ type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
6018
+ type UserControllerDeleteOwnUserData = {
6019
+ requestBody: DeleteOwnUserDto;
6020
+ };
6021
+ type UserControllerDeleteOwnUserResponse = void;
6022
+ type UserControllerGetUserData = {
6023
+ acceptLanguage: string;
6024
+ };
6025
+ type UserControllerGetUserResponse = unknown;
6026
+ type UserControllerSignupUserData = {
6027
+ requestBody: SignupDto;
6028
+ };
6029
+ type UserControllerSignupUserResponse = SignupResponseDto;
6030
+ type UserControllerDeleteUserData = {
6031
+ /**
6032
+ * User ID to delete
6033
+ */
6034
+ id: string;
6035
+ };
6036
+ type UserControllerDeleteUserResponse = void;
6037
+ type UserControllerGetUserInfoData = {
6038
+ /**
6039
+ * User ID
6040
+ */
6041
+ id: string;
6042
+ };
6043
+ type UserControllerGetUserInfoResponse = unknown;
6044
+ type UserControllerUpdateUserSettingData = {
6045
+ requestBody: UpdateUserSettingDto;
6046
+ };
6047
+ type UserControllerUpdateUserSettingResponse = unknown;
6048
+ type UserControllerGetAllUserSettingsByPageData = {
6049
+ /**
6050
+ * Page number
6051
+ */
6052
+ pageNo: number;
6053
+ /**
6054
+ * Page size
6055
+ */
6056
+ pageSize: number;
6057
+ };
6058
+ type UserControllerGetAllUserSettingsByPageResponse = unknown;
6059
+ type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6060
+ type PropertyControllerGetAllResponse = unknown;
6061
+ type PropertyControllerGetByKeyData = {
6062
+ /**
6063
+ * Property key
6064
+ */
6065
+ key: string;
6066
+ };
6067
+ type PropertyControllerGetByKeyResponse = unknown;
6068
+ type PropertyControllerUpdateData = {
5515
6069
  /**
5516
- * Number of months to forecast (1-12, default 3)
6070
+ * Property key
5517
6071
  */
5518
- months?: number;
6072
+ key: string;
6073
+ requestBody: UpdatePropertyDto;
6074
+ };
6075
+ type PropertyControllerUpdateResponse = unknown;
6076
+ type PropertyControllerDeleteData = {
5519
6077
  /**
5520
- * Region code for tenant context
6078
+ * Property key
5521
6079
  */
5522
- region: 'cn' | 'us' | 'de' | 'gb';
6080
+ key: string;
5523
6081
  };
5524
- type ForecastControllerGetForecastResponse = ForecastResponseDto;
6082
+ type PropertyControllerDeleteResponse = void;
5525
6083
  type TransactionRuleControllerCreateData = {
5526
6084
  /**
5527
6085
  * Region code for tenant context
5528
6086
  */
5529
- region: 'cn' | 'us' | 'de' | 'gb';
6087
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5530
6088
  requestBody: CreateTransactionRuleDto;
5531
6089
  };
5532
6090
  type TransactionRuleControllerCreateResponse = TransactionRuleResponseDto;
@@ -5554,14 +6112,14 @@ type TransactionRuleControllerListData = {
5554
6112
  /**
5555
6113
  * Region code for tenant context
5556
6114
  */
5557
- region: 'cn' | 'us' | 'de' | 'gb';
6115
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5558
6116
  };
5559
6117
  type TransactionRuleControllerListResponse = TransactionRuleListResponseDto;
5560
6118
  type TransactionRuleControllerValidateData = {
5561
6119
  /**
5562
6120
  * Region code for tenant context
5563
6121
  */
5564
- region: 'cn' | 'us' | 'de' | 'gb';
6122
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5565
6123
  requestBody: ValidateRuleDto;
5566
6124
  };
5567
6125
  type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
@@ -5569,7 +6127,7 @@ type TransactionRuleControllerBulkCreateData = {
5569
6127
  /**
5570
6128
  * Region code for tenant context
5571
6129
  */
5572
- region: 'cn' | 'us' | 'de' | 'gb';
6130
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5573
6131
  requestBody: BulkCreateRulesDto;
5574
6132
  };
5575
6133
  type TransactionRuleControllerBulkCreateResponse = BulkCreateRulesResponseDto;
@@ -5581,7 +6139,7 @@ type TransactionRuleControllerExportData = {
5581
6139
  /**
5582
6140
  * Region code for tenant context
5583
6141
  */
5584
- region: 'cn' | 'us' | 'de' | 'gb';
6142
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5585
6143
  };
5586
6144
  type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
5587
6145
  type TransactionRuleControllerGetStatisticsData = {
@@ -5592,14 +6150,14 @@ type TransactionRuleControllerGetStatisticsData = {
5592
6150
  /**
5593
6151
  * Region code for tenant context
5594
6152
  */
5595
- region: 'cn' | 'us' | 'de' | 'gb';
6153
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5596
6154
  };
5597
6155
  type TransactionRuleControllerGetStatisticsResponse = RuleStatisticsResponseDto;
5598
6156
  type TransactionRuleControllerGetDetailData = {
5599
6157
  /**
5600
6158
  * Region code for tenant context
5601
6159
  */
5602
- region: 'cn' | 'us' | 'de' | 'gb';
6160
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5603
6161
  /**
5604
6162
  * Rule ID
5605
6163
  */
@@ -5610,7 +6168,7 @@ type TransactionRuleControllerUpdateData = {
5610
6168
  /**
5611
6169
  * Region code for tenant context
5612
6170
  */
5613
- region: 'cn' | 'us' | 'de' | 'gb';
6171
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5614
6172
  requestBody: UpdateTransactionRuleDto;
5615
6173
  /**
5616
6174
  * Rule ID to update
@@ -5622,7 +6180,7 @@ type TransactionRuleControllerDeleteData = {
5622
6180
  /**
5623
6181
  * Region code for tenant context
5624
6182
  */
5625
- region: 'cn' | 'us' | 'de' | 'gb';
6183
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5626
6184
  /**
5627
6185
  * Rule ID to delete
5628
6186
  */
@@ -5633,7 +6191,7 @@ type TransactionRuleControllerTestData = {
5633
6191
  /**
5634
6192
  * Region code for tenant context
5635
6193
  */
5636
- region: 'cn' | 'us' | 'de' | 'gb';
6194
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5637
6195
  requestBody: TestRuleDto;
5638
6196
  /**
5639
6197
  * Rule ID to test
@@ -5641,76 +6199,11 @@ type TransactionRuleControllerTestData = {
5641
6199
  ruleId: string;
5642
6200
  };
5643
6201
  type TransactionRuleControllerTestResponse = TestRuleResponseDto;
5644
- type UserControllerDeleteOwnUserData = {
5645
- requestBody: DeleteOwnUserDto;
5646
- };
5647
- type UserControllerDeleteOwnUserResponse = void;
5648
- type UserControllerGetUserData = {
5649
- acceptLanguage: string;
5650
- };
5651
- type UserControllerGetUserResponse = unknown;
5652
- type UserControllerSignupUserData = {
5653
- requestBody: SignupDto;
5654
- };
5655
- type UserControllerSignupUserResponse = unknown;
5656
- type UserControllerDeleteUserData = {
5657
- /**
5658
- * User ID to delete
5659
- */
5660
- id: string;
5661
- };
5662
- type UserControllerDeleteUserResponse = void;
5663
- type UserControllerGetUserInfoData = {
5664
- /**
5665
- * User ID
5666
- */
5667
- id: string;
5668
- };
5669
- type UserControllerGetUserInfoResponse = unknown;
5670
- type UserControllerUpdateUserSettingData = {
5671
- requestBody: UpdateUserSettingDto;
5672
- };
5673
- type UserControllerUpdateUserSettingResponse = unknown;
5674
- type UserControllerGetAllUserSettingsByPageData = {
5675
- /**
5676
- * Page number
5677
- */
5678
- pageNo: number;
5679
- /**
5680
- * Page size
5681
- */
5682
- pageSize: number;
5683
- };
5684
- type UserControllerGetAllUserSettingsByPageResponse = unknown;
5685
- type UserControllerGetAssetLiabilitySummaryResponse = unknown;
5686
- type PropertyControllerGetAllResponse = unknown;
5687
- type PropertyControllerGetByKeyData = {
5688
- /**
5689
- * Property key
5690
- */
5691
- key: string;
5692
- };
5693
- type PropertyControllerGetByKeyResponse = unknown;
5694
- type PropertyControllerUpdateData = {
5695
- /**
5696
- * Property key
5697
- */
5698
- key: string;
5699
- requestBody: UpdatePropertyDto;
5700
- };
5701
- type PropertyControllerUpdateResponse = unknown;
5702
- type PropertyControllerDeleteData = {
5703
- /**
5704
- * Property key
5705
- */
5706
- key: string;
5707
- };
5708
- type PropertyControllerDeleteResponse = void;
5709
6202
  type EventControllerCreateData = {
5710
6203
  /**
5711
6204
  * Region code for tenant context (decorative for life events)
5712
6205
  */
5713
- region: 'cn' | 'us' | 'de' | 'gb';
6206
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5714
6207
  requestBody: CreateBeanEventDto;
5715
6208
  };
5716
6209
  type EventControllerCreateResponse = EventResponseDto;
@@ -5734,7 +6227,7 @@ type EventControllerFindAllData = {
5734
6227
  /**
5735
6228
  * Region code for tenant context (decorative for life events)
5736
6229
  */
5737
- region: 'cn' | 'us' | 'de' | 'gb';
6230
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5738
6231
  /**
5739
6232
  * Filter life events to this date (ISO 8601 format)
5740
6233
  */
@@ -5753,7 +6246,7 @@ type EventControllerFindOneData = {
5753
6246
  /**
5754
6247
  * Region code for tenant context (decorative for life events)
5755
6248
  */
5756
- region: 'cn' | 'us' | 'de' | 'gb';
6249
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5757
6250
  };
5758
6251
  type EventControllerFindOneResponse = EventResponseDto;
5759
6252
  type EventControllerUpdateData = {
@@ -5764,7 +6257,7 @@ type EventControllerUpdateData = {
5764
6257
  /**
5765
6258
  * Region code for tenant context (decorative for life events)
5766
6259
  */
5767
- region: 'cn' | 'us' | 'de' | 'gb';
6260
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5768
6261
  requestBody: UpdateBeanEventDto;
5769
6262
  };
5770
6263
  type EventControllerUpdateResponse = EventResponseDto;
@@ -5776,7 +6269,7 @@ type EventControllerDeleteData = {
5776
6269
  /**
5777
6270
  * Region code for tenant context (decorative for life events)
5778
6271
  */
5779
- region: 'cn' | 'us' | 'de' | 'gb';
6272
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5780
6273
  };
5781
6274
  type EventControllerDeleteResponse = void;
5782
6275
  type EventControllerGetSliceData = {
@@ -5789,14 +6282,22 @@ type EventControllerGetSliceData = {
5789
6282
  /**
5790
6283
  * Region code for tenant context (decorative for life events)
5791
6284
  */
5792
- region: 'cn' | 'us' | 'de' | 'gb';
6285
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5793
6286
  };
5794
6287
  type EventControllerGetSliceResponse = unknown;
6288
+ type OnboardingControllerBootstrapData = {
6289
+ /**
6290
+ * Region code for tenant context
6291
+ */
6292
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6293
+ requestBody: OnboardingDto;
6294
+ };
6295
+ type OnboardingControllerBootstrapResponse = unknown;
5795
6296
  type ReconciliationControllerComputeData = {
5796
6297
  /**
5797
6298
  * Region code for tenant context (decorative for reconciliation)
5798
6299
  */
5799
- region: 'cn' | 'us' | 'de' | 'gb';
6300
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5800
6301
  requestBody: ComputeReconciliationDto;
5801
6302
  };
5802
6303
  type ReconciliationControllerComputeResponse = ReconciliationComputeResultDto;
@@ -5804,7 +6305,7 @@ type ReconciliationControllerAssertData = {
5804
6305
  /**
5805
6306
  * Region code for tenant context (decorative for reconciliation)
5806
6307
  */
5807
- region: 'cn' | 'us' | 'de' | 'gb';
6308
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5808
6309
  requestBody: AssertReconciliationDto;
5809
6310
  };
5810
6311
  type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
@@ -5812,7 +6313,7 @@ type ReconciliationControllerPadData = {
5812
6313
  /**
5813
6314
  * Region code for tenant context (decorative for reconciliation)
5814
6315
  */
5815
- region: 'cn' | 'us' | 'de' | 'gb';
6316
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5816
6317
  requestBody: PadReconciliationDto;
5817
6318
  };
5818
6319
  type ReconciliationControllerPadResponse = PadResultDto;
@@ -5824,7 +6325,7 @@ type ReconciliationControllerHistoryData = {
5824
6325
  /**
5825
6326
  * Region code for tenant context (decorative for reconciliation)
5826
6327
  */
5827
- region: 'cn' | 'us' | 'de' | 'gb';
6328
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5828
6329
  };
5829
6330
  type ReconciliationControllerHistoryResponse = Array<ReconciliationRecordDto>;
5830
6331
  type ExportControllerExportBeancountResponse = unknown;
@@ -5836,7 +6337,7 @@ type FileImportControllerImportFileData = {
5836
6337
  /**
5837
6338
  * Region code for tenant context
5838
6339
  */
5839
- region: 'cn' | 'us' | 'de' | 'gb';
6340
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5840
6341
  };
5841
6342
  type FileImportControllerImportFileResponse = ImportResultDto;
5842
6343
  type FileImportControllerIdentifyFileData = {
@@ -5847,7 +6348,7 @@ type FileImportControllerIdentifyFileData = {
5847
6348
  /**
5848
6349
  * Region code for tenant context
5849
6350
  */
5850
- region: 'cn' | 'us' | 'de' | 'gb';
6351
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5851
6352
  };
5852
6353
  type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
5853
6354
  type FileImportControllerImportBeancountData = {
@@ -5858,7 +6359,7 @@ type FileImportControllerImportBeancountData = {
5858
6359
  /**
5859
6360
  * Region code for tenant context
5860
6361
  */
5861
- region: 'cn' | 'us' | 'de' | 'gb';
6362
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5862
6363
  };
5863
6364
  type FileImportControllerImportBeancountResponse = {
5864
6365
  imported?: number;
@@ -5877,7 +6378,7 @@ type ImporterConfigControllerGetConfigData = {
5877
6378
  /**
5878
6379
  * Region code for tenant context
5879
6380
  */
5880
- region: 'cn' | 'us' | 'de' | 'gb';
6381
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5881
6382
  };
5882
6383
  type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
5883
6384
  type ImporterConfigControllerUpdateConfigData = {
@@ -5888,7 +6389,7 @@ type ImporterConfigControllerUpdateConfigData = {
5888
6389
  /**
5889
6390
  * Region code for tenant context
5890
6391
  */
5891
- region: 'cn' | 'us' | 'de' | 'gb';
6392
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5892
6393
  /**
5893
6394
  * Partial configuration update. Only provided fields will be updated.
5894
6395
  */
@@ -5903,41 +6404,9 @@ type ImporterConfigControllerResetConfigData = {
5903
6404
  /**
5904
6405
  * Region code for tenant context
5905
6406
  */
5906
- region: 'cn' | 'us' | 'de' | 'gb';
6407
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5907
6408
  };
5908
6409
  type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
5909
- type PlatformControllerFindAllResponse = unknown;
5910
- type PlatformControllerCreateData = {
5911
- requestBody: CreatePlatformDto;
5912
- };
5913
- type PlatformControllerCreateResponse = unknown;
5914
- type PlatformControllerGetPlatformListResponse = unknown;
5915
- type PlatformControllerMatchPlatformsData = {
5916
- /**
5917
- * Search query — Chinese name, English name, or abbreviation
5918
- */
5919
- q: string;
5920
- /**
5921
- * Region code for category override lookup
5922
- */
5923
- region?: string;
5924
- };
5925
- type PlatformControllerMatchPlatformsResponse = unknown;
5926
- type PlatformControllerUpdateData = {
5927
- /**
5928
- * Platform ID
5929
- */
5930
- id: string;
5931
- requestBody: UpdatePlatformDto;
5932
- };
5933
- type PlatformControllerUpdateResponse = unknown;
5934
- type PlatformControllerDeleteData = {
5935
- /**
5936
- * Platform ID
5937
- */
5938
- id: string;
5939
- };
5940
- type PlatformControllerDeleteResponse = void;
5941
6410
  type ProviderSyncControllerSyncData = {
5942
6411
  /**
5943
6412
  * Provider name
@@ -5946,7 +6415,7 @@ type ProviderSyncControllerSyncData = {
5946
6415
  /**
5947
6416
  * Region code for tenant context
5948
6417
  */
5949
- region: 'cn' | 'us' | 'de' | 'gb';
6418
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5950
6419
  requestBody: ProviderSyncDto;
5951
6420
  };
5952
6421
  type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
@@ -5954,7 +6423,7 @@ type ProviderSyncControllerGetSupportedProvidersData = {
5954
6423
  /**
5955
6424
  * Region code for tenant context
5956
6425
  */
5957
- region: 'cn' | 'us' | 'de' | 'gb';
6426
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5958
6427
  };
5959
6428
  type ProviderSyncControllerGetSupportedProvidersResponse = SupportedProvidersResponseDto;
5960
6429
  type ProviderSyncControllerIsProviderSupportedData = {
@@ -5965,14 +6434,46 @@ type ProviderSyncControllerIsProviderSupportedData = {
5965
6434
  /**
5966
6435
  * Region code for tenant context
5967
6436
  */
5968
- region: 'cn' | 'us' | 'de' | 'gb';
6437
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5969
6438
  };
5970
6439
  type ProviderSyncControllerIsProviderSupportedResponse = unknown;
6440
+ type ExternalAccountLinkControllerCreateData = {
6441
+ /**
6442
+ * Region code for tenant context
6443
+ */
6444
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6445
+ requestBody: CreateExternalAccountLinkDto;
6446
+ };
6447
+ type ExternalAccountLinkControllerCreateResponse = ExternalAccountLinkResponseDto;
6448
+ type ExternalAccountLinkControllerFindAllData = {
6449
+ provider: string;
6450
+ /**
6451
+ * Region code for tenant context
6452
+ */
6453
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6454
+ };
6455
+ type ExternalAccountLinkControllerFindAllResponse = ExternalAccountLinkListResponseDto;
6456
+ type ExternalAccountLinkControllerFindOneData = {
6457
+ id: string;
6458
+ /**
6459
+ * Region code for tenant context
6460
+ */
6461
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6462
+ };
6463
+ type ExternalAccountLinkControllerFindOneResponse = ExternalAccountLinkResponseDto;
6464
+ type ExternalAccountLinkControllerRemoveData = {
6465
+ id: string;
6466
+ /**
6467
+ * Region code for tenant context
6468
+ */
6469
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6470
+ };
6471
+ type ExternalAccountLinkControllerRemoveResponse = void;
5971
6472
  type TelemetryControllerReportTelemetryData = {
5972
6473
  /**
5973
6474
  * Region code for tenant context
5974
6475
  */
5975
- region: 'cn' | 'us' | 'de' | 'gb';
6476
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5976
6477
  requestBody: ParserTelemetryReportDto;
5977
6478
  };
5978
6479
  type TelemetryControllerReportTelemetryResponse = unknown;
@@ -5980,7 +6481,7 @@ type TelemetryControllerReportCoverageMissData = {
5980
6481
  /**
5981
6482
  * Region code for tenant context
5982
6483
  */
5983
- region: 'cn' | 'us' | 'de' | 'gb';
6484
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5984
6485
  requestBody: UncoveredFormatMissDto;
5985
6486
  };
5986
6487
  type TelemetryControllerReportCoverageMissResponse = unknown;
@@ -5988,7 +6489,7 @@ type TelemetryControllerGetCoverageMetricsData = {
5988
6489
  /**
5989
6490
  * Region code for tenant context
5990
6491
  */
5991
- region: 'cn' | 'us' | 'de' | 'gb';
6492
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5992
6493
  /**
5993
6494
  * Top-N uncovered formats (default 10)
5994
6495
  */
@@ -5999,7 +6500,7 @@ type NlpControllerProcessNaturalLanguageData = {
5999
6500
  /**
6000
6501
  * Region code for tenant context
6001
6502
  */
6002
- region: 'cn' | 'us' | 'de' | 'gb';
6503
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6003
6504
  /**
6004
6505
  * Natural language transaction input with optional session ID
6005
6506
  */
@@ -6010,7 +6511,7 @@ type NlpControllerClearSessionData = {
6010
6511
  /**
6011
6512
  * Region code for tenant context
6012
6513
  */
6013
- region: 'cn' | 'us' | 'de' | 'gb';
6514
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6014
6515
  /**
6015
6516
  * Specific session ID to clear (defaults to user session)
6016
6517
  */
@@ -6021,231 +6522,135 @@ type NlpControllerGetSessionData = {
6021
6522
  /**
6022
6523
  * Region code for tenant context
6023
6524
  */
6024
- region: 'cn' | 'us' | 'de' | 'gb';
6525
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6025
6526
  /**
6026
6527
  * Specific session ID to get (defaults to user session)
6027
6528
  */
6028
6529
  sessionId?: string;
6029
6530
  };
6030
6531
  type NlpControllerGetSessionResponse = unknown;
6031
- type DashboardControllerGetNetWorthData = {
6032
- /**
6033
- * Date for balance calculation (ISO 8601 format)
6034
- */
6035
- date?: string;
6036
- /**
6037
- * Region code for tenant context
6038
- */
6039
- region: 'cn' | 'us' | 'de' | 'gb';
6040
- };
6041
- type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
6042
- type DashboardControllerGetAccountsData = {
6043
- /**
6044
- * Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
6045
- */
6046
- accountId?: string;
6047
- /**
6048
- * Date for balance calculation (ISO 8601 format)
6049
- */
6050
- date?: string;
6051
- /**
6052
- * Grouping strategy
6053
- */
6054
- groupBy?: 'platform' | 'assetClass' | 'holdingAssetClass' | 'holdingAssetClassByAccount';
6055
- /**
6056
- * Region code for tenant context
6057
- */
6058
- region: 'cn' | 'us' | 'de' | 'gb';
6532
+ type PlatformControllerFindAllResponse = unknown;
6533
+ type PlatformControllerCreateData = {
6534
+ requestBody: CreatePlatformDto;
6059
6535
  };
6060
- type DashboardControllerGetAccountsResponse = AccountsResponseDto | AssetClassAccountsResponseDto | HoldingAssetClassCrossAccountResponseDto;
6061
- type DashboardControllerGetCashFlowData = {
6062
- /**
6063
- * Period in YYYY-MM format
6064
- */
6065
- period: string;
6536
+ type PlatformControllerCreateResponse = unknown;
6537
+ type PlatformControllerGetPlatformListData = {
6066
6538
  /**
6067
- * Region code for tenant context
6539
+ * Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
6068
6540
  */
6069
- region: 'cn' | 'us' | 'de' | 'gb';
6541
+ region?: string;
6070
6542
  };
6071
- type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
6072
- type DashboardControllerGetExpensesData = {
6073
- /**
6074
- * Account root to aggregate (expense → ^Expenses:, income → ^Income:)
6075
- */
6076
- flow?: 'expense' | 'income';
6077
- /**
6078
- * Grouping strategy
6079
- */
6080
- groupBy?: 'category';
6543
+ type PlatformControllerGetPlatformListResponse = Array<PlatformListItemDto>;
6544
+ type PlatformControllerMatchPlatformsData = {
6081
6545
  /**
6082
- * Time window (1m = current calendar month)
6546
+ * Search query Chinese name, English name, or abbreviation
6083
6547
  */
6084
- period?: '1m' | '3m' | '6m' | '1y';
6548
+ q: string;
6085
6549
  /**
6086
- * Region code for tenant context
6550
+ * 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").
6087
6551
  */
6088
- region: 'cn' | 'us' | 'de' | 'gb';
6552
+ region?: string;
6089
6553
  };
6090
- type DashboardControllerGetExpensesResponse = ExpensesByCategoryResponseDto;
6091
- type HoldingPnlControllerGetHoldingPnlData = {
6092
- /**
6093
- * Scope to a single account
6094
- */
6095
- accountId?: string;
6096
- /**
6097
- * As-of date (ISO 8601), defaults to today
6098
- */
6099
- asOf?: string;
6100
- /**
6101
- * Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
6102
- */
6103
- method?: 'FIFO' | 'average';
6554
+ type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6555
+ type PlatformControllerUpdateData = {
6104
6556
  /**
6105
- * Region code for tenant context
6557
+ * Platform ID
6106
6558
  */
6107
- region: 'cn' | 'us' | 'de' | 'gb';
6559
+ id: string;
6560
+ requestBody: UpdatePlatformDto;
6108
6561
  };
6109
- type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
6110
- type PriceControllerCreateData = {
6562
+ type PlatformControllerUpdateResponse = unknown;
6563
+ type PlatformControllerDeleteData = {
6111
6564
  /**
6112
- * Region code for tenant context
6565
+ * Platform ID
6113
6566
  */
6114
- region: 'cn' | 'us' | 'de' | 'gb';
6115
- requestBody: CreateBeanPriceDto;
6567
+ id: string;
6116
6568
  };
6117
- type PriceControllerCreateResponse = PriceResponseDto;
6118
- type PriceControllerFindAllData = {
6119
- /**
6120
- * Filter by currency (e.g., BTC, AAPL, USD)
6121
- */
6122
- currency?: string;
6123
- /**
6124
- * Filter prices from this date (ISO 8601 format)
6125
- */
6126
- dateFrom?: string;
6127
- /**
6128
- * Filter prices to this date (ISO 8601 format)
6129
- */
6130
- dateTo?: string;
6131
- /**
6132
- * Number of items per page (default: 20, max: 100)
6133
- */
6134
- limit?: number;
6135
- /**
6136
- * Page number for pagination (default: 1)
6137
- */
6138
- page?: number;
6569
+ type PlatformControllerDeleteResponse = void;
6570
+ type DashboardControllerGetNetWorthData = {
6139
6571
  /**
6140
- * Filter by quote currency (pricing currency, e.g., USD, CNY)
6572
+ * Date for balance calculation (ISO 8601 format)
6141
6573
  */
6142
- quoteCurrency?: string;
6574
+ date?: string;
6143
6575
  /**
6144
6576
  * Region code for tenant context
6145
6577
  */
6146
- region: 'cn' | 'us' | 'de' | 'gb';
6147
- /**
6148
- * Search term for currency or quoteCurrency (case-insensitive partial match)
6149
- */
6150
- search?: string;
6578
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6151
6579
  };
6152
- type PriceControllerFindAllResponse = PriceListResponseDto;
6153
- type PriceControllerFindOneData = {
6580
+ type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
6581
+ type DashboardControllerGetAccountsData = {
6154
6582
  /**
6155
- * Price ID
6583
+ * Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
6156
6584
  */
6157
- id: string;
6585
+ accountId?: string;
6158
6586
  /**
6159
- * Region code for tenant context
6587
+ * Date for balance calculation (ISO 8601 format)
6160
6588
  */
6161
- region: 'cn' | 'us' | 'de' | 'gb';
6162
- };
6163
- type PriceControllerFindOneResponse = PriceResponseDto;
6164
- type PriceControllerUpdateData = {
6589
+ date?: string;
6165
6590
  /**
6166
- * Price ID
6591
+ * Grouping strategy
6167
6592
  */
6168
- id: string;
6593
+ groupBy?: 'platform' | 'assetClass' | 'holdingAssetClass' | 'holdingAssetClassByAccount';
6169
6594
  /**
6170
6595
  * Region code for tenant context
6171
6596
  */
6172
- region: 'cn' | 'us' | 'de' | 'gb';
6173
- requestBody: UpdateBeanPriceDto;
6597
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6174
6598
  };
6175
- type PriceControllerUpdateResponse = PriceResponseDto;
6176
- type PriceControllerDeleteData = {
6599
+ type DashboardControllerGetAccountsResponse = AccountsResponseDto | AssetClassAccountsResponseDto | HoldingAssetClassCrossAccountResponseDto;
6600
+ type DashboardControllerGetCashFlowData = {
6177
6601
  /**
6178
- * Price ID
6602
+ * Period in YYYY-MM format
6179
6603
  */
6180
- id: string;
6604
+ period: string;
6181
6605
  /**
6182
6606
  * Region code for tenant context
6183
6607
  */
6184
- region: 'cn' | 'us' | 'de' | 'gb';
6608
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6185
6609
  };
6186
- type PriceControllerDeleteResponse = void;
6187
- type PriceControllerBulkCreateData = {
6610
+ type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
6611
+ type DashboardControllerGetExpensesData = {
6188
6612
  /**
6189
- * Region code for tenant context
6613
+ * Account root to aggregate (expense → ^Expenses:, income → ^Income:)
6190
6614
  */
6191
- region: 'cn' | 'us' | 'de' | 'gb';
6192
- requestBody: Array<string>;
6193
- };
6194
- type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6195
- type ReportingControllerGetPortfolioTrendsData = {
6615
+ flow?: 'expense' | 'income';
6196
6616
  /**
6197
- * Data granularity
6617
+ * Grouping strategy
6198
6618
  */
6199
- granularity?: 'day' | 'week' | 'month';
6619
+ groupBy?: 'category';
6200
6620
  /**
6201
- * Time period
6621
+ * Time window (1m = current calendar month)
6202
6622
  */
6203
6623
  period?: '1m' | '3m' | '6m' | '1y';
6204
6624
  /**
6205
6625
  * Region code for tenant context
6206
6626
  */
6207
- region: 'cn' | 'us' | 'de' | 'gb';
6627
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6208
6628
  };
6209
- type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
6210
- type ReportingControllerGetCashFlowTrendsData = {
6211
- /**
6212
- * Data granularity (accepted for API symmetry; v1 returns month buckets)
6213
- */
6214
- granularity?: 'day' | 'week' | 'month';
6215
- /**
6216
- * Time period
6217
- */
6218
- period?: '1m' | '3m' | '6m' | '1y';
6629
+ type DashboardControllerGetExpensesResponse = ExpensesByCategoryResponseDto;
6630
+ type HoldingPnlControllerGetHoldingPnlData = {
6219
6631
  /**
6220
- * Region code for tenant context
6632
+ * Scope to a single account
6221
6633
  */
6222
- region: 'cn' | 'us' | 'de' | 'gb';
6223
- };
6224
- type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6225
- type ReportingControllerGenerateSnapshotData = {
6634
+ accountId?: string;
6226
6635
  /**
6227
- * Region code for tenant context
6636
+ * As-of date (ISO 8601), defaults to today
6228
6637
  */
6229
- region: 'cn' | 'us' | 'de' | 'gb';
6638
+ asOf?: string;
6230
6639
  /**
6231
- * Optional date (defaults to today)
6640
+ * Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
6232
6641
  */
6233
- requestBody: GenerateSnapshotBody;
6234
- };
6235
- type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6236
- type ReportingControllerBackfillSnapshotsData = {
6642
+ method?: 'FIFO' | 'average';
6237
6643
  /**
6238
6644
  * Region code for tenant context
6239
6645
  */
6240
- region: 'cn' | 'us' | 'de' | 'gb';
6241
- requestBody: BackfillSnapshotsBody;
6646
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6242
6647
  };
6243
- type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
6648
+ type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
6244
6649
  type ApiKeysControllerCreateApiKeyResponse = unknown;
6245
6650
  type AuthControllerAccessTokenLoginData = {
6246
6651
  requestBody: AnonymousLoginDto;
6247
6652
  };
6248
- type AuthControllerAccessTokenLoginResponse = unknown;
6653
+ type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
6249
6654
  type CacheControllerFlushCacheResponse = unknown;
6250
6655
  type ExchangeRateControllerGetExchangeRateData = {
6251
6656
  /**
@@ -6272,6 +6677,29 @@ type HealthControllerResetCircuitBreakerData = {
6272
6677
  type HealthControllerResetCircuitBreakerResponse = unknown;
6273
6678
  type HealthControllerGetMetricsResponse = unknown;
6274
6679
  type InfoControllerGetInfoResponse = unknown;
6680
+ type SymbolControllerSearchData = {
6681
+ /**
6682
+ * Filter by OpenBB asset_type (e.g. stock, etf)
6683
+ */
6684
+ assetType?: string;
6685
+ /**
6686
+ * Filter by exchange code (e.g. US, HK, SS, SZ)
6687
+ */
6688
+ exchange?: string;
6689
+ /**
6690
+ * Maximum number of results (clamped 1..50)
6691
+ */
6692
+ limit?: number;
6693
+ /**
6694
+ * Search term — matched against symbol and instrument name. Empty string returns [].
6695
+ */
6696
+ q: string;
6697
+ };
6698
+ type SymbolControllerSearchResponse = Array<SymbolSearchResultDto>;
6699
+ type SymbolControllerGetQuoteData = {
6700
+ symbol: string;
6701
+ };
6702
+ type SymbolControllerGetQuoteResponse = SymbolQuoteDto;
6275
6703
  type $OpenApiTs = {
6276
6704
  '/api/v1/{region}/bean/accounts': {
6277
6705
  post: {
@@ -6336,7 +6764,7 @@ type $OpenApiTs = {
6336
6764
  */
6337
6765
  404: unknown;
6338
6766
  /**
6339
- * Account has transactions and cannot be deleted
6767
+ * Account has active transactions and cannot be deleted
6340
6768
  */
6341
6769
  409: unknown;
6342
6770
  };
@@ -6380,6 +6808,25 @@ type $OpenApiTs = {
6380
6808
  };
6381
6809
  };
6382
6810
  };
6811
+ '/api/v1/{region}/bean/accounts/{id}/opening-balance': {
6812
+ post: {
6813
+ req: AccountControllerAddOpeningBalanceData;
6814
+ res: {
6815
+ /**
6816
+ * Opening-balance transaction created
6817
+ */
6818
+ 201: OpeningBalanceResultDto;
6819
+ /**
6820
+ * Account not found
6821
+ */
6822
+ 404: unknown;
6823
+ /**
6824
+ * An opening balance already exists for this account
6825
+ */
6826
+ 409: unknown;
6827
+ };
6828
+ };
6829
+ };
6383
6830
  '/api/v1/{region}/bean/account-standards': {
6384
6831
  get: {
6385
6832
  req: AccountStandardsControllerGetTemplatesData;
@@ -6988,6 +7435,90 @@ type $OpenApiTs = {
6988
7435
  };
6989
7436
  };
6990
7437
  };
7438
+ '/api/v1/{region}/bean/prices': {
7439
+ post: {
7440
+ req: PriceControllerCreateData;
7441
+ res: {
7442
+ /**
7443
+ * Price created successfully
7444
+ */
7445
+ 201: PriceResponseDto;
7446
+ /**
7447
+ * Currency or quoteCurrency commodity not found
7448
+ */
7449
+ 404: unknown;
7450
+ /**
7451
+ * Price already exists for this currency pair and date
7452
+ */
7453
+ 409: unknown;
7454
+ };
7455
+ };
7456
+ get: {
7457
+ req: PriceControllerFindAllData;
7458
+ res: {
7459
+ /**
7460
+ * Prices retrieved successfully
7461
+ */
7462
+ 200: PriceListResponseDto;
7463
+ };
7464
+ };
7465
+ };
7466
+ '/api/v1/{region}/bean/prices/{id}': {
7467
+ get: {
7468
+ req: PriceControllerFindOneData;
7469
+ res: {
7470
+ /**
7471
+ * Price retrieved successfully
7472
+ */
7473
+ 200: PriceResponseDto;
7474
+ /**
7475
+ * Price not found
7476
+ */
7477
+ 404: unknown;
7478
+ };
7479
+ };
7480
+ put: {
7481
+ req: PriceControllerUpdateData;
7482
+ res: {
7483
+ /**
7484
+ * Price updated successfully
7485
+ */
7486
+ 200: PriceResponseDto;
7487
+ /**
7488
+ * Price not found
7489
+ */
7490
+ 404: unknown;
7491
+ /**
7492
+ * Updated price conflicts with existing price
7493
+ */
7494
+ 409: unknown;
7495
+ };
7496
+ };
7497
+ delete: {
7498
+ req: PriceControllerDeleteData;
7499
+ res: {
7500
+ /**
7501
+ * Price deleted successfully
7502
+ */
7503
+ 204: void;
7504
+ /**
7505
+ * Price not found
7506
+ */
7507
+ 404: unknown;
7508
+ };
7509
+ };
7510
+ };
7511
+ '/api/v1/{region}/bean/prices/bulk': {
7512
+ post: {
7513
+ req: PriceControllerBulkCreateData;
7514
+ res: {
7515
+ /**
7516
+ * Prices created successfully
7517
+ */
7518
+ 201: Array<PriceResponseDto>;
7519
+ };
7520
+ };
7521
+ };
6991
7522
  '/api/v1/{region}/bean/recurring-rules': {
6992
7523
  post: {
6993
7524
  req: RecurringRuleControllerCreateData;
@@ -7196,439 +7727,511 @@ type $OpenApiTs = {
7196
7727
  /**
7197
7728
  * Match removed successfully
7198
7729
  */
7199
- 200: unknown;
7730
+ 200: unknown;
7731
+ /**
7732
+ * Cannot unmatch - not in COMPLETED status
7733
+ */
7734
+ 400: unknown;
7735
+ /**
7736
+ * Expected transaction not found
7737
+ */
7738
+ 404: unknown;
7739
+ };
7740
+ };
7741
+ };
7742
+ '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7743
+ post: {
7744
+ req: ExpectedTransactionControllerEnterNowData;
7745
+ res: {
7746
+ /**
7747
+ * Transaction created successfully
7748
+ */
7749
+ 201: unknown;
7750
+ /**
7751
+ * Cannot enter - not in PENDING status or missing accounts
7752
+ */
7753
+ 400: unknown;
7754
+ /**
7755
+ * Expected transaction or accounts not found
7756
+ */
7757
+ 404: unknown;
7758
+ };
7759
+ };
7760
+ };
7761
+ '/api/v1/{region}/bean/recurring/forecast': {
7762
+ get: {
7763
+ req: ForecastControllerGetForecastData;
7764
+ res: {
7765
+ /**
7766
+ * Forecast retrieved successfully
7767
+ */
7768
+ 200: ForecastResponseDto;
7769
+ };
7770
+ };
7771
+ };
7772
+ '/api/v1/{region}/reporting/portfolio/trends': {
7773
+ get: {
7774
+ req: ReportingControllerGetPortfolioTrendsData;
7775
+ res: {
7776
+ /**
7777
+ * Trends retrieved successfully
7778
+ */
7779
+ 200: PortfolioTrendsResponseDto;
7780
+ /**
7781
+ * User not authenticated
7782
+ */
7783
+ 401: unknown;
7784
+ };
7785
+ };
7786
+ };
7787
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7788
+ get: {
7789
+ req: ReportingControllerGetCashFlowTrendsData;
7790
+ res: {
7791
+ /**
7792
+ * Cash-flow trends retrieved successfully
7793
+ */
7794
+ 200: CashFlowTrendsResponseDto;
7795
+ /**
7796
+ * User not authenticated
7797
+ */
7798
+ 401: unknown;
7799
+ };
7800
+ };
7801
+ };
7802
+ '/api/v1/{region}/reporting/snapshots/generate': {
7803
+ post: {
7804
+ req: ReportingControllerGenerateSnapshotData;
7805
+ res: {
7806
+ /**
7807
+ * Snapshot generated successfully
7808
+ */
7809
+ 200: GenerateSnapshotResponse;
7200
7810
  /**
7201
- * Cannot unmatch - not in COMPLETED status
7811
+ * Invalid date format
7202
7812
  */
7203
7813
  400: unknown;
7204
7814
  /**
7205
- * Expected transaction not found
7815
+ * User not authenticated
7206
7816
  */
7207
- 404: unknown;
7817
+ 401: unknown;
7208
7818
  };
7209
7819
  };
7210
7820
  };
7211
- '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7821
+ '/api/v1/{region}/reporting/snapshots/backfill': {
7212
7822
  post: {
7213
- req: ExpectedTransactionControllerEnterNowData;
7823
+ req: ReportingControllerBackfillSnapshotsData;
7214
7824
  res: {
7215
7825
  /**
7216
- * Transaction created successfully
7826
+ * Backfill completed successfully
7217
7827
  */
7218
- 201: unknown;
7828
+ 200: BackfillSnapshotsResponse;
7219
7829
  /**
7220
- * Cannot enter - not in PENDING status or missing accounts
7830
+ * Invalid date format or range
7221
7831
  */
7222
7832
  400: unknown;
7223
7833
  /**
7224
- * Expected transaction or accounts not found
7834
+ * User not authenticated
7225
7835
  */
7226
- 404: unknown;
7227
- };
7228
- };
7229
- };
7230
- '/api/v1/{region}/bean/recurring/forecast': {
7231
- get: {
7232
- req: ForecastControllerGetForecastData;
7233
- res: {
7836
+ 401: unknown;
7234
7837
  /**
7235
- * Forecast retrieved successfully
7838
+ * Backfill already in progress for this user
7236
7839
  */
7237
- 200: ForecastResponseDto;
7840
+ 409: unknown;
7238
7841
  };
7239
7842
  };
7240
7843
  };
7241
- '/api/v1/{region}/bean/transaction-rules': {
7242
- post: {
7243
- req: TransactionRuleControllerCreateData;
7844
+ '/api/v1/users': {
7845
+ delete: {
7846
+ req: UserControllerDeleteOwnUserData;
7244
7847
  res: {
7245
7848
  /**
7246
- * Rule updated successfully (upsert mode)
7247
- */
7248
- 200: TransactionRuleResponseDto;
7249
- /**
7250
- * Validation failed
7251
- */
7252
- 400: ApiProblemResponseDto;
7253
- /**
7254
- * Unauthorized
7849
+ * User deleted successfully
7255
7850
  */
7256
- 401: ApiProblemResponseDto;
7851
+ 204: void;
7257
7852
  /**
7258
- * Resource conflict - another process is updating this rule
7853
+ * Invalid access token
7259
7854
  */
7260
- 409: ApiProblemResponseDto;
7855
+ 403: unknown;
7261
7856
  };
7262
7857
  };
7263
7858
  get: {
7264
- req: TransactionRuleControllerListData;
7859
+ req: UserControllerGetUserData;
7265
7860
  res: {
7266
7861
  /**
7267
- * List of rules
7268
- */
7269
- 200: TransactionRuleListResponseDto;
7270
- /**
7271
- * Unauthorized
7862
+ * User retrieved successfully
7272
7863
  */
7273
- 401: ApiProblemResponseDto;
7864
+ 200: unknown;
7274
7865
  };
7275
7866
  };
7276
- };
7277
- '/api/v1/{region}/bean/transaction-rules/validate': {
7278
7867
  post: {
7279
- req: TransactionRuleControllerValidateData;
7868
+ req: UserControllerSignupUserData;
7280
7869
  res: {
7281
7870
  /**
7282
- * Validation result
7871
+ * User created successfully
7283
7872
  */
7284
- 200: ValidateRuleResponseDto;
7873
+ 201: SignupResponseDto;
7285
7874
  /**
7286
- * Validation failed
7875
+ * Invalid Turnstile token (when Turnstile is enabled)
7287
7876
  */
7288
- 400: ApiProblemResponseDto;
7877
+ 400: unknown;
7289
7878
  /**
7290
- * Unauthorized
7879
+ * User signup is disabled
7291
7880
  */
7292
- 401: ApiProblemResponseDto;
7881
+ 403: unknown;
7293
7882
  };
7294
7883
  };
7295
7884
  };
7296
- '/api/v1/{region}/bean/transaction-rules/bulk': {
7297
- post: {
7298
- req: TransactionRuleControllerBulkCreateData;
7885
+ '/api/v1/users/{id}': {
7886
+ delete: {
7887
+ req: UserControllerDeleteUserData;
7299
7888
  res: {
7300
7889
  /**
7301
- * Bulk create completed
7302
- */
7303
- 201: BulkCreateRulesResponseDto;
7304
- /**
7305
- * Invalid bulk create data
7890
+ * User deleted successfully
7306
7891
  */
7307
- 400: ApiProblemResponseDto;
7892
+ 204: void;
7308
7893
  /**
7309
- * Unauthorized
7894
+ * Cannot delete own account or insufficient permissions
7310
7895
  */
7311
- 401: ApiProblemResponseDto;
7896
+ 403: unknown;
7312
7897
  };
7313
7898
  };
7314
7899
  };
7315
- '/api/v1/{region}/bean/transaction-rules/export/{format}': {
7900
+ '/api/v1/users/{id}/info': {
7316
7901
  get: {
7317
- req: TransactionRuleControllerExportData;
7902
+ req: UserControllerGetUserInfoData;
7318
7903
  res: {
7319
7904
  /**
7320
- * Exported rules
7321
- */
7322
- 200: ExportRulesResponseDto;
7323
- /**
7324
- * Unsupported format
7905
+ * User info retrieved successfully
7325
7906
  */
7326
- 400: ApiProblemResponseDto;
7907
+ 200: unknown;
7327
7908
  /**
7328
- * Unauthorized
7909
+ * Cannot access other user info without admin permission
7329
7910
  */
7330
- 401: ApiProblemResponseDto;
7911
+ 403: unknown;
7331
7912
  };
7332
7913
  };
7333
7914
  };
7334
- '/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
7335
- get: {
7336
- req: TransactionRuleControllerGetStatisticsData;
7915
+ '/api/v1/users/setting': {
7916
+ put: {
7917
+ req: UserControllerUpdateUserSettingData;
7337
7918
  res: {
7338
7919
  /**
7339
- * Rule statistics
7920
+ * Settings updated successfully
7340
7921
  */
7341
- 200: RuleStatisticsResponseDto;
7922
+ 200: unknown;
7342
7923
  /**
7343
- * Unauthorized
7924
+ * Insufficient permissions
7344
7925
  */
7345
- 401: ApiProblemResponseDto;
7926
+ 403: unknown;
7346
7927
  };
7347
7928
  };
7348
7929
  };
7349
- '/api/v1/{region}/bean/transaction-rules/{ruleId}': {
7930
+ '/api/v1/users/settings-by-page': {
7350
7931
  get: {
7351
- req: TransactionRuleControllerGetDetailData;
7932
+ req: UserControllerGetAllUserSettingsByPageData;
7352
7933
  res: {
7353
7934
  /**
7354
- * Rule details
7355
- */
7356
- 200: TransactionRuleResponseDto;
7357
- /**
7358
- * Unauthorized
7359
- */
7360
- 401: ApiProblemResponseDto;
7361
- /**
7362
- * Forbidden - not owner of rule
7363
- */
7364
- 403: ApiProblemResponseDto;
7365
- /**
7366
- * Rule not found
7935
+ * Settings list retrieved successfully
7367
7936
  */
7368
- 404: ApiProblemResponseDto;
7937
+ 200: unknown;
7369
7938
  };
7370
7939
  };
7371
- put: {
7372
- req: TransactionRuleControllerUpdateData;
7940
+ };
7941
+ '/api/v1/users/asset-liability-summary': {
7942
+ get: {
7373
7943
  res: {
7374
7944
  /**
7375
- * Rule updated successfully
7945
+ * Summary retrieved successfully
7376
7946
  */
7377
- 200: TransactionRuleResponseDto;
7947
+ 200: unknown;
7948
+ };
7949
+ };
7950
+ };
7951
+ '/api/v1/admin/properties': {
7952
+ get: {
7953
+ res: {
7378
7954
  /**
7379
- * Validation failed
7955
+ * Properties retrieved successfully
7380
7956
  */
7381
- 400: ApiProblemResponseDto;
7957
+ 200: unknown;
7382
7958
  /**
7383
7959
  * Unauthorized
7384
7960
  */
7385
- 401: ApiProblemResponseDto;
7386
- /**
7387
- * Forbidden - not owner of rule
7388
- */
7389
- 403: ApiProblemResponseDto;
7390
- /**
7391
- * Rule not found
7392
- */
7393
- 404: ApiProblemResponseDto;
7961
+ 401: unknown;
7394
7962
  /**
7395
- * Resource conflict - rule is being modified by another process
7963
+ * Forbidden - insufficient permissions
7396
7964
  */
7397
- 409: ApiProblemResponseDto;
7965
+ 403: unknown;
7398
7966
  };
7399
7967
  };
7400
- delete: {
7401
- req: TransactionRuleControllerDeleteData;
7968
+ };
7969
+ '/api/v1/admin/properties/{key}': {
7970
+ get: {
7971
+ req: PropertyControllerGetByKeyData;
7402
7972
  res: {
7403
7973
  /**
7404
- * Rule deleted successfully
7974
+ * Property retrieved successfully
7405
7975
  */
7406
- 204: void;
7976
+ 200: unknown;
7407
7977
  /**
7408
7978
  * Unauthorized
7409
7979
  */
7410
- 401: ApiProblemResponseDto;
7411
- /**
7412
- * Forbidden - not owner of rule
7413
- */
7414
- 403: ApiProblemResponseDto;
7980
+ 401: unknown;
7415
7981
  /**
7416
- * Rule not found
7982
+ * Forbidden - insufficient permissions
7417
7983
  */
7418
- 404: ApiProblemResponseDto;
7984
+ 403: unknown;
7419
7985
  /**
7420
- * Resource conflict - rule is being modified by another process
7986
+ * Property not found
7421
7987
  */
7422
- 409: ApiProblemResponseDto;
7988
+ 404: unknown;
7423
7989
  };
7424
7990
  };
7425
- };
7426
- '/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
7427
- post: {
7428
- req: TransactionRuleControllerTestData;
7991
+ put: {
7992
+ req: PropertyControllerUpdateData;
7429
7993
  res: {
7430
7994
  /**
7431
- * Test result
7995
+ * Property updated successfully
7432
7996
  */
7433
- 200: TestRuleResponseDto;
7997
+ 200: unknown;
7434
7998
  /**
7435
7999
  * Unauthorized
7436
8000
  */
7437
- 401: ApiProblemResponseDto;
7438
- /**
7439
- * Forbidden - not owner of rule
7440
- */
7441
- 403: ApiProblemResponseDto;
8001
+ 401: unknown;
7442
8002
  /**
7443
- * Rule not found
8003
+ * Forbidden - insufficient permissions
7444
8004
  */
7445
- 404: ApiProblemResponseDto;
8005
+ 403: unknown;
7446
8006
  };
7447
8007
  };
7448
- };
7449
- '/api/v1/users': {
7450
8008
  delete: {
7451
- req: UserControllerDeleteOwnUserData;
8009
+ req: PropertyControllerDeleteData;
7452
8010
  res: {
7453
8011
  /**
7454
- * User deleted successfully
8012
+ * Property deleted successfully
7455
8013
  */
7456
8014
  204: void;
7457
8015
  /**
7458
- * Invalid access token
8016
+ * Unauthorized
8017
+ */
8018
+ 401: unknown;
8019
+ /**
8020
+ * Forbidden - insufficient permissions
7459
8021
  */
7460
8022
  403: unknown;
7461
- };
7462
- };
7463
- get: {
7464
- req: UserControllerGetUserData;
7465
- res: {
7466
8023
  /**
7467
- * User retrieved successfully
8024
+ * Property not found
7468
8025
  */
7469
- 200: unknown;
8026
+ 404: unknown;
7470
8027
  };
7471
8028
  };
8029
+ };
8030
+ '/api/v1/{region}/bean/transaction-rules': {
7472
8031
  post: {
7473
- req: UserControllerSignupUserData;
8032
+ req: TransactionRuleControllerCreateData;
7474
8033
  res: {
7475
8034
  /**
7476
- * User created successfully
8035
+ * Rule updated successfully (upsert mode)
8036
+ */
8037
+ 200: TransactionRuleResponseDto;
8038
+ /**
8039
+ * Validation failed
7477
8040
  */
7478
- 201: unknown;
8041
+ 400: ApiProblemResponseDto;
7479
8042
  /**
7480
- * Invalid Turnstile token (when Turnstile is enabled)
8043
+ * Unauthorized
7481
8044
  */
7482
- 400: unknown;
8045
+ 401: ApiProblemResponseDto;
7483
8046
  /**
7484
- * User signup is disabled
8047
+ * Resource conflict - another process is updating this rule
7485
8048
  */
7486
- 403: unknown;
8049
+ 409: ApiProblemResponseDto;
7487
8050
  };
7488
8051
  };
7489
- };
7490
- '/api/v1/users/{id}': {
7491
- delete: {
7492
- req: UserControllerDeleteUserData;
8052
+ get: {
8053
+ req: TransactionRuleControllerListData;
7493
8054
  res: {
7494
8055
  /**
7495
- * User deleted successfully
8056
+ * List of rules
7496
8057
  */
7497
- 204: void;
8058
+ 200: TransactionRuleListResponseDto;
7498
8059
  /**
7499
- * Cannot delete own account or insufficient permissions
8060
+ * Unauthorized
7500
8061
  */
7501
- 403: unknown;
8062
+ 401: ApiProblemResponseDto;
7502
8063
  };
7503
8064
  };
7504
8065
  };
7505
- '/api/v1/users/{id}/info': {
7506
- get: {
7507
- req: UserControllerGetUserInfoData;
8066
+ '/api/v1/{region}/bean/transaction-rules/validate': {
8067
+ post: {
8068
+ req: TransactionRuleControllerValidateData;
7508
8069
  res: {
7509
8070
  /**
7510
- * User info retrieved successfully
8071
+ * Validation result
7511
8072
  */
7512
- 200: unknown;
8073
+ 200: ValidateRuleResponseDto;
7513
8074
  /**
7514
- * Cannot access other user info without admin permission
8075
+ * Validation failed
7515
8076
  */
7516
- 403: unknown;
8077
+ 400: ApiProblemResponseDto;
8078
+ /**
8079
+ * Unauthorized
8080
+ */
8081
+ 401: ApiProblemResponseDto;
7517
8082
  };
7518
8083
  };
7519
8084
  };
7520
- '/api/v1/users/setting': {
7521
- put: {
7522
- req: UserControllerUpdateUserSettingData;
8085
+ '/api/v1/{region}/bean/transaction-rules/bulk': {
8086
+ post: {
8087
+ req: TransactionRuleControllerBulkCreateData;
7523
8088
  res: {
7524
8089
  /**
7525
- * Settings updated successfully
8090
+ * Bulk create completed
7526
8091
  */
7527
- 200: unknown;
8092
+ 201: BulkCreateRulesResponseDto;
7528
8093
  /**
7529
- * Insufficient permissions
8094
+ * Invalid bulk create data
7530
8095
  */
7531
- 403: unknown;
8096
+ 400: ApiProblemResponseDto;
8097
+ /**
8098
+ * Unauthorized
8099
+ */
8100
+ 401: ApiProblemResponseDto;
7532
8101
  };
7533
8102
  };
7534
8103
  };
7535
- '/api/v1/users/settings-by-page': {
8104
+ '/api/v1/{region}/bean/transaction-rules/export/{format}': {
7536
8105
  get: {
7537
- req: UserControllerGetAllUserSettingsByPageData;
8106
+ req: TransactionRuleControllerExportData;
7538
8107
  res: {
7539
8108
  /**
7540
- * Settings list retrieved successfully
8109
+ * Exported rules
7541
8110
  */
7542
- 200: unknown;
8111
+ 200: ExportRulesResponseDto;
8112
+ /**
8113
+ * Unsupported format
8114
+ */
8115
+ 400: ApiProblemResponseDto;
8116
+ /**
8117
+ * Unauthorized
8118
+ */
8119
+ 401: ApiProblemResponseDto;
7543
8120
  };
7544
8121
  };
7545
8122
  };
7546
- '/api/v1/users/asset-liability-summary': {
8123
+ '/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
7547
8124
  get: {
8125
+ req: TransactionRuleControllerGetStatisticsData;
7548
8126
  res: {
7549
8127
  /**
7550
- * Summary retrieved successfully
8128
+ * Rule statistics
7551
8129
  */
7552
- 200: unknown;
8130
+ 200: RuleStatisticsResponseDto;
8131
+ /**
8132
+ * Unauthorized
8133
+ */
8134
+ 401: ApiProblemResponseDto;
7553
8135
  };
7554
8136
  };
7555
8137
  };
7556
- '/api/v1/admin/properties': {
8138
+ '/api/v1/{region}/bean/transaction-rules/{ruleId}': {
7557
8139
  get: {
8140
+ req: TransactionRuleControllerGetDetailData;
7558
8141
  res: {
7559
8142
  /**
7560
- * Properties retrieved successfully
8143
+ * Rule details
7561
8144
  */
7562
- 200: unknown;
8145
+ 200: TransactionRuleResponseDto;
7563
8146
  /**
7564
8147
  * Unauthorized
7565
8148
  */
7566
- 401: unknown;
8149
+ 401: ApiProblemResponseDto;
7567
8150
  /**
7568
- * Forbidden - insufficient permissions
8151
+ * Forbidden - not owner of rule
7569
8152
  */
7570
- 403: unknown;
8153
+ 403: ApiProblemResponseDto;
8154
+ /**
8155
+ * Rule not found
8156
+ */
8157
+ 404: ApiProblemResponseDto;
7571
8158
  };
7572
8159
  };
7573
- };
7574
- '/api/v1/admin/properties/{key}': {
7575
- get: {
7576
- req: PropertyControllerGetByKeyData;
8160
+ put: {
8161
+ req: TransactionRuleControllerUpdateData;
7577
8162
  res: {
7578
8163
  /**
7579
- * Property retrieved successfully
8164
+ * Rule updated successfully
7580
8165
  */
7581
- 200: unknown;
8166
+ 200: TransactionRuleResponseDto;
8167
+ /**
8168
+ * Validation failed
8169
+ */
8170
+ 400: ApiProblemResponseDto;
7582
8171
  /**
7583
8172
  * Unauthorized
7584
8173
  */
7585
- 401: unknown;
8174
+ 401: ApiProblemResponseDto;
7586
8175
  /**
7587
- * Forbidden - insufficient permissions
8176
+ * Forbidden - not owner of rule
7588
8177
  */
7589
- 403: unknown;
8178
+ 403: ApiProblemResponseDto;
7590
8179
  /**
7591
- * Property not found
8180
+ * Rule not found
7592
8181
  */
7593
- 404: unknown;
8182
+ 404: ApiProblemResponseDto;
8183
+ /**
8184
+ * Resource conflict - rule is being modified by another process
8185
+ */
8186
+ 409: ApiProblemResponseDto;
7594
8187
  };
7595
8188
  };
7596
- put: {
7597
- req: PropertyControllerUpdateData;
8189
+ delete: {
8190
+ req: TransactionRuleControllerDeleteData;
7598
8191
  res: {
7599
8192
  /**
7600
- * Property updated successfully
8193
+ * Rule deleted successfully
7601
8194
  */
7602
- 200: unknown;
8195
+ 204: void;
7603
8196
  /**
7604
8197
  * Unauthorized
7605
8198
  */
7606
- 401: unknown;
8199
+ 401: ApiProblemResponseDto;
7607
8200
  /**
7608
- * Forbidden - insufficient permissions
8201
+ * Forbidden - not owner of rule
7609
8202
  */
7610
- 403: unknown;
8203
+ 403: ApiProblemResponseDto;
8204
+ /**
8205
+ * Rule not found
8206
+ */
8207
+ 404: ApiProblemResponseDto;
8208
+ /**
8209
+ * Resource conflict - rule is being modified by another process
8210
+ */
8211
+ 409: ApiProblemResponseDto;
7611
8212
  };
7612
8213
  };
7613
- delete: {
7614
- req: PropertyControllerDeleteData;
8214
+ };
8215
+ '/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
8216
+ post: {
8217
+ req: TransactionRuleControllerTestData;
7615
8218
  res: {
7616
8219
  /**
7617
- * Property deleted successfully
8220
+ * Test result
7618
8221
  */
7619
- 204: void;
8222
+ 200: TestRuleResponseDto;
7620
8223
  /**
7621
8224
  * Unauthorized
7622
8225
  */
7623
- 401: unknown;
8226
+ 401: ApiProblemResponseDto;
7624
8227
  /**
7625
- * Forbidden - insufficient permissions
8228
+ * Forbidden - not owner of rule
7626
8229
  */
7627
- 403: unknown;
8230
+ 403: ApiProblemResponseDto;
7628
8231
  /**
7629
- * Property not found
8232
+ * Rule not found
7630
8233
  */
7631
- 404: unknown;
8234
+ 404: ApiProblemResponseDto;
7632
8235
  };
7633
8236
  };
7634
8237
  };
@@ -7728,6 +8331,21 @@ type $OpenApiTs = {
7728
8331
  };
7729
8332
  };
7730
8333
  };
8334
+ '/api/v1/{region}/bean/onboarding': {
8335
+ post: {
8336
+ req: OnboardingControllerBootstrapData;
8337
+ res: {
8338
+ /**
8339
+ * Onboarding bootstrap result.
8340
+ */
8341
+ 201: unknown;
8342
+ /**
8343
+ * Invalid region/account path/duplicate paths.
8344
+ */
8345
+ 422: unknown;
8346
+ };
8347
+ };
8348
+ };
7731
8349
  '/api/v1/{region}/bean/reconciliations': {
7732
8350
  post: {
7733
8351
  req: ReconciliationControllerComputeData;
@@ -7934,83 +8552,11 @@ type $OpenApiTs = {
7934
8552
  /**
7935
8553
  * Configuration reset successfully
7936
8554
  */
7937
- 200: ImporterConfigDto;
7938
- /**
7939
- * Invalid input - Unsupported importer
7940
- */
7941
- 400: ApiProblemResponseDto;
7942
- };
7943
- };
7944
- };
7945
- '/api/v1/bean/platforms': {
7946
- get: {
7947
- res: {
7948
- /**
7949
- * List of platforms with binding and account counts
7950
- */
7951
- 200: unknown;
7952
- };
7953
- };
7954
- post: {
7955
- req: PlatformControllerCreateData;
7956
- res: {
7957
- /**
7958
- * Platform created successfully
7959
- */
7960
- 201: unknown;
7961
- /**
7962
- * Platform already exists
7963
- */
7964
- 409: unknown;
7965
- };
7966
- };
7967
- };
7968
- '/api/v1/bean/platforms/list': {
7969
- get: {
7970
- res: {
7971
- /**
7972
- * List of platforms with user binding status
7973
- */
7974
- 200: unknown;
7975
- };
7976
- };
7977
- };
7978
- '/api/v1/bean/platforms/match': {
7979
- get: {
7980
- req: PlatformControllerMatchPlatformsData;
7981
- res: {
7982
- /**
7983
- * List of matching platforms with suggested segment names
7984
- */
7985
- 200: unknown;
7986
- };
7987
- };
7988
- };
7989
- '/api/v1/bean/platforms/{id}': {
7990
- put: {
7991
- req: PlatformControllerUpdateData;
7992
- res: {
7993
- /**
7994
- * Platform updated successfully
7995
- */
7996
- 200: unknown;
7997
- /**
7998
- * Platform not found
7999
- */
8000
- 404: unknown;
8001
- };
8002
- };
8003
- delete: {
8004
- req: PlatformControllerDeleteData;
8005
- res: {
8006
- /**
8007
- * Platform deleted successfully
8008
- */
8009
- 204: void;
8555
+ 200: ImporterConfigDto;
8010
8556
  /**
8011
- * Platform not found
8557
+ * Invalid input - Unsupported importer
8012
8558
  */
8013
- 404: unknown;
8559
+ 400: ApiProblemResponseDto;
8014
8560
  };
8015
8561
  };
8016
8562
  };
@@ -8067,6 +8613,54 @@ type $OpenApiTs = {
8067
8613
  };
8068
8614
  };
8069
8615
  };
8616
+ '/api/v1/{region}/bean/external-account-links': {
8617
+ post: {
8618
+ req: ExternalAccountLinkControllerCreateData;
8619
+ res: {
8620
+ /**
8621
+ * Link created.
8622
+ */
8623
+ 201: ExternalAccountLinkResponseDto;
8624
+ /**
8625
+ * beanAccountId not owned, or an active link already exists.
8626
+ */
8627
+ 422: unknown;
8628
+ };
8629
+ };
8630
+ get: {
8631
+ req: ExternalAccountLinkControllerFindAllData;
8632
+ res: {
8633
+ /**
8634
+ * Links retrieved.
8635
+ */
8636
+ 200: ExternalAccountLinkListResponseDto;
8637
+ };
8638
+ };
8639
+ };
8640
+ '/api/v1/{region}/bean/external-account-links/{id}': {
8641
+ get: {
8642
+ req: ExternalAccountLinkControllerFindOneData;
8643
+ res: {
8644
+ /**
8645
+ * Link retrieved.
8646
+ */
8647
+ 200: ExternalAccountLinkResponseDto;
8648
+ /**
8649
+ * Link not found or not owned by the user.
8650
+ */
8651
+ 422: unknown;
8652
+ };
8653
+ };
8654
+ delete: {
8655
+ req: ExternalAccountLinkControllerRemoveData;
8656
+ res: {
8657
+ /**
8658
+ * Link soft-deleted; historical transactions are unaffected.
8659
+ */
8660
+ 204: void;
8661
+ };
8662
+ };
8663
+ };
8070
8664
  '/api/v1/{region}/bean/import/parser-telemetry': {
8071
8665
  post: {
8072
8666
  req: TelemetryControllerReportTelemetryData;
@@ -8155,185 +8749,102 @@ type $OpenApiTs = {
8155
8749
  };
8156
8750
  };
8157
8751
  };
8158
- '/api/v1/{region}/dashboard/net-worth': {
8159
- get: {
8160
- req: DashboardControllerGetNetWorthData;
8161
- res: {
8162
- /**
8163
- * Net worth retrieved successfully
8164
- */
8165
- 200: NetWorthResponseDto;
8166
- /**
8167
- * User not authenticated
8168
- */
8169
- 401: unknown;
8170
- };
8171
- };
8172
- };
8173
- '/api/v1/{region}/dashboard/accounts': {
8174
- get: {
8175
- req: DashboardControllerGetAccountsData;
8176
- res: {
8177
- /**
8178
- * Accounts retrieved successfully. Response type depends on groupBy parameter.
8179
- */
8180
- 200: AccountsResponseDto | AssetClassAccountsResponseDto | HoldingAssetClassCrossAccountResponseDto;
8181
- /**
8182
- * User not authenticated
8183
- */
8184
- 401: unknown;
8185
- };
8186
- };
8187
- };
8188
- '/api/v1/{region}/dashboard/cash-flow': {
8189
- get: {
8190
- req: DashboardControllerGetCashFlowData;
8191
- res: {
8192
- /**
8193
- * Cash flow retrieved successfully
8194
- */
8195
- 200: CashFlowResponseDto;
8196
- /**
8197
- * Invalid period format
8198
- */
8199
- 400: unknown;
8200
- /**
8201
- * User not authenticated
8202
- */
8203
- 401: unknown;
8204
- };
8205
- };
8206
- };
8207
- '/api/v1/{region}/dashboard/expenses': {
8208
- get: {
8209
- req: DashboardControllerGetExpensesData;
8210
- res: {
8211
- /**
8212
- * Expenses retrieved successfully
8213
- */
8214
- 200: ExpensesByCategoryResponseDto;
8215
- /**
8216
- * Invalid groupBy or period
8217
- */
8218
- 400: unknown;
8219
- /**
8220
- * User not authenticated
8221
- */
8222
- 401: unknown;
8223
- };
8224
- };
8225
- };
8226
- '/api/v1/{region}/investment/holdings/pnl': {
8752
+ '/api/v1/bean/platforms': {
8227
8753
  get: {
8228
- req: HoldingPnlControllerGetHoldingPnlData;
8229
8754
  res: {
8230
8755
  /**
8231
- * Holding P&L retrieved successfully
8232
- */
8233
- 200: HoldingPnlResponseDto;
8234
- /**
8235
- * Invalid asOf format/value/future date, invalid accountId format, or unsupported method
8236
- */
8237
- 400: unknown;
8238
- /**
8239
- * User not authenticated
8756
+ * List of platforms with binding and account counts
8240
8757
  */
8241
- 401: unknown;
8758
+ 200: unknown;
8242
8759
  };
8243
8760
  };
8244
- };
8245
- '/api/v1/{region}/bean/prices': {
8246
8761
  post: {
8247
- req: PriceControllerCreateData;
8762
+ req: PlatformControllerCreateData;
8248
8763
  res: {
8249
8764
  /**
8250
- * Price created successfully
8251
- */
8252
- 201: PriceResponseDto;
8253
- /**
8254
- * Currency or quoteCurrency commodity not found
8765
+ * Platform created successfully
8255
8766
  */
8256
- 404: unknown;
8767
+ 201: unknown;
8257
8768
  /**
8258
- * Price already exists for this currency pair and date
8769
+ * Platform already exists
8259
8770
  */
8260
8771
  409: unknown;
8261
8772
  };
8262
8773
  };
8774
+ };
8775
+ '/api/v1/bean/platforms/list': {
8263
8776
  get: {
8264
- req: PriceControllerFindAllData;
8777
+ req: PlatformControllerGetPlatformListData;
8265
8778
  res: {
8266
8779
  /**
8267
- * Prices retrieved successfully
8780
+ * List of platforms with user binding status
8268
8781
  */
8269
- 200: PriceListResponseDto;
8782
+ 200: Array<PlatformListItemDto>;
8270
8783
  };
8271
8784
  };
8272
8785
  };
8273
- '/api/v1/{region}/bean/prices/{id}': {
8786
+ '/api/v1/bean/platforms/match': {
8274
8787
  get: {
8275
- req: PriceControllerFindOneData;
8788
+ req: PlatformControllerMatchPlatformsData;
8276
8789
  res: {
8277
8790
  /**
8278
- * Price retrieved successfully
8279
- */
8280
- 200: PriceResponseDto;
8281
- /**
8282
- * Price not found
8791
+ * Matching platforms with overall match type and truncation flag
8283
8792
  */
8284
- 404: unknown;
8793
+ 200: PlatformMatchResponseDto;
8285
8794
  };
8286
8795
  };
8796
+ };
8797
+ '/api/v1/bean/platforms/{id}': {
8287
8798
  put: {
8288
- req: PriceControllerUpdateData;
8799
+ req: PlatformControllerUpdateData;
8289
8800
  res: {
8290
8801
  /**
8291
- * Price updated successfully
8802
+ * Platform updated successfully
8292
8803
  */
8293
- 200: PriceResponseDto;
8804
+ 200: unknown;
8294
8805
  /**
8295
- * Price not found
8806
+ * Platform not found
8296
8807
  */
8297
8808
  404: unknown;
8298
- /**
8299
- * Updated price conflicts with existing price
8300
- */
8301
- 409: unknown;
8302
8809
  };
8303
8810
  };
8304
8811
  delete: {
8305
- req: PriceControllerDeleteData;
8812
+ req: PlatformControllerDeleteData;
8306
8813
  res: {
8307
8814
  /**
8308
- * Price deleted successfully
8815
+ * Platform deleted successfully
8309
8816
  */
8310
8817
  204: void;
8311
8818
  /**
8312
- * Price not found
8819
+ * Platform not found
8313
8820
  */
8314
8821
  404: unknown;
8315
8822
  };
8316
8823
  };
8317
8824
  };
8318
- '/api/v1/{region}/bean/prices/bulk': {
8319
- post: {
8320
- req: PriceControllerBulkCreateData;
8825
+ '/api/v1/{region}/dashboard/net-worth': {
8826
+ get: {
8827
+ req: DashboardControllerGetNetWorthData;
8321
8828
  res: {
8322
8829
  /**
8323
- * Prices created successfully
8830
+ * Net worth retrieved successfully
8324
8831
  */
8325
- 201: Array<PriceResponseDto>;
8832
+ 200: NetWorthResponseDto;
8833
+ /**
8834
+ * User not authenticated
8835
+ */
8836
+ 401: unknown;
8326
8837
  };
8327
8838
  };
8328
8839
  };
8329
- '/api/v1/{region}/reporting/portfolio/trends': {
8840
+ '/api/v1/{region}/dashboard/accounts': {
8330
8841
  get: {
8331
- req: ReportingControllerGetPortfolioTrendsData;
8842
+ req: DashboardControllerGetAccountsData;
8332
8843
  res: {
8333
8844
  /**
8334
- * Trends retrieved successfully
8845
+ * Accounts retrieved successfully. Response type depends on groupBy parameter.
8335
8846
  */
8336
- 200: PortfolioTrendsResponseDto;
8847
+ 200: AccountsResponseDto | AssetClassAccountsResponseDto | HoldingAssetClassCrossAccountResponseDto;
8337
8848
  /**
8338
8849
  * User not authenticated
8339
8850
  */
@@ -8341,14 +8852,18 @@ type $OpenApiTs = {
8341
8852
  };
8342
8853
  };
8343
8854
  };
8344
- '/api/v1/{region}/reporting/cash-flow/trends': {
8855
+ '/api/v1/{region}/dashboard/cash-flow': {
8345
8856
  get: {
8346
- req: ReportingControllerGetCashFlowTrendsData;
8857
+ req: DashboardControllerGetCashFlowData;
8347
8858
  res: {
8348
8859
  /**
8349
- * Cash-flow trends retrieved successfully
8860
+ * Cash flow retrieved successfully
8350
8861
  */
8351
- 200: CashFlowTrendsResponseDto;
8862
+ 200: CashFlowResponseDto;
8863
+ /**
8864
+ * Invalid period format
8865
+ */
8866
+ 400: unknown;
8352
8867
  /**
8353
8868
  * User not authenticated
8354
8869
  */
@@ -8356,16 +8871,16 @@ type $OpenApiTs = {
8356
8871
  };
8357
8872
  };
8358
8873
  };
8359
- '/api/v1/{region}/reporting/snapshots/generate': {
8360
- post: {
8361
- req: ReportingControllerGenerateSnapshotData;
8874
+ '/api/v1/{region}/dashboard/expenses': {
8875
+ get: {
8876
+ req: DashboardControllerGetExpensesData;
8362
8877
  res: {
8363
8878
  /**
8364
- * Snapshot generated successfully
8879
+ * Expenses retrieved successfully
8365
8880
  */
8366
- 200: GenerateSnapshotResponse;
8881
+ 200: ExpensesByCategoryResponseDto;
8367
8882
  /**
8368
- * Invalid date format
8883
+ * Invalid groupBy or period
8369
8884
  */
8370
8885
  400: unknown;
8371
8886
  /**
@@ -8375,26 +8890,22 @@ type $OpenApiTs = {
8375
8890
  };
8376
8891
  };
8377
8892
  };
8378
- '/api/v1/{region}/reporting/snapshots/backfill': {
8379
- post: {
8380
- req: ReportingControllerBackfillSnapshotsData;
8893
+ '/api/v1/{region}/investment/holdings/pnl': {
8894
+ get: {
8895
+ req: HoldingPnlControllerGetHoldingPnlData;
8381
8896
  res: {
8382
8897
  /**
8383
- * Backfill completed successfully
8898
+ * Holding P&L retrieved successfully
8384
8899
  */
8385
- 200: BackfillSnapshotsResponse;
8900
+ 200: HoldingPnlResponseDto;
8386
8901
  /**
8387
- * Invalid date format or range
8902
+ * Invalid asOf format/value/future date, invalid accountId format, or unsupported method
8388
8903
  */
8389
8904
  400: unknown;
8390
8905
  /**
8391
8906
  * User not authenticated
8392
8907
  */
8393
8908
  401: unknown;
8394
- /**
8395
- * Backfill already in progress for this user
8396
- */
8397
- 409: unknown;
8398
8909
  };
8399
8910
  };
8400
8911
  };
@@ -8419,7 +8930,7 @@ type $OpenApiTs = {
8419
8930
  /**
8420
8931
  * Login successful
8421
8932
  */
8422
- 200: unknown;
8933
+ 200: AnonymousLoginResponseDto;
8423
8934
  /**
8424
8935
  * Invalid access token
8425
8936
  */
@@ -8566,6 +9077,32 @@ type $OpenApiTs = {
8566
9077
  };
8567
9078
  };
8568
9079
  };
9080
+ '/api/v1/market/symbols/search': {
9081
+ get: {
9082
+ req: SymbolControllerSearchData;
9083
+ res: {
9084
+ /**
9085
+ * Ranked search results
9086
+ */
9087
+ 200: Array<SymbolSearchResultDto>;
9088
+ };
9089
+ };
9090
+ };
9091
+ '/api/v1/market/symbols/{symbol}/quote': {
9092
+ get: {
9093
+ req: SymbolControllerGetQuoteData;
9094
+ res: {
9095
+ /**
9096
+ * Symbol quote
9097
+ */
9098
+ 200: SymbolQuoteDto;
9099
+ /**
9100
+ * Symbol not found in the openbb catalog
9101
+ */
9102
+ 404: unknown;
9103
+ };
9104
+ };
9105
+ };
8569
9106
  };
8570
9107
 
8571
9108
  declare class BeanAccountsService {
@@ -8587,7 +9124,7 @@ declare class BeanAccountsService {
8587
9124
  * @param data.type Filter by account type
8588
9125
  * @param data.status Filter by status
8589
9126
  * @param data.isCustom Filter by custom (user-created) accounts only
8590
- * @param data.search Search term for path or i18nKey
9127
+ * @param data.search Search term for account path
8591
9128
  * @param data.limit Maximum number of results
8592
9129
  * @param data.offset Number of results to skip
8593
9130
  * @returns AccountListResponseDto Accounts retrieved successfully
@@ -8617,7 +9154,7 @@ declare class BeanAccountsService {
8617
9154
  static accountControllerUpdate(data: AccountControllerUpdateData): CancelablePromise<AccountControllerUpdateResponse>;
8618
9155
  /**
8619
9156
  * Delete account
8620
- * Deletes an account (only if no transactions)
9157
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
8621
9158
  * @param data The data for the request.
8622
9159
  * @param data.id Account UUID
8623
9160
  * @param data.region Region code for tenant context
@@ -8647,6 +9184,17 @@ declare class BeanAccountsService {
8647
9184
  * @throws ApiError
8648
9185
  */
8649
9186
  static accountControllerReopen(data: AccountControllerReopenData): CancelablePromise<AccountControllerReopenResponse>;
9187
+ /**
9188
+ * Post an opening-balance transaction
9189
+ * Posts a double-entry opening-balance transaction against Equity:Opening-Balances for an existing Assets/Liabilities account. At most one active opening balance per account.
9190
+ * @param data The data for the request.
9191
+ * @param data.id Account UUID
9192
+ * @param data.region Region code for tenant context
9193
+ * @param data.requestBody
9194
+ * @returns OpeningBalanceResultDto Opening-balance transaction created
9195
+ * @throws ApiError
9196
+ */
9197
+ static accountControllerAddOpeningBalance(data: AccountControllerAddOpeningBalanceData): CancelablePromise<AccountControllerAddOpeningBalanceResponse>;
8650
9198
  }
8651
9199
  declare class BeanTransactionsService {
8652
9200
  /**
@@ -8748,7 +9296,7 @@ declare class BeanBalancesService {
8748
9296
  * Query account balance
8749
9297
  * Calculate account balance at a specific date for a single currency
8750
9298
  * @param data The data for the request.
8751
- * @param data.account Account name (e.g., "Assets:Bank:Checking")
9299
+ * @param data.account Account name (e.g., "Assets:Checking")
8752
9300
  * @param data.region Region code for tenant context
8753
9301
  * @param data.date Date to calculate balance at (ISO 8601 format)
8754
9302
  * @param data.currency Currency to query (e.g., "USD", "CNY")
@@ -8978,4 +9526,4 @@ type OpenAPIConfig = {
8978
9526
  };
8979
9527
  declare const OpenAPI: OpenAPIConfig;
8980
9528
 
8981
- export { type $OpenApiTs, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsData, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplateMetadataData, type AccountStandardsControllerGetTemplateMetadataResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type ActualBalanceDto, type AmountDto, type AmountRangeDto, type AnonymousLoginDto, type ApiKeysControllerCreateApiKeyResponse, type ApiProblemResponseDto, type AssertReconciliationDto, type AssetClassAccountsResponseDto, type AssetClassGroupDto, type AssetClassSummaryDto, type AuthControllerAccessTokenLoginData, type AuthControllerAccessTokenLoginResponse, type BackfillSnapshotsBody, type BackfillSnapshotsResponse, type BalanceByCurrencyDto, type BalanceControllerGetBalanceData, type BalanceControllerGetBalanceResponse, type BalanceControllerGetMultiCurrencyBalanceData, type BalanceControllerGetMultiCurrencyBalanceResponse, type BalanceResponseDto, type BatchCreateTransactionDto, type BatchResolveDto, type BatchResolveResultDto, type BatchTransactionErrorDto, type BatchTransactionResponseDto, BeanAccountsService, BeanBalancesService, BeanCommoditiesService, BeanTransactionsService, type BulkCreateRulesDto, type BulkCreateRulesResponseDto, type CacheControllerFlushCacheResponse, type CashFlowByCurrencyDto, type CashFlowPointDto, type CashFlowResponseDto, type CashFlowTrendSummaryDto, type CashFlowTrendsResponseDto, type CategoryGroupDto, type CloseAccountDto, type CommodityControllerBulkCreateData, type CommodityControllerBulkCreateResponse, type CommodityControllerCreateData, type CommodityControllerCreateResponse, type CommodityControllerDeleteData, type CommodityControllerDeleteResponse, type CommodityControllerFindAllData, type CommodityControllerFindAllResponse, type CommodityControllerFindOneData, type CommodityControllerFindOneResponse, type CommodityControllerGetOrCreateData, type CommodityControllerGetOrCreateResponse, type CommodityControllerUpdateData, type CommodityControllerUpdateResponse, type CommodityListResponseDto, type CommodityResponseDto, type ComputeReconciliationDto, type ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CostDetailDto, type CostSpecDto, type CreateAccountDto, type CreateBeanEventDto, type CreateBeanPriceDto, type CreateCommodityDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type CurrentPriceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetExpensesData, type DashboardControllerGetExpensesResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, type EventControllerCreateData, type EventControllerCreateResponse, type EventControllerDeleteData, type EventControllerDeleteResponse, type EventControllerFindAllData, type EventControllerFindAllResponse, type EventControllerFindOneData, type EventControllerFindOneResponse, type EventControllerGetSliceData, type EventControllerGetSliceResponse, type EventControllerUpdateData, type EventControllerUpdateResponse, type EventListResponseDto, type EventResponseDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionControllerConfirmMatchData, type ExpectedTransactionControllerConfirmMatchResponse, type ExpectedTransactionControllerEnterNowData, type ExpectedTransactionControllerEnterNowResponse, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerSkipData, type ExpectedTransactionControllerSkipResponse, type ExpectedTransactionControllerUndoSkipData, type ExpectedTransactionControllerUndoSkipResponse, type ExpectedTransactionControllerUnmatchData, type ExpectedTransactionControllerUnmatchResponse, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExpensesByCategoryResponseDto, type ExpensesByCategorySummaryDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, OpenAPI, type OpenAPIConfig, type PadReconciliationDto, type PadResultDto, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerCreateData, type PayeeControllerCreateResponse, type PayeeControllerDeleteData, type PayeeControllerDeleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerUpdateData, type PayeeControllerUpdateResponse, type PayeeListResponseDto, type PayeeProfileAdminControllerCreateData, type PayeeProfileAdminControllerCreateResponse, type PayeeProfileAdminControllerDeleteData, type PayeeProfileAdminControllerDeleteResponse, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerUnverifyData, type PayeeProfileAdminControllerUnverifyResponse, type PayeeProfileAdminControllerUpdateData, type PayeeProfileAdminControllerUpdateResponse, type PayeeProfileAdminControllerVerifyData, type PayeeProfileAdminControllerVerifyResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformControllerCreateData, type PlatformControllerCreateResponse, type PlatformControllerDeleteData, type PlatformControllerDeleteResponse, type PlatformControllerFindAllResponse, type PlatformControllerGetPlatformListResponse, type PlatformControllerMatchPlatformsData, type PlatformControllerMatchPlatformsResponse, type PlatformControllerUpdateData, type PlatformControllerUpdateResponse, type PlatformGroupDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type PriceControllerBulkCreateData, type PriceControllerBulkCreateResponse, type PriceControllerCreateData, type PriceControllerCreateResponse, type PriceControllerDeleteData, type PriceControllerDeleteResponse, type PriceControllerFindAllData, type PriceControllerFindAllResponse, type PriceControllerFindOneData, type PriceControllerFindOneResponse, type PriceControllerUpdateData, type PriceControllerUpdateResponse, type PriceListResponseDto, type PriceResponseDto, type ProcessNlpDto, type PropertyControllerDeleteData, type PropertyControllerDeleteResponse, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerUpdateData, type PropertyControllerUpdateResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersData, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type ReconciliationComputeResultDto, type ReconciliationControllerAssertData, type ReconciliationControllerAssertResponse, type ReconciliationControllerComputeData, type ReconciliationControllerComputeResponse, type ReconciliationControllerHistoryData, type ReconciliationControllerHistoryResponse, type ReconciliationControllerPadData, type ReconciliationControllerPadResponse, type ReconciliationRecordDto, type RecurringMatchInfoDto, type RecurringRuleControllerCreateData, type RecurringRuleControllerCreateFromTransactionData, type RecurringRuleControllerCreateFromTransactionResponse, type RecurringRuleControllerCreateResponse, type RecurringRuleControllerDeleteData, type RecurringRuleControllerDeleteResponse, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerUpdateData, type RecurringRuleControllerUpdateResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetCashFlowTrendsData, type ReportingControllerGetCashFlowTrendsResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ResolveResultDto, type ResolveReviewDto, type ReviewControllerBatchResolveData, type ReviewControllerBatchResolveResponse, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResolveData, type ReviewControllerResolveResponse, type ReviewControllerUndoData, type ReviewControllerUndoResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type SupportedProvidersResponseDto, type TagSuggestionDto, type TagSuggestionsResponseDto, type TelemetryControllerGetCoverageMetricsData, type TelemetryControllerGetCoverageMetricsResponse, type TelemetryControllerReportCoverageMissData, type TelemetryControllerReportCoverageMissResponse, type TelemetryControllerReportTelemetryData, type TelemetryControllerReportTelemetryResponse, type TemplateMetadataDto, type TemplateMetadataResponseDto, type TestRuleDto, type TestRuleResponseDto, type TimeSeriesPointDto, type TransactionControllerCorrectData, type TransactionControllerCorrectResponse, type TransactionControllerCreateBatchData, type TransactionControllerCreateBatchResponse, type TransactionControllerCreateData, type TransactionControllerCreateResponse, type TransactionControllerDeleteData, type TransactionControllerDeleteResponse, type TransactionControllerGetDetailData, type TransactionControllerGetDetailResponse, type TransactionControllerListData, type TransactionControllerListResponse, type TransactionControllerSuggestTagsData, type TransactionControllerSuggestTagsResponse, type TransactionControllerUpdateData, type TransactionControllerUpdateResponse, type TransactionDetailDto, type TransactionListResponseDto, type TransactionListSummaryDto, type TransactionResponseDto, type TransactionRuleControllerBulkCreateData, type TransactionRuleControllerBulkCreateResponse, type TransactionRuleControllerCreateData, type TransactionRuleControllerCreateResponse, type TransactionRuleControllerDeleteData, type TransactionRuleControllerDeleteResponse, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerUpdateData, type TransactionRuleControllerUpdateResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UncoveredFormatMissDto, type UndoResultDto, type UpdateAccountDto, type UpdateBeanEventDto, type UpdateBeanPriceDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type action2, type assetClass, type assetSubType, type bookingMethod, type branchType, type category, type chartToken, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type method, type mode, type paymentSource, type period, type source, type source2, type source3, type status, type status2, type status3, type status4, type suggestedAction, type suggestedFrequency, type type, type type2, type type3, type type4, type value, type viewMode };
9529
+ export { type $OpenApiTs, type AccountControllerAddOpeningBalanceData, type AccountControllerAddOpeningBalanceResponse, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsData, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplateMetadataData, type AccountStandardsControllerGetTemplateMetadataResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type ActualBalanceDto, type AmountDto, type AmountRangeDto, type AnonymousLoginDto, type AnonymousLoginResponseDto, type ApiKeysControllerCreateApiKeyResponse, type ApiProblemResponseDto, type AssertReconciliationDto, type AssetClassAccountsResponseDto, type AssetClassGroupDto, type AssetClassSummaryDto, type AuthControllerAccessTokenLoginData, type AuthControllerAccessTokenLoginResponse, type BackfillSnapshotsBody, type BackfillSnapshotsResponse, type BalanceByCurrencyDto, type BalanceControllerGetBalanceData, type BalanceControllerGetBalanceResponse, type BalanceControllerGetMultiCurrencyBalanceData, type BalanceControllerGetMultiCurrencyBalanceResponse, type BalanceResponseDto, type BatchCreateTransactionDto, type BatchResolveDto, type BatchResolveResultDto, type BatchTransactionErrorDto, type BatchTransactionResponseDto, BeanAccountsService, BeanBalancesService, BeanCommoditiesService, BeanTransactionsService, type BulkCreateRulesDto, type BulkCreateRulesResponseDto, type CacheControllerFlushCacheResponse, type CashFlowByCurrencyDto, type CashFlowPointDto, type CashFlowResponseDto, type CashFlowTrendSummaryDto, type CashFlowTrendsResponseDto, type CategoryGroupDto, type CloseAccountDto, type CommodityControllerBulkCreateData, type CommodityControllerBulkCreateResponse, type CommodityControllerCreateData, type CommodityControllerCreateResponse, type CommodityControllerDeleteData, type CommodityControllerDeleteResponse, type CommodityControllerFindAllData, type CommodityControllerFindAllResponse, type CommodityControllerFindOneData, type CommodityControllerFindOneResponse, type CommodityControllerGetOrCreateData, type CommodityControllerGetOrCreateResponse, type CommodityControllerUpdateData, type CommodityControllerUpdateResponse, type CommodityListResponseDto, type CommodityResponseDto, type ComputeReconciliationDto, type ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CostDetailDto, type CostSpecDto, type CreateAccountDto, type CreateBeanEventDto, type CreateBeanPriceDto, type CreateCommodityDto, type CreateExternalAccountLinkDto, type CreateOpeningBalanceDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type CurrentPriceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetExpensesData, type DashboardControllerGetExpensesResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, type EventControllerCreateData, type EventControllerCreateResponse, type EventControllerDeleteData, type EventControllerDeleteResponse, type EventControllerFindAllData, type EventControllerFindAllResponse, type EventControllerFindOneData, type EventControllerFindOneResponse, type EventControllerGetSliceData, type EventControllerGetSliceResponse, type EventControllerUpdateData, type EventControllerUpdateResponse, type EventListResponseDto, type EventResponseDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionControllerConfirmMatchData, type ExpectedTransactionControllerConfirmMatchResponse, type ExpectedTransactionControllerEnterNowData, type ExpectedTransactionControllerEnterNowResponse, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerSkipData, type ExpectedTransactionControllerSkipResponse, type ExpectedTransactionControllerUndoSkipData, type ExpectedTransactionControllerUndoSkipResponse, type ExpectedTransactionControllerUnmatchData, type ExpectedTransactionControllerUnmatchResponse, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExpensesByCategoryResponseDto, type ExpensesByCategorySummaryDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type ExternalAccountLinkControllerCreateData, type ExternalAccountLinkControllerCreateResponse, type ExternalAccountLinkControllerFindAllData, type ExternalAccountLinkControllerFindAllResponse, type ExternalAccountLinkControllerFindOneData, type ExternalAccountLinkControllerFindOneResponse, type ExternalAccountLinkControllerRemoveData, type ExternalAccountLinkControllerRemoveResponse, type ExternalAccountLinkListResponseDto, type ExternalAccountLinkResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, type OnboardingAccountDto, type OnboardingControllerBootstrapData, type OnboardingControllerBootstrapResponse, type OnboardingDto, OpenAPI, type OpenAPIConfig, type OpeningBalanceResultDto, type PadReconciliationDto, type PadResultDto, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerCreateData, type PayeeControllerCreateResponse, type PayeeControllerDeleteData, type PayeeControllerDeleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerUpdateData, type PayeeControllerUpdateResponse, type PayeeListResponseDto, type PayeeProfileAdminControllerCreateData, type PayeeProfileAdminControllerCreateResponse, type PayeeProfileAdminControllerDeleteData, type PayeeProfileAdminControllerDeleteResponse, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerUnverifyData, type PayeeProfileAdminControllerUnverifyResponse, type PayeeProfileAdminControllerUpdateData, type PayeeProfileAdminControllerUpdateResponse, type PayeeProfileAdminControllerVerifyData, type PayeeProfileAdminControllerVerifyResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformControllerCreateData, type PlatformControllerCreateResponse, type PlatformControllerDeleteData, type PlatformControllerDeleteResponse, type PlatformControllerFindAllResponse, type PlatformControllerGetPlatformListData, type PlatformControllerGetPlatformListResponse, type PlatformControllerMatchPlatformsData, type PlatformControllerMatchPlatformsResponse, type PlatformControllerUpdateData, type PlatformControllerUpdateResponse, type PlatformGroupDto, type PlatformListItemDto, type PlatformMatchResponseDto, type PlatformMatchResultDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type PriceControllerBulkCreateData, type PriceControllerBulkCreateResponse, type PriceControllerCreateData, type PriceControllerCreateResponse, type PriceControllerDeleteData, type PriceControllerDeleteResponse, type PriceControllerFindAllData, type PriceControllerFindAllResponse, type PriceControllerFindOneData, type PriceControllerFindOneResponse, type PriceControllerUpdateData, type PriceControllerUpdateResponse, type PriceListResponseDto, type PriceResponseDto, type ProcessNlpDto, type PropertyControllerDeleteData, type PropertyControllerDeleteResponse, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerUpdateData, type PropertyControllerUpdateResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersData, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type ReconciliationComputeResultDto, type ReconciliationControllerAssertData, type ReconciliationControllerAssertResponse, type ReconciliationControllerComputeData, type ReconciliationControllerComputeResponse, type ReconciliationControllerHistoryData, type ReconciliationControllerHistoryResponse, type ReconciliationControllerPadData, type ReconciliationControllerPadResponse, type ReconciliationRecordDto, type RecurringMatchInfoDto, type RecurringRuleControllerCreateData, type RecurringRuleControllerCreateFromTransactionData, type RecurringRuleControllerCreateFromTransactionResponse, type RecurringRuleControllerCreateResponse, type RecurringRuleControllerDeleteData, type RecurringRuleControllerDeleteResponse, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerUpdateData, type RecurringRuleControllerUpdateResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetCashFlowTrendsData, type ReportingControllerGetCashFlowTrendsResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ResolveResultDto, type ResolveReviewDto, type ReviewControllerBatchResolveData, type ReviewControllerBatchResolveResponse, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResolveData, type ReviewControllerResolveResponse, type ReviewControllerUndoData, type ReviewControllerUndoResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type SignupResponseDto, type SupportedProvidersResponseDto, type SymbolControllerGetQuoteData, type SymbolControllerGetQuoteResponse, type SymbolControllerSearchData, type SymbolControllerSearchResponse, type SymbolQuoteDto, type SymbolSearchResultDto, type TagSuggestionDto, type TagSuggestionsResponseDto, type TelemetryControllerGetCoverageMetricsData, type TelemetryControllerGetCoverageMetricsResponse, type TelemetryControllerReportCoverageMissData, type TelemetryControllerReportCoverageMissResponse, type TelemetryControllerReportTelemetryData, type TelemetryControllerReportTelemetryResponse, type TemplateMetadataDto, type TemplateMetadataResponseDto, type TestRuleDto, type TestRuleResponseDto, type TimeSeriesPointDto, type TransactionControllerCorrectData, type TransactionControllerCorrectResponse, type TransactionControllerCreateBatchData, type TransactionControllerCreateBatchResponse, type TransactionControllerCreateData, type TransactionControllerCreateResponse, type TransactionControllerDeleteData, type TransactionControllerDeleteResponse, type TransactionControllerGetDetailData, type TransactionControllerGetDetailResponse, type TransactionControllerListData, type TransactionControllerListResponse, type TransactionControllerSuggestTagsData, type TransactionControllerSuggestTagsResponse, type TransactionControllerUpdateData, type TransactionControllerUpdateResponse, type TransactionDetailDto, type TransactionListResponseDto, type TransactionListSummaryDto, type TransactionResponseDto, type TransactionRuleControllerBulkCreateData, type TransactionRuleControllerBulkCreateResponse, type TransactionRuleControllerCreateData, type TransactionRuleControllerCreateResponse, type TransactionRuleControllerDeleteData, type TransactionRuleControllerDeleteResponse, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerUpdateData, type TransactionRuleControllerUpdateResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UncoveredFormatMissDto, type UndoResultDto, type UpdateAccountDto, type UpdateBeanEventDto, type UpdateBeanPriceDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type action2, type assetClass, type assetSubClass, type assetSubType, type bookingMethod, type branchType, type category, type chartToken, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type matchType, type matchType2, type method, type mode, type paymentSource, type period, type productCategory, type provider, type role, type source, type source2, type source3, type status, type status2, type status3, type status4, type suggestedAction, type suggestedFrequency, type type, type type2, type type3, type type4, type value, type viewMode };