@firela/api-types 0.0.0-canary.505aa62c → 0.0.0-canary.512e6382

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
@@ -78,6 +78,10 @@ type AccountResponseDto = {
78
78
  * Account type (root segment)
79
79
  */
80
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;
81
85
  /**
82
86
  * Account status
83
87
  */
@@ -145,6 +149,10 @@ type AccountResponseDto = {
145
149
  * Account type (root segment)
146
150
  */
147
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';
148
156
  /**
149
157
  * Account status
150
158
  */
@@ -246,7 +254,27 @@ type AccountStandardResponseDto = {
246
254
  * Icon identifier for UI display
247
255
  */
248
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;
249
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';
250
278
  type AccountStandardListResponseDto = {
251
279
  /**
252
280
  * Array of account templates
@@ -2375,371 +2403,213 @@ type ForecastResponseDto = {
2375
2403
  */
2376
2404
  periodEnd: string;
2377
2405
  };
2378
- type CreateTransactionRuleDto = {
2379
- name: string;
2380
- description?: string;
2381
- narrationKeywords?: Array<unknown[]>;
2382
- payeeKeywords?: Array<unknown[]>;
2383
- categoryKeywords?: Array<unknown[]>;
2406
+ type CurrencyBalanceDto = {
2384
2407
  /**
2385
- * Payment method keywords (e.g., HuaBei, YuEBao)
2408
+ * ISO 4217 currency code
2386
2409
  */
2387
- methodKeywords?: Array<unknown[]>;
2410
+ currency: string;
2388
2411
  /**
2389
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2412
+ * Balance amount
2390
2413
  */
2391
- categoryAccount?: string;
2392
- matchLogic: 'OR' | 'AND';
2414
+ balance: string;
2415
+ };
2416
+ type TimeSeriesPointDto = {
2393
2417
  /**
2394
- * Minimum transaction amount (inclusive)
2418
+ * Date in YYYY-MM-DD format
2395
2419
  */
2396
- amountMin?: number;
2420
+ date: string;
2397
2421
  /**
2398
- * Maximum transaction amount (inclusive)
2422
+ * Value at this date (in base currency)
2399
2423
  */
2400
- amountMax?: number;
2401
- priority: number;
2402
- additionalTags?: Array<unknown[]>;
2403
- additionalMetadata?: {
2424
+ value: string;
2425
+ /**
2426
+ * Change from previous point
2427
+ */
2428
+ change?: {
2404
2429
  [key: string]: unknown;
2405
2430
  };
2406
2431
  /**
2407
- * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2432
+ * Total assets at this date (in base currency)
2408
2433
  */
2409
- upsertByPayee?: boolean;
2410
- };
2411
- type matchLogic = 'OR' | 'AND';
2412
- type AmountRangeDto = {
2434
+ assets?: string;
2413
2435
  /**
2414
- * Minimum amount
2436
+ * Total liabilities at this date (in base currency)
2415
2437
  */
2416
- min?: number;
2438
+ liabilities?: string;
2417
2439
  /**
2418
- * Maximum amount
2440
+ * Multi-currency breakdown for this point
2419
2441
  */
2420
- max?: number;
2442
+ byCurrency?: Array<CurrencyBalanceDto>;
2421
2443
  };
2422
- type TransactionRuleResponseDto = {
2444
+ type TrendSummaryDto = {
2423
2445
  /**
2424
- * Rule ID
2446
+ * Value at start of period
2425
2447
  */
2426
- id: string;
2448
+ startValue: string;
2427
2449
  /**
2428
- * Rule name
2450
+ * Value at end of period
2429
2451
  */
2430
- name: string;
2452
+ endValue: string;
2431
2453
  /**
2432
- * Rule description
2454
+ * Total change over period
2433
2455
  */
2434
- description?: string;
2456
+ totalChange: string;
2435
2457
  /**
2436
- * Keywords to match in transaction narration
2458
+ * Total change percentage
2437
2459
  */
2438
- narrationKeywords: Array<string>;
2460
+ totalChangePercentage: string;
2461
+ };
2462
+ type MultiCurrencyPointDto = {
2439
2463
  /**
2440
- * Keywords to match in payee name
2464
+ * Date in YYYY-MM-DD format
2441
2465
  */
2442
- payeeKeywords: Array<string>;
2466
+ date: string;
2443
2467
  /**
2444
- * Keywords to match in category
2468
+ * Balances by currency
2445
2469
  */
2446
- categoryKeywords: Array<string>;
2470
+ byCurrency: Array<CurrencyBalanceDto>;
2471
+ };
2472
+ type PortfolioTrendsResponseDto = {
2447
2473
  /**
2448
- * Keywords to match in payment method
2474
+ * Time series data points
2449
2475
  */
2450
- methodKeywords: Array<string>;
2476
+ series: Array<TimeSeriesPointDto>;
2451
2477
  /**
2452
- * Destination account for categorization
2478
+ * Period summary
2453
2479
  */
2454
- categoryAccount?: string;
2480
+ summary: TrendSummaryDto;
2455
2481
  /**
2456
- * Keyword matching logic
2482
+ * Period requested
2457
2483
  */
2458
- matchLogic: 'OR' | 'AND';
2484
+ period: string;
2459
2485
  /**
2460
- * Amount range for matching
2486
+ * Data granularity
2461
2487
  */
2462
- amountRange?: AmountRangeDto;
2488
+ granularity: string;
2463
2489
  /**
2464
- * Rule priority (0-1000, higher = first match)
2490
+ * Base currency for converted values
2465
2491
  */
2466
- priority: number;
2492
+ currency: string;
2467
2493
  /**
2468
- * Whether the rule is enabled
2494
+ * Multi-currency time series (each point has currency breakdown)
2469
2495
  */
2470
- enabled: boolean;
2496
+ byCurrency?: Array<MultiCurrencyPointDto>;
2471
2497
  /**
2472
- * Learning source: NLP, REVIEW_CENTER, or null for manual
2498
+ * Exchange rate warnings
2473
2499
  */
2474
- learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
2500
+ warnings?: Array<ExchangeRateWarningDto>;
2501
+ };
2502
+ type CashFlowPointDto = {
2475
2503
  /**
2476
- * Whether auto-apply is enabled for this rule
2504
+ * Month key (YYYY-MM)
2477
2505
  */
2478
- autoApplyEnabled: boolean;
2506
+ month: string;
2479
2507
  /**
2480
- * Number of confirmations for NLP-learned rules
2508
+ * Income in base currency (absolute, converted)
2481
2509
  */
2482
- confirmationCount: number;
2510
+ income: string;
2483
2511
  /**
2484
- * Additional tags
2512
+ * Expense in base currency (absolute, converted)
2485
2513
  */
2486
- additionalTags: Array<string>;
2514
+ expense: string;
2487
2515
  /**
2488
- * Additional metadata
2516
+ * netSavings = income − expense (savings positive)
2489
2517
  */
2490
- additionalMetadata?: {
2491
- [key: string]: string;
2492
- };
2518
+ netSavings: string;
2519
+ };
2520
+ type CashFlowTrendSummaryDto = {
2493
2521
  /**
2494
- * Created timestamp
2522
+ * Total income across the period
2495
2523
  */
2496
- createdAt: string;
2524
+ totalIncome: string;
2497
2525
  /**
2498
- * Updated timestamp
2526
+ * Total expense across the period
2499
2527
  */
2500
- updatedAt: string;
2501
- };
2502
- /**
2503
- * Learning source: NLP, REVIEW_CENTER, or null for manual
2504
- */
2505
- type learningSource = 'NLP' | 'REVIEW_CENTER';
2506
- type TransactionRuleListResponseDto = {
2507
- data: Array<TransactionRuleResponseDto>;
2528
+ totalExpense: string;
2508
2529
  /**
2509
- * Total count of rules
2530
+ * income − expense across the period
2510
2531
  */
2511
- total: number;
2532
+ totalNetSavings: string;
2512
2533
  /**
2513
- * Results per page
2534
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
2514
2535
  */
2515
- limit: number;
2536
+ averageMonthlyNetSavings: string;
2537
+ };
2538
+ type CashFlowTrendsResponseDto = {
2516
2539
  /**
2517
- * Pagination offset
2540
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
2518
2541
  */
2519
- offset: number;
2520
- };
2521
- type ValidateRuleDto = {
2522
- name: string;
2523
- description?: string;
2524
- narrationKeywords?: Array<unknown[]>;
2525
- payeeKeywords?: Array<unknown[]>;
2526
- categoryKeywords?: Array<unknown[]>;
2542
+ series: Array<CashFlowPointDto>;
2527
2543
  /**
2528
- * Payment method keywords (e.g., HuaBei, YuEBao)
2544
+ * Period totals
2529
2545
  */
2530
- methodKeywords?: Array<unknown[]>;
2546
+ summary: CashFlowTrendSummaryDto;
2531
2547
  /**
2532
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2548
+ * Period requested
2533
2549
  */
2534
- categoryAccount?: string;
2535
- matchLogic: 'OR' | 'AND';
2550
+ period: string;
2536
2551
  /**
2537
- * Minimum transaction amount (inclusive)
2552
+ * Data granularity (v1 returns month buckets)
2538
2553
  */
2539
- amountMin?: number;
2554
+ granularity: string;
2540
2555
  /**
2541
- * Maximum transaction amount (inclusive)
2556
+ * Base currency for converted values
2542
2557
  */
2543
- amountMax?: number;
2544
- priority: number;
2545
- additionalTags?: Array<unknown[]>;
2546
- additionalMetadata?: {
2547
- [key: string]: unknown;
2548
- };
2558
+ currency: string;
2549
2559
  /**
2550
- * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2560
+ * Exchange rate warnings (e.g. missing rate for a currency)
2551
2561
  */
2552
- upsertByPayee?: boolean;
2562
+ warnings?: Array<ExchangeRateWarningDto>;
2553
2563
  };
2554
- type ValidateRuleResponseDto = {
2564
+ type GenerateSnapshotBody = unknown;
2565
+ type GenerateSnapshotResponse = unknown;
2566
+ type BackfillSnapshotsBody = unknown;
2567
+ type BackfillSnapshotsResponse = unknown;
2568
+ type DeleteOwnUserDto = {
2555
2569
  /**
2556
- * Whether the rule configuration is valid
2570
+ * Access token for user verification
2557
2571
  */
2558
- valid: boolean;
2572
+ accessToken: string;
2573
+ };
2574
+ type SignupDto = {
2559
2575
  /**
2560
- * List of validation errors (empty if valid)
2576
+ * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2561
2577
  */
2562
- errors: Array<unknown[]>;
2578
+ turnstileToken?: string;
2579
+ };
2580
+ type SignupResponseDto = {
2563
2581
  /**
2564
- * List of validation warnings (non-blocking issues)
2582
+ * JWT auth token
2565
2583
  */
2566
- warnings: Array<unknown[]>;
2567
- };
2568
- type BulkCreateRulesDto = {
2584
+ authToken: string;
2569
2585
  /**
2570
- * Array of rules to import
2586
+ * Auto-generated access token
2571
2587
  */
2572
- rules: Array<unknown[]>;
2588
+ accessToken: string;
2573
2589
  /**
2574
- * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2590
+ * Assigned user role
2575
2591
  */
2576
- conflictStrategy: 'replace' | 'skip';
2592
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2577
2593
  };
2578
2594
  /**
2579
- * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2595
+ * Assigned user role
2580
2596
  */
2581
- type conflictStrategy = 'replace' | 'skip';
2582
- type BulkCreateRulesResponseDto = {
2597
+ type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2598
+ type UpdateUserSettingDto = {
2583
2599
  /**
2584
- * Number of successfully created rules
2600
+ * Security ID
2585
2601
  */
2586
- successCount: number;
2602
+ secId?: number;
2587
2603
  /**
2588
- * Number of failed rules
2604
+ * Annual interest rate
2589
2605
  */
2590
- failureCount: number;
2606
+ annualInterestRate?: number;
2591
2607
  /**
2592
- * Error details for failed rules
2608
+ * Currency code
2593
2609
  */
2594
- errors: Array<{
2595
- index?: number;
2596
- message?: string;
2597
- }>;
2610
+ currency?: string;
2598
2611
  /**
2599
- * IDs of successfully created rules
2600
- */
2601
- createdRuleIds: Array<string>;
2602
- };
2603
- type ExportRulesResponseDto = {
2604
- /**
2605
- * Export timestamp
2606
- */
2607
- exportedAt: string;
2608
- /**
2609
- * User ID
2610
- */
2611
- userId: string;
2612
- /**
2613
- * Number of exported rules
2614
- */
2615
- ruleCount: number;
2616
- /**
2617
- * Exported rules
2618
- */
2619
- rules: unknown[];
2620
- };
2621
- type RuleStatisticsResponseDto = {
2622
- /**
2623
- * Statistics time period
2624
- */
2625
- period: '7d' | '30d' | '90d';
2626
- /**
2627
- * Total number of rules
2628
- */
2629
- totalRules: number;
2630
- /**
2631
- * Number of rules with at least one match
2632
- */
2633
- rulesWithMatches: number;
2634
- /**
2635
- * Total number of matches across all rules
2636
- */
2637
- totalMatches: number;
2638
- /**
2639
- * Average confidence score across all matches
2640
- */
2641
- averageConfidence: number;
2642
- /**
2643
- * Per-rule statistics
2644
- */
2645
- ruleStats: Array<{
2646
- ruleId?: string;
2647
- ruleName?: string;
2648
- matchCount?: number;
2649
- averageConfidence?: number;
2650
- }>;
2651
- };
2652
- /**
2653
- * Statistics time period
2654
- */
2655
- type period = '7d' | '30d' | '90d';
2656
- type UpdateTransactionRuleDto = {
2657
- name?: string;
2658
- description?: string;
2659
- narrationKeywords?: Array<unknown[]>;
2660
- payeeKeywords?: Array<unknown[]>;
2661
- categoryKeywords?: Array<unknown[]>;
2662
- /**
2663
- * Payment method keywords (e.g., HuaBei, YuEBao)
2664
- */
2665
- methodKeywords?: Array<unknown[]>;
2666
- /**
2667
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2668
- */
2669
- categoryAccount?: string;
2670
- matchLogic?: 'OR' | 'AND';
2671
- /**
2672
- * Minimum transaction amount (inclusive)
2673
- */
2674
- amountMin?: number;
2675
- /**
2676
- * Maximum transaction amount (inclusive)
2677
- */
2678
- amountMax?: number;
2679
- priority?: number;
2680
- /**
2681
- * Enable or disable the rule
2682
- */
2683
- enabled?: boolean;
2684
- additionalTags?: Array<unknown[]>;
2685
- additionalMetadata?: {
2686
- [key: string]: unknown;
2687
- };
2688
- };
2689
- type TestRuleDto = {
2690
- narration: string;
2691
- payee?: string;
2692
- categoryAccount?: string;
2693
- amount?: number;
2694
- currency?: string;
2695
- };
2696
- type TestRuleResponseDto = {
2697
- /**
2698
- * Rule ID that was tested
2699
- */
2700
- ruleId: string;
2701
- /**
2702
- * Whether the rule matched the test data
2703
- */
2704
- matches: boolean;
2705
- /**
2706
- * Match confidence score (0-1)
2707
- */
2708
- confidence: number;
2709
- /**
2710
- * Details of which fields matched
2711
- */
2712
- matchDetails: {
2713
- [key: string]: unknown;
2714
- };
2715
- };
2716
- type DeleteOwnUserDto = {
2717
- /**
2718
- * Access token for user verification
2719
- */
2720
- accessToken: string;
2721
- };
2722
- type SignupDto = {
2723
- /**
2724
- * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2725
- */
2726
- turnstileToken?: string;
2727
- };
2728
- type UpdateUserSettingDto = {
2729
- /**
2730
- * Security ID
2731
- */
2732
- secId?: number;
2733
- /**
2734
- * Annual interest rate
2735
- */
2736
- annualInterestRate?: number;
2737
- /**
2738
- * Currency code
2739
- */
2740
- currency?: string;
2741
- /**
2742
- * Base currency code
2612
+ * Base currency code
2743
2613
  */
2744
2614
  baseCurrency?: string;
2745
2615
  /**
@@ -2825,107 +2695,445 @@ type UpdatePropertyDto = {
2825
2695
  */
2826
2696
  value: string;
2827
2697
  };
2828
- type CreateBeanEventDto = {
2698
+ type CreateTransactionRuleDto = {
2699
+ name: string;
2700
+ description?: string;
2701
+ narrationKeywords?: Array<unknown[]>;
2702
+ payeeKeywords?: Array<unknown[]>;
2703
+ categoryKeywords?: Array<unknown[]>;
2829
2704
  /**
2830
- * Life event date (ISO 8601)
2705
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2831
2706
  */
2832
- date: string;
2707
+ methodKeywords?: Array<unknown[]>;
2833
2708
  /**
2834
- * Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
2709
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2835
2710
  */
2836
- type: string;
2711
+ categoryAccount?: string;
2712
+ matchLogic: 'OR' | 'AND';
2837
2713
  /**
2838
- * Life event description. Empty string is a VALID value (distinct from absence).
2714
+ * Minimum transaction amount (inclusive)
2839
2715
  */
2840
- description: string;
2716
+ amountMin?: number;
2841
2717
  /**
2842
- * Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
2718
+ * Maximum transaction amount (inclusive)
2843
2719
  */
2844
- meta?: {
2720
+ amountMax?: number;
2721
+ priority: number;
2722
+ additionalTags?: Array<unknown[]>;
2723
+ additionalMetadata?: {
2845
2724
  [key: string]: unknown;
2846
2725
  };
2726
+ /**
2727
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2728
+ */
2729
+ upsertByPayee?: boolean;
2847
2730
  };
2848
- type EventResponseDto = {
2731
+ type matchLogic = 'OR' | 'AND';
2732
+ type AmountRangeDto = {
2849
2733
  /**
2850
- * Unique identifier
2734
+ * Minimum amount
2851
2735
  */
2852
- id: string;
2736
+ min?: number;
2853
2737
  /**
2854
- * User ID (owner of the life event)
2738
+ * Maximum amount
2855
2739
  */
2856
- userId: string;
2740
+ max?: number;
2741
+ };
2742
+ type TransactionRuleResponseDto = {
2857
2743
  /**
2858
- * Life event date (ISO 8601 format)
2744
+ * Rule ID
2859
2745
  */
2860
- date: string;
2746
+ id: string;
2861
2747
  /**
2862
- * Life event type (user-defined, e.g., "employer", "location")
2748
+ * Rule name
2863
2749
  */
2864
- type: string;
2750
+ name: string;
2865
2751
  /**
2866
- * Life event description. May be an empty string (a valid value distinct from absence).
2752
+ * Rule description
2867
2753
  */
2868
- description: string;
2754
+ description?: string;
2869
2755
  /**
2870
- * Product-side metadata (free-form JSON)
2756
+ * Keywords to match in transaction narration
2871
2757
  */
2872
- meta: {
2873
- [key: string]: unknown;
2874
- };
2758
+ narrationKeywords: Array<string>;
2875
2759
  /**
2876
- * Creation timestamp
2760
+ * Keywords to match in payee name
2877
2761
  */
2878
- createdAt: string;
2762
+ payeeKeywords: Array<string>;
2879
2763
  /**
2880
- * Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
2764
+ * Keywords to match in category
2881
2765
  */
2882
- updatedAt: string;
2883
- };
2884
- type EventListResponseDto = {
2766
+ categoryKeywords: Array<string>;
2885
2767
  /**
2886
- * List of life events
2768
+ * Keywords to match in payment method
2887
2769
  */
2888
- items: Array<EventResponseDto>;
2770
+ methodKeywords: Array<string>;
2889
2771
  /**
2890
- * Total number of life events matching the query
2772
+ * Destination account for categorization
2891
2773
  */
2892
- total: number;
2893
- };
2894
- type UpdateBeanEventDto = {
2774
+ categoryAccount?: string;
2895
2775
  /**
2896
- * Life event date (ISO 8601)
2776
+ * Keyword matching logic
2897
2777
  */
2898
- date?: string;
2778
+ matchLogic: 'OR' | 'AND';
2899
2779
  /**
2900
- * Life event type (user-defined)
2780
+ * Amount range for matching
2901
2781
  */
2902
- type?: string;
2782
+ amountRange?: AmountRangeDto;
2903
2783
  /**
2904
- * Life event description. Empty string is a VALID value (distinct from absence).
2784
+ * Rule priority (0-1000, higher = first match)
2905
2785
  */
2906
- description?: string;
2786
+ priority: number;
2907
2787
  /**
2908
- * Product-side metadata (free-form JSON)
2788
+ * Whether the rule is enabled
2909
2789
  */
2910
- meta?: {
2911
- [key: string]: unknown;
2912
- };
2913
- };
2914
- type OnboardingAccountDto = {
2790
+ enabled: boolean;
2915
2791
  /**
2916
- * Account path (Assets/Liabilities only; format validated by the account service)
2792
+ * Learning source: NLP, REVIEW_CENTER, or null for manual
2917
2793
  */
2918
- path: string;
2794
+ learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
2919
2795
  /**
2920
- * ISO 4217 currency code (3 letters)
2796
+ * Whether auto-apply is enabled for this rule
2921
2797
  */
2922
- currency: string;
2798
+ autoApplyEnabled: boolean;
2923
2799
  /**
2924
- * Opening balance as a non-negative Decimal string (e.g. "1000.00")
2800
+ * Number of confirmations for NLP-learned rules
2925
2801
  */
2926
- openingBalance?: string;
2802
+ confirmationCount: number;
2927
2803
  /**
2928
- * Platform ID to bind the account to (references Platform.id); omit for unbound
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)
3039
+ */
3040
+ date: string;
3041
+ /**
3042
+ * Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
3043
+ */
3044
+ type: string;
3045
+ /**
3046
+ * Life event description. Empty string is a VALID value (distinct from absence).
3047
+ */
3048
+ description: string;
3049
+ /**
3050
+ * Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
3051
+ */
3052
+ meta?: {
3053
+ [key: string]: unknown;
3054
+ };
3055
+ };
3056
+ type EventResponseDto = {
3057
+ /**
3058
+ * Unique identifier
3059
+ */
3060
+ id: string;
3061
+ /**
3062
+ * User ID (owner of the life event)
3063
+ */
3064
+ userId: string;
3065
+ /**
3066
+ * Life event date (ISO 8601 format)
3067
+ */
3068
+ date: string;
3069
+ /**
3070
+ * Life event type (user-defined, e.g., "employer", "location")
3071
+ */
3072
+ type: string;
3073
+ /**
3074
+ * Life event description. May be an empty string (a valid value distinct from absence).
3075
+ */
3076
+ description: string;
3077
+ /**
3078
+ * Product-side metadata (free-form JSON)
3079
+ */
3080
+ meta: {
3081
+ [key: string]: unknown;
3082
+ };
3083
+ /**
3084
+ * Creation timestamp
3085
+ */
3086
+ createdAt: string;
3087
+ /**
3088
+ * Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
3089
+ */
3090
+ updatedAt: string;
3091
+ };
3092
+ type EventListResponseDto = {
3093
+ /**
3094
+ * List of life events
3095
+ */
3096
+ items: Array<EventResponseDto>;
3097
+ /**
3098
+ * Total number of life events matching the query
3099
+ */
3100
+ total: number;
3101
+ };
3102
+ type UpdateBeanEventDto = {
3103
+ /**
3104
+ * Life event date (ISO 8601)
3105
+ */
3106
+ date?: string;
3107
+ /**
3108
+ * Life event type (user-defined)
3109
+ */
3110
+ type?: string;
3111
+ /**
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
2929
3137
  */
2930
3138
  platformId?: string;
2931
3139
  };
@@ -3309,13 +3517,13 @@ type ProviderSyncConfigDto = {
3309
3517
  */
3310
3518
  defaultCurrency: string;
3311
3519
  /**
3312
- * 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).
3313
3521
  */
3314
- defaultExpenseAccount: string;
3522
+ defaultExpenseAccount?: string;
3315
3523
  /**
3316
- * 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).
3317
3525
  */
3318
- defaultIncomeAccount: string;
3526
+ defaultIncomeAccount?: string;
3319
3527
  /**
3320
3528
  * Filter pending transactions
3321
3529
  */
@@ -3414,9 +3622,13 @@ type ParserTelemetryReportDto = unknown;
3414
3622
  type UncoveredFormatMissDto = unknown;
3415
3623
  type ProcessNlpDto = {
3416
3624
  /**
3417
- * Natural language text describing a transaction (Chinese)
3625
+ * Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.
3626
+ */
3627
+ message?: string;
3628
+ /**
3629
+ * Structured confirm signal — bypasses NL confirm-word matching when true. Send parsedData field edits alongside. The NL word-list path is the fallback.
3418
3630
  */
3419
- message: string;
3631
+ confirm?: boolean;
3420
3632
  /**
3421
3633
  * Session ID for multi-turn conversation (auto-generated if not provided)
3422
3634
  */
@@ -3427,6 +3639,14 @@ type ProcessNlpDto = {
3427
3639
  parsedData?: {
3428
3640
  [key: string]: unknown;
3429
3641
  };
3642
+ /**
3643
+ * 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.
3644
+ */
3645
+ selectedRuleId?: string;
3646
+ /**
3647
+ * 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.
3648
+ */
3649
+ selectedAccount?: string;
3430
3650
  };
3431
3651
  type NlpTransactionInfoDto = {
3432
3652
  /**
@@ -3660,9 +3880,9 @@ type NlpAccountConfirmationDataDto = {
3660
3880
  */
3661
3881
  invalidAccount: string;
3662
3882
  /**
3663
- * Suggested replacement account
3883
+ * Suggested replacement account (omitted when no clear candidate)
3664
3884
  */
3665
- suggestedAccount: string;
3885
+ suggestedAccount?: string;
3666
3886
  /**
3667
3887
  * Similar accounts for user selection
3668
3888
  */
@@ -3784,7 +4004,7 @@ type NlpSuggestedAccountDto = {
3784
4004
  */
3785
4005
  account: string;
3786
4006
  /**
3787
- * Confidence score for this suggestion (0-1)
4007
+ * Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)
3788
4008
  */
3789
4009
  confidence?: number;
3790
4010
  };
@@ -3800,21 +4020,21 @@ type NlpSuggestedAccountsDto = {
3800
4020
  };
3801
4021
  type NlpDefaultAccountsDto = {
3802
4022
  /**
3803
- * Default asset account
4023
+ * Default OPEN asset account (MRU when multiple), or null when none/ambiguous
3804
4024
  */
3805
- asset: string;
4025
+ asset: string | null;
3806
4026
  /**
3807
- * Default expense account
4027
+ * Default OPEN expense account (MRU when multiple), or null when none/ambiguous
3808
4028
  */
3809
- expense: string;
4029
+ expense: string | null;
3810
4030
  /**
3811
- * Default income account
4031
+ * Default OPEN income account (MRU when multiple), or null when none/ambiguous
3812
4032
  */
3813
- income: string;
4033
+ income: string | null;
3814
4034
  /**
3815
- * Default liability account
4035
+ * Default OPEN liability account (MRU when multiple), or null when none/ambiguous
3816
4036
  */
3817
- liability: string;
4037
+ liability: string | null;
3818
4038
  };
3819
4039
  type NlpResponseDto = {
3820
4040
  /**
@@ -3824,7 +4044,7 @@ type NlpResponseDto = {
3824
4044
  /**
3825
4045
  * Action taken or requested
3826
4046
  */
3827
- action: 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
4047
+ action: 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel' | 'aborted';
3828
4048
  /**
3829
4049
  * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3830
4050
  */
@@ -3913,11 +4133,11 @@ type NlpResponseDto = {
3913
4133
  */
3914
4134
  recurringSuggestion?: RecurringSuggestionDto;
3915
4135
  /**
3916
- * Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
4136
+ * 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.
3917
4137
  */
3918
4138
  suggestedAccounts?: NlpSuggestedAccountsDto;
3919
4139
  /**
3920
- * Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
4140
+ * Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.
3921
4141
  */
3922
4142
  defaultAccounts?: NlpDefaultAccountsDto;
3923
4143
  };
@@ -3928,7 +4148,7 @@ type status4 = 'success' | 'pending' | 'error';
3928
4148
  /**
3929
4149
  * Action taken or requested
3930
4150
  */
3931
- type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
4151
+ type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel' | 'aborted';
3932
4152
  /**
3933
4153
  * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3934
4154
  */
@@ -3945,6 +4165,116 @@ type liabilitySubType = 'borrow' | 'repay';
3945
4165
  * Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
3946
4166
  */
3947
4167
  type equitySubType = 'opening' | 'adjustment';
4168
+ type PlatformListItemDto = {
4169
+ /**
4170
+ * Global platform ID
4171
+ */
4172
+ id: string;
4173
+ /**
4174
+ * Platform name
4175
+ */
4176
+ name: string;
4177
+ /**
4178
+ * Platform URL
4179
+ */
4180
+ url: string;
4181
+ /**
4182
+ * Platform type
4183
+ */
4184
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4185
+ /**
4186
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4187
+ */
4188
+ canonical: string;
4189
+ /**
4190
+ * Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
4191
+ */
4192
+ suggestedSegment: string;
4193
+ /**
4194
+ * Logo URL
4195
+ */
4196
+ logoUrl: string | null;
4197
+ /**
4198
+ * ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
4199
+ */
4200
+ countryCode: string | null;
4201
+ /**
4202
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
4203
+ */
4204
+ category: string | null;
4205
+ /**
4206
+ * Whether user has accounts using this platform
4207
+ */
4208
+ isBound: boolean;
4209
+ };
4210
+ /**
4211
+ * Platform type
4212
+ */
4213
+ type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4214
+ type PlatformMatchResultDto = {
4215
+ /**
4216
+ * Global platform ID
4217
+ */
4218
+ id: string;
4219
+ /**
4220
+ * Platform name (e.g., "ICBC")
4221
+ */
4222
+ name: string;
4223
+ /**
4224
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4225
+ */
4226
+ canonical: string;
4227
+ /**
4228
+ * Platform type
4229
+ */
4230
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4231
+ /**
4232
+ * Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
4233
+ */
4234
+ suggestedSegment: string;
4235
+ /**
4236
+ * Logo URL
4237
+ */
4238
+ logoUrl: string | null;
4239
+ /**
4240
+ * ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
4241
+ */
4242
+ countryCode: string | null;
4243
+ /**
4244
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
4245
+ */
4246
+ category: string | null;
4247
+ /**
4248
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4249
+ */
4250
+ matchType: 'exact' | 'prefix' | 'substring';
4251
+ };
4252
+ /**
4253
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4254
+ */
4255
+ type matchType = 'exact' | 'prefix' | 'substring';
4256
+ type PlatformMatchResponseDto = {
4257
+ /**
4258
+ * Ranked matches, best tier first (at most 10 rows)
4259
+ */
4260
+ platforms: Array<PlatformMatchResultDto>;
4261
+ /**
4262
+ * Overall match quality — top row's tier, or 'none' when no hits
4263
+ */
4264
+ matchType: 'none' | 'exact' | 'prefix' | 'substring';
4265
+ /**
4266
+ * Total matches before LIMIT (truncation transparency)
4267
+ */
4268
+ total: number;
4269
+ /**
4270
+ * true when total > platforms.length (more matches exist)
4271
+ */
4272
+ hasMore: boolean;
4273
+ };
4274
+ /**
4275
+ * Overall match quality — top row's tier, or 'none' when no hits
4276
+ */
4277
+ type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
3948
4278
  type CreatePlatformDto = {
3949
4279
  /**
3950
4280
  * Platform name
@@ -3975,10 +4305,6 @@ type CreatePlatformDto = {
3975
4305
  */
3976
4306
  isActive?: boolean;
3977
4307
  };
3978
- /**
3979
- * Platform type
3980
- */
3981
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3982
4308
  type UpdatePlatformDto = {
3983
4309
  /**
3984
4310
  * Platform name
@@ -4263,10 +4589,6 @@ type AssetClassGroupDto = {
4263
4589
  */
4264
4590
  convertedBalance?: string;
4265
4591
  };
4266
- /**
4267
- * Asset class name
4268
- */
4269
- type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
4270
4592
  type AssetClassSummaryDto = {
4271
4593
  /**
4272
4594
  * Total number of accounts
@@ -4599,230 +4921,200 @@ type HoldingPnlRowDto = {
4599
4921
  */
4600
4922
  costFxRate?: FxRateDto | null;
4601
4923
  /**
4602
- * FX rate applied to market value
4603
- */
4604
- marketFxRate?: FxRateDto | null;
4605
- /**
4606
- * Share of invested assets % (Decimal string); only for invested chartTokens
4607
- */
4608
- pctOfInvestedAssets?: {
4609
- [key: string]: unknown;
4610
- } | null;
4611
- /**
4612
- * Cumulative realized P&L on sold lots (asOf-date cutoff); null when the method has no applicable sells, a sell lacks a price, or any required FX rate is missing (never-mix). When a sell spans multiple currencies (cross-currency sale), amount and currency reflect the base currency; baseCcyEquivalent is always the authoritative dual-FX figure
4613
- */
4614
- realizedPnl?: MonetaryDto | null;
4615
- };
4616
- /**
4617
- * Chart segment token (libs/common resolver)
4618
- */
4619
- type chartToken = 'equity' | 'fund' | 'bond' | 'cash' | 'other';
4620
- type HoldingPnlWarningDto = {
4621
- /**
4622
- * Warning type
4623
- */
4624
- type: 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4625
- symbol?: {
4626
- [key: string]: unknown;
4627
- } | null;
4628
- accountId?: {
4629
- [key: string]: unknown;
4630
- } | null;
4631
- currency?: {
4632
- [key: string]: unknown;
4633
- } | null;
4634
- };
4635
- /**
4636
- * Warning type
4637
- */
4638
- type type4 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4639
- type HoldingPnlResponseDto = {
4640
- asOfDate: string;
4641
- baseCurrency: string;
4642
- /**
4643
- * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4644
- */
4645
- method: 'average' | 'FIFO';
4646
- rows: Array<HoldingPnlRowDto>;
4647
- warnings: Array<HoldingPnlWarningDto>;
4648
- };
4649
- /**
4650
- * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4651
- */
4652
- type method = 'average' | 'FIFO';
4653
- type CurrencyBalanceDto = {
4654
- /**
4655
- * ISO 4217 currency code
4656
- */
4657
- currency: string;
4658
- /**
4659
- * Balance amount
4660
- */
4661
- balance: string;
4662
- };
4663
- type TimeSeriesPointDto = {
4664
- /**
4665
- * Date in YYYY-MM-DD format
4666
- */
4667
- date: string;
4668
- /**
4669
- * Value at this date (in base currency)
4670
- */
4671
- value: string;
4672
- /**
4673
- * Change from previous point
4674
- */
4675
- change?: {
4676
- [key: string]: unknown;
4677
- };
4678
- /**
4679
- * Total assets at this date (in base currency)
4680
- */
4681
- assets?: string;
4682
- /**
4683
- * Total liabilities at this date (in base currency)
4684
- */
4685
- liabilities?: string;
4686
- /**
4687
- * Multi-currency breakdown for this point
4688
- */
4689
- byCurrency?: Array<CurrencyBalanceDto>;
4690
- };
4691
- type TrendSummaryDto = {
4692
- /**
4693
- * Value at start of period
4694
- */
4695
- startValue: string;
4696
- /**
4697
- * Value at end of period
4698
- */
4699
- endValue: string;
4700
- /**
4701
- * Total change over period
4702
- */
4703
- totalChange: string;
4704
- /**
4705
- * Total change percentage
4924
+ * FX rate applied to market value
4706
4925
  */
4707
- totalChangePercentage: string;
4708
- };
4709
- type MultiCurrencyPointDto = {
4926
+ marketFxRate?: FxRateDto | null;
4710
4927
  /**
4711
- * Date in YYYY-MM-DD format
4928
+ * Share of invested assets % (Decimal string); only for invested chartTokens
4712
4929
  */
4713
- date: string;
4930
+ pctOfInvestedAssets?: {
4931
+ [key: string]: unknown;
4932
+ } | null;
4714
4933
  /**
4715
- * Balances by currency
4934
+ * Cumulative realized P&L on sold lots (asOf-date cutoff); null when the method has no applicable sells, a sell lacks a price, or any required FX rate is missing (never-mix). When a sell spans multiple currencies (cross-currency sale), amount and currency reflect the base currency; baseCcyEquivalent is always the authoritative dual-FX figure
4716
4935
  */
4717
- byCurrency: Array<CurrencyBalanceDto>;
4936
+ realizedPnl?: MonetaryDto | null;
4718
4937
  };
4719
- type PortfolioTrendsResponseDto = {
4938
+ /**
4939
+ * Chart segment token (libs/common resolver)
4940
+ */
4941
+ type chartToken = 'equity' | 'fund' | 'bond' | 'cash' | 'other';
4942
+ type HoldingPnlWarningDto = {
4720
4943
  /**
4721
- * Time series data points
4944
+ * Warning type
4722
4945
  */
4723
- series: Array<TimeSeriesPointDto>;
4946
+ type: 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4947
+ symbol?: {
4948
+ [key: string]: unknown;
4949
+ } | null;
4950
+ accountId?: {
4951
+ [key: string]: unknown;
4952
+ } | null;
4953
+ currency?: {
4954
+ [key: string]: unknown;
4955
+ } | null;
4956
+ };
4957
+ /**
4958
+ * Warning type
4959
+ */
4960
+ type type4 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4961
+ type HoldingPnlResponseDto = {
4962
+ asOfDate: string;
4963
+ baseCurrency: string;
4724
4964
  /**
4725
- * Period summary
4965
+ * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4726
4966
  */
4727
- summary: TrendSummaryDto;
4967
+ method: 'average' | 'FIFO';
4968
+ rows: Array<HoldingPnlRowDto>;
4969
+ warnings: Array<HoldingPnlWarningDto>;
4970
+ };
4971
+ /**
4972
+ * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4973
+ */
4974
+ type method = 'average' | 'FIFO';
4975
+ type AnonymousLoginDto = {
4728
4976
  /**
4729
- * Period requested
4977
+ * Access token for anonymous login
4730
4978
  */
4731
- period: string;
4979
+ accessToken: string;
4980
+ };
4981
+ type AnonymousLoginResponseDto = {
4732
4982
  /**
4733
- * Data granularity
4983
+ * JWT auth token
4734
4984
  */
4735
- granularity: string;
4985
+ authToken: string;
4986
+ };
4987
+ type SymbolSearchResultDto = {
4988
+ symbol: string;
4989
+ name?: {
4990
+ [key: string]: unknown;
4991
+ } | null;
4992
+ exchange?: {
4993
+ [key: string]: unknown;
4994
+ } | null;
4736
4995
  /**
4737
- * Base currency for converted values
4996
+ * OpenBB asset_type (e.g. stock, etf)
4738
4997
  */
4739
- currency: string;
4998
+ assetType?: {
4999
+ [key: string]: unknown;
5000
+ } | null;
4740
5001
  /**
4741
- * Multi-currency time series (each point has currency breakdown)
5002
+ * IGN asset class (region.types.ts ASSET_CLASSES)
4742
5003
  */
4743
- byCurrency?: Array<MultiCurrencyPointDto>;
5004
+ assetClass?: {
5005
+ [key: string]: unknown;
5006
+ } | null;
4744
5007
  /**
4745
- * Exchange rate warnings
5008
+ * IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
4746
5009
  */
4747
- warnings?: Array<ExchangeRateWarningDto>;
4748
- };
4749
- type CashFlowPointDto = {
5010
+ assetSubClass?: {
5011
+ [key: string]: unknown;
5012
+ } | null;
4750
5013
  /**
4751
- * Month key (YYYY-MM)
5014
+ * Trading currency (extra_data or inferred from exchange)
4752
5015
  */
4753
- month: string;
5016
+ currency?: {
5017
+ [key: string]: unknown;
5018
+ } | null;
5019
+ };
5020
+ type SymbolQuoteDto = {
5021
+ symbol?: string;
5022
+ name?: {
5023
+ [key: string]: unknown;
5024
+ } | null;
5025
+ exchange?: {
5026
+ [key: string]: unknown;
5027
+ } | null;
4754
5028
  /**
4755
- * Income in base currency (absolute, converted)
5029
+ * OpenBB asset_type
4756
5030
  */
4757
- income: string;
5031
+ assetType?: {
5032
+ [key: string]: unknown;
5033
+ } | null;
4758
5034
  /**
4759
- * Expense in base currency (absolute, converted)
5035
+ * IGN asset class
4760
5036
  */
4761
- expense: string;
5037
+ assetClass?: {
5038
+ [key: string]: unknown;
5039
+ } | null;
4762
5040
  /**
4763
- * netSavings = income − expense (savings positive)
5041
+ * IGN asset sub-class
4764
5042
  */
4765
- netSavings: string;
4766
- };
4767
- type CashFlowTrendSummaryDto = {
5043
+ assetSubClass?: {
5044
+ [key: string]: unknown;
5045
+ } | null;
4768
5046
  /**
4769
- * Total income across the period
5047
+ * Trading currency (extra_data or inferred from exchange)
4770
5048
  */
4771
- totalIncome: string;
5049
+ currency?: {
5050
+ [key: string]: unknown;
5051
+ } | null;
4772
5052
  /**
4773
- * Total expense across the period
5053
+ * Latest price (Decimal string)
4774
5054
  */
4775
- totalExpense: string;
5055
+ price?: {
5056
+ [key: string]: unknown;
5057
+ } | null;
4776
5058
  /**
4777
- * income − expense across the period
5059
+ * Date the price was observed (ISO yyyy-MM-dd)
4778
5060
  */
4779
- totalNetSavings: string;
5061
+ priceDate?: {
5062
+ [key: string]: unknown;
5063
+ } | null;
4780
5064
  /**
4781
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
5065
+ * 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.
4782
5066
  */
4783
- averageMonthlyNetSavings: string;
4784
- };
4785
- type CashFlowTrendsResponseDto = {
5067
+ changePercent?: {
5068
+ [key: string]: unknown;
5069
+ } | null;
4786
5070
  /**
4787
- * Monthly cash-flow series (fixed N-month window, zero-filled)
5071
+ * Previous close (Decimal string)
4788
5072
  */
4789
- series: Array<CashFlowPointDto>;
5073
+ prevClose?: {
5074
+ [key: string]: unknown;
5075
+ } | null;
4790
5076
  /**
4791
- * Period totals
5077
+ * Day open (Decimal string)
4792
5078
  */
4793
- summary: CashFlowTrendSummaryDto;
5079
+ open?: {
5080
+ [key: string]: unknown;
5081
+ } | null;
4794
5082
  /**
4795
- * Period requested
5083
+ * Day high (Decimal string)
4796
5084
  */
4797
- period: string;
5085
+ high?: {
5086
+ [key: string]: unknown;
5087
+ } | null;
4798
5088
  /**
4799
- * Data granularity (v1 returns month buckets)
5089
+ * Day low (Decimal string)
4800
5090
  */
4801
- granularity: string;
5091
+ low?: {
5092
+ [key: string]: unknown;
5093
+ } | null;
4802
5094
  /**
4803
- * Base currency for converted values
5095
+ * Day volume (Decimal string)
4804
5096
  */
4805
- currency: string;
5097
+ volume?: {
5098
+ [key: string]: unknown;
5099
+ } | null;
4806
5100
  /**
4807
- * Exchange rate warnings (e.g. missing rate for a currency)
5101
+ * 52-week high (Decimal string)
4808
5102
  */
4809
- warnings?: Array<ExchangeRateWarningDto>;
4810
- };
4811
- type GenerateSnapshotBody = unknown;
4812
- type GenerateSnapshotResponse = unknown;
4813
- type BackfillSnapshotsBody = unknown;
4814
- type BackfillSnapshotsResponse = unknown;
4815
- type AnonymousLoginDto = {
5103
+ yearHigh?: {
5104
+ [key: string]: unknown;
5105
+ } | null;
4816
5106
  /**
4817
- * Access token for anonymous login
5107
+ * 52-week low (Decimal string)
4818
5108
  */
4819
- accessToken: string;
5109
+ yearLow?: {
5110
+ [key: string]: unknown;
5111
+ } | null;
4820
5112
  };
4821
5113
  type AccountControllerCreateData = {
4822
5114
  /**
4823
5115
  * Region code for tenant context
4824
5116
  */
4825
- region: 'cn' | 'us' | 'de' | 'gb';
5117
+ 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';
4826
5118
  requestBody: CreateAccountDto;
4827
5119
  };
4828
5120
  type AccountControllerCreateResponse = AccountResponseDto;
@@ -4842,7 +5134,7 @@ type AccountControllerFindAllData = {
4842
5134
  /**
4843
5135
  * Region code for tenant context
4844
5136
  */
4845
- region: 'cn' | 'us' | 'de' | 'gb';
5137
+ 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';
4846
5138
  /**
4847
5139
  * Search term for account path
4848
5140
  */
@@ -4865,7 +5157,7 @@ type AccountControllerFindOneData = {
4865
5157
  /**
4866
5158
  * Region code for tenant context
4867
5159
  */
4868
- region: 'cn' | 'us' | 'de' | 'gb';
5160
+ 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';
4869
5161
  };
4870
5162
  type AccountControllerFindOneResponse = AccountResponseDto;
4871
5163
  type AccountControllerUpdateData = {
@@ -4876,7 +5168,7 @@ type AccountControllerUpdateData = {
4876
5168
  /**
4877
5169
  * Region code for tenant context
4878
5170
  */
4879
- region: 'cn' | 'us' | 'de' | 'gb';
5171
+ 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';
4880
5172
  requestBody: UpdateAccountDto;
4881
5173
  };
4882
5174
  type AccountControllerUpdateResponse = AccountResponseDto;
@@ -4888,7 +5180,7 @@ type AccountControllerDeleteData = {
4888
5180
  /**
4889
5181
  * Region code for tenant context
4890
5182
  */
4891
- region: 'cn' | 'us' | 'de' | 'gb';
5183
+ 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';
4892
5184
  };
4893
5185
  type AccountControllerDeleteResponse = void;
4894
5186
  type AccountControllerCloseData = {
@@ -4899,7 +5191,7 @@ type AccountControllerCloseData = {
4899
5191
  /**
4900
5192
  * Region code for tenant context
4901
5193
  */
4902
- region: 'cn' | 'us' | 'de' | 'gb';
5194
+ 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';
4903
5195
  requestBody: CloseAccountDto;
4904
5196
  };
4905
5197
  type AccountControllerCloseResponse = AccountResponseDto;
@@ -4911,7 +5203,7 @@ type AccountControllerReopenData = {
4911
5203
  /**
4912
5204
  * Region code for tenant context
4913
5205
  */
4914
- region: 'cn' | 'us' | 'de' | 'gb';
5206
+ 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';
4915
5207
  requestBody: ReopenAccountDto;
4916
5208
  };
4917
5209
  type AccountControllerReopenResponse = AccountResponseDto;
@@ -4923,7 +5215,7 @@ type AccountControllerAddOpeningBalanceData = {
4923
5215
  /**
4924
5216
  * Region code for tenant context
4925
5217
  */
4926
- region: 'cn' | 'us' | 'de' | 'gb';
5218
+ 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';
4927
5219
  requestBody: CreateOpeningBalanceDto;
4928
5220
  };
4929
5221
  type AccountControllerAddOpeningBalanceResponse = OpeningBalanceResultDto;
@@ -4931,7 +5223,7 @@ type AccountStandardsControllerGetTemplatesData = {
4931
5223
  /**
4932
5224
  * Region code (cn, us, de)
4933
5225
  */
4934
- region: 'cn' | 'us' | 'de' | 'gb';
5226
+ 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';
4935
5227
  /**
4936
5228
  * Search term for path or description
4937
5229
  */
@@ -4950,21 +5242,21 @@ type AccountStandardsControllerGetTemplateMetadataData = {
4950
5242
  /**
4951
5243
  * Region code for tenant context
4952
5244
  */
4953
- region: 'cn' | 'us' | 'de' | 'gb';
5245
+ 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';
4954
5246
  };
4955
5247
  type AccountStandardsControllerGetTemplateMetadataResponse = TemplateMetadataResponseDto;
4956
5248
  type AccountStandardsControllerGetRegionsData = {
4957
5249
  /**
4958
5250
  * Region code for tenant context
4959
5251
  */
4960
- region: 'cn' | 'us' | 'de' | 'gb';
5252
+ 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';
4961
5253
  };
4962
5254
  type AccountStandardsControllerGetRegionsResponse = RegionsMetadataResponseDto;
4963
5255
  type TransactionControllerCreateData = {
4964
5256
  /**
4965
5257
  * Region code for tenant context
4966
5258
  */
4967
- region: 'cn' | 'us' | 'de' | 'gb';
5259
+ 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';
4968
5260
  /**
4969
5261
  * Transaction data with postings
4970
5262
  */
@@ -4999,7 +5291,7 @@ type TransactionControllerListData = {
4999
5291
  /**
5000
5292
  * Region code for tenant context
5001
5293
  */
5002
- region: 'cn' | 'us' | 'de' | 'gb';
5294
+ 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';
5003
5295
  /**
5004
5296
  * Search in narration and payee fields (max 200 chars)
5005
5297
  */
@@ -5014,7 +5306,7 @@ type TransactionControllerCreateBatchData = {
5014
5306
  /**
5015
5307
  * Region code for tenant context
5016
5308
  */
5017
- region: 'cn' | 'us' | 'de' | 'gb';
5309
+ 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';
5018
5310
  requestBody: BatchCreateTransactionDto;
5019
5311
  };
5020
5312
  type TransactionControllerCreateBatchResponse = BatchTransactionResponseDto;
@@ -5026,7 +5318,7 @@ type TransactionControllerCorrectData = {
5026
5318
  /**
5027
5319
  * Region code for tenant context
5028
5320
  */
5029
- region: 'cn' | 'us' | 'de' | 'gb';
5321
+ 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';
5030
5322
  requestBody: CorrectTransactionDto;
5031
5323
  };
5032
5324
  type TransactionControllerCorrectResponse = TransactionDetailDto;
@@ -5042,7 +5334,7 @@ type TransactionControllerSuggestTagsData = {
5042
5334
  /**
5043
5335
  * Region code for tenant context
5044
5336
  */
5045
- region: 'cn' | 'us' | 'de' | 'gb';
5337
+ 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';
5046
5338
  /**
5047
5339
  * usage (default) or name
5048
5340
  */
@@ -5057,7 +5349,7 @@ type TransactionControllerGetDetailData = {
5057
5349
  /**
5058
5350
  * Region code for tenant context
5059
5351
  */
5060
- region: 'cn' | 'us' | 'de' | 'gb';
5352
+ 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
5353
  };
5062
5354
  type TransactionControllerGetDetailResponse = TransactionDetailDto;
5063
5355
  type TransactionControllerUpdateData = {
@@ -5068,7 +5360,7 @@ type TransactionControllerUpdateData = {
5068
5360
  /**
5069
5361
  * Region code for tenant context
5070
5362
  */
5071
- region: 'cn' | 'us' | 'de' | 'gb';
5363
+ 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';
5072
5364
  /**
5073
5365
  * Fields to update (all optional)
5074
5366
  */
@@ -5083,7 +5375,7 @@ type TransactionControllerDeleteData = {
5083
5375
  /**
5084
5376
  * Region code for tenant context
5085
5377
  */
5086
- region: 'cn' | 'us' | 'de' | 'gb';
5378
+ 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
5379
  };
5088
5380
  type TransactionControllerDeleteResponse = void;
5089
5381
  type BalanceControllerGetBalanceData = {
@@ -5102,14 +5394,14 @@ type BalanceControllerGetBalanceData = {
5102
5394
  /**
5103
5395
  * Region code for tenant context
5104
5396
  */
5105
- region: 'cn' | 'us' | 'de' | 'gb';
5397
+ 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';
5106
5398
  };
5107
5399
  type BalanceControllerGetBalanceResponse = BalanceResponseDto;
5108
5400
  type BalanceControllerGetMultiCurrencyBalanceData = {
5109
5401
  /**
5110
5402
  * Region code for tenant context
5111
5403
  */
5112
- region: 'cn' | 'us' | 'de' | 'gb';
5404
+ 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';
5113
5405
  };
5114
5406
  type BalanceControllerGetMultiCurrencyBalanceResponse = MultiCurrencyBalanceResponseDto;
5115
5407
  type ReviewControllerFindAllData = {
@@ -5128,7 +5420,7 @@ type ReviewControllerFindAllData = {
5128
5420
  /**
5129
5421
  * Region code for tenant context
5130
5422
  */
5131
- region: 'cn' | 'us' | 'de' | 'gb';
5423
+ 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';
5132
5424
  /**
5133
5425
  * Sort order
5134
5426
  */
@@ -5143,7 +5435,7 @@ type ReviewControllerGetStatsData = {
5143
5435
  /**
5144
5436
  * Region code for tenant context
5145
5437
  */
5146
- region: 'cn' | 'us' | 'de' | 'gb';
5438
+ 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';
5147
5439
  };
5148
5440
  type ReviewControllerGetStatsResponse = ReviewStatsDto;
5149
5441
  type ReviewControllerFindOneData = {
@@ -5154,7 +5446,7 @@ type ReviewControllerFindOneData = {
5154
5446
  /**
5155
5447
  * Region code for tenant context
5156
5448
  */
5157
- region: 'cn' | 'us' | 'de' | 'gb';
5449
+ 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';
5158
5450
  };
5159
5451
  type ReviewControllerFindOneResponse = ReviewDetailDto;
5160
5452
  type ReviewControllerResolveData = {
@@ -5165,7 +5457,7 @@ type ReviewControllerResolveData = {
5165
5457
  /**
5166
5458
  * Region code for tenant context
5167
5459
  */
5168
- region: 'cn' | 'us' | 'de' | 'gb';
5460
+ 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';
5169
5461
  requestBody: ResolveReviewDto;
5170
5462
  };
5171
5463
  type ReviewControllerResolveResponse = ResolveResultDto;
@@ -5177,14 +5469,14 @@ type ReviewControllerUndoData = {
5177
5469
  /**
5178
5470
  * Region code for tenant context
5179
5471
  */
5180
- region: 'cn' | 'us' | 'de' | 'gb';
5472
+ 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';
5181
5473
  };
5182
5474
  type ReviewControllerUndoResponse = UndoResultDto;
5183
5475
  type ReviewControllerBatchResolveData = {
5184
5476
  /**
5185
5477
  * Region code for tenant context
5186
5478
  */
5187
- region: 'cn' | 'us' | 'de' | 'gb';
5479
+ 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';
5188
5480
  /**
5189
5481
  * Batch resolution request containing review IDs and action
5190
5482
  */
@@ -5329,7 +5621,7 @@ type CommodityControllerCreateData = {
5329
5621
  /**
5330
5622
  * Region code for tenant context
5331
5623
  */
5332
- region: 'cn' | 'us' | 'de' | 'gb';
5624
+ 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';
5333
5625
  requestBody: CreateCommodityDto;
5334
5626
  };
5335
5627
  type CommodityControllerCreateResponse = CommodityResponseDto;
@@ -5337,7 +5629,7 @@ type CommodityControllerFindAllData = {
5337
5629
  /**
5338
5630
  * Region code for tenant context
5339
5631
  */
5340
- region: 'cn' | 'us' | 'de' | 'gb';
5632
+ 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';
5341
5633
  /**
5342
5634
  * Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
5343
5635
  */
@@ -5352,7 +5644,7 @@ type CommodityControllerFindOneData = {
5352
5644
  /**
5353
5645
  * Region code for tenant context
5354
5646
  */
5355
- region: 'cn' | 'us' | 'de' | 'gb';
5647
+ 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';
5356
5648
  /**
5357
5649
  * Commodity symbol
5358
5650
  */
@@ -5363,7 +5655,7 @@ type CommodityControllerUpdateData = {
5363
5655
  /**
5364
5656
  * Region code for tenant context
5365
5657
  */
5366
- region: 'cn' | 'us' | 'de' | 'gb';
5658
+ 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';
5367
5659
  requestBody: UpdateCommodityDto;
5368
5660
  /**
5369
5661
  * Commodity symbol
@@ -5375,7 +5667,7 @@ type CommodityControllerDeleteData = {
5375
5667
  /**
5376
5668
  * Region code for tenant context
5377
5669
  */
5378
- region: 'cn' | 'us' | 'de' | 'gb';
5670
+ 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';
5379
5671
  /**
5380
5672
  * Commodity symbol
5381
5673
  */
@@ -5386,7 +5678,7 @@ type CommodityControllerGetOrCreateData = {
5386
5678
  /**
5387
5679
  * Region code for tenant context
5388
5680
  */
5389
- region: 'cn' | 'us' | 'de' | 'gb';
5681
+ 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';
5390
5682
  /**
5391
5683
  * Commodity symbol
5392
5684
  */
@@ -5397,14 +5689,14 @@ type CommodityControllerBulkCreateData = {
5397
5689
  /**
5398
5690
  * Region code for tenant context
5399
5691
  */
5400
- region: 'cn' | 'us' | 'de' | 'gb';
5692
+ 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';
5401
5693
  };
5402
5694
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
5403
5695
  type PriceControllerCreateData = {
5404
5696
  /**
5405
5697
  * Region code for tenant context
5406
5698
  */
5407
- region: 'cn' | 'us' | 'de' | 'gb';
5699
+ 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';
5408
5700
  requestBody: CreateBeanPriceDto;
5409
5701
  };
5410
5702
  type PriceControllerCreateResponse = PriceResponseDto;
@@ -5436,7 +5728,7 @@ type PriceControllerFindAllData = {
5436
5728
  /**
5437
5729
  * Region code for tenant context
5438
5730
  */
5439
- region: 'cn' | 'us' | 'de' | 'gb';
5731
+ 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';
5440
5732
  /**
5441
5733
  * Search term for currency or quoteCurrency (case-insensitive partial match)
5442
5734
  */
@@ -5451,7 +5743,7 @@ type PriceControllerFindOneData = {
5451
5743
  /**
5452
5744
  * Region code for tenant context
5453
5745
  */
5454
- region: 'cn' | 'us' | 'de' | 'gb';
5746
+ 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
5747
  };
5456
5748
  type PriceControllerFindOneResponse = PriceResponseDto;
5457
5749
  type PriceControllerUpdateData = {
@@ -5462,7 +5754,7 @@ type PriceControllerUpdateData = {
5462
5754
  /**
5463
5755
  * Region code for tenant context
5464
5756
  */
5465
- region: 'cn' | 'us' | 'de' | 'gb';
5757
+ 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
5758
  requestBody: UpdateBeanPriceDto;
5467
5759
  };
5468
5760
  type PriceControllerUpdateResponse = PriceResponseDto;
@@ -5474,14 +5766,14 @@ type PriceControllerDeleteData = {
5474
5766
  /**
5475
5767
  * Region code for tenant context
5476
5768
  */
5477
- region: 'cn' | 'us' | 'de' | 'gb';
5769
+ 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';
5478
5770
  };
5479
5771
  type PriceControllerDeleteResponse = void;
5480
5772
  type PriceControllerBulkCreateData = {
5481
5773
  /**
5482
5774
  * Region code for tenant context
5483
5775
  */
5484
- region: 'cn' | 'us' | 'de' | 'gb';
5776
+ 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';
5485
5777
  requestBody: Array<string>;
5486
5778
  };
5487
5779
  type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
@@ -5489,7 +5781,7 @@ type RecurringRuleControllerCreateData = {
5489
5781
  /**
5490
5782
  * Region code for tenant context
5491
5783
  */
5492
- region: 'cn' | 'us' | 'de' | 'gb';
5784
+ 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';
5493
5785
  requestBody: CreateRecurringRuleDto;
5494
5786
  };
5495
5787
  type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
@@ -5509,14 +5801,14 @@ type RecurringRuleControllerFindAllData = {
5509
5801
  /**
5510
5802
  * Region code for tenant context
5511
5803
  */
5512
- region: 'cn' | 'us' | 'de' | 'gb';
5804
+ 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';
5513
5805
  };
5514
5806
  type RecurringRuleControllerFindAllResponse = Array<RecurringRuleResponseDto>;
5515
5807
  type RecurringRuleControllerCreateFromTransactionData = {
5516
5808
  /**
5517
5809
  * Region code for tenant context
5518
5810
  */
5519
- region: 'cn' | 'us' | 'de' | 'gb';
5811
+ 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';
5520
5812
  requestBody: CreateRuleFromTransactionDto;
5521
5813
  /**
5522
5814
  * Source transaction ID
@@ -5532,7 +5824,7 @@ type RecurringRuleControllerFindOneData = {
5532
5824
  /**
5533
5825
  * Region code for tenant context
5534
5826
  */
5535
- region: 'cn' | 'us' | 'de' | 'gb';
5827
+ 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';
5536
5828
  };
5537
5829
  type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
5538
5830
  type RecurringRuleControllerUpdateData = {
@@ -5543,7 +5835,7 @@ type RecurringRuleControllerUpdateData = {
5543
5835
  /**
5544
5836
  * Region code for tenant context
5545
5837
  */
5546
- region: 'cn' | 'us' | 'de' | 'gb';
5838
+ 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';
5547
5839
  requestBody: UpdateRecurringRuleDto;
5548
5840
  };
5549
5841
  type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
@@ -5555,7 +5847,7 @@ type RecurringRuleControllerDeleteData = {
5555
5847
  /**
5556
5848
  * Region code for tenant context
5557
5849
  */
5558
- region: 'cn' | 'us' | 'de' | 'gb';
5850
+ 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';
5559
5851
  };
5560
5852
  type RecurringRuleControllerDeleteResponse = void;
5561
5853
  type RecurringRuleControllerGetWithStatsData = {
@@ -5566,7 +5858,7 @@ type RecurringRuleControllerGetWithStatsData = {
5566
5858
  /**
5567
5859
  * Region code for tenant context
5568
5860
  */
5569
- region: 'cn' | 'us' | 'de' | 'gb';
5861
+ 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';
5570
5862
  };
5571
5863
  type RecurringRuleControllerGetWithStatsResponse = RecurringRuleWithStatsResponseDto;
5572
5864
  type ExpectedTransactionControllerFindAllData = {
@@ -5577,7 +5869,7 @@ type ExpectedTransactionControllerFindAllData = {
5577
5869
  /**
5578
5870
  * Region code for tenant context
5579
5871
  */
5580
- region: 'cn' | 'us' | 'de' | 'gb';
5872
+ 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';
5581
5873
  /**
5582
5874
  * Filter by recurring rule ID
5583
5875
  */
@@ -5596,7 +5888,7 @@ type ExpectedTransactionControllerFindOverdueData = {
5596
5888
  /**
5597
5889
  * Region code for tenant context
5598
5890
  */
5599
- region: 'cn' | 'us' | 'de' | 'gb';
5891
+ 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';
5600
5892
  };
5601
5893
  type ExpectedTransactionControllerFindOverdueResponse = ExpectedTransactionListResponseDto;
5602
5894
  type ExpectedTransactionControllerFindOneData = {
@@ -5607,7 +5899,7 @@ type ExpectedTransactionControllerFindOneData = {
5607
5899
  /**
5608
5900
  * Region code for tenant context
5609
5901
  */
5610
- region: 'cn' | 'us' | 'de' | 'gb';
5902
+ 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';
5611
5903
  };
5612
5904
  type ExpectedTransactionControllerFindOneResponse = ExpectedTransactionResponseDto;
5613
5905
  type ExpectedTransactionControllerSkipData = {
@@ -5618,7 +5910,7 @@ type ExpectedTransactionControllerSkipData = {
5618
5910
  /**
5619
5911
  * Region code for tenant context
5620
5912
  */
5621
- region: 'cn' | 'us' | 'de' | 'gb';
5913
+ 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';
5622
5914
  };
5623
5915
  type ExpectedTransactionControllerSkipResponse = ExpectedTransactionResponseDto;
5624
5916
  type ExpectedTransactionControllerUndoSkipData = {
@@ -5629,7 +5921,7 @@ type ExpectedTransactionControllerUndoSkipData = {
5629
5921
  /**
5630
5922
  * Region code for tenant context
5631
5923
  */
5632
- region: 'cn' | 'us' | 'de' | 'gb';
5924
+ 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';
5633
5925
  };
5634
5926
  type ExpectedTransactionControllerUndoSkipResponse = ExpectedTransactionResponseDto;
5635
5927
  type ExpectedTransactionControllerConfirmMatchData = {
@@ -5640,49 +5932,163 @@ type ExpectedTransactionControllerConfirmMatchData = {
5640
5932
  /**
5641
5933
  * Region code for tenant context
5642
5934
  */
5643
- region: 'cn' | 'us' | 'de' | 'gb';
5644
- requestBody: ConfirmMatchDto;
5935
+ 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';
5936
+ requestBody: ConfirmMatchDto;
5937
+ };
5938
+ type ExpectedTransactionControllerConfirmMatchResponse = unknown;
5939
+ type ExpectedTransactionControllerUnmatchData = {
5940
+ /**
5941
+ * Expected transaction ID
5942
+ */
5943
+ id: string;
5944
+ /**
5945
+ * Region code for tenant context
5946
+ */
5947
+ 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';
5948
+ };
5949
+ type ExpectedTransactionControllerUnmatchResponse = unknown;
5950
+ type ExpectedTransactionControllerEnterNowData = {
5951
+ /**
5952
+ * Expected transaction ID
5953
+ */
5954
+ id: string;
5955
+ /**
5956
+ * Region code for tenant context
5957
+ */
5958
+ 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';
5959
+ requestBody: EnterNowDto;
5960
+ };
5961
+ type ExpectedTransactionControllerEnterNowResponse = unknown;
5962
+ type ForecastControllerGetForecastData = {
5963
+ /**
5964
+ * Number of months to forecast (1-12, default 3)
5965
+ */
5966
+ months?: number;
5967
+ /**
5968
+ * Region code for tenant context
5969
+ */
5970
+ 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';
5971
+ };
5972
+ type ForecastControllerGetForecastResponse = ForecastResponseDto;
5973
+ type ReportingControllerGetPortfolioTrendsData = {
5974
+ /**
5975
+ * Data granularity
5976
+ */
5977
+ granularity?: 'day' | 'week' | 'month';
5978
+ /**
5979
+ * Time period
5980
+ */
5981
+ period?: '1m' | '3m' | '6m' | '1y';
5982
+ /**
5983
+ * Region code for tenant context
5984
+ */
5985
+ 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';
5986
+ };
5987
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5988
+ type ReportingControllerGetCashFlowTrendsData = {
5989
+ /**
5990
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
5991
+ */
5992
+ granularity?: 'day' | 'week' | 'month';
5993
+ /**
5994
+ * Time period
5995
+ */
5996
+ period?: '1m' | '3m' | '6m' | '1y';
5997
+ /**
5998
+ * Region code for tenant context
5999
+ */
6000
+ 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';
6001
+ };
6002
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6003
+ type ReportingControllerGenerateSnapshotData = {
6004
+ /**
6005
+ * Region code for tenant context
6006
+ */
6007
+ 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';
6008
+ /**
6009
+ * Optional date (defaults to today)
6010
+ */
6011
+ requestBody: GenerateSnapshotBody;
6012
+ };
6013
+ type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6014
+ type ReportingControllerBackfillSnapshotsData = {
6015
+ /**
6016
+ * Region code for tenant context
6017
+ */
6018
+ 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';
6019
+ requestBody: BackfillSnapshotsBody;
6020
+ };
6021
+ type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
6022
+ type UserControllerDeleteOwnUserData = {
6023
+ requestBody: DeleteOwnUserDto;
6024
+ };
6025
+ type UserControllerDeleteOwnUserResponse = void;
6026
+ type UserControllerGetUserData = {
6027
+ acceptLanguage: string;
6028
+ };
6029
+ type UserControllerGetUserResponse = unknown;
6030
+ type UserControllerSignupUserData = {
6031
+ requestBody: SignupDto;
6032
+ };
6033
+ type UserControllerSignupUserResponse = SignupResponseDto;
6034
+ type UserControllerDeleteUserData = {
6035
+ /**
6036
+ * User ID to delete
6037
+ */
6038
+ id: string;
5645
6039
  };
5646
- type ExpectedTransactionControllerConfirmMatchResponse = unknown;
5647
- type ExpectedTransactionControllerUnmatchData = {
6040
+ type UserControllerDeleteUserResponse = void;
6041
+ type UserControllerGetUserInfoData = {
5648
6042
  /**
5649
- * Expected transaction ID
6043
+ * User ID
5650
6044
  */
5651
6045
  id: string;
6046
+ };
6047
+ type UserControllerGetUserInfoResponse = unknown;
6048
+ type UserControllerUpdateUserSettingData = {
6049
+ requestBody: UpdateUserSettingDto;
6050
+ };
6051
+ type UserControllerUpdateUserSettingResponse = unknown;
6052
+ type UserControllerGetAllUserSettingsByPageData = {
5652
6053
  /**
5653
- * Region code for tenant context
6054
+ * Page number
5654
6055
  */
5655
- region: 'cn' | 'us' | 'de' | 'gb';
5656
- };
5657
- type ExpectedTransactionControllerUnmatchResponse = unknown;
5658
- type ExpectedTransactionControllerEnterNowData = {
6056
+ pageNo: number;
5659
6057
  /**
5660
- * Expected transaction ID
6058
+ * Page size
5661
6059
  */
5662
- id: string;
6060
+ pageSize: number;
6061
+ };
6062
+ type UserControllerGetAllUserSettingsByPageResponse = unknown;
6063
+ type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6064
+ type PropertyControllerGetAllResponse = unknown;
6065
+ type PropertyControllerGetByKeyData = {
5663
6066
  /**
5664
- * Region code for tenant context
6067
+ * Property key
5665
6068
  */
5666
- region: 'cn' | 'us' | 'de' | 'gb';
5667
- requestBody: EnterNowDto;
6069
+ key: string;
5668
6070
  };
5669
- type ExpectedTransactionControllerEnterNowResponse = unknown;
5670
- type ForecastControllerGetForecastData = {
6071
+ type PropertyControllerGetByKeyResponse = unknown;
6072
+ type PropertyControllerUpdateData = {
5671
6073
  /**
5672
- * Number of months to forecast (1-12, default 3)
6074
+ * Property key
5673
6075
  */
5674
- months?: number;
6076
+ key: string;
6077
+ requestBody: UpdatePropertyDto;
6078
+ };
6079
+ type PropertyControllerUpdateResponse = unknown;
6080
+ type PropertyControllerDeleteData = {
5675
6081
  /**
5676
- * Region code for tenant context
6082
+ * Property key
5677
6083
  */
5678
- region: 'cn' | 'us' | 'de' | 'gb';
6084
+ key: string;
5679
6085
  };
5680
- type ForecastControllerGetForecastResponse = ForecastResponseDto;
6086
+ type PropertyControllerDeleteResponse = void;
5681
6087
  type TransactionRuleControllerCreateData = {
5682
6088
  /**
5683
6089
  * Region code for tenant context
5684
6090
  */
5685
- region: 'cn' | 'us' | 'de' | 'gb';
6091
+ 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';
5686
6092
  requestBody: CreateTransactionRuleDto;
5687
6093
  };
5688
6094
  type TransactionRuleControllerCreateResponse = TransactionRuleResponseDto;
@@ -5710,14 +6116,14 @@ type TransactionRuleControllerListData = {
5710
6116
  /**
5711
6117
  * Region code for tenant context
5712
6118
  */
5713
- region: 'cn' | 'us' | 'de' | 'gb';
6119
+ 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
6120
  };
5715
6121
  type TransactionRuleControllerListResponse = TransactionRuleListResponseDto;
5716
6122
  type TransactionRuleControllerValidateData = {
5717
6123
  /**
5718
6124
  * Region code for tenant context
5719
6125
  */
5720
- region: 'cn' | 'us' | 'de' | 'gb';
6126
+ 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';
5721
6127
  requestBody: ValidateRuleDto;
5722
6128
  };
5723
6129
  type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
@@ -5725,7 +6131,7 @@ type TransactionRuleControllerBulkCreateData = {
5725
6131
  /**
5726
6132
  * Region code for tenant context
5727
6133
  */
5728
- region: 'cn' | 'us' | 'de' | 'gb';
6134
+ 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';
5729
6135
  requestBody: BulkCreateRulesDto;
5730
6136
  };
5731
6137
  type TransactionRuleControllerBulkCreateResponse = BulkCreateRulesResponseDto;
@@ -5737,7 +6143,7 @@ type TransactionRuleControllerExportData = {
5737
6143
  /**
5738
6144
  * Region code for tenant context
5739
6145
  */
5740
- region: 'cn' | 'us' | 'de' | 'gb';
6146
+ 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';
5741
6147
  };
5742
6148
  type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
5743
6149
  type TransactionRuleControllerGetStatisticsData = {
@@ -5748,14 +6154,14 @@ type TransactionRuleControllerGetStatisticsData = {
5748
6154
  /**
5749
6155
  * Region code for tenant context
5750
6156
  */
5751
- region: 'cn' | 'us' | 'de' | 'gb';
6157
+ 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';
5752
6158
  };
5753
6159
  type TransactionRuleControllerGetStatisticsResponse = RuleStatisticsResponseDto;
5754
6160
  type TransactionRuleControllerGetDetailData = {
5755
6161
  /**
5756
6162
  * Region code for tenant context
5757
6163
  */
5758
- region: 'cn' | 'us' | 'de' | 'gb';
6164
+ 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';
5759
6165
  /**
5760
6166
  * Rule ID
5761
6167
  */
@@ -5766,7 +6172,7 @@ type TransactionRuleControllerUpdateData = {
5766
6172
  /**
5767
6173
  * Region code for tenant context
5768
6174
  */
5769
- region: 'cn' | 'us' | 'de' | 'gb';
6175
+ 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';
5770
6176
  requestBody: UpdateTransactionRuleDto;
5771
6177
  /**
5772
6178
  * Rule ID to update
@@ -5778,7 +6184,7 @@ type TransactionRuleControllerDeleteData = {
5778
6184
  /**
5779
6185
  * Region code for tenant context
5780
6186
  */
5781
- region: 'cn' | 'us' | 'de' | 'gb';
6187
+ 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';
5782
6188
  /**
5783
6189
  * Rule ID to delete
5784
6190
  */
@@ -5789,7 +6195,7 @@ type TransactionRuleControllerTestData = {
5789
6195
  /**
5790
6196
  * Region code for tenant context
5791
6197
  */
5792
- region: 'cn' | 'us' | 'de' | 'gb';
6198
+ 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
6199
  requestBody: TestRuleDto;
5794
6200
  /**
5795
6201
  * Rule ID to test
@@ -5797,76 +6203,11 @@ type TransactionRuleControllerTestData = {
5797
6203
  ruleId: string;
5798
6204
  };
5799
6205
  type TransactionRuleControllerTestResponse = TestRuleResponseDto;
5800
- type UserControllerDeleteOwnUserData = {
5801
- requestBody: DeleteOwnUserDto;
5802
- };
5803
- type UserControllerDeleteOwnUserResponse = void;
5804
- type UserControllerGetUserData = {
5805
- acceptLanguage: string;
5806
- };
5807
- type UserControllerGetUserResponse = unknown;
5808
- type UserControllerSignupUserData = {
5809
- requestBody: SignupDto;
5810
- };
5811
- type UserControllerSignupUserResponse = unknown;
5812
- type UserControllerDeleteUserData = {
5813
- /**
5814
- * User ID to delete
5815
- */
5816
- id: string;
5817
- };
5818
- type UserControllerDeleteUserResponse = void;
5819
- type UserControllerGetUserInfoData = {
5820
- /**
5821
- * User ID
5822
- */
5823
- id: string;
5824
- };
5825
- type UserControllerGetUserInfoResponse = unknown;
5826
- type UserControllerUpdateUserSettingData = {
5827
- requestBody: UpdateUserSettingDto;
5828
- };
5829
- type UserControllerUpdateUserSettingResponse = unknown;
5830
- type UserControllerGetAllUserSettingsByPageData = {
5831
- /**
5832
- * Page number
5833
- */
5834
- pageNo: number;
5835
- /**
5836
- * Page size
5837
- */
5838
- pageSize: number;
5839
- };
5840
- type UserControllerGetAllUserSettingsByPageResponse = unknown;
5841
- type UserControllerGetAssetLiabilitySummaryResponse = unknown;
5842
- type PropertyControllerGetAllResponse = unknown;
5843
- type PropertyControllerGetByKeyData = {
5844
- /**
5845
- * Property key
5846
- */
5847
- key: string;
5848
- };
5849
- type PropertyControllerGetByKeyResponse = unknown;
5850
- type PropertyControllerUpdateData = {
5851
- /**
5852
- * Property key
5853
- */
5854
- key: string;
5855
- requestBody: UpdatePropertyDto;
5856
- };
5857
- type PropertyControllerUpdateResponse = unknown;
5858
- type PropertyControllerDeleteData = {
5859
- /**
5860
- * Property key
5861
- */
5862
- key: string;
5863
- };
5864
- type PropertyControllerDeleteResponse = void;
5865
6206
  type EventControllerCreateData = {
5866
6207
  /**
5867
6208
  * Region code for tenant context (decorative for life events)
5868
6209
  */
5869
- region: 'cn' | 'us' | 'de' | 'gb';
6210
+ 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';
5870
6211
  requestBody: CreateBeanEventDto;
5871
6212
  };
5872
6213
  type EventControllerCreateResponse = EventResponseDto;
@@ -5890,7 +6231,7 @@ type EventControllerFindAllData = {
5890
6231
  /**
5891
6232
  * Region code for tenant context (decorative for life events)
5892
6233
  */
5893
- region: 'cn' | 'us' | 'de' | 'gb';
6234
+ 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';
5894
6235
  /**
5895
6236
  * Filter life events to this date (ISO 8601 format)
5896
6237
  */
@@ -5909,7 +6250,7 @@ type EventControllerFindOneData = {
5909
6250
  /**
5910
6251
  * Region code for tenant context (decorative for life events)
5911
6252
  */
5912
- region: 'cn' | 'us' | 'de' | 'gb';
6253
+ 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';
5913
6254
  };
5914
6255
  type EventControllerFindOneResponse = EventResponseDto;
5915
6256
  type EventControllerUpdateData = {
@@ -5920,7 +6261,7 @@ type EventControllerUpdateData = {
5920
6261
  /**
5921
6262
  * Region code for tenant context (decorative for life events)
5922
6263
  */
5923
- region: 'cn' | 'us' | 'de' | 'gb';
6264
+ 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';
5924
6265
  requestBody: UpdateBeanEventDto;
5925
6266
  };
5926
6267
  type EventControllerUpdateResponse = EventResponseDto;
@@ -5932,7 +6273,7 @@ type EventControllerDeleteData = {
5932
6273
  /**
5933
6274
  * Region code for tenant context (decorative for life events)
5934
6275
  */
5935
- region: 'cn' | 'us' | 'de' | 'gb';
6276
+ 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';
5936
6277
  };
5937
6278
  type EventControllerDeleteResponse = void;
5938
6279
  type EventControllerGetSliceData = {
@@ -5945,14 +6286,14 @@ type EventControllerGetSliceData = {
5945
6286
  /**
5946
6287
  * Region code for tenant context (decorative for life events)
5947
6288
  */
5948
- region: 'cn' | 'us' | 'de' | 'gb';
6289
+ 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';
5949
6290
  };
5950
6291
  type EventControllerGetSliceResponse = unknown;
5951
6292
  type OnboardingControllerBootstrapData = {
5952
6293
  /**
5953
6294
  * Region code for tenant context
5954
6295
  */
5955
- region: 'cn' | 'us' | 'de' | 'gb';
6296
+ 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';
5956
6297
  requestBody: OnboardingDto;
5957
6298
  };
5958
6299
  type OnboardingControllerBootstrapResponse = unknown;
@@ -5960,7 +6301,7 @@ type ReconciliationControllerComputeData = {
5960
6301
  /**
5961
6302
  * Region code for tenant context (decorative for reconciliation)
5962
6303
  */
5963
- region: 'cn' | 'us' | 'de' | 'gb';
6304
+ 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';
5964
6305
  requestBody: ComputeReconciliationDto;
5965
6306
  };
5966
6307
  type ReconciliationControllerComputeResponse = ReconciliationComputeResultDto;
@@ -5968,7 +6309,7 @@ type ReconciliationControllerAssertData = {
5968
6309
  /**
5969
6310
  * Region code for tenant context (decorative for reconciliation)
5970
6311
  */
5971
- region: 'cn' | 'us' | 'de' | 'gb';
6312
+ 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';
5972
6313
  requestBody: AssertReconciliationDto;
5973
6314
  };
5974
6315
  type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
@@ -5976,7 +6317,7 @@ type ReconciliationControllerPadData = {
5976
6317
  /**
5977
6318
  * Region code for tenant context (decorative for reconciliation)
5978
6319
  */
5979
- region: 'cn' | 'us' | 'de' | 'gb';
6320
+ 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';
5980
6321
  requestBody: PadReconciliationDto;
5981
6322
  };
5982
6323
  type ReconciliationControllerPadResponse = PadResultDto;
@@ -5988,7 +6329,7 @@ type ReconciliationControllerHistoryData = {
5988
6329
  /**
5989
6330
  * Region code for tenant context (decorative for reconciliation)
5990
6331
  */
5991
- region: 'cn' | 'us' | 'de' | 'gb';
6332
+ 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
6333
  };
5993
6334
  type ReconciliationControllerHistoryResponse = Array<ReconciliationRecordDto>;
5994
6335
  type ExportControllerExportBeancountResponse = unknown;
@@ -6000,7 +6341,7 @@ type FileImportControllerImportFileData = {
6000
6341
  /**
6001
6342
  * Region code for tenant context
6002
6343
  */
6003
- region: 'cn' | 'us' | 'de' | 'gb';
6344
+ 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
6345
  };
6005
6346
  type FileImportControllerImportFileResponse = ImportResultDto;
6006
6347
  type FileImportControllerIdentifyFileData = {
@@ -6011,7 +6352,7 @@ type FileImportControllerIdentifyFileData = {
6011
6352
  /**
6012
6353
  * Region code for tenant context
6013
6354
  */
6014
- region: 'cn' | 'us' | 'de' | 'gb';
6355
+ 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
6356
  };
6016
6357
  type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
6017
6358
  type FileImportControllerImportBeancountData = {
@@ -6022,7 +6363,7 @@ type FileImportControllerImportBeancountData = {
6022
6363
  /**
6023
6364
  * Region code for tenant context
6024
6365
  */
6025
- region: 'cn' | 'us' | 'de' | 'gb';
6366
+ 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';
6026
6367
  };
6027
6368
  type FileImportControllerImportBeancountResponse = {
6028
6369
  imported?: number;
@@ -6041,7 +6382,7 @@ type ImporterConfigControllerGetConfigData = {
6041
6382
  /**
6042
6383
  * Region code for tenant context
6043
6384
  */
6044
- region: 'cn' | 'us' | 'de' | 'gb';
6385
+ 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';
6045
6386
  };
6046
6387
  type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
6047
6388
  type ImporterConfigControllerUpdateConfigData = {
@@ -6052,7 +6393,7 @@ type ImporterConfigControllerUpdateConfigData = {
6052
6393
  /**
6053
6394
  * Region code for tenant context
6054
6395
  */
6055
- region: 'cn' | 'us' | 'de' | 'gb';
6396
+ 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';
6056
6397
  /**
6057
6398
  * Partial configuration update. Only provided fields will be updated.
6058
6399
  */
@@ -6067,7 +6408,7 @@ type ImporterConfigControllerResetConfigData = {
6067
6408
  /**
6068
6409
  * Region code for tenant context
6069
6410
  */
6070
- region: 'cn' | 'us' | 'de' | 'gb';
6411
+ 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';
6071
6412
  };
6072
6413
  type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
6073
6414
  type ProviderSyncControllerSyncData = {
@@ -6078,7 +6419,7 @@ type ProviderSyncControllerSyncData = {
6078
6419
  /**
6079
6420
  * Region code for tenant context
6080
6421
  */
6081
- region: 'cn' | 'us' | 'de' | 'gb';
6422
+ 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';
6082
6423
  requestBody: ProviderSyncDto;
6083
6424
  };
6084
6425
  type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
@@ -6086,7 +6427,7 @@ type ProviderSyncControllerGetSupportedProvidersData = {
6086
6427
  /**
6087
6428
  * Region code for tenant context
6088
6429
  */
6089
- region: 'cn' | 'us' | 'de' | 'gb';
6430
+ 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';
6090
6431
  };
6091
6432
  type ProviderSyncControllerGetSupportedProvidersResponse = SupportedProvidersResponseDto;
6092
6433
  type ProviderSyncControllerIsProviderSupportedData = {
@@ -6097,14 +6438,14 @@ type ProviderSyncControllerIsProviderSupportedData = {
6097
6438
  /**
6098
6439
  * Region code for tenant context
6099
6440
  */
6100
- region: 'cn' | 'us' | 'de' | 'gb';
6441
+ 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';
6101
6442
  };
6102
6443
  type ProviderSyncControllerIsProviderSupportedResponse = unknown;
6103
6444
  type ExternalAccountLinkControllerCreateData = {
6104
6445
  /**
6105
6446
  * Region code for tenant context
6106
6447
  */
6107
- region: 'cn' | 'us' | 'de' | 'gb';
6448
+ 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';
6108
6449
  requestBody: CreateExternalAccountLinkDto;
6109
6450
  };
6110
6451
  type ExternalAccountLinkControllerCreateResponse = ExternalAccountLinkResponseDto;
@@ -6113,7 +6454,7 @@ type ExternalAccountLinkControllerFindAllData = {
6113
6454
  /**
6114
6455
  * Region code for tenant context
6115
6456
  */
6116
- region: 'cn' | 'us' | 'de' | 'gb';
6457
+ 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';
6117
6458
  };
6118
6459
  type ExternalAccountLinkControllerFindAllResponse = ExternalAccountLinkListResponseDto;
6119
6460
  type ExternalAccountLinkControllerFindOneData = {
@@ -6121,7 +6462,7 @@ type ExternalAccountLinkControllerFindOneData = {
6121
6462
  /**
6122
6463
  * Region code for tenant context
6123
6464
  */
6124
- region: 'cn' | 'us' | 'de' | 'gb';
6465
+ 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';
6125
6466
  };
6126
6467
  type ExternalAccountLinkControllerFindOneResponse = ExternalAccountLinkResponseDto;
6127
6468
  type ExternalAccountLinkControllerRemoveData = {
@@ -6129,14 +6470,14 @@ type ExternalAccountLinkControllerRemoveData = {
6129
6470
  /**
6130
6471
  * Region code for tenant context
6131
6472
  */
6132
- region: 'cn' | 'us' | 'de' | 'gb';
6473
+ 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';
6133
6474
  };
6134
6475
  type ExternalAccountLinkControllerRemoveResponse = void;
6135
6476
  type TelemetryControllerReportTelemetryData = {
6136
6477
  /**
6137
6478
  * Region code for tenant context
6138
6479
  */
6139
- region: 'cn' | 'us' | 'de' | 'gb';
6480
+ 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';
6140
6481
  requestBody: ParserTelemetryReportDto;
6141
6482
  };
6142
6483
  type TelemetryControllerReportTelemetryResponse = unknown;
@@ -6144,7 +6485,7 @@ type TelemetryControllerReportCoverageMissData = {
6144
6485
  /**
6145
6486
  * Region code for tenant context
6146
6487
  */
6147
- region: 'cn' | 'us' | 'de' | 'gb';
6488
+ 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';
6148
6489
  requestBody: UncoveredFormatMissDto;
6149
6490
  };
6150
6491
  type TelemetryControllerReportCoverageMissResponse = unknown;
@@ -6152,7 +6493,7 @@ type TelemetryControllerGetCoverageMetricsData = {
6152
6493
  /**
6153
6494
  * Region code for tenant context
6154
6495
  */
6155
- region: 'cn' | 'us' | 'de' | 'gb';
6496
+ 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';
6156
6497
  /**
6157
6498
  * Top-N uncovered formats (default 10)
6158
6499
  */
@@ -6163,7 +6504,7 @@ type NlpControllerProcessNaturalLanguageData = {
6163
6504
  /**
6164
6505
  * Region code for tenant context
6165
6506
  */
6166
- region: 'cn' | 'us' | 'de' | 'gb';
6507
+ 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';
6167
6508
  /**
6168
6509
  * Natural language transaction input with optional session ID
6169
6510
  */
@@ -6174,7 +6515,7 @@ type NlpControllerClearSessionData = {
6174
6515
  /**
6175
6516
  * Region code for tenant context
6176
6517
  */
6177
- region: 'cn' | 'us' | 'de' | 'gb';
6518
+ 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';
6178
6519
  /**
6179
6520
  * Specific session ID to clear (defaults to user session)
6180
6521
  */
@@ -6185,7 +6526,7 @@ type NlpControllerGetSessionData = {
6185
6526
  /**
6186
6527
  * Region code for tenant context
6187
6528
  */
6188
- region: 'cn' | 'us' | 'de' | 'gb';
6529
+ 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';
6189
6530
  /**
6190
6531
  * Specific session ID to get (defaults to user session)
6191
6532
  */
@@ -6197,18 +6538,24 @@ type PlatformControllerCreateData = {
6197
6538
  requestBody: CreatePlatformDto;
6198
6539
  };
6199
6540
  type PlatformControllerCreateResponse = unknown;
6200
- type PlatformControllerGetPlatformListResponse = unknown;
6541
+ type PlatformControllerGetPlatformListData = {
6542
+ /**
6543
+ * Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
6544
+ */
6545
+ region?: string;
6546
+ };
6547
+ type PlatformControllerGetPlatformListResponse = Array<PlatformListItemDto>;
6201
6548
  type PlatformControllerMatchPlatformsData = {
6202
6549
  /**
6203
6550
  * Search query — Chinese name, English name, or abbreviation
6204
6551
  */
6205
6552
  q: string;
6206
6553
  /**
6207
- * Region code for category override lookup
6554
+ * 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").
6208
6555
  */
6209
6556
  region?: string;
6210
6557
  };
6211
- type PlatformControllerMatchPlatformsResponse = unknown;
6558
+ type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6212
6559
  type PlatformControllerUpdateData = {
6213
6560
  /**
6214
6561
  * Platform ID
@@ -6232,7 +6579,7 @@ type DashboardControllerGetNetWorthData = {
6232
6579
  /**
6233
6580
  * Region code for tenant context
6234
6581
  */
6235
- region: 'cn' | 'us' | 'de' | 'gb';
6582
+ 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';
6236
6583
  };
6237
6584
  type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
6238
6585
  type DashboardControllerGetAccountsData = {
@@ -6251,7 +6598,7 @@ type DashboardControllerGetAccountsData = {
6251
6598
  /**
6252
6599
  * Region code for tenant context
6253
6600
  */
6254
- region: 'cn' | 'us' | 'de' | 'gb';
6601
+ 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';
6255
6602
  };
6256
6603
  type DashboardControllerGetAccountsResponse = AccountsResponseDto | AssetClassAccountsResponseDto | HoldingAssetClassCrossAccountResponseDto;
6257
6604
  type DashboardControllerGetCashFlowData = {
@@ -6262,7 +6609,7 @@ type DashboardControllerGetCashFlowData = {
6262
6609
  /**
6263
6610
  * Region code for tenant context
6264
6611
  */
6265
- region: 'cn' | 'us' | 'de' | 'gb';
6612
+ 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';
6266
6613
  };
6267
6614
  type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
6268
6615
  type DashboardControllerGetExpensesData = {
@@ -6281,7 +6628,7 @@ type DashboardControllerGetExpensesData = {
6281
6628
  /**
6282
6629
  * Region code for tenant context
6283
6630
  */
6284
- region: 'cn' | 'us' | 'de' | 'gb';
6631
+ 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';
6285
6632
  };
6286
6633
  type DashboardControllerGetExpensesResponse = ExpensesByCategoryResponseDto;
6287
6634
  type HoldingPnlControllerGetHoldingPnlData = {
@@ -6300,63 +6647,14 @@ type HoldingPnlControllerGetHoldingPnlData = {
6300
6647
  /**
6301
6648
  * Region code for tenant context
6302
6649
  */
6303
- region: 'cn' | 'us' | 'de' | 'gb';
6650
+ 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';
6304
6651
  };
6305
6652
  type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
6306
- type ReportingControllerGetPortfolioTrendsData = {
6307
- /**
6308
- * Data granularity
6309
- */
6310
- granularity?: 'day' | 'week' | 'month';
6311
- /**
6312
- * Time period
6313
- */
6314
- period?: '1m' | '3m' | '6m' | '1y';
6315
- /**
6316
- * Region code for tenant context
6317
- */
6318
- region: 'cn' | 'us' | 'de' | 'gb';
6319
- };
6320
- type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
6321
- type ReportingControllerGetCashFlowTrendsData = {
6322
- /**
6323
- * Data granularity (accepted for API symmetry; v1 returns month buckets)
6324
- */
6325
- granularity?: 'day' | 'week' | 'month';
6326
- /**
6327
- * Time period
6328
- */
6329
- period?: '1m' | '3m' | '6m' | '1y';
6330
- /**
6331
- * Region code for tenant context
6332
- */
6333
- region: 'cn' | 'us' | 'de' | 'gb';
6334
- };
6335
- type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
6336
- type ReportingControllerGenerateSnapshotData = {
6337
- /**
6338
- * Region code for tenant context
6339
- */
6340
- region: 'cn' | 'us' | 'de' | 'gb';
6341
- /**
6342
- * Optional date (defaults to today)
6343
- */
6344
- requestBody: GenerateSnapshotBody;
6345
- };
6346
- type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6347
- type ReportingControllerBackfillSnapshotsData = {
6348
- /**
6349
- * Region code for tenant context
6350
- */
6351
- region: 'cn' | 'us' | 'de' | 'gb';
6352
- requestBody: BackfillSnapshotsBody;
6353
- };
6354
- type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
6355
6653
  type ApiKeysControllerCreateApiKeyResponse = unknown;
6356
6654
  type AuthControllerAccessTokenLoginData = {
6357
6655
  requestBody: AnonymousLoginDto;
6358
6656
  };
6359
- type AuthControllerAccessTokenLoginResponse = unknown;
6657
+ type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
6360
6658
  type CacheControllerFlushCacheResponse = unknown;
6361
6659
  type ExchangeRateControllerGetExchangeRateData = {
6362
6660
  /**
@@ -6383,6 +6681,29 @@ type HealthControllerResetCircuitBreakerData = {
6383
6681
  type HealthControllerResetCircuitBreakerResponse = unknown;
6384
6682
  type HealthControllerGetMetricsResponse = unknown;
6385
6683
  type InfoControllerGetInfoResponse = unknown;
6684
+ type SymbolControllerSearchData = {
6685
+ /**
6686
+ * Filter by OpenBB asset_type (e.g. stock, etf)
6687
+ */
6688
+ assetType?: string;
6689
+ /**
6690
+ * Filter by exchange code (e.g. US, HK, SS, SZ)
6691
+ */
6692
+ exchange?: string;
6693
+ /**
6694
+ * Maximum number of results (clamped 1..50)
6695
+ */
6696
+ limit?: number;
6697
+ /**
6698
+ * Search term — matched against symbol and instrument name. Empty string returns [].
6699
+ */
6700
+ q: string;
6701
+ };
6702
+ type SymbolControllerSearchResponse = Array<SymbolSearchResultDto>;
6703
+ type SymbolControllerGetQuoteData = {
6704
+ symbol: string;
6705
+ };
6706
+ type SymbolControllerGetQuoteResponse = SymbolQuoteDto;
6386
6707
  type $OpenApiTs = {
6387
6708
  '/api/v1/{region}/bean/accounts': {
6388
6709
  post: {
@@ -6447,7 +6768,7 @@ type $OpenApiTs = {
6447
6768
  */
6448
6769
  404: unknown;
6449
6770
  /**
6450
- * Account has transactions and cannot be deleted
6771
+ * Account has active transactions and cannot be deleted
6451
6772
  */
6452
6773
  409: unknown;
6453
6774
  };
@@ -7424,425 +7745,497 @@ type $OpenApiTs = {
7424
7745
  };
7425
7746
  '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7426
7747
  post: {
7427
- req: ExpectedTransactionControllerEnterNowData;
7748
+ req: ExpectedTransactionControllerEnterNowData;
7749
+ res: {
7750
+ /**
7751
+ * Transaction created successfully
7752
+ */
7753
+ 201: unknown;
7754
+ /**
7755
+ * Cannot enter - not in PENDING status or missing accounts
7756
+ */
7757
+ 400: unknown;
7758
+ /**
7759
+ * Expected transaction or accounts not found
7760
+ */
7761
+ 404: unknown;
7762
+ };
7763
+ };
7764
+ };
7765
+ '/api/v1/{region}/bean/recurring/forecast': {
7766
+ get: {
7767
+ req: ForecastControllerGetForecastData;
7768
+ res: {
7769
+ /**
7770
+ * Forecast retrieved successfully
7771
+ */
7772
+ 200: ForecastResponseDto;
7773
+ };
7774
+ };
7775
+ };
7776
+ '/api/v1/{region}/reporting/portfolio/trends': {
7777
+ get: {
7778
+ req: ReportingControllerGetPortfolioTrendsData;
7779
+ res: {
7780
+ /**
7781
+ * Trends retrieved successfully
7782
+ */
7783
+ 200: PortfolioTrendsResponseDto;
7784
+ /**
7785
+ * User not authenticated
7786
+ */
7787
+ 401: unknown;
7788
+ };
7789
+ };
7790
+ };
7791
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7792
+ get: {
7793
+ req: ReportingControllerGetCashFlowTrendsData;
7794
+ res: {
7795
+ /**
7796
+ * Cash-flow trends retrieved successfully
7797
+ */
7798
+ 200: CashFlowTrendsResponseDto;
7799
+ /**
7800
+ * User not authenticated
7801
+ */
7802
+ 401: unknown;
7803
+ };
7804
+ };
7805
+ };
7806
+ '/api/v1/{region}/reporting/snapshots/generate': {
7807
+ post: {
7808
+ req: ReportingControllerGenerateSnapshotData;
7809
+ res: {
7810
+ /**
7811
+ * Snapshot generated successfully
7812
+ */
7813
+ 200: GenerateSnapshotResponse;
7814
+ /**
7815
+ * Invalid date format
7816
+ */
7817
+ 400: unknown;
7818
+ /**
7819
+ * User not authenticated
7820
+ */
7821
+ 401: unknown;
7822
+ };
7823
+ };
7824
+ };
7825
+ '/api/v1/{region}/reporting/snapshots/backfill': {
7826
+ post: {
7827
+ req: ReportingControllerBackfillSnapshotsData;
7428
7828
  res: {
7429
7829
  /**
7430
- * Transaction created successfully
7830
+ * Backfill completed successfully
7431
7831
  */
7432
- 201: unknown;
7832
+ 200: BackfillSnapshotsResponse;
7433
7833
  /**
7434
- * Cannot enter - not in PENDING status or missing accounts
7834
+ * Invalid date format or range
7435
7835
  */
7436
7836
  400: unknown;
7437
7837
  /**
7438
- * Expected transaction or accounts not found
7838
+ * User not authenticated
7439
7839
  */
7440
- 404: unknown;
7441
- };
7442
- };
7443
- };
7444
- '/api/v1/{region}/bean/recurring/forecast': {
7445
- get: {
7446
- req: ForecastControllerGetForecastData;
7447
- res: {
7840
+ 401: unknown;
7448
7841
  /**
7449
- * Forecast retrieved successfully
7842
+ * Backfill already in progress for this user
7450
7843
  */
7451
- 200: ForecastResponseDto;
7844
+ 409: unknown;
7452
7845
  };
7453
7846
  };
7454
7847
  };
7455
- '/api/v1/{region}/bean/transaction-rules': {
7456
- post: {
7457
- req: TransactionRuleControllerCreateData;
7848
+ '/api/v1/users': {
7849
+ delete: {
7850
+ req: UserControllerDeleteOwnUserData;
7458
7851
  res: {
7459
7852
  /**
7460
- * Rule updated successfully (upsert mode)
7461
- */
7462
- 200: TransactionRuleResponseDto;
7463
- /**
7464
- * Validation failed
7465
- */
7466
- 400: ApiProblemResponseDto;
7467
- /**
7468
- * Unauthorized
7853
+ * User deleted successfully
7469
7854
  */
7470
- 401: ApiProblemResponseDto;
7855
+ 204: void;
7471
7856
  /**
7472
- * Resource conflict - another process is updating this rule
7857
+ * Invalid access token
7473
7858
  */
7474
- 409: ApiProblemResponseDto;
7859
+ 403: unknown;
7475
7860
  };
7476
7861
  };
7477
7862
  get: {
7478
- req: TransactionRuleControllerListData;
7863
+ req: UserControllerGetUserData;
7479
7864
  res: {
7480
7865
  /**
7481
- * List of rules
7482
- */
7483
- 200: TransactionRuleListResponseDto;
7484
- /**
7485
- * Unauthorized
7866
+ * User retrieved successfully
7486
7867
  */
7487
- 401: ApiProblemResponseDto;
7868
+ 200: unknown;
7488
7869
  };
7489
7870
  };
7490
- };
7491
- '/api/v1/{region}/bean/transaction-rules/validate': {
7492
7871
  post: {
7493
- req: TransactionRuleControllerValidateData;
7872
+ req: UserControllerSignupUserData;
7494
7873
  res: {
7495
7874
  /**
7496
- * Validation result
7875
+ * User created successfully
7497
7876
  */
7498
- 200: ValidateRuleResponseDto;
7877
+ 201: SignupResponseDto;
7499
7878
  /**
7500
- * Validation failed
7879
+ * Invalid Turnstile token (when Turnstile is enabled)
7501
7880
  */
7502
- 400: ApiProblemResponseDto;
7881
+ 400: unknown;
7503
7882
  /**
7504
- * Unauthorized
7883
+ * User signup is disabled
7505
7884
  */
7506
- 401: ApiProblemResponseDto;
7885
+ 403: unknown;
7507
7886
  };
7508
7887
  };
7509
7888
  };
7510
- '/api/v1/{region}/bean/transaction-rules/bulk': {
7511
- post: {
7512
- req: TransactionRuleControllerBulkCreateData;
7889
+ '/api/v1/users/{id}': {
7890
+ delete: {
7891
+ req: UserControllerDeleteUserData;
7513
7892
  res: {
7514
7893
  /**
7515
- * Bulk create completed
7516
- */
7517
- 201: BulkCreateRulesResponseDto;
7518
- /**
7519
- * Invalid bulk create data
7894
+ * User deleted successfully
7520
7895
  */
7521
- 400: ApiProblemResponseDto;
7896
+ 204: void;
7522
7897
  /**
7523
- * Unauthorized
7898
+ * Cannot delete own account or insufficient permissions
7524
7899
  */
7525
- 401: ApiProblemResponseDto;
7900
+ 403: unknown;
7526
7901
  };
7527
7902
  };
7528
7903
  };
7529
- '/api/v1/{region}/bean/transaction-rules/export/{format}': {
7904
+ '/api/v1/users/{id}/info': {
7530
7905
  get: {
7531
- req: TransactionRuleControllerExportData;
7906
+ req: UserControllerGetUserInfoData;
7532
7907
  res: {
7533
7908
  /**
7534
- * Exported rules
7535
- */
7536
- 200: ExportRulesResponseDto;
7537
- /**
7538
- * Unsupported format
7909
+ * User info retrieved successfully
7539
7910
  */
7540
- 400: ApiProblemResponseDto;
7911
+ 200: unknown;
7541
7912
  /**
7542
- * Unauthorized
7913
+ * Cannot access other user info without admin permission
7543
7914
  */
7544
- 401: ApiProblemResponseDto;
7915
+ 403: unknown;
7545
7916
  };
7546
7917
  };
7547
7918
  };
7548
- '/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
7549
- get: {
7550
- req: TransactionRuleControllerGetStatisticsData;
7919
+ '/api/v1/users/setting': {
7920
+ put: {
7921
+ req: UserControllerUpdateUserSettingData;
7551
7922
  res: {
7552
7923
  /**
7553
- * Rule statistics
7924
+ * Settings updated successfully
7554
7925
  */
7555
- 200: RuleStatisticsResponseDto;
7926
+ 200: unknown;
7556
7927
  /**
7557
- * Unauthorized
7928
+ * Insufficient permissions
7558
7929
  */
7559
- 401: ApiProblemResponseDto;
7930
+ 403: unknown;
7560
7931
  };
7561
7932
  };
7562
7933
  };
7563
- '/api/v1/{region}/bean/transaction-rules/{ruleId}': {
7934
+ '/api/v1/users/settings-by-page': {
7564
7935
  get: {
7565
- req: TransactionRuleControllerGetDetailData;
7936
+ req: UserControllerGetAllUserSettingsByPageData;
7566
7937
  res: {
7567
7938
  /**
7568
- * Rule details
7569
- */
7570
- 200: TransactionRuleResponseDto;
7571
- /**
7572
- * Unauthorized
7573
- */
7574
- 401: ApiProblemResponseDto;
7575
- /**
7576
- * Forbidden - not owner of rule
7577
- */
7578
- 403: ApiProblemResponseDto;
7579
- /**
7580
- * Rule not found
7939
+ * Settings list retrieved successfully
7581
7940
  */
7582
- 404: ApiProblemResponseDto;
7941
+ 200: unknown;
7583
7942
  };
7584
7943
  };
7585
- put: {
7586
- req: TransactionRuleControllerUpdateData;
7944
+ };
7945
+ '/api/v1/users/asset-liability-summary': {
7946
+ get: {
7587
7947
  res: {
7588
7948
  /**
7589
- * Rule updated successfully
7949
+ * Summary retrieved successfully
7590
7950
  */
7591
- 200: TransactionRuleResponseDto;
7951
+ 200: unknown;
7952
+ };
7953
+ };
7954
+ };
7955
+ '/api/v1/admin/properties': {
7956
+ get: {
7957
+ res: {
7592
7958
  /**
7593
- * Validation failed
7959
+ * Properties retrieved successfully
7594
7960
  */
7595
- 400: ApiProblemResponseDto;
7961
+ 200: unknown;
7596
7962
  /**
7597
7963
  * Unauthorized
7598
7964
  */
7599
- 401: ApiProblemResponseDto;
7600
- /**
7601
- * Forbidden - not owner of rule
7602
- */
7603
- 403: ApiProblemResponseDto;
7604
- /**
7605
- * Rule not found
7606
- */
7607
- 404: ApiProblemResponseDto;
7965
+ 401: unknown;
7608
7966
  /**
7609
- * Resource conflict - rule is being modified by another process
7967
+ * Forbidden - insufficient permissions
7610
7968
  */
7611
- 409: ApiProblemResponseDto;
7969
+ 403: unknown;
7612
7970
  };
7613
7971
  };
7614
- delete: {
7615
- req: TransactionRuleControllerDeleteData;
7972
+ };
7973
+ '/api/v1/admin/properties/{key}': {
7974
+ get: {
7975
+ req: PropertyControllerGetByKeyData;
7616
7976
  res: {
7617
7977
  /**
7618
- * Rule deleted successfully
7978
+ * Property retrieved successfully
7619
7979
  */
7620
- 204: void;
7980
+ 200: unknown;
7621
7981
  /**
7622
7982
  * Unauthorized
7623
7983
  */
7624
- 401: ApiProblemResponseDto;
7625
- /**
7626
- * Forbidden - not owner of rule
7627
- */
7628
- 403: ApiProblemResponseDto;
7984
+ 401: unknown;
7629
7985
  /**
7630
- * Rule not found
7986
+ * Forbidden - insufficient permissions
7631
7987
  */
7632
- 404: ApiProblemResponseDto;
7988
+ 403: unknown;
7633
7989
  /**
7634
- * Resource conflict - rule is being modified by another process
7990
+ * Property not found
7635
7991
  */
7636
- 409: ApiProblemResponseDto;
7992
+ 404: unknown;
7637
7993
  };
7638
7994
  };
7639
- };
7640
- '/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
7641
- post: {
7642
- req: TransactionRuleControllerTestData;
7995
+ put: {
7996
+ req: PropertyControllerUpdateData;
7643
7997
  res: {
7644
7998
  /**
7645
- * Test result
7999
+ * Property updated successfully
7646
8000
  */
7647
- 200: TestRuleResponseDto;
8001
+ 200: unknown;
7648
8002
  /**
7649
8003
  * Unauthorized
7650
8004
  */
7651
- 401: ApiProblemResponseDto;
7652
- /**
7653
- * Forbidden - not owner of rule
7654
- */
7655
- 403: ApiProblemResponseDto;
8005
+ 401: unknown;
7656
8006
  /**
7657
- * Rule not found
8007
+ * Forbidden - insufficient permissions
7658
8008
  */
7659
- 404: ApiProblemResponseDto;
8009
+ 403: unknown;
7660
8010
  };
7661
8011
  };
7662
- };
7663
- '/api/v1/users': {
7664
8012
  delete: {
7665
- req: UserControllerDeleteOwnUserData;
8013
+ req: PropertyControllerDeleteData;
7666
8014
  res: {
7667
8015
  /**
7668
- * User deleted successfully
8016
+ * Property deleted successfully
7669
8017
  */
7670
8018
  204: void;
7671
8019
  /**
7672
- * Invalid access token
8020
+ * Unauthorized
8021
+ */
8022
+ 401: unknown;
8023
+ /**
8024
+ * Forbidden - insufficient permissions
7673
8025
  */
7674
8026
  403: unknown;
7675
- };
7676
- };
7677
- get: {
7678
- req: UserControllerGetUserData;
7679
- res: {
7680
8027
  /**
7681
- * User retrieved successfully
8028
+ * Property not found
7682
8029
  */
7683
- 200: unknown;
8030
+ 404: unknown;
7684
8031
  };
7685
8032
  };
8033
+ };
8034
+ '/api/v1/{region}/bean/transaction-rules': {
7686
8035
  post: {
7687
- req: UserControllerSignupUserData;
8036
+ req: TransactionRuleControllerCreateData;
7688
8037
  res: {
7689
8038
  /**
7690
- * User created successfully
8039
+ * Rule updated successfully (upsert mode)
7691
8040
  */
7692
- 201: unknown;
8041
+ 200: TransactionRuleResponseDto;
7693
8042
  /**
7694
- * Invalid Turnstile token (when Turnstile is enabled)
8043
+ * Validation failed
7695
8044
  */
7696
- 400: unknown;
8045
+ 400: ApiProblemResponseDto;
7697
8046
  /**
7698
- * User signup is disabled
8047
+ * Unauthorized
7699
8048
  */
7700
- 403: unknown;
8049
+ 401: ApiProblemResponseDto;
8050
+ /**
8051
+ * Resource conflict - another process is updating this rule
8052
+ */
8053
+ 409: ApiProblemResponseDto;
7701
8054
  };
7702
8055
  };
7703
- };
7704
- '/api/v1/users/{id}': {
7705
- delete: {
7706
- req: UserControllerDeleteUserData;
8056
+ get: {
8057
+ req: TransactionRuleControllerListData;
7707
8058
  res: {
7708
8059
  /**
7709
- * User deleted successfully
8060
+ * List of rules
7710
8061
  */
7711
- 204: void;
8062
+ 200: TransactionRuleListResponseDto;
7712
8063
  /**
7713
- * Cannot delete own account or insufficient permissions
8064
+ * Unauthorized
7714
8065
  */
7715
- 403: unknown;
8066
+ 401: ApiProblemResponseDto;
7716
8067
  };
7717
8068
  };
7718
8069
  };
7719
- '/api/v1/users/{id}/info': {
7720
- get: {
7721
- req: UserControllerGetUserInfoData;
8070
+ '/api/v1/{region}/bean/transaction-rules/validate': {
8071
+ post: {
8072
+ req: TransactionRuleControllerValidateData;
7722
8073
  res: {
7723
8074
  /**
7724
- * User info retrieved successfully
8075
+ * Validation result
7725
8076
  */
7726
- 200: unknown;
8077
+ 200: ValidateRuleResponseDto;
7727
8078
  /**
7728
- * Cannot access other user info without admin permission
8079
+ * Validation failed
7729
8080
  */
7730
- 403: unknown;
8081
+ 400: ApiProblemResponseDto;
8082
+ /**
8083
+ * Unauthorized
8084
+ */
8085
+ 401: ApiProblemResponseDto;
7731
8086
  };
7732
8087
  };
7733
8088
  };
7734
- '/api/v1/users/setting': {
7735
- put: {
7736
- req: UserControllerUpdateUserSettingData;
8089
+ '/api/v1/{region}/bean/transaction-rules/bulk': {
8090
+ post: {
8091
+ req: TransactionRuleControllerBulkCreateData;
7737
8092
  res: {
7738
8093
  /**
7739
- * Settings updated successfully
8094
+ * Bulk create completed
7740
8095
  */
7741
- 200: unknown;
8096
+ 201: BulkCreateRulesResponseDto;
7742
8097
  /**
7743
- * Insufficient permissions
8098
+ * Invalid bulk create data
7744
8099
  */
7745
- 403: unknown;
8100
+ 400: ApiProblemResponseDto;
8101
+ /**
8102
+ * Unauthorized
8103
+ */
8104
+ 401: ApiProblemResponseDto;
7746
8105
  };
7747
8106
  };
7748
8107
  };
7749
- '/api/v1/users/settings-by-page': {
8108
+ '/api/v1/{region}/bean/transaction-rules/export/{format}': {
7750
8109
  get: {
7751
- req: UserControllerGetAllUserSettingsByPageData;
8110
+ req: TransactionRuleControllerExportData;
7752
8111
  res: {
7753
8112
  /**
7754
- * Settings list retrieved successfully
8113
+ * Exported rules
7755
8114
  */
7756
- 200: unknown;
8115
+ 200: ExportRulesResponseDto;
8116
+ /**
8117
+ * Unsupported format
8118
+ */
8119
+ 400: ApiProblemResponseDto;
8120
+ /**
8121
+ * Unauthorized
8122
+ */
8123
+ 401: ApiProblemResponseDto;
7757
8124
  };
7758
8125
  };
7759
8126
  };
7760
- '/api/v1/users/asset-liability-summary': {
8127
+ '/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
7761
8128
  get: {
8129
+ req: TransactionRuleControllerGetStatisticsData;
7762
8130
  res: {
7763
8131
  /**
7764
- * Summary retrieved successfully
8132
+ * Rule statistics
7765
8133
  */
7766
- 200: unknown;
8134
+ 200: RuleStatisticsResponseDto;
8135
+ /**
8136
+ * Unauthorized
8137
+ */
8138
+ 401: ApiProblemResponseDto;
7767
8139
  };
7768
8140
  };
7769
8141
  };
7770
- '/api/v1/admin/properties': {
8142
+ '/api/v1/{region}/bean/transaction-rules/{ruleId}': {
7771
8143
  get: {
8144
+ req: TransactionRuleControllerGetDetailData;
7772
8145
  res: {
7773
8146
  /**
7774
- * Properties retrieved successfully
8147
+ * Rule details
7775
8148
  */
7776
- 200: unknown;
8149
+ 200: TransactionRuleResponseDto;
7777
8150
  /**
7778
8151
  * Unauthorized
7779
8152
  */
7780
- 401: unknown;
8153
+ 401: ApiProblemResponseDto;
7781
8154
  /**
7782
- * Forbidden - insufficient permissions
8155
+ * Forbidden - not owner of rule
7783
8156
  */
7784
- 403: unknown;
8157
+ 403: ApiProblemResponseDto;
8158
+ /**
8159
+ * Rule not found
8160
+ */
8161
+ 404: ApiProblemResponseDto;
7785
8162
  };
7786
8163
  };
7787
- };
7788
- '/api/v1/admin/properties/{key}': {
7789
- get: {
7790
- req: PropertyControllerGetByKeyData;
8164
+ put: {
8165
+ req: TransactionRuleControllerUpdateData;
7791
8166
  res: {
7792
8167
  /**
7793
- * Property retrieved successfully
8168
+ * Rule updated successfully
7794
8169
  */
7795
- 200: unknown;
8170
+ 200: TransactionRuleResponseDto;
8171
+ /**
8172
+ * Validation failed
8173
+ */
8174
+ 400: ApiProblemResponseDto;
7796
8175
  /**
7797
8176
  * Unauthorized
7798
8177
  */
7799
- 401: unknown;
8178
+ 401: ApiProblemResponseDto;
7800
8179
  /**
7801
- * Forbidden - insufficient permissions
8180
+ * Forbidden - not owner of rule
7802
8181
  */
7803
- 403: unknown;
8182
+ 403: ApiProblemResponseDto;
7804
8183
  /**
7805
- * Property not found
8184
+ * Rule not found
7806
8185
  */
7807
- 404: unknown;
8186
+ 404: ApiProblemResponseDto;
8187
+ /**
8188
+ * Resource conflict - rule is being modified by another process
8189
+ */
8190
+ 409: ApiProblemResponseDto;
7808
8191
  };
7809
8192
  };
7810
- put: {
7811
- req: PropertyControllerUpdateData;
8193
+ delete: {
8194
+ req: TransactionRuleControllerDeleteData;
7812
8195
  res: {
7813
8196
  /**
7814
- * Property updated successfully
8197
+ * Rule deleted successfully
7815
8198
  */
7816
- 200: unknown;
8199
+ 204: void;
7817
8200
  /**
7818
8201
  * Unauthorized
7819
8202
  */
7820
- 401: unknown;
8203
+ 401: ApiProblemResponseDto;
7821
8204
  /**
7822
- * Forbidden - insufficient permissions
8205
+ * Forbidden - not owner of rule
7823
8206
  */
7824
- 403: unknown;
8207
+ 403: ApiProblemResponseDto;
8208
+ /**
8209
+ * Rule not found
8210
+ */
8211
+ 404: ApiProblemResponseDto;
8212
+ /**
8213
+ * Resource conflict - rule is being modified by another process
8214
+ */
8215
+ 409: ApiProblemResponseDto;
7825
8216
  };
7826
8217
  };
7827
- delete: {
7828
- req: PropertyControllerDeleteData;
8218
+ };
8219
+ '/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
8220
+ post: {
8221
+ req: TransactionRuleControllerTestData;
7829
8222
  res: {
7830
8223
  /**
7831
- * Property deleted successfully
8224
+ * Test result
7832
8225
  */
7833
- 204: void;
8226
+ 200: TestRuleResponseDto;
7834
8227
  /**
7835
8228
  * Unauthorized
7836
8229
  */
7837
- 401: unknown;
8230
+ 401: ApiProblemResponseDto;
7838
8231
  /**
7839
- * Forbidden - insufficient permissions
8232
+ * Forbidden - not owner of rule
7840
8233
  */
7841
- 403: unknown;
8234
+ 403: ApiProblemResponseDto;
7842
8235
  /**
7843
- * Property not found
8236
+ * Rule not found
7844
8237
  */
7845
- 404: unknown;
8238
+ 404: ApiProblemResponseDto;
7846
8239
  };
7847
8240
  };
7848
8241
  };
@@ -8385,11 +8778,12 @@ type $OpenApiTs = {
8385
8778
  };
8386
8779
  '/api/v1/bean/platforms/list': {
8387
8780
  get: {
8781
+ req: PlatformControllerGetPlatformListData;
8388
8782
  res: {
8389
8783
  /**
8390
8784
  * List of platforms with user binding status
8391
8785
  */
8392
- 200: unknown;
8786
+ 200: Array<PlatformListItemDto>;
8393
8787
  };
8394
8788
  };
8395
8789
  };
@@ -8398,9 +8792,9 @@ type $OpenApiTs = {
8398
8792
  req: PlatformControllerMatchPlatformsData;
8399
8793
  res: {
8400
8794
  /**
8401
- * List of matching platforms with suggested segment names
8795
+ * Matching platforms with overall match type and truncation flag
8402
8796
  */
8403
- 200: unknown;
8797
+ 200: PlatformMatchResponseDto;
8404
8798
  };
8405
8799
  };
8406
8800
  };
@@ -8519,78 +8913,6 @@ type $OpenApiTs = {
8519
8913
  };
8520
8914
  };
8521
8915
  };
8522
- '/api/v1/{region}/reporting/portfolio/trends': {
8523
- get: {
8524
- req: ReportingControllerGetPortfolioTrendsData;
8525
- res: {
8526
- /**
8527
- * Trends retrieved successfully
8528
- */
8529
- 200: PortfolioTrendsResponseDto;
8530
- /**
8531
- * User not authenticated
8532
- */
8533
- 401: unknown;
8534
- };
8535
- };
8536
- };
8537
- '/api/v1/{region}/reporting/cash-flow/trends': {
8538
- get: {
8539
- req: ReportingControllerGetCashFlowTrendsData;
8540
- res: {
8541
- /**
8542
- * Cash-flow trends retrieved successfully
8543
- */
8544
- 200: CashFlowTrendsResponseDto;
8545
- /**
8546
- * User not authenticated
8547
- */
8548
- 401: unknown;
8549
- };
8550
- };
8551
- };
8552
- '/api/v1/{region}/reporting/snapshots/generate': {
8553
- post: {
8554
- req: ReportingControllerGenerateSnapshotData;
8555
- res: {
8556
- /**
8557
- * Snapshot generated successfully
8558
- */
8559
- 200: GenerateSnapshotResponse;
8560
- /**
8561
- * Invalid date format
8562
- */
8563
- 400: unknown;
8564
- /**
8565
- * User not authenticated
8566
- */
8567
- 401: unknown;
8568
- };
8569
- };
8570
- };
8571
- '/api/v1/{region}/reporting/snapshots/backfill': {
8572
- post: {
8573
- req: ReportingControllerBackfillSnapshotsData;
8574
- res: {
8575
- /**
8576
- * Backfill completed successfully
8577
- */
8578
- 200: BackfillSnapshotsResponse;
8579
- /**
8580
- * Invalid date format or range
8581
- */
8582
- 400: unknown;
8583
- /**
8584
- * User not authenticated
8585
- */
8586
- 401: unknown;
8587
- /**
8588
- * Backfill already in progress for this user
8589
- */
8590
- 409: unknown;
8591
- };
8592
- };
8593
- };
8594
8916
  '/api/v1/auth/api-keys': {
8595
8917
  post: {
8596
8918
  res: {
@@ -8612,7 +8934,7 @@ type $OpenApiTs = {
8612
8934
  /**
8613
8935
  * Login successful
8614
8936
  */
8615
- 200: unknown;
8937
+ 200: AnonymousLoginResponseDto;
8616
8938
  /**
8617
8939
  * Invalid access token
8618
8940
  */
@@ -8759,6 +9081,32 @@ type $OpenApiTs = {
8759
9081
  };
8760
9082
  };
8761
9083
  };
9084
+ '/api/v1/market/symbols/search': {
9085
+ get: {
9086
+ req: SymbolControllerSearchData;
9087
+ res: {
9088
+ /**
9089
+ * Ranked search results
9090
+ */
9091
+ 200: Array<SymbolSearchResultDto>;
9092
+ };
9093
+ };
9094
+ };
9095
+ '/api/v1/market/symbols/{symbol}/quote': {
9096
+ get: {
9097
+ req: SymbolControllerGetQuoteData;
9098
+ res: {
9099
+ /**
9100
+ * Symbol quote
9101
+ */
9102
+ 200: SymbolQuoteDto;
9103
+ /**
9104
+ * Symbol not found in the openbb catalog
9105
+ */
9106
+ 404: unknown;
9107
+ };
9108
+ };
9109
+ };
8762
9110
  };
8763
9111
 
8764
9112
  declare class BeanAccountsService {
@@ -8810,7 +9158,7 @@ declare class BeanAccountsService {
8810
9158
  static accountControllerUpdate(data: AccountControllerUpdateData): CancelablePromise<AccountControllerUpdateResponse>;
8811
9159
  /**
8812
9160
  * Delete account
8813
- * Deletes an account (only if no transactions)
9161
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
8814
9162
  * @param data The data for the request.
8815
9163
  * @param data.id Account UUID
8816
9164
  * @param data.region Region code for tenant context
@@ -9182,4 +9530,4 @@ type OpenAPIConfig = {
9182
9530
  };
9183
9531
  declare const OpenAPI: OpenAPIConfig;
9184
9532
 
9185
- 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 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 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 provider, 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 };
9533
+ 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 };