@firela/api-types 0.0.0-canary.a90ce0e4 → 0.0.0-canary.a9f0aa08

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' | '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' | 'OTHER';
148
156
  /**
149
157
  * Account status
150
158
  */
@@ -2375,286 +2383,300 @@ type ForecastResponseDto = {
2375
2383
  */
2376
2384
  periodEnd: string;
2377
2385
  };
2378
- type CreateTransactionRuleDto = {
2379
- name: string;
2380
- description?: string;
2381
- narrationKeywords?: Array<unknown[]>;
2382
- payeeKeywords?: Array<unknown[]>;
2383
- categoryKeywords?: Array<unknown[]>;
2386
+ type CurrencyBalanceDto = {
2384
2387
  /**
2385
- * Payment method keywords (e.g., HuaBei, YuEBao)
2388
+ * ISO 4217 currency code
2386
2389
  */
2387
- methodKeywords?: Array<unknown[]>;
2390
+ currency: string;
2388
2391
  /**
2389
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2392
+ * Balance amount
2390
2393
  */
2391
- categoryAccount?: string;
2392
- matchLogic: 'OR' | 'AND';
2394
+ balance: string;
2395
+ };
2396
+ type TimeSeriesPointDto = {
2393
2397
  /**
2394
- * Minimum transaction amount (inclusive)
2398
+ * Date in YYYY-MM-DD format
2395
2399
  */
2396
- amountMin?: number;
2400
+ date: string;
2397
2401
  /**
2398
- * Maximum transaction amount (inclusive)
2402
+ * Value at this date (in base currency)
2399
2403
  */
2400
- amountMax?: number;
2401
- priority: number;
2402
- additionalTags?: Array<unknown[]>;
2403
- additionalMetadata?: {
2404
+ value: string;
2405
+ /**
2406
+ * Change from previous point
2407
+ */
2408
+ change?: {
2404
2409
  [key: string]: unknown;
2405
2410
  };
2406
2411
  /**
2407
- * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2412
+ * Total assets at this date (in base currency)
2408
2413
  */
2409
- upsertByPayee?: boolean;
2410
- };
2411
- type matchLogic = 'OR' | 'AND';
2412
- type AmountRangeDto = {
2414
+ assets?: string;
2413
2415
  /**
2414
- * Minimum amount
2416
+ * Total liabilities at this date (in base currency)
2415
2417
  */
2416
- min?: number;
2418
+ liabilities?: string;
2417
2419
  /**
2418
- * Maximum amount
2420
+ * Multi-currency breakdown for this point
2419
2421
  */
2420
- max?: number;
2422
+ byCurrency?: Array<CurrencyBalanceDto>;
2421
2423
  };
2422
- type TransactionRuleResponseDto = {
2424
+ type TrendSummaryDto = {
2423
2425
  /**
2424
- * Rule ID
2426
+ * Value at start of period
2425
2427
  */
2426
- id: string;
2428
+ startValue: string;
2427
2429
  /**
2428
- * Rule name
2430
+ * Value at end of period
2429
2431
  */
2430
- name: string;
2432
+ endValue: string;
2431
2433
  /**
2432
- * Rule description
2434
+ * Total change over period
2433
2435
  */
2434
- description?: string;
2436
+ totalChange: string;
2435
2437
  /**
2436
- * Keywords to match in transaction narration
2438
+ * Total change percentage
2437
2439
  */
2438
- narrationKeywords: Array<string>;
2440
+ totalChangePercentage: string;
2441
+ };
2442
+ type MultiCurrencyPointDto = {
2439
2443
  /**
2440
- * Keywords to match in payee name
2444
+ * Date in YYYY-MM-DD format
2441
2445
  */
2442
- payeeKeywords: Array<string>;
2446
+ date: string;
2443
2447
  /**
2444
- * Keywords to match in category
2448
+ * Balances by currency
2445
2449
  */
2446
- categoryKeywords: Array<string>;
2450
+ byCurrency: Array<CurrencyBalanceDto>;
2451
+ };
2452
+ type PortfolioTrendsResponseDto = {
2447
2453
  /**
2448
- * Keywords to match in payment method
2454
+ * Time series data points
2449
2455
  */
2450
- methodKeywords: Array<string>;
2456
+ series: Array<TimeSeriesPointDto>;
2451
2457
  /**
2452
- * Destination account for categorization
2458
+ * Period summary
2453
2459
  */
2454
- categoryAccount?: string;
2460
+ summary: TrendSummaryDto;
2455
2461
  /**
2456
- * Keyword matching logic
2462
+ * Period requested
2457
2463
  */
2458
- matchLogic: 'OR' | 'AND';
2464
+ period: string;
2459
2465
  /**
2460
- * Amount range for matching
2466
+ * Data granularity
2461
2467
  */
2462
- amountRange?: AmountRangeDto;
2468
+ granularity: string;
2463
2469
  /**
2464
- * Rule priority (0-1000, higher = first match)
2470
+ * Base currency for converted values
2465
2471
  */
2466
- priority: number;
2472
+ currency: string;
2467
2473
  /**
2468
- * Whether the rule is enabled
2474
+ * Multi-currency time series (each point has currency breakdown)
2469
2475
  */
2470
- enabled: boolean;
2476
+ byCurrency?: Array<MultiCurrencyPointDto>;
2471
2477
  /**
2472
- * Learning source: NLP, REVIEW_CENTER, or null for manual
2478
+ * Exchange rate warnings
2473
2479
  */
2474
- learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
2480
+ warnings?: Array<ExchangeRateWarningDto>;
2481
+ };
2482
+ type CashFlowPointDto = {
2475
2483
  /**
2476
- * Whether auto-apply is enabled for this rule
2484
+ * Month key (YYYY-MM)
2477
2485
  */
2478
- autoApplyEnabled: boolean;
2486
+ month: string;
2479
2487
  /**
2480
- * Number of confirmations for NLP-learned rules
2488
+ * Income in base currency (absolute, converted)
2481
2489
  */
2482
- confirmationCount: number;
2490
+ income: string;
2483
2491
  /**
2484
- * Additional tags
2492
+ * Expense in base currency (absolute, converted)
2485
2493
  */
2486
- additionalTags: Array<string>;
2494
+ expense: string;
2487
2495
  /**
2488
- * Additional metadata
2496
+ * netSavings = income − expense (savings positive)
2489
2497
  */
2490
- additionalMetadata?: {
2491
- [key: string]: string;
2492
- };
2498
+ netSavings: string;
2499
+ };
2500
+ type CashFlowTrendSummaryDto = {
2493
2501
  /**
2494
- * Created timestamp
2502
+ * Total income across the period
2495
2503
  */
2496
- createdAt: string;
2504
+ totalIncome: string;
2497
2505
  /**
2498
- * Updated timestamp
2506
+ * Total expense across the period
2499
2507
  */
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>;
2508
+ totalExpense: string;
2508
2509
  /**
2509
- * Total count of rules
2510
+ * income expense across the period
2510
2511
  */
2511
- total: number;
2512
+ totalNetSavings: string;
2512
2513
  /**
2513
- * Results per page
2514
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
2514
2515
  */
2515
- limit: number;
2516
+ averageMonthlyNetSavings: string;
2517
+ };
2518
+ type CashFlowTrendsResponseDto = {
2516
2519
  /**
2517
- * Pagination offset
2520
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
2518
2521
  */
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[]>;
2522
+ series: Array<CashFlowPointDto>;
2527
2523
  /**
2528
- * Payment method keywords (e.g., HuaBei, YuEBao)
2524
+ * Period totals
2529
2525
  */
2530
- methodKeywords?: Array<unknown[]>;
2526
+ summary: CashFlowTrendSummaryDto;
2531
2527
  /**
2532
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2528
+ * Period requested
2533
2529
  */
2534
- categoryAccount?: string;
2535
- matchLogic: 'OR' | 'AND';
2530
+ period: string;
2536
2531
  /**
2537
- * Minimum transaction amount (inclusive)
2532
+ * Data granularity (v1 returns month buckets)
2538
2533
  */
2539
- amountMin?: number;
2534
+ granularity: string;
2540
2535
  /**
2541
- * Maximum transaction amount (inclusive)
2536
+ * Base currency for converted values
2542
2537
  */
2543
- amountMax?: number;
2544
- priority: number;
2545
- additionalTags?: Array<unknown[]>;
2546
- additionalMetadata?: {
2547
- [key: string]: unknown;
2548
- };
2538
+ currency: string;
2549
2539
  /**
2550
- * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2540
+ * Exchange rate warnings (e.g. missing rate for a currency)
2551
2541
  */
2552
- upsertByPayee?: boolean;
2542
+ warnings?: Array<ExchangeRateWarningDto>;
2553
2543
  };
2554
- type ValidateRuleResponseDto = {
2544
+ type GenerateSnapshotBody = unknown;
2545
+ type GenerateSnapshotResponse = unknown;
2546
+ type BackfillSnapshotsBody = unknown;
2547
+ type BackfillSnapshotsResponse = unknown;
2548
+ type DeleteOwnUserDto = {
2555
2549
  /**
2556
- * Whether the rule configuration is valid
2550
+ * Access token for user verification
2557
2551
  */
2558
- valid: boolean;
2552
+ accessToken: string;
2553
+ };
2554
+ type SignupDto = {
2559
2555
  /**
2560
- * List of validation errors (empty if valid)
2556
+ * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2561
2557
  */
2562
- errors: Array<unknown[]>;
2558
+ turnstileToken?: string;
2559
+ };
2560
+ type SignupResponseDto = {
2563
2561
  /**
2564
- * List of validation warnings (non-blocking issues)
2562
+ * JWT auth token
2565
2563
  */
2566
- warnings: Array<unknown[]>;
2567
- };
2568
- type BulkCreateRulesDto = {
2564
+ authToken: string;
2569
2565
  /**
2570
- * Array of rules to import
2566
+ * Auto-generated access token
2571
2567
  */
2572
- rules: Array<unknown[]>;
2568
+ accessToken: string;
2573
2569
  /**
2574
- * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2570
+ * Assigned user role
2575
2571
  */
2576
- conflictStrategy: 'replace' | 'skip';
2572
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2577
2573
  };
2578
2574
  /**
2579
- * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2575
+ * Assigned user role
2580
2576
  */
2581
- type conflictStrategy = 'replace' | 'skip';
2582
- type BulkCreateRulesResponseDto = {
2577
+ type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2578
+ type UpdateUserSettingDto = {
2583
2579
  /**
2584
- * Number of successfully created rules
2580
+ * Security ID
2585
2581
  */
2586
- successCount: number;
2582
+ secId?: number;
2587
2583
  /**
2588
- * Number of failed rules
2584
+ * Annual interest rate
2589
2585
  */
2590
- failureCount: number;
2586
+ annualInterestRate?: number;
2591
2587
  /**
2592
- * Error details for failed rules
2588
+ * Currency code
2593
2589
  */
2594
- errors: Array<{
2595
- index?: number;
2596
- message?: string;
2597
- }>;
2590
+ currency?: string;
2598
2591
  /**
2599
- * IDs of successfully created rules
2592
+ * Base currency code
2600
2593
  */
2601
- createdRuleIds: Array<string>;
2602
- };
2603
- type ExportRulesResponseDto = {
2594
+ baseCurrency?: string;
2604
2595
  /**
2605
- * Export timestamp
2596
+ * Benchmark symbol
2606
2597
  */
2607
- exportedAt: string;
2598
+ benchmark?: string;
2608
2599
  /**
2609
- * User ID
2600
+ * Color scheme
2610
2601
  */
2611
- userId: string;
2602
+ colorScheme?: 'DARK' | 'LIGHT';
2612
2603
  /**
2613
- * Number of exported rules
2604
+ * Date range filter
2614
2605
  */
2615
- ruleCount: number;
2606
+ dateRange?: string;
2616
2607
  /**
2617
- * Exported rules
2608
+ * Emergency fund amount
2618
2609
  */
2619
- rules: unknown[];
2620
- };
2621
- type RuleStatisticsResponseDto = {
2610
+ emergencyFund?: number;
2622
2611
  /**
2623
- * Statistics time period
2612
+ * Account filter IDs
2624
2613
  */
2625
- period: '7d' | '30d' | '90d';
2614
+ 'filters.accounts'?: Array<string>;
2626
2615
  /**
2627
- * Total number of rules
2616
+ * Asset class filters
2628
2617
  */
2629
- totalRules: number;
2618
+ 'filters.assetClasses'?: Array<string>;
2630
2619
  /**
2631
- * Number of rules with at least one match
2620
+ * Data source filter
2632
2621
  */
2633
- rulesWithMatches: number;
2622
+ 'filters.dataSource'?: string;
2634
2623
  /**
2635
- * Total number of matches across all rules
2624
+ * Symbol filter
2636
2625
  */
2637
- totalMatches: number;
2626
+ 'filters.symbol'?: string;
2638
2627
  /**
2639
- * Average confidence score across all matches
2628
+ * Tag filters
2640
2629
  */
2641
- averageConfidence: number;
2630
+ 'filters.tags'?: Array<string>;
2642
2631
  /**
2643
- * Per-rule statistics
2632
+ * Enable experimental features
2644
2633
  */
2645
- ruleStats: Array<{
2646
- ruleId?: string;
2647
- ruleName?: string;
2648
- matchCount?: number;
2649
- averageConfidence?: number;
2650
- }>;
2634
+ isExperimentalFeatures?: boolean;
2635
+ /**
2636
+ * Enable restricted view mode
2637
+ */
2638
+ isRestrictedView?: boolean;
2639
+ /**
2640
+ * Language code
2641
+ */
2642
+ language?: string;
2643
+ /**
2644
+ * Locale code
2645
+ */
2646
+ locale?: string;
2647
+ /**
2648
+ * Projected total amount
2649
+ */
2650
+ projectedTotalAmount?: number;
2651
+ /**
2652
+ * Retirement date in ISO 8601 format
2653
+ */
2654
+ retirementDate?: string;
2655
+ /**
2656
+ * Savings rate percentage
2657
+ */
2658
+ savingsRate?: number;
2659
+ /**
2660
+ * View mode
2661
+ */
2662
+ viewMode?: 'DEFAULT' | 'ZEN';
2651
2663
  };
2652
2664
  /**
2653
- * Statistics time period
2665
+ * Color scheme
2654
2666
  */
2655
- type period = '7d' | '30d' | '90d';
2656
- type UpdateTransactionRuleDto = {
2657
- name?: string;
2667
+ type colorScheme = 'DARK' | 'LIGHT';
2668
+ /**
2669
+ * View mode
2670
+ */
2671
+ type viewMode = 'DEFAULT' | 'ZEN';
2672
+ type UpdatePropertyDto = {
2673
+ /**
2674
+ * Property value
2675
+ */
2676
+ value: string;
2677
+ };
2678
+ type CreateTransactionRuleDto = {
2679
+ name: string;
2658
2680
  description?: string;
2659
2681
  narrationKeywords?: Array<unknown[]>;
2660
2682
  payeeKeywords?: Array<unknown[]>;
@@ -2667,7 +2689,7 @@ type UpdateTransactionRuleDto = {
2667
2689
  * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2668
2690
  */
2669
2691
  categoryAccount?: string;
2670
- matchLogic?: 'OR' | 'AND';
2692
+ matchLogic: 'OR' | 'AND';
2671
2693
  /**
2672
2694
  * Minimum transaction amount (inclusive)
2673
2695
  */
@@ -2676,154 +2698,320 @@ type UpdateTransactionRuleDto = {
2676
2698
  * Maximum transaction amount (inclusive)
2677
2699
  */
2678
2700
  amountMax?: number;
2679
- priority?: number;
2680
- /**
2681
- * Enable or disable the rule
2682
- */
2683
- enabled?: boolean;
2701
+ priority: number;
2684
2702
  additionalTags?: Array<unknown[]>;
2685
2703
  additionalMetadata?: {
2686
2704
  [key: string]: unknown;
2687
2705
  };
2706
+ /**
2707
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2708
+ */
2709
+ upsertByPayee?: boolean;
2688
2710
  };
2689
- type TestRuleDto = {
2690
- narration: string;
2691
- payee?: string;
2711
+ type matchLogic = 'OR' | 'AND';
2712
+ type AmountRangeDto = {
2713
+ /**
2714
+ * Minimum amount
2715
+ */
2716
+ min?: number;
2717
+ /**
2718
+ * Maximum amount
2719
+ */
2720
+ max?: number;
2721
+ };
2722
+ type TransactionRuleResponseDto = {
2723
+ /**
2724
+ * Rule ID
2725
+ */
2726
+ id: string;
2727
+ /**
2728
+ * Rule name
2729
+ */
2730
+ name: string;
2731
+ /**
2732
+ * Rule description
2733
+ */
2734
+ description?: string;
2735
+ /**
2736
+ * Keywords to match in transaction narration
2737
+ */
2738
+ narrationKeywords: Array<string>;
2739
+ /**
2740
+ * Keywords to match in payee name
2741
+ */
2742
+ payeeKeywords: Array<string>;
2743
+ /**
2744
+ * Keywords to match in category
2745
+ */
2746
+ categoryKeywords: Array<string>;
2747
+ /**
2748
+ * Keywords to match in payment method
2749
+ */
2750
+ methodKeywords: Array<string>;
2751
+ /**
2752
+ * Destination account for categorization
2753
+ */
2692
2754
  categoryAccount?: string;
2693
- amount?: number;
2694
- currency?: string;
2755
+ /**
2756
+ * Keyword matching logic
2757
+ */
2758
+ matchLogic: 'OR' | 'AND';
2759
+ /**
2760
+ * Amount range for matching
2761
+ */
2762
+ amountRange?: AmountRangeDto;
2763
+ /**
2764
+ * Rule priority (0-1000, higher = first match)
2765
+ */
2766
+ priority: number;
2767
+ /**
2768
+ * Whether the rule is enabled
2769
+ */
2770
+ enabled: boolean;
2771
+ /**
2772
+ * Learning source: NLP, REVIEW_CENTER, or null for manual
2773
+ */
2774
+ learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
2775
+ /**
2776
+ * Whether auto-apply is enabled for this rule
2777
+ */
2778
+ autoApplyEnabled: boolean;
2779
+ /**
2780
+ * Number of confirmations for NLP-learned rules
2781
+ */
2782
+ confirmationCount: number;
2783
+ /**
2784
+ * Additional tags
2785
+ */
2786
+ additionalTags: Array<string>;
2787
+ /**
2788
+ * Additional metadata
2789
+ */
2790
+ additionalMetadata?: {
2791
+ [key: string]: string;
2792
+ };
2793
+ /**
2794
+ * Created timestamp
2795
+ */
2796
+ createdAt: string;
2797
+ /**
2798
+ * Updated timestamp
2799
+ */
2800
+ updatedAt: string;
2695
2801
  };
2696
- type TestRuleResponseDto = {
2802
+ /**
2803
+ * Learning source: NLP, REVIEW_CENTER, or null for manual
2804
+ */
2805
+ type learningSource = 'NLP' | 'REVIEW_CENTER';
2806
+ type TransactionRuleListResponseDto = {
2807
+ data: Array<TransactionRuleResponseDto>;
2697
2808
  /**
2698
- * Rule ID that was tested
2809
+ * Total count of rules
2699
2810
  */
2700
- ruleId: string;
2811
+ total: number;
2701
2812
  /**
2702
- * Whether the rule matched the test data
2813
+ * Results per page
2703
2814
  */
2704
- matches: boolean;
2815
+ limit: number;
2705
2816
  /**
2706
- * Match confidence score (0-1)
2817
+ * Pagination offset
2707
2818
  */
2708
- confidence: number;
2819
+ offset: number;
2820
+ };
2821
+ type ValidateRuleDto = {
2822
+ name: string;
2823
+ description?: string;
2824
+ narrationKeywords?: Array<unknown[]>;
2825
+ payeeKeywords?: Array<unknown[]>;
2826
+ categoryKeywords?: Array<unknown[]>;
2709
2827
  /**
2710
- * Details of which fields matched
2828
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2711
2829
  */
2712
- matchDetails: {
2830
+ methodKeywords?: Array<unknown[]>;
2831
+ /**
2832
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2833
+ */
2834
+ categoryAccount?: string;
2835
+ matchLogic: 'OR' | 'AND';
2836
+ /**
2837
+ * Minimum transaction amount (inclusive)
2838
+ */
2839
+ amountMin?: number;
2840
+ /**
2841
+ * Maximum transaction amount (inclusive)
2842
+ */
2843
+ amountMax?: number;
2844
+ priority: number;
2845
+ additionalTags?: Array<unknown[]>;
2846
+ additionalMetadata?: {
2713
2847
  [key: string]: unknown;
2714
2848
  };
2849
+ /**
2850
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2851
+ */
2852
+ upsertByPayee?: boolean;
2715
2853
  };
2716
- type DeleteOwnUserDto = {
2854
+ type ValidateRuleResponseDto = {
2717
2855
  /**
2718
- * Access token for user verification
2856
+ * Whether the rule configuration is valid
2719
2857
  */
2720
- accessToken: string;
2858
+ valid: boolean;
2859
+ /**
2860
+ * List of validation errors (empty if valid)
2861
+ */
2862
+ errors: Array<unknown[]>;
2863
+ /**
2864
+ * List of validation warnings (non-blocking issues)
2865
+ */
2866
+ warnings: Array<unknown[]>;
2721
2867
  };
2722
- type SignupDto = {
2868
+ type BulkCreateRulesDto = {
2723
2869
  /**
2724
- * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2870
+ * Array of rules to import
2725
2871
  */
2726
- turnstileToken?: string;
2872
+ rules: Array<unknown[]>;
2873
+ /**
2874
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2875
+ */
2876
+ conflictStrategy: 'replace' | 'skip';
2727
2877
  };
2728
- type UpdateUserSettingDto = {
2878
+ /**
2879
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2880
+ */
2881
+ type conflictStrategy = 'replace' | 'skip';
2882
+ type BulkCreateRulesResponseDto = {
2729
2883
  /**
2730
- * Security ID
2884
+ * Number of successfully created rules
2731
2885
  */
2732
- secId?: number;
2886
+ successCount: number;
2733
2887
  /**
2734
- * Annual interest rate
2888
+ * Number of failed rules
2735
2889
  */
2736
- annualInterestRate?: number;
2890
+ failureCount: number;
2737
2891
  /**
2738
- * Currency code
2892
+ * Error details for failed rules
2739
2893
  */
2740
- currency?: string;
2894
+ errors: Array<{
2895
+ index?: number;
2896
+ message?: string;
2897
+ }>;
2741
2898
  /**
2742
- * Base currency code
2899
+ * IDs of successfully created rules
2743
2900
  */
2744
- baseCurrency?: string;
2901
+ createdRuleIds: Array<string>;
2902
+ };
2903
+ type ExportRulesResponseDto = {
2745
2904
  /**
2746
- * Benchmark symbol
2905
+ * Export timestamp
2747
2906
  */
2748
- benchmark?: string;
2907
+ exportedAt: string;
2749
2908
  /**
2750
- * Color scheme
2909
+ * User ID
2751
2910
  */
2752
- colorScheme?: 'DARK' | 'LIGHT';
2911
+ userId: string;
2753
2912
  /**
2754
- * Date range filter
2913
+ * Number of exported rules
2755
2914
  */
2756
- dateRange?: string;
2915
+ ruleCount: number;
2757
2916
  /**
2758
- * Emergency fund amount
2917
+ * Exported rules
2759
2918
  */
2760
- emergencyFund?: number;
2919
+ rules: unknown[];
2920
+ };
2921
+ type RuleStatisticsResponseDto = {
2761
2922
  /**
2762
- * Account filter IDs
2923
+ * Statistics time period
2763
2924
  */
2764
- 'filters.accounts'?: Array<string>;
2925
+ period: '7d' | '30d' | '90d';
2765
2926
  /**
2766
- * Asset class filters
2927
+ * Total number of rules
2767
2928
  */
2768
- 'filters.assetClasses'?: Array<string>;
2929
+ totalRules: number;
2769
2930
  /**
2770
- * Data source filter
2931
+ * Number of rules with at least one match
2771
2932
  */
2772
- 'filters.dataSource'?: string;
2933
+ rulesWithMatches: number;
2773
2934
  /**
2774
- * Symbol filter
2935
+ * Total number of matches across all rules
2775
2936
  */
2776
- 'filters.symbol'?: string;
2937
+ totalMatches: number;
2777
2938
  /**
2778
- * Tag filters
2939
+ * Average confidence score across all matches
2779
2940
  */
2780
- 'filters.tags'?: Array<string>;
2941
+ averageConfidence: number;
2942
+ /**
2943
+ * Per-rule statistics
2944
+ */
2945
+ ruleStats: Array<{
2946
+ ruleId?: string;
2947
+ ruleName?: string;
2948
+ matchCount?: number;
2949
+ averageConfidence?: number;
2950
+ }>;
2951
+ };
2952
+ /**
2953
+ * Statistics time period
2954
+ */
2955
+ type period = '7d' | '30d' | '90d';
2956
+ type UpdateTransactionRuleDto = {
2957
+ name?: string;
2958
+ description?: string;
2959
+ narrationKeywords?: Array<unknown[]>;
2960
+ payeeKeywords?: Array<unknown[]>;
2961
+ categoryKeywords?: Array<unknown[]>;
2781
2962
  /**
2782
- * Enable experimental features
2963
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2783
2964
  */
2784
- isExperimentalFeatures?: boolean;
2965
+ methodKeywords?: Array<unknown[]>;
2785
2966
  /**
2786
- * Enable restricted view mode
2967
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2787
2968
  */
2788
- isRestrictedView?: boolean;
2969
+ categoryAccount?: string;
2970
+ matchLogic?: 'OR' | 'AND';
2789
2971
  /**
2790
- * Language code
2972
+ * Minimum transaction amount (inclusive)
2791
2973
  */
2792
- language?: string;
2974
+ amountMin?: number;
2793
2975
  /**
2794
- * Locale code
2976
+ * Maximum transaction amount (inclusive)
2795
2977
  */
2796
- locale?: string;
2978
+ amountMax?: number;
2979
+ priority?: number;
2797
2980
  /**
2798
- * Projected total amount
2981
+ * Enable or disable the rule
2799
2982
  */
2800
- projectedTotalAmount?: number;
2983
+ enabled?: boolean;
2984
+ additionalTags?: Array<unknown[]>;
2985
+ additionalMetadata?: {
2986
+ [key: string]: unknown;
2987
+ };
2988
+ };
2989
+ type TestRuleDto = {
2990
+ narration: string;
2991
+ payee?: string;
2992
+ categoryAccount?: string;
2993
+ amount?: number;
2994
+ currency?: string;
2995
+ };
2996
+ type TestRuleResponseDto = {
2801
2997
  /**
2802
- * Retirement date in ISO 8601 format
2998
+ * Rule ID that was tested
2803
2999
  */
2804
- retirementDate?: string;
3000
+ ruleId: string;
2805
3001
  /**
2806
- * Savings rate percentage
3002
+ * Whether the rule matched the test data
2807
3003
  */
2808
- savingsRate?: number;
3004
+ matches: boolean;
2809
3005
  /**
2810
- * View mode
3006
+ * Match confidence score (0-1)
2811
3007
  */
2812
- viewMode?: 'DEFAULT' | 'ZEN';
2813
- };
2814
- /**
2815
- * Color scheme
2816
- */
2817
- type colorScheme = 'DARK' | 'LIGHT';
2818
- /**
2819
- * View mode
2820
- */
2821
- type viewMode = 'DEFAULT' | 'ZEN';
2822
- type UpdatePropertyDto = {
3008
+ confidence: number;
2823
3009
  /**
2824
- * Property value
3010
+ * Details of which fields matched
2825
3011
  */
2826
- value: string;
3012
+ matchDetails: {
3013
+ [key: string]: unknown;
3014
+ };
2827
3015
  };
2828
3016
  type CreateBeanEventDto = {
2829
3017
  /**
@@ -3427,6 +3615,14 @@ type ProcessNlpDto = {
3427
3615
  parsedData?: {
3428
3616
  [key: string]: unknown;
3429
3617
  };
3618
+ /**
3619
+ * 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.
3620
+ */
3621
+ selectedRuleId?: string;
3622
+ /**
3623
+ * 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.
3624
+ */
3625
+ selectedAccount?: string;
3430
3626
  };
3431
3627
  type NlpTransactionInfoDto = {
3432
3628
  /**
@@ -3660,9 +3856,9 @@ type NlpAccountConfirmationDataDto = {
3660
3856
  */
3661
3857
  invalidAccount: string;
3662
3858
  /**
3663
- * Suggested replacement account
3859
+ * Suggested replacement account (omitted when no clear candidate)
3664
3860
  */
3665
- suggestedAccount: string;
3861
+ suggestedAccount?: string;
3666
3862
  /**
3667
3863
  * Similar accounts for user selection
3668
3864
  */
@@ -3784,7 +3980,7 @@ type NlpSuggestedAccountDto = {
3784
3980
  */
3785
3981
  account: string;
3786
3982
  /**
3787
- * Confidence score for this suggestion (0-1)
3983
+ * Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)
3788
3984
  */
3789
3985
  confidence?: number;
3790
3986
  };
@@ -3800,21 +3996,21 @@ type NlpSuggestedAccountsDto = {
3800
3996
  };
3801
3997
  type NlpDefaultAccountsDto = {
3802
3998
  /**
3803
- * Default asset account
3999
+ * Default OPEN asset account (MRU when multiple), or null when none/ambiguous
3804
4000
  */
3805
- asset: string;
4001
+ asset: string | null;
3806
4002
  /**
3807
- * Default expense account
4003
+ * Default OPEN expense account (MRU when multiple), or null when none/ambiguous
3808
4004
  */
3809
- expense: string;
4005
+ expense: string | null;
3810
4006
  /**
3811
- * Default income account
4007
+ * Default OPEN income account (MRU when multiple), or null when none/ambiguous
3812
4008
  */
3813
- income: string;
4009
+ income: string | null;
3814
4010
  /**
3815
- * Default liability account
4011
+ * Default OPEN liability account (MRU when multiple), or null when none/ambiguous
3816
4012
  */
3817
- liability: string;
4013
+ liability: string | null;
3818
4014
  };
3819
4015
  type NlpResponseDto = {
3820
4016
  /**
@@ -3824,7 +4020,7 @@ type NlpResponseDto = {
3824
4020
  /**
3825
4021
  * Action taken or requested
3826
4022
  */
3827
- action: 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
4023
+ action: 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel' | 'aborted';
3828
4024
  /**
3829
4025
  * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3830
4026
  */
@@ -3913,11 +4109,11 @@ type NlpResponseDto = {
3913
4109
  */
3914
4110
  recurringSuggestion?: RecurringSuggestionDto;
3915
4111
  /**
3916
- * Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
4112
+ * 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
4113
  */
3918
4114
  suggestedAccounts?: NlpSuggestedAccountsDto;
3919
4115
  /**
3920
- * Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
4116
+ * Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.
3921
4117
  */
3922
4118
  defaultAccounts?: NlpDefaultAccountsDto;
3923
4119
  };
@@ -3928,7 +4124,7 @@ type status4 = 'success' | 'pending' | 'error';
3928
4124
  /**
3929
4125
  * Action taken or requested
3930
4126
  */
3931
- type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
4127
+ type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel' | 'aborted';
3932
4128
  /**
3933
4129
  * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3934
4130
  */
@@ -3945,6 +4141,100 @@ type liabilitySubType = 'borrow' | 'repay';
3945
4141
  * Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
3946
4142
  */
3947
4143
  type equitySubType = 'opening' | 'adjustment';
4144
+ type PlatformListItemDto = {
4145
+ /**
4146
+ * Global platform ID
4147
+ */
4148
+ id: string;
4149
+ /**
4150
+ * Platform name
4151
+ */
4152
+ name: string;
4153
+ /**
4154
+ * Platform URL
4155
+ */
4156
+ url: string;
4157
+ /**
4158
+ * Platform type
4159
+ */
4160
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4161
+ /**
4162
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4163
+ */
4164
+ canonical: string;
4165
+ /**
4166
+ * Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
4167
+ */
4168
+ suggestedSegment: string;
4169
+ /**
4170
+ * Logo URL
4171
+ */
4172
+ logoUrl: string | null;
4173
+ /**
4174
+ * Whether user has accounts using this platform
4175
+ */
4176
+ isBound: boolean;
4177
+ };
4178
+ /**
4179
+ * Platform type
4180
+ */
4181
+ type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4182
+ type PlatformMatchResultDto = {
4183
+ /**
4184
+ * Global platform ID
4185
+ */
4186
+ id: string;
4187
+ /**
4188
+ * Platform name (e.g., "ICBC")
4189
+ */
4190
+ name: string;
4191
+ /**
4192
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4193
+ */
4194
+ canonical: string;
4195
+ /**
4196
+ * Platform type
4197
+ */
4198
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4199
+ /**
4200
+ * Suggested path segment — canonical, already in ACCOUNT_RE format
4201
+ */
4202
+ suggestedSegment: string;
4203
+ /**
4204
+ * Logo URL
4205
+ */
4206
+ logoUrl: string | null;
4207
+ /**
4208
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4209
+ */
4210
+ matchType: 'exact' | 'prefix' | 'substring';
4211
+ };
4212
+ /**
4213
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4214
+ */
4215
+ type matchType = 'exact' | 'prefix' | 'substring';
4216
+ type PlatformMatchResponseDto = {
4217
+ /**
4218
+ * Ranked matches, best tier first (at most 10 rows)
4219
+ */
4220
+ platforms: Array<PlatformMatchResultDto>;
4221
+ /**
4222
+ * Overall match quality — top row's tier, or 'none' when no hits
4223
+ */
4224
+ matchType: 'none' | 'exact' | 'prefix' | 'substring';
4225
+ /**
4226
+ * Total matches before LIMIT (truncation transparency)
4227
+ */
4228
+ total: number;
4229
+ /**
4230
+ * true when total > platforms.length (more matches exist)
4231
+ */
4232
+ hasMore: boolean;
4233
+ };
4234
+ /**
4235
+ * Overall match quality — top row's tier, or 'none' when no hits
4236
+ */
4237
+ type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
3948
4238
  type CreatePlatformDto = {
3949
4239
  /**
3950
4240
  * Platform name
@@ -3975,10 +4265,6 @@ type CreatePlatformDto = {
3975
4265
  */
3976
4266
  isActive?: boolean;
3977
4267
  };
3978
- /**
3979
- * Platform type
3980
- */
3981
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3982
4268
  type UpdatePlatformDto = {
3983
4269
  /**
3984
4270
  * Platform name
@@ -4599,224 +4885,194 @@ type HoldingPnlRowDto = {
4599
4885
  */
4600
4886
  costFxRate?: FxRateDto | null;
4601
4887
  /**
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
4888
+ * FX rate applied to market value
4706
4889
  */
4707
- totalChangePercentage: string;
4708
- };
4709
- type MultiCurrencyPointDto = {
4890
+ marketFxRate?: FxRateDto | null;
4710
4891
  /**
4711
- * Date in YYYY-MM-DD format
4892
+ * Share of invested assets % (Decimal string); only for invested chartTokens
4712
4893
  */
4713
- date: string;
4894
+ pctOfInvestedAssets?: {
4895
+ [key: string]: unknown;
4896
+ } | null;
4714
4897
  /**
4715
- * Balances by currency
4898
+ * 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
4899
  */
4717
- byCurrency: Array<CurrencyBalanceDto>;
4900
+ realizedPnl?: MonetaryDto | null;
4718
4901
  };
4719
- type PortfolioTrendsResponseDto = {
4902
+ /**
4903
+ * Chart segment token (libs/common resolver)
4904
+ */
4905
+ type chartToken = 'equity' | 'fund' | 'bond' | 'cash' | 'other';
4906
+ type HoldingPnlWarningDto = {
4720
4907
  /**
4721
- * Time series data points
4908
+ * Warning type
4722
4909
  */
4723
- series: Array<TimeSeriesPointDto>;
4910
+ type: 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4911
+ symbol?: {
4912
+ [key: string]: unknown;
4913
+ } | null;
4914
+ accountId?: {
4915
+ [key: string]: unknown;
4916
+ } | null;
4917
+ currency?: {
4918
+ [key: string]: unknown;
4919
+ } | null;
4920
+ };
4921
+ /**
4922
+ * Warning type
4923
+ */
4924
+ type type4 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4925
+ type HoldingPnlResponseDto = {
4926
+ asOfDate: string;
4927
+ baseCurrency: string;
4724
4928
  /**
4725
- * Period summary
4929
+ * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4726
4930
  */
4727
- summary: TrendSummaryDto;
4931
+ method: 'average' | 'FIFO';
4932
+ rows: Array<HoldingPnlRowDto>;
4933
+ warnings: Array<HoldingPnlWarningDto>;
4934
+ };
4935
+ /**
4936
+ * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4937
+ */
4938
+ type method = 'average' | 'FIFO';
4939
+ type AnonymousLoginDto = {
4728
4940
  /**
4729
- * Period requested
4941
+ * Access token for anonymous login
4730
4942
  */
4731
- period: string;
4943
+ accessToken: string;
4944
+ };
4945
+ type AnonymousLoginResponseDto = {
4732
4946
  /**
4733
- * Data granularity
4947
+ * JWT auth token
4734
4948
  */
4735
- granularity: string;
4949
+ authToken: string;
4950
+ };
4951
+ type SymbolSearchResultDto = {
4952
+ symbol: string;
4953
+ name?: {
4954
+ [key: string]: unknown;
4955
+ } | null;
4956
+ exchange?: {
4957
+ [key: string]: unknown;
4958
+ } | null;
4736
4959
  /**
4737
- * Base currency for converted values
4960
+ * OpenBB asset_type (e.g. stock, etf)
4738
4961
  */
4739
- currency: string;
4962
+ assetType?: {
4963
+ [key: string]: unknown;
4964
+ } | null;
4740
4965
  /**
4741
- * Multi-currency time series (each point has currency breakdown)
4966
+ * IGN asset class (region.types.ts ASSET_CLASSES)
4742
4967
  */
4743
- byCurrency?: Array<MultiCurrencyPointDto>;
4968
+ assetClass?: {
4969
+ [key: string]: unknown;
4970
+ } | null;
4744
4971
  /**
4745
- * Exchange rate warnings
4972
+ * IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
4746
4973
  */
4747
- warnings?: Array<ExchangeRateWarningDto>;
4748
- };
4749
- type CashFlowPointDto = {
4974
+ assetSubClass?: {
4975
+ [key: string]: unknown;
4976
+ } | null;
4750
4977
  /**
4751
- * Month key (YYYY-MM)
4978
+ * Trading currency (extra_data or inferred from exchange)
4752
4979
  */
4753
- month: string;
4980
+ currency?: {
4981
+ [key: string]: unknown;
4982
+ } | null;
4983
+ };
4984
+ type SymbolQuoteDto = {
4985
+ symbol?: string;
4986
+ name?: {
4987
+ [key: string]: unknown;
4988
+ } | null;
4989
+ exchange?: {
4990
+ [key: string]: unknown;
4991
+ } | null;
4754
4992
  /**
4755
- * Income in base currency (absolute, converted)
4993
+ * OpenBB asset_type
4756
4994
  */
4757
- income: string;
4995
+ assetType?: {
4996
+ [key: string]: unknown;
4997
+ } | null;
4758
4998
  /**
4759
- * Expense in base currency (absolute, converted)
4999
+ * IGN asset class
4760
5000
  */
4761
- expense: string;
5001
+ assetClass?: {
5002
+ [key: string]: unknown;
5003
+ } | null;
4762
5004
  /**
4763
- * netSavings = income − expense (savings positive)
5005
+ * IGN asset sub-class
4764
5006
  */
4765
- netSavings: string;
4766
- };
4767
- type CashFlowTrendSummaryDto = {
5007
+ assetSubClass?: {
5008
+ [key: string]: unknown;
5009
+ } | null;
4768
5010
  /**
4769
- * Total income across the period
5011
+ * Trading currency (extra_data or inferred from exchange)
4770
5012
  */
4771
- totalIncome: string;
5013
+ currency?: {
5014
+ [key: string]: unknown;
5015
+ } | null;
4772
5016
  /**
4773
- * Total expense across the period
5017
+ * Latest price (Decimal string)
4774
5018
  */
4775
- totalExpense: string;
5019
+ price?: {
5020
+ [key: string]: unknown;
5021
+ } | null;
4776
5022
  /**
4777
- * income expense across the period
5023
+ * Date the price was observed (ISO yyyy-MM-dd)
4778
5024
  */
4779
- totalNetSavings: string;
5025
+ priceDate?: {
5026
+ [key: string]: unknown;
5027
+ } | null;
4780
5028
  /**
4781
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
5029
+ * 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
5030
  */
4783
- averageMonthlyNetSavings: string;
4784
- };
4785
- type CashFlowTrendsResponseDto = {
5031
+ changePercent?: {
5032
+ [key: string]: unknown;
5033
+ } | null;
4786
5034
  /**
4787
- * Monthly cash-flow series (fixed N-month window, zero-filled)
5035
+ * Previous close (Decimal string)
4788
5036
  */
4789
- series: Array<CashFlowPointDto>;
5037
+ prevClose?: {
5038
+ [key: string]: unknown;
5039
+ } | null;
4790
5040
  /**
4791
- * Period totals
5041
+ * Day open (Decimal string)
4792
5042
  */
4793
- summary: CashFlowTrendSummaryDto;
5043
+ open?: {
5044
+ [key: string]: unknown;
5045
+ } | null;
4794
5046
  /**
4795
- * Period requested
5047
+ * Day high (Decimal string)
4796
5048
  */
4797
- period: string;
5049
+ high?: {
5050
+ [key: string]: unknown;
5051
+ } | null;
4798
5052
  /**
4799
- * Data granularity (v1 returns month buckets)
5053
+ * Day low (Decimal string)
4800
5054
  */
4801
- granularity: string;
5055
+ low?: {
5056
+ [key: string]: unknown;
5057
+ } | null;
4802
5058
  /**
4803
- * Base currency for converted values
5059
+ * Day volume (Decimal string)
4804
5060
  */
4805
- currency: string;
5061
+ volume?: {
5062
+ [key: string]: unknown;
5063
+ } | null;
4806
5064
  /**
4807
- * Exchange rate warnings (e.g. missing rate for a currency)
5065
+ * 52-week high (Decimal string)
4808
5066
  */
4809
- warnings?: Array<ExchangeRateWarningDto>;
4810
- };
4811
- type GenerateSnapshotBody = unknown;
4812
- type GenerateSnapshotResponse = unknown;
4813
- type BackfillSnapshotsBody = unknown;
4814
- type BackfillSnapshotsResponse = unknown;
4815
- type AnonymousLoginDto = {
5067
+ yearHigh?: {
5068
+ [key: string]: unknown;
5069
+ } | null;
4816
5070
  /**
4817
- * Access token for anonymous login
5071
+ * 52-week low (Decimal string)
4818
5072
  */
4819
- accessToken: string;
5073
+ yearLow?: {
5074
+ [key: string]: unknown;
5075
+ } | null;
4820
5076
  };
4821
5077
  type AccountControllerCreateData = {
4822
5078
  /**
@@ -5650,34 +5906,148 @@ type ExpectedTransactionControllerUnmatchData = {
5650
5906
  */
5651
5907
  id: string;
5652
5908
  /**
5653
- * Region code for tenant context
5909
+ * Region code for tenant context
5910
+ */
5911
+ region: 'cn' | 'us' | 'de' | 'gb';
5912
+ };
5913
+ type ExpectedTransactionControllerUnmatchResponse = unknown;
5914
+ type ExpectedTransactionControllerEnterNowData = {
5915
+ /**
5916
+ * Expected transaction ID
5917
+ */
5918
+ id: string;
5919
+ /**
5920
+ * Region code for tenant context
5921
+ */
5922
+ region: 'cn' | 'us' | 'de' | 'gb';
5923
+ requestBody: EnterNowDto;
5924
+ };
5925
+ type ExpectedTransactionControllerEnterNowResponse = unknown;
5926
+ type ForecastControllerGetForecastData = {
5927
+ /**
5928
+ * Number of months to forecast (1-12, default 3)
5929
+ */
5930
+ months?: number;
5931
+ /**
5932
+ * Region code for tenant context
5933
+ */
5934
+ region: 'cn' | 'us' | 'de' | 'gb';
5935
+ };
5936
+ type ForecastControllerGetForecastResponse = ForecastResponseDto;
5937
+ type ReportingControllerGetPortfolioTrendsData = {
5938
+ /**
5939
+ * Data granularity
5940
+ */
5941
+ granularity?: 'day' | 'week' | 'month';
5942
+ /**
5943
+ * Time period
5944
+ */
5945
+ period?: '1m' | '3m' | '6m' | '1y';
5946
+ /**
5947
+ * Region code for tenant context
5948
+ */
5949
+ region: 'cn' | 'us' | 'de' | 'gb';
5950
+ };
5951
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5952
+ type ReportingControllerGetCashFlowTrendsData = {
5953
+ /**
5954
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
5955
+ */
5956
+ granularity?: 'day' | 'week' | 'month';
5957
+ /**
5958
+ * Time period
5959
+ */
5960
+ period?: '1m' | '3m' | '6m' | '1y';
5961
+ /**
5962
+ * Region code for tenant context
5963
+ */
5964
+ region: 'cn' | 'us' | 'de' | 'gb';
5965
+ };
5966
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
5967
+ type ReportingControllerGenerateSnapshotData = {
5968
+ /**
5969
+ * Region code for tenant context
5970
+ */
5971
+ region: 'cn' | 'us' | 'de' | 'gb';
5972
+ /**
5973
+ * Optional date (defaults to today)
5974
+ */
5975
+ requestBody: GenerateSnapshotBody;
5976
+ };
5977
+ type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
5978
+ type ReportingControllerBackfillSnapshotsData = {
5979
+ /**
5980
+ * Region code for tenant context
5981
+ */
5982
+ region: 'cn' | 'us' | 'de' | 'gb';
5983
+ requestBody: BackfillSnapshotsBody;
5984
+ };
5985
+ type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
5986
+ type UserControllerDeleteOwnUserData = {
5987
+ requestBody: DeleteOwnUserDto;
5988
+ };
5989
+ type UserControllerDeleteOwnUserResponse = void;
5990
+ type UserControllerGetUserData = {
5991
+ acceptLanguage: string;
5992
+ };
5993
+ type UserControllerGetUserResponse = unknown;
5994
+ type UserControllerSignupUserData = {
5995
+ requestBody: SignupDto;
5996
+ };
5997
+ type UserControllerSignupUserResponse = SignupResponseDto;
5998
+ type UserControllerDeleteUserData = {
5999
+ /**
6000
+ * User ID to delete
6001
+ */
6002
+ id: string;
6003
+ };
6004
+ type UserControllerDeleteUserResponse = void;
6005
+ type UserControllerGetUserInfoData = {
6006
+ /**
6007
+ * User ID
5654
6008
  */
5655
- region: 'cn' | 'us' | 'de' | 'gb';
6009
+ id: string;
5656
6010
  };
5657
- type ExpectedTransactionControllerUnmatchResponse = unknown;
5658
- type ExpectedTransactionControllerEnterNowData = {
6011
+ type UserControllerGetUserInfoResponse = unknown;
6012
+ type UserControllerUpdateUserSettingData = {
6013
+ requestBody: UpdateUserSettingDto;
6014
+ };
6015
+ type UserControllerUpdateUserSettingResponse = unknown;
6016
+ type UserControllerGetAllUserSettingsByPageData = {
5659
6017
  /**
5660
- * Expected transaction ID
6018
+ * Page number
5661
6019
  */
5662
- id: string;
6020
+ pageNo: number;
5663
6021
  /**
5664
- * Region code for tenant context
6022
+ * Page size
5665
6023
  */
5666
- region: 'cn' | 'us' | 'de' | 'gb';
5667
- requestBody: EnterNowDto;
6024
+ pageSize: number;
5668
6025
  };
5669
- type ExpectedTransactionControllerEnterNowResponse = unknown;
5670
- type ForecastControllerGetForecastData = {
6026
+ type UserControllerGetAllUserSettingsByPageResponse = unknown;
6027
+ type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6028
+ type PropertyControllerGetAllResponse = unknown;
6029
+ type PropertyControllerGetByKeyData = {
5671
6030
  /**
5672
- * Number of months to forecast (1-12, default 3)
6031
+ * Property key
5673
6032
  */
5674
- months?: number;
6033
+ key: string;
6034
+ };
6035
+ type PropertyControllerGetByKeyResponse = unknown;
6036
+ type PropertyControllerUpdateData = {
5675
6037
  /**
5676
- * Region code for tenant context
6038
+ * Property key
5677
6039
  */
5678
- region: 'cn' | 'us' | 'de' | 'gb';
6040
+ key: string;
6041
+ requestBody: UpdatePropertyDto;
5679
6042
  };
5680
- type ForecastControllerGetForecastResponse = ForecastResponseDto;
6043
+ type PropertyControllerUpdateResponse = unknown;
6044
+ type PropertyControllerDeleteData = {
6045
+ /**
6046
+ * Property key
6047
+ */
6048
+ key: string;
6049
+ };
6050
+ type PropertyControllerDeleteResponse = void;
5681
6051
  type TransactionRuleControllerCreateData = {
5682
6052
  /**
5683
6053
  * Region code for tenant context
@@ -5797,71 +6167,6 @@ type TransactionRuleControllerTestData = {
5797
6167
  ruleId: string;
5798
6168
  };
5799
6169
  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
6170
  type EventControllerCreateData = {
5866
6171
  /**
5867
6172
  * Region code for tenant context (decorative for life events)
@@ -6197,7 +6502,7 @@ type PlatformControllerCreateData = {
6197
6502
  requestBody: CreatePlatformDto;
6198
6503
  };
6199
6504
  type PlatformControllerCreateResponse = unknown;
6200
- type PlatformControllerGetPlatformListResponse = unknown;
6505
+ type PlatformControllerGetPlatformListResponse = Array<PlatformListItemDto>;
6201
6506
  type PlatformControllerMatchPlatformsData = {
6202
6507
  /**
6203
6508
  * Search query — Chinese name, English name, or abbreviation
@@ -6208,7 +6513,7 @@ type PlatformControllerMatchPlatformsData = {
6208
6513
  */
6209
6514
  region?: string;
6210
6515
  };
6211
- type PlatformControllerMatchPlatformsResponse = unknown;
6516
+ type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6212
6517
  type PlatformControllerUpdateData = {
6213
6518
  /**
6214
6519
  * Platform ID
@@ -6303,60 +6608,11 @@ type HoldingPnlControllerGetHoldingPnlData = {
6303
6608
  region: 'cn' | 'us' | 'de' | 'gb';
6304
6609
  };
6305
6610
  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
6611
  type ApiKeysControllerCreateApiKeyResponse = unknown;
6356
6612
  type AuthControllerAccessTokenLoginData = {
6357
6613
  requestBody: AnonymousLoginDto;
6358
6614
  };
6359
- type AuthControllerAccessTokenLoginResponse = unknown;
6615
+ type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
6360
6616
  type CacheControllerFlushCacheResponse = unknown;
6361
6617
  type ExchangeRateControllerGetExchangeRateData = {
6362
6618
  /**
@@ -6383,6 +6639,29 @@ type HealthControllerResetCircuitBreakerData = {
6383
6639
  type HealthControllerResetCircuitBreakerResponse = unknown;
6384
6640
  type HealthControllerGetMetricsResponse = unknown;
6385
6641
  type InfoControllerGetInfoResponse = unknown;
6642
+ type SymbolControllerSearchData = {
6643
+ /**
6644
+ * Filter by OpenBB asset_type (e.g. stock, etf)
6645
+ */
6646
+ assetType?: string;
6647
+ /**
6648
+ * Filter by exchange code (e.g. US, HK, SS, SZ)
6649
+ */
6650
+ exchange?: string;
6651
+ /**
6652
+ * Maximum number of results (clamped 1..50)
6653
+ */
6654
+ limit?: number;
6655
+ /**
6656
+ * Search term — matched against symbol and instrument name. Empty string returns [].
6657
+ */
6658
+ q: string;
6659
+ };
6660
+ type SymbolControllerSearchResponse = Array<SymbolSearchResultDto>;
6661
+ type SymbolControllerGetQuoteData = {
6662
+ symbol: string;
6663
+ };
6664
+ type SymbolControllerGetQuoteResponse = SymbolQuoteDto;
6386
6665
  type $OpenApiTs = {
6387
6666
  '/api/v1/{region}/bean/accounts': {
6388
6667
  post: {
@@ -6447,7 +6726,7 @@ type $OpenApiTs = {
6447
6726
  */
6448
6727
  404: unknown;
6449
6728
  /**
6450
- * Account has transactions and cannot be deleted
6729
+ * Account has active transactions and cannot be deleted
6451
6730
  */
6452
6731
  409: unknown;
6453
6732
  };
@@ -7424,425 +7703,497 @@ type $OpenApiTs = {
7424
7703
  };
7425
7704
  '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7426
7705
  post: {
7427
- req: ExpectedTransactionControllerEnterNowData;
7706
+ req: ExpectedTransactionControllerEnterNowData;
7707
+ res: {
7708
+ /**
7709
+ * Transaction created successfully
7710
+ */
7711
+ 201: unknown;
7712
+ /**
7713
+ * Cannot enter - not in PENDING status or missing accounts
7714
+ */
7715
+ 400: unknown;
7716
+ /**
7717
+ * Expected transaction or accounts not found
7718
+ */
7719
+ 404: unknown;
7720
+ };
7721
+ };
7722
+ };
7723
+ '/api/v1/{region}/bean/recurring/forecast': {
7724
+ get: {
7725
+ req: ForecastControllerGetForecastData;
7726
+ res: {
7727
+ /**
7728
+ * Forecast retrieved successfully
7729
+ */
7730
+ 200: ForecastResponseDto;
7731
+ };
7732
+ };
7733
+ };
7734
+ '/api/v1/{region}/reporting/portfolio/trends': {
7735
+ get: {
7736
+ req: ReportingControllerGetPortfolioTrendsData;
7737
+ res: {
7738
+ /**
7739
+ * Trends retrieved successfully
7740
+ */
7741
+ 200: PortfolioTrendsResponseDto;
7742
+ /**
7743
+ * User not authenticated
7744
+ */
7745
+ 401: unknown;
7746
+ };
7747
+ };
7748
+ };
7749
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7750
+ get: {
7751
+ req: ReportingControllerGetCashFlowTrendsData;
7752
+ res: {
7753
+ /**
7754
+ * Cash-flow trends retrieved successfully
7755
+ */
7756
+ 200: CashFlowTrendsResponseDto;
7757
+ /**
7758
+ * User not authenticated
7759
+ */
7760
+ 401: unknown;
7761
+ };
7762
+ };
7763
+ };
7764
+ '/api/v1/{region}/reporting/snapshots/generate': {
7765
+ post: {
7766
+ req: ReportingControllerGenerateSnapshotData;
7767
+ res: {
7768
+ /**
7769
+ * Snapshot generated successfully
7770
+ */
7771
+ 200: GenerateSnapshotResponse;
7772
+ /**
7773
+ * Invalid date format
7774
+ */
7775
+ 400: unknown;
7776
+ /**
7777
+ * User not authenticated
7778
+ */
7779
+ 401: unknown;
7780
+ };
7781
+ };
7782
+ };
7783
+ '/api/v1/{region}/reporting/snapshots/backfill': {
7784
+ post: {
7785
+ req: ReportingControllerBackfillSnapshotsData;
7428
7786
  res: {
7429
7787
  /**
7430
- * Transaction created successfully
7788
+ * Backfill completed successfully
7431
7789
  */
7432
- 201: unknown;
7790
+ 200: BackfillSnapshotsResponse;
7433
7791
  /**
7434
- * Cannot enter - not in PENDING status or missing accounts
7792
+ * Invalid date format or range
7435
7793
  */
7436
7794
  400: unknown;
7437
7795
  /**
7438
- * Expected transaction or accounts not found
7796
+ * User not authenticated
7439
7797
  */
7440
- 404: unknown;
7441
- };
7442
- };
7443
- };
7444
- '/api/v1/{region}/bean/recurring/forecast': {
7445
- get: {
7446
- req: ForecastControllerGetForecastData;
7447
- res: {
7798
+ 401: unknown;
7448
7799
  /**
7449
- * Forecast retrieved successfully
7800
+ * Backfill already in progress for this user
7450
7801
  */
7451
- 200: ForecastResponseDto;
7802
+ 409: unknown;
7452
7803
  };
7453
7804
  };
7454
7805
  };
7455
- '/api/v1/{region}/bean/transaction-rules': {
7456
- post: {
7457
- req: TransactionRuleControllerCreateData;
7806
+ '/api/v1/users': {
7807
+ delete: {
7808
+ req: UserControllerDeleteOwnUserData;
7458
7809
  res: {
7459
7810
  /**
7460
- * Rule updated successfully (upsert mode)
7461
- */
7462
- 200: TransactionRuleResponseDto;
7463
- /**
7464
- * Validation failed
7465
- */
7466
- 400: ApiProblemResponseDto;
7467
- /**
7468
- * Unauthorized
7811
+ * User deleted successfully
7469
7812
  */
7470
- 401: ApiProblemResponseDto;
7813
+ 204: void;
7471
7814
  /**
7472
- * Resource conflict - another process is updating this rule
7815
+ * Invalid access token
7473
7816
  */
7474
- 409: ApiProblemResponseDto;
7817
+ 403: unknown;
7475
7818
  };
7476
7819
  };
7477
7820
  get: {
7478
- req: TransactionRuleControllerListData;
7821
+ req: UserControllerGetUserData;
7479
7822
  res: {
7480
7823
  /**
7481
- * List of rules
7482
- */
7483
- 200: TransactionRuleListResponseDto;
7484
- /**
7485
- * Unauthorized
7824
+ * User retrieved successfully
7486
7825
  */
7487
- 401: ApiProblemResponseDto;
7826
+ 200: unknown;
7488
7827
  };
7489
7828
  };
7490
- };
7491
- '/api/v1/{region}/bean/transaction-rules/validate': {
7492
7829
  post: {
7493
- req: TransactionRuleControllerValidateData;
7830
+ req: UserControllerSignupUserData;
7494
7831
  res: {
7495
7832
  /**
7496
- * Validation result
7833
+ * User created successfully
7497
7834
  */
7498
- 200: ValidateRuleResponseDto;
7835
+ 201: SignupResponseDto;
7499
7836
  /**
7500
- * Validation failed
7837
+ * Invalid Turnstile token (when Turnstile is enabled)
7501
7838
  */
7502
- 400: ApiProblemResponseDto;
7839
+ 400: unknown;
7503
7840
  /**
7504
- * Unauthorized
7841
+ * User signup is disabled
7505
7842
  */
7506
- 401: ApiProblemResponseDto;
7843
+ 403: unknown;
7507
7844
  };
7508
7845
  };
7509
7846
  };
7510
- '/api/v1/{region}/bean/transaction-rules/bulk': {
7511
- post: {
7512
- req: TransactionRuleControllerBulkCreateData;
7847
+ '/api/v1/users/{id}': {
7848
+ delete: {
7849
+ req: UserControllerDeleteUserData;
7513
7850
  res: {
7514
7851
  /**
7515
- * Bulk create completed
7516
- */
7517
- 201: BulkCreateRulesResponseDto;
7518
- /**
7519
- * Invalid bulk create data
7852
+ * User deleted successfully
7520
7853
  */
7521
- 400: ApiProblemResponseDto;
7854
+ 204: void;
7522
7855
  /**
7523
- * Unauthorized
7856
+ * Cannot delete own account or insufficient permissions
7524
7857
  */
7525
- 401: ApiProblemResponseDto;
7858
+ 403: unknown;
7526
7859
  };
7527
7860
  };
7528
7861
  };
7529
- '/api/v1/{region}/bean/transaction-rules/export/{format}': {
7862
+ '/api/v1/users/{id}/info': {
7530
7863
  get: {
7531
- req: TransactionRuleControllerExportData;
7864
+ req: UserControllerGetUserInfoData;
7532
7865
  res: {
7533
7866
  /**
7534
- * Exported rules
7535
- */
7536
- 200: ExportRulesResponseDto;
7537
- /**
7538
- * Unsupported format
7867
+ * User info retrieved successfully
7539
7868
  */
7540
- 400: ApiProblemResponseDto;
7869
+ 200: unknown;
7541
7870
  /**
7542
- * Unauthorized
7871
+ * Cannot access other user info without admin permission
7543
7872
  */
7544
- 401: ApiProblemResponseDto;
7873
+ 403: unknown;
7545
7874
  };
7546
7875
  };
7547
7876
  };
7548
- '/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
7549
- get: {
7550
- req: TransactionRuleControllerGetStatisticsData;
7877
+ '/api/v1/users/setting': {
7878
+ put: {
7879
+ req: UserControllerUpdateUserSettingData;
7551
7880
  res: {
7552
7881
  /**
7553
- * Rule statistics
7882
+ * Settings updated successfully
7554
7883
  */
7555
- 200: RuleStatisticsResponseDto;
7884
+ 200: unknown;
7556
7885
  /**
7557
- * Unauthorized
7886
+ * Insufficient permissions
7558
7887
  */
7559
- 401: ApiProblemResponseDto;
7888
+ 403: unknown;
7560
7889
  };
7561
7890
  };
7562
7891
  };
7563
- '/api/v1/{region}/bean/transaction-rules/{ruleId}': {
7892
+ '/api/v1/users/settings-by-page': {
7564
7893
  get: {
7565
- req: TransactionRuleControllerGetDetailData;
7894
+ req: UserControllerGetAllUserSettingsByPageData;
7566
7895
  res: {
7567
7896
  /**
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
7897
+ * Settings list retrieved successfully
7581
7898
  */
7582
- 404: ApiProblemResponseDto;
7899
+ 200: unknown;
7583
7900
  };
7584
7901
  };
7585
- put: {
7586
- req: TransactionRuleControllerUpdateData;
7902
+ };
7903
+ '/api/v1/users/asset-liability-summary': {
7904
+ get: {
7587
7905
  res: {
7588
7906
  /**
7589
- * Rule updated successfully
7907
+ * Summary retrieved successfully
7590
7908
  */
7591
- 200: TransactionRuleResponseDto;
7909
+ 200: unknown;
7910
+ };
7911
+ };
7912
+ };
7913
+ '/api/v1/admin/properties': {
7914
+ get: {
7915
+ res: {
7592
7916
  /**
7593
- * Validation failed
7917
+ * Properties retrieved successfully
7594
7918
  */
7595
- 400: ApiProblemResponseDto;
7919
+ 200: unknown;
7596
7920
  /**
7597
7921
  * Unauthorized
7598
7922
  */
7599
- 401: ApiProblemResponseDto;
7600
- /**
7601
- * Forbidden - not owner of rule
7602
- */
7603
- 403: ApiProblemResponseDto;
7604
- /**
7605
- * Rule not found
7606
- */
7607
- 404: ApiProblemResponseDto;
7923
+ 401: unknown;
7608
7924
  /**
7609
- * Resource conflict - rule is being modified by another process
7925
+ * Forbidden - insufficient permissions
7610
7926
  */
7611
- 409: ApiProblemResponseDto;
7927
+ 403: unknown;
7612
7928
  };
7613
7929
  };
7614
- delete: {
7615
- req: TransactionRuleControllerDeleteData;
7930
+ };
7931
+ '/api/v1/admin/properties/{key}': {
7932
+ get: {
7933
+ req: PropertyControllerGetByKeyData;
7616
7934
  res: {
7617
7935
  /**
7618
- * Rule deleted successfully
7936
+ * Property retrieved successfully
7619
7937
  */
7620
- 204: void;
7938
+ 200: unknown;
7621
7939
  /**
7622
7940
  * Unauthorized
7623
7941
  */
7624
- 401: ApiProblemResponseDto;
7625
- /**
7626
- * Forbidden - not owner of rule
7627
- */
7628
- 403: ApiProblemResponseDto;
7942
+ 401: unknown;
7629
7943
  /**
7630
- * Rule not found
7944
+ * Forbidden - insufficient permissions
7631
7945
  */
7632
- 404: ApiProblemResponseDto;
7946
+ 403: unknown;
7633
7947
  /**
7634
- * Resource conflict - rule is being modified by another process
7948
+ * Property not found
7635
7949
  */
7636
- 409: ApiProblemResponseDto;
7950
+ 404: unknown;
7637
7951
  };
7638
7952
  };
7639
- };
7640
- '/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
7641
- post: {
7642
- req: TransactionRuleControllerTestData;
7953
+ put: {
7954
+ req: PropertyControllerUpdateData;
7643
7955
  res: {
7644
7956
  /**
7645
- * Test result
7957
+ * Property updated successfully
7646
7958
  */
7647
- 200: TestRuleResponseDto;
7959
+ 200: unknown;
7648
7960
  /**
7649
7961
  * Unauthorized
7650
7962
  */
7651
- 401: ApiProblemResponseDto;
7652
- /**
7653
- * Forbidden - not owner of rule
7654
- */
7655
- 403: ApiProblemResponseDto;
7963
+ 401: unknown;
7656
7964
  /**
7657
- * Rule not found
7965
+ * Forbidden - insufficient permissions
7658
7966
  */
7659
- 404: ApiProblemResponseDto;
7967
+ 403: unknown;
7660
7968
  };
7661
7969
  };
7662
- };
7663
- '/api/v1/users': {
7664
7970
  delete: {
7665
- req: UserControllerDeleteOwnUserData;
7971
+ req: PropertyControllerDeleteData;
7666
7972
  res: {
7667
7973
  /**
7668
- * User deleted successfully
7974
+ * Property deleted successfully
7669
7975
  */
7670
7976
  204: void;
7671
7977
  /**
7672
- * Invalid access token
7978
+ * Unauthorized
7979
+ */
7980
+ 401: unknown;
7981
+ /**
7982
+ * Forbidden - insufficient permissions
7673
7983
  */
7674
7984
  403: unknown;
7675
- };
7676
- };
7677
- get: {
7678
- req: UserControllerGetUserData;
7679
- res: {
7680
7985
  /**
7681
- * User retrieved successfully
7986
+ * Property not found
7682
7987
  */
7683
- 200: unknown;
7988
+ 404: unknown;
7684
7989
  };
7685
7990
  };
7991
+ };
7992
+ '/api/v1/{region}/bean/transaction-rules': {
7686
7993
  post: {
7687
- req: UserControllerSignupUserData;
7994
+ req: TransactionRuleControllerCreateData;
7688
7995
  res: {
7689
7996
  /**
7690
- * User created successfully
7997
+ * Rule updated successfully (upsert mode)
7691
7998
  */
7692
- 201: unknown;
7999
+ 200: TransactionRuleResponseDto;
7693
8000
  /**
7694
- * Invalid Turnstile token (when Turnstile is enabled)
8001
+ * Validation failed
7695
8002
  */
7696
- 400: unknown;
8003
+ 400: ApiProblemResponseDto;
7697
8004
  /**
7698
- * User signup is disabled
8005
+ * Unauthorized
7699
8006
  */
7700
- 403: unknown;
8007
+ 401: ApiProblemResponseDto;
8008
+ /**
8009
+ * Resource conflict - another process is updating this rule
8010
+ */
8011
+ 409: ApiProblemResponseDto;
7701
8012
  };
7702
8013
  };
7703
- };
7704
- '/api/v1/users/{id}': {
7705
- delete: {
7706
- req: UserControllerDeleteUserData;
8014
+ get: {
8015
+ req: TransactionRuleControllerListData;
7707
8016
  res: {
7708
8017
  /**
7709
- * User deleted successfully
8018
+ * List of rules
7710
8019
  */
7711
- 204: void;
8020
+ 200: TransactionRuleListResponseDto;
7712
8021
  /**
7713
- * Cannot delete own account or insufficient permissions
8022
+ * Unauthorized
7714
8023
  */
7715
- 403: unknown;
8024
+ 401: ApiProblemResponseDto;
7716
8025
  };
7717
8026
  };
7718
8027
  };
7719
- '/api/v1/users/{id}/info': {
7720
- get: {
7721
- req: UserControllerGetUserInfoData;
8028
+ '/api/v1/{region}/bean/transaction-rules/validate': {
8029
+ post: {
8030
+ req: TransactionRuleControllerValidateData;
7722
8031
  res: {
7723
8032
  /**
7724
- * User info retrieved successfully
8033
+ * Validation result
7725
8034
  */
7726
- 200: unknown;
8035
+ 200: ValidateRuleResponseDto;
7727
8036
  /**
7728
- * Cannot access other user info without admin permission
8037
+ * Validation failed
7729
8038
  */
7730
- 403: unknown;
8039
+ 400: ApiProblemResponseDto;
8040
+ /**
8041
+ * Unauthorized
8042
+ */
8043
+ 401: ApiProblemResponseDto;
7731
8044
  };
7732
8045
  };
7733
8046
  };
7734
- '/api/v1/users/setting': {
7735
- put: {
7736
- req: UserControllerUpdateUserSettingData;
8047
+ '/api/v1/{region}/bean/transaction-rules/bulk': {
8048
+ post: {
8049
+ req: TransactionRuleControllerBulkCreateData;
7737
8050
  res: {
7738
8051
  /**
7739
- * Settings updated successfully
8052
+ * Bulk create completed
7740
8053
  */
7741
- 200: unknown;
8054
+ 201: BulkCreateRulesResponseDto;
7742
8055
  /**
7743
- * Insufficient permissions
8056
+ * Invalid bulk create data
7744
8057
  */
7745
- 403: unknown;
8058
+ 400: ApiProblemResponseDto;
8059
+ /**
8060
+ * Unauthorized
8061
+ */
8062
+ 401: ApiProblemResponseDto;
7746
8063
  };
7747
8064
  };
7748
8065
  };
7749
- '/api/v1/users/settings-by-page': {
8066
+ '/api/v1/{region}/bean/transaction-rules/export/{format}': {
7750
8067
  get: {
7751
- req: UserControllerGetAllUserSettingsByPageData;
8068
+ req: TransactionRuleControllerExportData;
7752
8069
  res: {
7753
8070
  /**
7754
- * Settings list retrieved successfully
8071
+ * Exported rules
7755
8072
  */
7756
- 200: unknown;
8073
+ 200: ExportRulesResponseDto;
8074
+ /**
8075
+ * Unsupported format
8076
+ */
8077
+ 400: ApiProblemResponseDto;
8078
+ /**
8079
+ * Unauthorized
8080
+ */
8081
+ 401: ApiProblemResponseDto;
7757
8082
  };
7758
8083
  };
7759
8084
  };
7760
- '/api/v1/users/asset-liability-summary': {
8085
+ '/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
7761
8086
  get: {
8087
+ req: TransactionRuleControllerGetStatisticsData;
7762
8088
  res: {
7763
8089
  /**
7764
- * Summary retrieved successfully
8090
+ * Rule statistics
7765
8091
  */
7766
- 200: unknown;
8092
+ 200: RuleStatisticsResponseDto;
8093
+ /**
8094
+ * Unauthorized
8095
+ */
8096
+ 401: ApiProblemResponseDto;
7767
8097
  };
7768
8098
  };
7769
8099
  };
7770
- '/api/v1/admin/properties': {
8100
+ '/api/v1/{region}/bean/transaction-rules/{ruleId}': {
7771
8101
  get: {
8102
+ req: TransactionRuleControllerGetDetailData;
7772
8103
  res: {
7773
8104
  /**
7774
- * Properties retrieved successfully
8105
+ * Rule details
7775
8106
  */
7776
- 200: unknown;
8107
+ 200: TransactionRuleResponseDto;
7777
8108
  /**
7778
8109
  * Unauthorized
7779
8110
  */
7780
- 401: unknown;
8111
+ 401: ApiProblemResponseDto;
7781
8112
  /**
7782
- * Forbidden - insufficient permissions
8113
+ * Forbidden - not owner of rule
7783
8114
  */
7784
- 403: unknown;
8115
+ 403: ApiProblemResponseDto;
8116
+ /**
8117
+ * Rule not found
8118
+ */
8119
+ 404: ApiProblemResponseDto;
7785
8120
  };
7786
8121
  };
7787
- };
7788
- '/api/v1/admin/properties/{key}': {
7789
- get: {
7790
- req: PropertyControllerGetByKeyData;
8122
+ put: {
8123
+ req: TransactionRuleControllerUpdateData;
7791
8124
  res: {
7792
8125
  /**
7793
- * Property retrieved successfully
8126
+ * Rule updated successfully
7794
8127
  */
7795
- 200: unknown;
8128
+ 200: TransactionRuleResponseDto;
8129
+ /**
8130
+ * Validation failed
8131
+ */
8132
+ 400: ApiProblemResponseDto;
7796
8133
  /**
7797
8134
  * Unauthorized
7798
8135
  */
7799
- 401: unknown;
8136
+ 401: ApiProblemResponseDto;
7800
8137
  /**
7801
- * Forbidden - insufficient permissions
8138
+ * Forbidden - not owner of rule
7802
8139
  */
7803
- 403: unknown;
8140
+ 403: ApiProblemResponseDto;
7804
8141
  /**
7805
- * Property not found
8142
+ * Rule not found
7806
8143
  */
7807
- 404: unknown;
8144
+ 404: ApiProblemResponseDto;
8145
+ /**
8146
+ * Resource conflict - rule is being modified by another process
8147
+ */
8148
+ 409: ApiProblemResponseDto;
7808
8149
  };
7809
8150
  };
7810
- put: {
7811
- req: PropertyControllerUpdateData;
8151
+ delete: {
8152
+ req: TransactionRuleControllerDeleteData;
7812
8153
  res: {
7813
8154
  /**
7814
- * Property updated successfully
8155
+ * Rule deleted successfully
7815
8156
  */
7816
- 200: unknown;
8157
+ 204: void;
7817
8158
  /**
7818
8159
  * Unauthorized
7819
8160
  */
7820
- 401: unknown;
8161
+ 401: ApiProblemResponseDto;
7821
8162
  /**
7822
- * Forbidden - insufficient permissions
8163
+ * Forbidden - not owner of rule
7823
8164
  */
7824
- 403: unknown;
8165
+ 403: ApiProblemResponseDto;
8166
+ /**
8167
+ * Rule not found
8168
+ */
8169
+ 404: ApiProblemResponseDto;
8170
+ /**
8171
+ * Resource conflict - rule is being modified by another process
8172
+ */
8173
+ 409: ApiProblemResponseDto;
7825
8174
  };
7826
8175
  };
7827
- delete: {
7828
- req: PropertyControllerDeleteData;
8176
+ };
8177
+ '/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
8178
+ post: {
8179
+ req: TransactionRuleControllerTestData;
7829
8180
  res: {
7830
8181
  /**
7831
- * Property deleted successfully
8182
+ * Test result
7832
8183
  */
7833
- 204: void;
8184
+ 200: TestRuleResponseDto;
7834
8185
  /**
7835
8186
  * Unauthorized
7836
8187
  */
7837
- 401: unknown;
8188
+ 401: ApiProblemResponseDto;
7838
8189
  /**
7839
- * Forbidden - insufficient permissions
8190
+ * Forbidden - not owner of rule
7840
8191
  */
7841
- 403: unknown;
8192
+ 403: ApiProblemResponseDto;
7842
8193
  /**
7843
- * Property not found
8194
+ * Rule not found
7844
8195
  */
7845
- 404: unknown;
8196
+ 404: ApiProblemResponseDto;
7846
8197
  };
7847
8198
  };
7848
8199
  };
@@ -8389,7 +8740,7 @@ type $OpenApiTs = {
8389
8740
  /**
8390
8741
  * List of platforms with user binding status
8391
8742
  */
8392
- 200: unknown;
8743
+ 200: Array<PlatformListItemDto>;
8393
8744
  };
8394
8745
  };
8395
8746
  };
@@ -8398,9 +8749,9 @@ type $OpenApiTs = {
8398
8749
  req: PlatformControllerMatchPlatformsData;
8399
8750
  res: {
8400
8751
  /**
8401
- * List of matching platforms with suggested segment names
8752
+ * Matching platforms with overall match type and truncation flag
8402
8753
  */
8403
- 200: unknown;
8754
+ 200: PlatformMatchResponseDto;
8404
8755
  };
8405
8756
  };
8406
8757
  };
@@ -8519,78 +8870,6 @@ type $OpenApiTs = {
8519
8870
  };
8520
8871
  };
8521
8872
  };
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
8873
  '/api/v1/auth/api-keys': {
8595
8874
  post: {
8596
8875
  res: {
@@ -8612,7 +8891,7 @@ type $OpenApiTs = {
8612
8891
  /**
8613
8892
  * Login successful
8614
8893
  */
8615
- 200: unknown;
8894
+ 200: AnonymousLoginResponseDto;
8616
8895
  /**
8617
8896
  * Invalid access token
8618
8897
  */
@@ -8759,6 +9038,32 @@ type $OpenApiTs = {
8759
9038
  };
8760
9039
  };
8761
9040
  };
9041
+ '/api/v1/market/symbols/search': {
9042
+ get: {
9043
+ req: SymbolControllerSearchData;
9044
+ res: {
9045
+ /**
9046
+ * Ranked search results
9047
+ */
9048
+ 200: Array<SymbolSearchResultDto>;
9049
+ };
9050
+ };
9051
+ };
9052
+ '/api/v1/market/symbols/{symbol}/quote': {
9053
+ get: {
9054
+ req: SymbolControllerGetQuoteData;
9055
+ res: {
9056
+ /**
9057
+ * Symbol quote
9058
+ */
9059
+ 200: SymbolQuoteDto;
9060
+ /**
9061
+ * Symbol not found in the openbb catalog
9062
+ */
9063
+ 404: unknown;
9064
+ };
9065
+ };
9066
+ };
8762
9067
  };
8763
9068
 
8764
9069
  declare class BeanAccountsService {
@@ -8810,7 +9115,7 @@ declare class BeanAccountsService {
8810
9115
  static accountControllerUpdate(data: AccountControllerUpdateData): CancelablePromise<AccountControllerUpdateResponse>;
8811
9116
  /**
8812
9117
  * Delete account
8813
- * Deletes an account (only if no transactions)
9118
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
8814
9119
  * @param data The data for the request.
8815
9120
  * @param data.id Account UUID
8816
9121
  * @param data.region Region code for tenant context
@@ -9182,4 +9487,4 @@ type OpenAPIConfig = {
9182
9487
  };
9183
9488
  declare const OpenAPI: OpenAPIConfig;
9184
9489
 
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 };
9490
+ 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 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 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 };