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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -78,6 +78,10 @@ type AccountResponseDto = {
78
78
  * Account type (root segment)
79
79
  */
80
80
  type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
81
+ /**
82
+ * Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
83
+ */
84
+ assetSubClass?: 'DEPOSIT' | 'CASH' | 'MONEY_MARKET_FUND' | 'STOCK' | 'ETF' | 'MUTUAL_FUND' | 'EQUITY_COMPENSATION' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'BOND_FUND' | 'PRIMARY_RESIDENCE' | 'INVESTMENT_PROPERTY' | 'REIT' | 'GOLD' | 'SILVER' | 'PRECIOUS_METAL' | 'PRECIOUS_METAL_FUND' | 'COMMODITY' | 'COMMODITY_FUND' | 'CRYPTOCURRENCY' | 'RETIREMENT_ACCOUNT' | 'HEALTH_ACCOUNT' | 'EDUCATION_ACCOUNT' | 'INSURANCE' | 'PRIVATE_EQUITY' | 'HEDGE_FUND' | 'COLLECTIBLES' | 'MORTGAGE' | 'STUDENT_LOAN' | 'CREDIT_CARD' | 'PERSONAL_LOAN' | 'ACCOUNTS_PAYABLE' | 'TAX_PAYABLE' | 'OTHER' | null;
81
85
  /**
82
86
  * Account status
83
87
  */
@@ -145,6 +149,10 @@ type AccountResponseDto = {
145
149
  * Account type (root segment)
146
150
  */
147
151
  type type = 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
152
+ /**
153
+ * Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
154
+ */
155
+ type assetSubClass = 'DEPOSIT' | 'CASH' | 'MONEY_MARKET_FUND' | 'STOCK' | 'ETF' | 'MUTUAL_FUND' | 'EQUITY_COMPENSATION' | 'GOVERNMENT_BOND' | 'CORPORATE_BOND' | 'BOND_FUND' | 'PRIMARY_RESIDENCE' | 'INVESTMENT_PROPERTY' | 'REIT' | 'GOLD' | 'SILVER' | 'PRECIOUS_METAL' | 'PRECIOUS_METAL_FUND' | 'COMMODITY' | 'COMMODITY_FUND' | 'CRYPTOCURRENCY' | 'RETIREMENT_ACCOUNT' | 'HEALTH_ACCOUNT' | 'EDUCATION_ACCOUNT' | 'INSURANCE' | 'PRIVATE_EQUITY' | 'HEDGE_FUND' | 'COLLECTIBLES' | 'MORTGAGE' | 'STUDENT_LOAN' | 'CREDIT_CARD' | 'PERSONAL_LOAN' | 'ACCOUNTS_PAYABLE' | 'TAX_PAYABLE' | 'OTHER';
148
156
  /**
149
157
  * Account status
150
158
  */
@@ -246,7 +254,27 @@ type AccountStandardResponseDto = {
246
254
  * Icon identifier for UI display
247
255
  */
248
256
  icon: string;
257
+ /**
258
+ * Onboarding product category (coarse grouping derived from assetSubClass)
259
+ */
260
+ productCategory: 'cash' | 'investment' | 'credit_card' | 'loan' | 'payable_tax' | 'other';
261
+ /**
262
+ * Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules
263
+ */
264
+ assetClass?: 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
265
+ /**
266
+ * Asset sub-class (product type, derived at read time from classification rules)
267
+ */
268
+ assetSubClass?: string;
249
269
  };
270
+ /**
271
+ * Onboarding product category (coarse grouping derived from assetSubClass)
272
+ */
273
+ type productCategory = 'cash' | 'investment' | 'credit_card' | 'loan' | 'payable_tax' | 'other';
274
+ /**
275
+ * Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules
276
+ */
277
+ type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
250
278
  type AccountStandardListResponseDto = {
251
279
  /**
252
280
  * Array of account templates
@@ -2375,371 +2403,213 @@ type ForecastResponseDto = {
2375
2403
  */
2376
2404
  periodEnd: string;
2377
2405
  };
2378
- type CreateTransactionRuleDto = {
2379
- name: string;
2380
- description?: string;
2381
- narrationKeywords?: Array<unknown[]>;
2382
- payeeKeywords?: Array<unknown[]>;
2383
- categoryKeywords?: Array<unknown[]>;
2406
+ type CurrencyBalanceDto = {
2384
2407
  /**
2385
- * Payment method keywords (e.g., HuaBei, YuEBao)
2408
+ * ISO 4217 currency code
2386
2409
  */
2387
- methodKeywords?: Array<unknown[]>;
2410
+ currency: string;
2388
2411
  /**
2389
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2412
+ * Balance amount
2390
2413
  */
2391
- categoryAccount?: string;
2392
- matchLogic: 'OR' | 'AND';
2414
+ balance: string;
2415
+ };
2416
+ type TimeSeriesPointDto = {
2393
2417
  /**
2394
- * Minimum transaction amount (inclusive)
2418
+ * Date in YYYY-MM-DD format
2395
2419
  */
2396
- amountMin?: number;
2420
+ date: string;
2397
2421
  /**
2398
- * Maximum transaction amount (inclusive)
2422
+ * Value at this date (in base currency)
2399
2423
  */
2400
- amountMax?: number;
2401
- priority: number;
2402
- additionalTags?: Array<unknown[]>;
2403
- additionalMetadata?: {
2424
+ value: string;
2425
+ /**
2426
+ * Change from previous point
2427
+ */
2428
+ change?: {
2404
2429
  [key: string]: unknown;
2405
2430
  };
2406
2431
  /**
2407
- * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2432
+ * Total assets at this date (in base currency)
2408
2433
  */
2409
- upsertByPayee?: boolean;
2410
- };
2411
- type matchLogic = 'OR' | 'AND';
2412
- type AmountRangeDto = {
2434
+ assets?: string;
2413
2435
  /**
2414
- * Minimum amount
2436
+ * Total liabilities at this date (in base currency)
2415
2437
  */
2416
- min?: number;
2438
+ liabilities?: string;
2417
2439
  /**
2418
- * Maximum amount
2440
+ * Multi-currency breakdown for this point
2419
2441
  */
2420
- max?: number;
2442
+ byCurrency?: Array<CurrencyBalanceDto>;
2421
2443
  };
2422
- type TransactionRuleResponseDto = {
2444
+ type TrendSummaryDto = {
2423
2445
  /**
2424
- * Rule ID
2446
+ * Value at start of period
2425
2447
  */
2426
- id: string;
2448
+ startValue: string;
2427
2449
  /**
2428
- * Rule name
2450
+ * Value at end of period
2429
2451
  */
2430
- name: string;
2452
+ endValue: string;
2431
2453
  /**
2432
- * Rule description
2454
+ * Total change over period
2433
2455
  */
2434
- description?: string;
2456
+ totalChange: string;
2435
2457
  /**
2436
- * Keywords to match in transaction narration
2458
+ * Total change percentage
2437
2459
  */
2438
- narrationKeywords: Array<string>;
2460
+ totalChangePercentage: string;
2461
+ };
2462
+ type MultiCurrencyPointDto = {
2439
2463
  /**
2440
- * Keywords to match in payee name
2464
+ * Date in YYYY-MM-DD format
2441
2465
  */
2442
- payeeKeywords: Array<string>;
2466
+ date: string;
2443
2467
  /**
2444
- * Keywords to match in category
2468
+ * Balances by currency
2445
2469
  */
2446
- categoryKeywords: Array<string>;
2470
+ byCurrency: Array<CurrencyBalanceDto>;
2471
+ };
2472
+ type PortfolioTrendsResponseDto = {
2447
2473
  /**
2448
- * Keywords to match in payment method
2474
+ * Time series data points
2449
2475
  */
2450
- methodKeywords: Array<string>;
2476
+ series: Array<TimeSeriesPointDto>;
2451
2477
  /**
2452
- * Destination account for categorization
2478
+ * Period summary
2453
2479
  */
2454
- categoryAccount?: string;
2480
+ summary: TrendSummaryDto;
2455
2481
  /**
2456
- * Keyword matching logic
2482
+ * Period requested
2457
2483
  */
2458
- matchLogic: 'OR' | 'AND';
2484
+ period: string;
2459
2485
  /**
2460
- * Amount range for matching
2486
+ * Data granularity
2461
2487
  */
2462
- amountRange?: AmountRangeDto;
2488
+ granularity: string;
2463
2489
  /**
2464
- * Rule priority (0-1000, higher = first match)
2490
+ * Base currency for converted values
2465
2491
  */
2466
- priority: number;
2492
+ currency: string;
2467
2493
  /**
2468
- * Whether the rule is enabled
2494
+ * Multi-currency time series (each point has currency breakdown)
2469
2495
  */
2470
- enabled: boolean;
2496
+ byCurrency?: Array<MultiCurrencyPointDto>;
2471
2497
  /**
2472
- * Learning source: NLP, REVIEW_CENTER, or null for manual
2498
+ * Exchange rate warnings
2473
2499
  */
2474
- learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
2500
+ warnings?: Array<ExchangeRateWarningDto>;
2501
+ };
2502
+ type CashFlowPointDto = {
2475
2503
  /**
2476
- * Whether auto-apply is enabled for this rule
2504
+ * Month key (YYYY-MM)
2477
2505
  */
2478
- autoApplyEnabled: boolean;
2506
+ month: string;
2479
2507
  /**
2480
- * Number of confirmations for NLP-learned rules
2508
+ * Income in base currency (absolute, converted)
2481
2509
  */
2482
- confirmationCount: number;
2510
+ income: string;
2483
2511
  /**
2484
- * Additional tags
2512
+ * Expense in base currency (absolute, converted)
2485
2513
  */
2486
- additionalTags: Array<string>;
2514
+ expense: string;
2487
2515
  /**
2488
- * Additional metadata
2516
+ * netSavings = income − expense (savings positive)
2489
2517
  */
2490
- additionalMetadata?: {
2491
- [key: string]: string;
2492
- };
2518
+ netSavings: string;
2519
+ };
2520
+ type CashFlowTrendSummaryDto = {
2493
2521
  /**
2494
- * Created timestamp
2522
+ * Total income across the period
2495
2523
  */
2496
- createdAt: string;
2524
+ totalIncome: string;
2497
2525
  /**
2498
- * Updated timestamp
2526
+ * Total expense across the period
2499
2527
  */
2500
- updatedAt: string;
2501
- };
2502
- /**
2503
- * Learning source: NLP, REVIEW_CENTER, or null for manual
2504
- */
2505
- type learningSource = 'NLP' | 'REVIEW_CENTER';
2506
- type TransactionRuleListResponseDto = {
2507
- data: Array<TransactionRuleResponseDto>;
2528
+ totalExpense: string;
2508
2529
  /**
2509
- * Total count of rules
2530
+ * income expense across the period
2510
2531
  */
2511
- total: number;
2532
+ totalNetSavings: string;
2512
2533
  /**
2513
- * Results per page
2534
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
2514
2535
  */
2515
- limit: number;
2536
+ averageMonthlyNetSavings: string;
2537
+ };
2538
+ type CashFlowTrendsResponseDto = {
2516
2539
  /**
2517
- * Pagination offset
2540
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
2518
2541
  */
2519
- offset: number;
2520
- };
2521
- type ValidateRuleDto = {
2522
- name: string;
2523
- description?: string;
2524
- narrationKeywords?: Array<unknown[]>;
2525
- payeeKeywords?: Array<unknown[]>;
2526
- categoryKeywords?: Array<unknown[]>;
2542
+ series: Array<CashFlowPointDto>;
2527
2543
  /**
2528
- * Payment method keywords (e.g., HuaBei, YuEBao)
2544
+ * Period totals
2529
2545
  */
2530
- methodKeywords?: Array<unknown[]>;
2546
+ summary: CashFlowTrendSummaryDto;
2531
2547
  /**
2532
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2548
+ * Period requested
2533
2549
  */
2534
- categoryAccount?: string;
2535
- matchLogic: 'OR' | 'AND';
2550
+ period: string;
2536
2551
  /**
2537
- * Minimum transaction amount (inclusive)
2552
+ * Data granularity (v1 returns month buckets)
2538
2553
  */
2539
- amountMin?: number;
2554
+ granularity: string;
2540
2555
  /**
2541
- * Maximum transaction amount (inclusive)
2556
+ * Base currency for converted values
2542
2557
  */
2543
- amountMax?: number;
2544
- priority: number;
2545
- additionalTags?: Array<unknown[]>;
2546
- additionalMetadata?: {
2547
- [key: string]: unknown;
2548
- };
2558
+ currency: string;
2549
2559
  /**
2550
- * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2560
+ * Exchange rate warnings (e.g. missing rate for a currency)
2551
2561
  */
2552
- upsertByPayee?: boolean;
2562
+ warnings?: Array<ExchangeRateWarningDto>;
2553
2563
  };
2554
- type ValidateRuleResponseDto = {
2564
+ type GenerateSnapshotBody = unknown;
2565
+ type GenerateSnapshotResponse = unknown;
2566
+ type BackfillSnapshotsBody = unknown;
2567
+ type BackfillSnapshotsResponse = unknown;
2568
+ type DeleteOwnUserDto = {
2555
2569
  /**
2556
- * Whether the rule configuration is valid
2570
+ * Access token for user verification
2557
2571
  */
2558
- valid: boolean;
2572
+ accessToken: string;
2573
+ };
2574
+ type SignupDto = {
2559
2575
  /**
2560
- * List of validation errors (empty if valid)
2576
+ * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2561
2577
  */
2562
- errors: Array<unknown[]>;
2578
+ turnstileToken?: string;
2579
+ };
2580
+ type SignupResponseDto = {
2563
2581
  /**
2564
- * List of validation warnings (non-blocking issues)
2582
+ * JWT auth token
2565
2583
  */
2566
- warnings: Array<unknown[]>;
2567
- };
2568
- type BulkCreateRulesDto = {
2584
+ authToken: string;
2569
2585
  /**
2570
- * Array of rules to import
2586
+ * Auto-generated access token
2571
2587
  */
2572
- rules: Array<unknown[]>;
2588
+ accessToken: string;
2573
2589
  /**
2574
- * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2590
+ * Assigned user role
2575
2591
  */
2576
- conflictStrategy: 'replace' | 'skip';
2592
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2577
2593
  };
2578
2594
  /**
2579
- * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2595
+ * Assigned user role
2580
2596
  */
2581
- type conflictStrategy = 'replace' | 'skip';
2582
- type BulkCreateRulesResponseDto = {
2597
+ type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
2598
+ type UpdateUserSettingDto = {
2583
2599
  /**
2584
- * Number of successfully created rules
2600
+ * Security ID
2585
2601
  */
2586
- successCount: number;
2602
+ secId?: number;
2587
2603
  /**
2588
- * Number of failed rules
2604
+ * Annual interest rate
2589
2605
  */
2590
- failureCount: number;
2606
+ annualInterestRate?: number;
2591
2607
  /**
2592
- * Error details for failed rules
2608
+ * Currency code
2593
2609
  */
2594
- errors: Array<{
2595
- index?: number;
2596
- message?: string;
2597
- }>;
2610
+ currency?: string;
2598
2611
  /**
2599
- * IDs of successfully created rules
2600
- */
2601
- createdRuleIds: Array<string>;
2602
- };
2603
- type ExportRulesResponseDto = {
2604
- /**
2605
- * Export timestamp
2606
- */
2607
- exportedAt: string;
2608
- /**
2609
- * User ID
2610
- */
2611
- userId: string;
2612
- /**
2613
- * Number of exported rules
2614
- */
2615
- ruleCount: number;
2616
- /**
2617
- * Exported rules
2618
- */
2619
- rules: unknown[];
2620
- };
2621
- type RuleStatisticsResponseDto = {
2622
- /**
2623
- * Statistics time period
2624
- */
2625
- period: '7d' | '30d' | '90d';
2626
- /**
2627
- * Total number of rules
2628
- */
2629
- totalRules: number;
2630
- /**
2631
- * Number of rules with at least one match
2632
- */
2633
- rulesWithMatches: number;
2634
- /**
2635
- * Total number of matches across all rules
2636
- */
2637
- totalMatches: number;
2638
- /**
2639
- * Average confidence score across all matches
2640
- */
2641
- averageConfidence: number;
2642
- /**
2643
- * Per-rule statistics
2644
- */
2645
- ruleStats: Array<{
2646
- ruleId?: string;
2647
- ruleName?: string;
2648
- matchCount?: number;
2649
- averageConfidence?: number;
2650
- }>;
2651
- };
2652
- /**
2653
- * Statistics time period
2654
- */
2655
- type period = '7d' | '30d' | '90d';
2656
- type UpdateTransactionRuleDto = {
2657
- name?: string;
2658
- description?: string;
2659
- narrationKeywords?: Array<unknown[]>;
2660
- payeeKeywords?: Array<unknown[]>;
2661
- categoryKeywords?: Array<unknown[]>;
2662
- /**
2663
- * Payment method keywords (e.g., HuaBei, YuEBao)
2664
- */
2665
- methodKeywords?: Array<unknown[]>;
2666
- /**
2667
- * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2668
- */
2669
- categoryAccount?: string;
2670
- matchLogic?: 'OR' | 'AND';
2671
- /**
2672
- * Minimum transaction amount (inclusive)
2673
- */
2674
- amountMin?: number;
2675
- /**
2676
- * Maximum transaction amount (inclusive)
2677
- */
2678
- amountMax?: number;
2679
- priority?: number;
2680
- /**
2681
- * Enable or disable the rule
2682
- */
2683
- enabled?: boolean;
2684
- additionalTags?: Array<unknown[]>;
2685
- additionalMetadata?: {
2686
- [key: string]: unknown;
2687
- };
2688
- };
2689
- type TestRuleDto = {
2690
- narration: string;
2691
- payee?: string;
2692
- categoryAccount?: string;
2693
- amount?: number;
2694
- currency?: string;
2695
- };
2696
- type TestRuleResponseDto = {
2697
- /**
2698
- * Rule ID that was tested
2699
- */
2700
- ruleId: string;
2701
- /**
2702
- * Whether the rule matched the test data
2703
- */
2704
- matches: boolean;
2705
- /**
2706
- * Match confidence score (0-1)
2707
- */
2708
- confidence: number;
2709
- /**
2710
- * Details of which fields matched
2711
- */
2712
- matchDetails: {
2713
- [key: string]: unknown;
2714
- };
2715
- };
2716
- type DeleteOwnUserDto = {
2717
- /**
2718
- * Access token for user verification
2719
- */
2720
- accessToken: string;
2721
- };
2722
- type SignupDto = {
2723
- /**
2724
- * Cloudflare Turnstile verification token (optional when Turnstile disabled)
2725
- */
2726
- turnstileToken?: string;
2727
- };
2728
- type UpdateUserSettingDto = {
2729
- /**
2730
- * Security ID
2731
- */
2732
- secId?: number;
2733
- /**
2734
- * Annual interest rate
2735
- */
2736
- annualInterestRate?: number;
2737
- /**
2738
- * Currency code
2739
- */
2740
- currency?: string;
2741
- /**
2742
- * Base currency code
2612
+ * Base currency code
2743
2613
  */
2744
2614
  baseCurrency?: string;
2745
2615
  /**
@@ -2825,107 +2695,445 @@ type UpdatePropertyDto = {
2825
2695
  */
2826
2696
  value: string;
2827
2697
  };
2828
- type CreateBeanEventDto = {
2698
+ type CreateTransactionRuleDto = {
2699
+ name: string;
2700
+ description?: string;
2701
+ narrationKeywords?: Array<unknown[]>;
2702
+ payeeKeywords?: Array<unknown[]>;
2703
+ categoryKeywords?: Array<unknown[]>;
2829
2704
  /**
2830
- * Life event date (ISO 8601)
2705
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2831
2706
  */
2832
- date: string;
2707
+ methodKeywords?: Array<unknown[]>;
2833
2708
  /**
2834
- * Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
2709
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2835
2710
  */
2836
- type: string;
2711
+ categoryAccount?: string;
2712
+ matchLogic: 'OR' | 'AND';
2837
2713
  /**
2838
- * Life event description. Empty string is a VALID value (distinct from absence).
2714
+ * Minimum transaction amount (inclusive)
2839
2715
  */
2840
- description: string;
2716
+ amountMin?: number;
2841
2717
  /**
2842
- * Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
2718
+ * Maximum transaction amount (inclusive)
2843
2719
  */
2844
- meta?: {
2720
+ amountMax?: number;
2721
+ priority: number;
2722
+ additionalTags?: Array<unknown[]>;
2723
+ additionalMetadata?: {
2845
2724
  [key: string]: unknown;
2846
2725
  };
2726
+ /**
2727
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2728
+ */
2729
+ upsertByPayee?: boolean;
2847
2730
  };
2848
- type EventResponseDto = {
2731
+ type matchLogic = 'OR' | 'AND';
2732
+ type AmountRangeDto = {
2849
2733
  /**
2850
- * Unique identifier
2734
+ * Minimum amount
2851
2735
  */
2852
- id: string;
2736
+ min?: number;
2853
2737
  /**
2854
- * User ID (owner of the life event)
2738
+ * Maximum amount
2855
2739
  */
2856
- userId: string;
2740
+ max?: number;
2741
+ };
2742
+ type TransactionRuleResponseDto = {
2857
2743
  /**
2858
- * Life event date (ISO 8601 format)
2744
+ * Rule ID
2859
2745
  */
2860
- date: string;
2746
+ id: string;
2861
2747
  /**
2862
- * Life event type (user-defined, e.g., "employer", "location")
2748
+ * Rule name
2863
2749
  */
2864
- type: string;
2750
+ name: string;
2865
2751
  /**
2866
- * Life event description. May be an empty string (a valid value distinct from absence).
2752
+ * Rule description
2867
2753
  */
2868
- description: string;
2754
+ description?: string;
2869
2755
  /**
2870
- * Product-side metadata (free-form JSON)
2756
+ * Keywords to match in transaction narration
2871
2757
  */
2872
- meta: {
2873
- [key: string]: unknown;
2874
- };
2758
+ narrationKeywords: Array<string>;
2875
2759
  /**
2876
- * Creation timestamp
2760
+ * Keywords to match in payee name
2877
2761
  */
2878
- createdAt: string;
2762
+ payeeKeywords: Array<string>;
2879
2763
  /**
2880
- * Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
2764
+ * Keywords to match in category
2881
2765
  */
2882
- updatedAt: string;
2883
- };
2884
- type EventListResponseDto = {
2766
+ categoryKeywords: Array<string>;
2885
2767
  /**
2886
- * List of life events
2768
+ * Keywords to match in payment method
2887
2769
  */
2888
- items: Array<EventResponseDto>;
2770
+ methodKeywords: Array<string>;
2889
2771
  /**
2890
- * Total number of life events matching the query
2772
+ * Destination account for categorization
2891
2773
  */
2892
- total: number;
2893
- };
2894
- type UpdateBeanEventDto = {
2774
+ categoryAccount?: string;
2895
2775
  /**
2896
- * Life event date (ISO 8601)
2776
+ * Keyword matching logic
2897
2777
  */
2898
- date?: string;
2778
+ matchLogic: 'OR' | 'AND';
2899
2779
  /**
2900
- * Life event type (user-defined)
2780
+ * Amount range for matching
2901
2781
  */
2902
- type?: string;
2782
+ amountRange?: AmountRangeDto;
2903
2783
  /**
2904
- * Life event description. Empty string is a VALID value (distinct from absence).
2784
+ * Rule priority (0-1000, higher = first match)
2905
2785
  */
2906
- description?: string;
2786
+ priority: number;
2907
2787
  /**
2908
- * Product-side metadata (free-form JSON)
2788
+ * Whether the rule is enabled
2909
2789
  */
2910
- meta?: {
2911
- [key: string]: unknown;
2912
- };
2913
- };
2914
- type OnboardingAccountDto = {
2790
+ enabled: boolean;
2915
2791
  /**
2916
- * Account path (Assets/Liabilities only; format validated by the account service)
2792
+ * Learning source: NLP, REVIEW_CENTER, or null for manual
2917
2793
  */
2918
- path: string;
2794
+ learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
2919
2795
  /**
2920
- * ISO 4217 currency code (3 letters)
2796
+ * Whether auto-apply is enabled for this rule
2921
2797
  */
2922
- currency: string;
2798
+ autoApplyEnabled: boolean;
2923
2799
  /**
2924
- * Opening balance as a non-negative Decimal string (e.g. "1000.00")
2800
+ * Number of confirmations for NLP-learned rules
2925
2801
  */
2926
- openingBalance?: string;
2802
+ confirmationCount: number;
2927
2803
  /**
2928
- * Platform ID to bind the account to (references Platform.id); omit for unbound
2804
+ * Additional tags
2805
+ */
2806
+ additionalTags: Array<string>;
2807
+ /**
2808
+ * Additional metadata
2809
+ */
2810
+ additionalMetadata?: {
2811
+ [key: string]: string;
2812
+ };
2813
+ /**
2814
+ * Created timestamp
2815
+ */
2816
+ createdAt: string;
2817
+ /**
2818
+ * Updated timestamp
2819
+ */
2820
+ updatedAt: string;
2821
+ };
2822
+ /**
2823
+ * Learning source: NLP, REVIEW_CENTER, or null for manual
2824
+ */
2825
+ type learningSource = 'NLP' | 'REVIEW_CENTER';
2826
+ type TransactionRuleListResponseDto = {
2827
+ data: Array<TransactionRuleResponseDto>;
2828
+ /**
2829
+ * Total count of rules
2830
+ */
2831
+ total: number;
2832
+ /**
2833
+ * Results per page
2834
+ */
2835
+ limit: number;
2836
+ /**
2837
+ * Pagination offset
2838
+ */
2839
+ offset: number;
2840
+ };
2841
+ type ValidateRuleDto = {
2842
+ name: string;
2843
+ description?: string;
2844
+ narrationKeywords?: Array<unknown[]>;
2845
+ payeeKeywords?: Array<unknown[]>;
2846
+ categoryKeywords?: Array<unknown[]>;
2847
+ /**
2848
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2849
+ */
2850
+ methodKeywords?: Array<unknown[]>;
2851
+ /**
2852
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2853
+ */
2854
+ categoryAccount?: string;
2855
+ matchLogic: 'OR' | 'AND';
2856
+ /**
2857
+ * Minimum transaction amount (inclusive)
2858
+ */
2859
+ amountMin?: number;
2860
+ /**
2861
+ * Maximum transaction amount (inclusive)
2862
+ */
2863
+ amountMax?: number;
2864
+ priority: number;
2865
+ additionalTags?: Array<unknown[]>;
2866
+ additionalMetadata?: {
2867
+ [key: string]: unknown;
2868
+ };
2869
+ /**
2870
+ * If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
2871
+ */
2872
+ upsertByPayee?: boolean;
2873
+ };
2874
+ type ValidateRuleResponseDto = {
2875
+ /**
2876
+ * Whether the rule configuration is valid
2877
+ */
2878
+ valid: boolean;
2879
+ /**
2880
+ * List of validation errors (empty if valid)
2881
+ */
2882
+ errors: Array<unknown[]>;
2883
+ /**
2884
+ * List of validation warnings (non-blocking issues)
2885
+ */
2886
+ warnings: Array<unknown[]>;
2887
+ };
2888
+ type BulkCreateRulesDto = {
2889
+ /**
2890
+ * Array of rules to import
2891
+ */
2892
+ rules: Array<unknown[]>;
2893
+ /**
2894
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2895
+ */
2896
+ conflictStrategy: 'replace' | 'skip';
2897
+ };
2898
+ /**
2899
+ * Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
2900
+ */
2901
+ type conflictStrategy = 'replace' | 'skip';
2902
+ type BulkCreateRulesResponseDto = {
2903
+ /**
2904
+ * Number of successfully created rules
2905
+ */
2906
+ successCount: number;
2907
+ /**
2908
+ * Number of failed rules
2909
+ */
2910
+ failureCount: number;
2911
+ /**
2912
+ * Error details for failed rules
2913
+ */
2914
+ errors: Array<{
2915
+ index?: number;
2916
+ message?: string;
2917
+ }>;
2918
+ /**
2919
+ * IDs of successfully created rules
2920
+ */
2921
+ createdRuleIds: Array<string>;
2922
+ };
2923
+ type ExportRulesResponseDto = {
2924
+ /**
2925
+ * Export timestamp
2926
+ */
2927
+ exportedAt: string;
2928
+ /**
2929
+ * User ID
2930
+ */
2931
+ userId: string;
2932
+ /**
2933
+ * Number of exported rules
2934
+ */
2935
+ ruleCount: number;
2936
+ /**
2937
+ * Exported rules
2938
+ */
2939
+ rules: unknown[];
2940
+ };
2941
+ type RuleStatisticsResponseDto = {
2942
+ /**
2943
+ * Statistics time period
2944
+ */
2945
+ period: '7d' | '30d' | '90d';
2946
+ /**
2947
+ * Total number of rules
2948
+ */
2949
+ totalRules: number;
2950
+ /**
2951
+ * Number of rules with at least one match
2952
+ */
2953
+ rulesWithMatches: number;
2954
+ /**
2955
+ * Total number of matches across all rules
2956
+ */
2957
+ totalMatches: number;
2958
+ /**
2959
+ * Average confidence score across all matches
2960
+ */
2961
+ averageConfidence: number;
2962
+ /**
2963
+ * Per-rule statistics
2964
+ */
2965
+ ruleStats: Array<{
2966
+ ruleId?: string;
2967
+ ruleName?: string;
2968
+ matchCount?: number;
2969
+ averageConfidence?: number;
2970
+ }>;
2971
+ };
2972
+ /**
2973
+ * Statistics time period
2974
+ */
2975
+ type period = '7d' | '30d' | '90d';
2976
+ type UpdateTransactionRuleDto = {
2977
+ name?: string;
2978
+ description?: string;
2979
+ narrationKeywords?: Array<unknown[]>;
2980
+ payeeKeywords?: Array<unknown[]>;
2981
+ categoryKeywords?: Array<unknown[]>;
2982
+ /**
2983
+ * Payment method keywords (e.g., HuaBei, YuEBao)
2984
+ */
2985
+ methodKeywords?: Array<unknown[]>;
2986
+ /**
2987
+ * Destination account for expenses/income (e.g., Expenses:Food:Coffee)
2988
+ */
2989
+ categoryAccount?: string;
2990
+ matchLogic?: 'OR' | 'AND';
2991
+ /**
2992
+ * Minimum transaction amount (inclusive)
2993
+ */
2994
+ amountMin?: number;
2995
+ /**
2996
+ * Maximum transaction amount (inclusive)
2997
+ */
2998
+ amountMax?: number;
2999
+ priority?: number;
3000
+ /**
3001
+ * Enable or disable the rule
3002
+ */
3003
+ enabled?: boolean;
3004
+ additionalTags?: Array<unknown[]>;
3005
+ additionalMetadata?: {
3006
+ [key: string]: unknown;
3007
+ };
3008
+ };
3009
+ type TestRuleDto = {
3010
+ narration: string;
3011
+ payee?: string;
3012
+ categoryAccount?: string;
3013
+ amount?: number;
3014
+ currency?: string;
3015
+ };
3016
+ type TestRuleResponseDto = {
3017
+ /**
3018
+ * Rule ID that was tested
3019
+ */
3020
+ ruleId: string;
3021
+ /**
3022
+ * Whether the rule matched the test data
3023
+ */
3024
+ matches: boolean;
3025
+ /**
3026
+ * Match confidence score (0-1)
3027
+ */
3028
+ confidence: number;
3029
+ /**
3030
+ * Details of which fields matched
3031
+ */
3032
+ matchDetails: {
3033
+ [key: string]: unknown;
3034
+ };
3035
+ };
3036
+ type CreateBeanEventDto = {
3037
+ /**
3038
+ * Life event date (ISO 8601)
3039
+ */
3040
+ date: string;
3041
+ /**
3042
+ * Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
3043
+ */
3044
+ type: string;
3045
+ /**
3046
+ * Life event description. Empty string is a VALID value (distinct from absence).
3047
+ */
3048
+ description: string;
3049
+ /**
3050
+ * Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
3051
+ */
3052
+ meta?: {
3053
+ [key: string]: unknown;
3054
+ };
3055
+ };
3056
+ type EventResponseDto = {
3057
+ /**
3058
+ * Unique identifier
3059
+ */
3060
+ id: string;
3061
+ /**
3062
+ * User ID (owner of the life event)
3063
+ */
3064
+ userId: string;
3065
+ /**
3066
+ * Life event date (ISO 8601 format)
3067
+ */
3068
+ date: string;
3069
+ /**
3070
+ * Life event type (user-defined, e.g., "employer", "location")
3071
+ */
3072
+ type: string;
3073
+ /**
3074
+ * Life event description. May be an empty string (a valid value distinct from absence).
3075
+ */
3076
+ description: string;
3077
+ /**
3078
+ * Product-side metadata (free-form JSON)
3079
+ */
3080
+ meta: {
3081
+ [key: string]: unknown;
3082
+ };
3083
+ /**
3084
+ * Creation timestamp
3085
+ */
3086
+ createdAt: string;
3087
+ /**
3088
+ * Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
3089
+ */
3090
+ updatedAt: string;
3091
+ };
3092
+ type EventListResponseDto = {
3093
+ /**
3094
+ * List of life events
3095
+ */
3096
+ items: Array<EventResponseDto>;
3097
+ /**
3098
+ * Total number of life events matching the query
3099
+ */
3100
+ total: number;
3101
+ };
3102
+ type UpdateBeanEventDto = {
3103
+ /**
3104
+ * Life event date (ISO 8601)
3105
+ */
3106
+ date?: string;
3107
+ /**
3108
+ * Life event type (user-defined)
3109
+ */
3110
+ type?: string;
3111
+ /**
3112
+ * Life event description. Empty string is a VALID value (distinct from absence).
3113
+ */
3114
+ description?: string;
3115
+ /**
3116
+ * Product-side metadata (free-form JSON)
3117
+ */
3118
+ meta?: {
3119
+ [key: string]: unknown;
3120
+ };
3121
+ };
3122
+ type OnboardingAccountDto = {
3123
+ /**
3124
+ * Account path (Assets/Liabilities only; format validated by the account service)
3125
+ */
3126
+ path: string;
3127
+ /**
3128
+ * ISO 4217 currency code (3 letters)
3129
+ */
3130
+ currency: string;
3131
+ /**
3132
+ * Opening balance as a non-negative Decimal string (e.g. "1000.00")
3133
+ */
3134
+ openingBalance?: string;
3135
+ /**
3136
+ * Platform ID to bind the account to (references Platform.id); omit for unbound
2929
3137
  */
2930
3138
  platformId?: string;
2931
3139
  };
@@ -3309,13 +3517,13 @@ type ProviderSyncConfigDto = {
3309
3517
  */
3310
3518
  defaultCurrency: string;
3311
3519
  /**
3312
- * Default expense account for the second posting
3520
+ * Default expense account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).
3313
3521
  */
3314
- defaultExpenseAccount: string;
3522
+ defaultExpenseAccount?: string;
3315
3523
  /**
3316
- * Default income account for the second posting
3524
+ * Default income account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).
3317
3525
  */
3318
- defaultIncomeAccount: string;
3526
+ defaultIncomeAccount?: string;
3319
3527
  /**
3320
3528
  * Filter pending transactions
3321
3529
  */
@@ -3427,6 +3635,14 @@ type ProcessNlpDto = {
3427
3635
  parsedData?: {
3428
3636
  [key: string]: unknown;
3429
3637
  };
3638
+ /**
3639
+ * confirm_rule echo-back: rule id selected from the prior confirm_rule response (matchedRule.id or alternatives[i].ruleId). Applied directly when the session is confirming_rule — no NL re-parse.
3640
+ */
3641
+ selectedRuleId?: string;
3642
+ /**
3643
+ * confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.
3644
+ */
3645
+ selectedAccount?: string;
3430
3646
  };
3431
3647
  type NlpTransactionInfoDto = {
3432
3648
  /**
@@ -3660,9 +3876,9 @@ type NlpAccountConfirmationDataDto = {
3660
3876
  */
3661
3877
  invalidAccount: string;
3662
3878
  /**
3663
- * Suggested replacement account
3879
+ * Suggested replacement account (omitted when no clear candidate)
3664
3880
  */
3665
- suggestedAccount: string;
3881
+ suggestedAccount?: string;
3666
3882
  /**
3667
3883
  * Similar accounts for user selection
3668
3884
  */
@@ -3784,7 +4000,7 @@ type NlpSuggestedAccountDto = {
3784
4000
  */
3785
4001
  account: string;
3786
4002
  /**
3787
- * Confidence score for this suggestion (0-1)
4003
+ * Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)
3788
4004
  */
3789
4005
  confidence?: number;
3790
4006
  };
@@ -3800,21 +4016,21 @@ type NlpSuggestedAccountsDto = {
3800
4016
  };
3801
4017
  type NlpDefaultAccountsDto = {
3802
4018
  /**
3803
- * Default asset account
4019
+ * Default OPEN asset account (MRU when multiple), or null when none/ambiguous
3804
4020
  */
3805
- asset: string;
4021
+ asset: string | null;
3806
4022
  /**
3807
- * Default expense account
4023
+ * Default OPEN expense account (MRU when multiple), or null when none/ambiguous
3808
4024
  */
3809
- expense: string;
4025
+ expense: string | null;
3810
4026
  /**
3811
- * Default income account
4027
+ * Default OPEN income account (MRU when multiple), or null when none/ambiguous
3812
4028
  */
3813
- income: string;
4029
+ income: string | null;
3814
4030
  /**
3815
- * Default liability account
4031
+ * Default OPEN liability account (MRU when multiple), or null when none/ambiguous
3816
4032
  */
3817
- liability: string;
4033
+ liability: string | null;
3818
4034
  };
3819
4035
  type NlpResponseDto = {
3820
4036
  /**
@@ -3824,7 +4040,7 @@ type NlpResponseDto = {
3824
4040
  /**
3825
4041
  * Action taken or requested
3826
4042
  */
3827
- action: 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
4043
+ action: 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel' | 'aborted';
3828
4044
  /**
3829
4045
  * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3830
4046
  */
@@ -3913,11 +4129,11 @@ type NlpResponseDto = {
3913
4129
  */
3914
4130
  recurringSuggestion?: RecurringSuggestionDto;
3915
4131
  /**
3916
- * Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
4132
+ * Suggested accounts for this transaction (#586). confirm/confirm_rule/confirm_account: predicted (source/destination carry confidence); created: actual persisted accounts (confidence omitted). confirm_account destination is the suggested replacement, never the invalid account.
3917
4133
  */
3918
4134
  suggestedAccounts?: NlpSuggestedAccountsDto;
3919
4135
  /**
3920
- * Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
4136
+ * Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.
3921
4137
  */
3922
4138
  defaultAccounts?: NlpDefaultAccountsDto;
3923
4139
  };
@@ -3928,7 +4144,7 @@ type status4 = 'success' | 'pending' | 'error';
3928
4144
  /**
3929
4145
  * Action taken or requested
3930
4146
  */
3931
- type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
4147
+ type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel' | 'aborted';
3932
4148
  /**
3933
4149
  * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3934
4150
  */
@@ -3945,6 +4161,116 @@ type liabilitySubType = 'borrow' | 'repay';
3945
4161
  * Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
3946
4162
  */
3947
4163
  type equitySubType = 'opening' | 'adjustment';
4164
+ type PlatformListItemDto = {
4165
+ /**
4166
+ * Global platform ID
4167
+ */
4168
+ id: string;
4169
+ /**
4170
+ * Platform name
4171
+ */
4172
+ name: string;
4173
+ /**
4174
+ * Platform URL
4175
+ */
4176
+ url: string;
4177
+ /**
4178
+ * Platform type
4179
+ */
4180
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4181
+ /**
4182
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4183
+ */
4184
+ canonical: string;
4185
+ /**
4186
+ * Suggested path segment — PascalCase of canonical, hyphens removed (e.g. "ApplePay")
4187
+ */
4188
+ suggestedSegment: string;
4189
+ /**
4190
+ * Logo URL
4191
+ */
4192
+ logoUrl: string | null;
4193
+ /**
4194
+ * ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
4195
+ */
4196
+ countryCode: string | null;
4197
+ /**
4198
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
4199
+ */
4200
+ category: string | null;
4201
+ /**
4202
+ * Whether user has accounts using this platform
4203
+ */
4204
+ isBound: boolean;
4205
+ };
4206
+ /**
4207
+ * Platform type
4208
+ */
4209
+ type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4210
+ type PlatformMatchResultDto = {
4211
+ /**
4212
+ * Global platform ID
4213
+ */
4214
+ id: string;
4215
+ /**
4216
+ * Platform name (e.g., "ICBC")
4217
+ */
4218
+ name: string;
4219
+ /**
4220
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4221
+ */
4222
+ canonical: string;
4223
+ /**
4224
+ * Platform type
4225
+ */
4226
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4227
+ /**
4228
+ * Suggested path segment — PascalCase of canonical, hyphens removed (e.g. "ApplePay")
4229
+ */
4230
+ suggestedSegment: string;
4231
+ /**
4232
+ * Logo URL
4233
+ */
4234
+ logoUrl: string | null;
4235
+ /**
4236
+ * ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
4237
+ */
4238
+ countryCode: string | null;
4239
+ /**
4240
+ * Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
4241
+ */
4242
+ category: string | null;
4243
+ /**
4244
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4245
+ */
4246
+ matchType: 'exact' | 'prefix' | 'substring';
4247
+ };
4248
+ /**
4249
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4250
+ */
4251
+ type matchType = 'exact' | 'prefix' | 'substring';
4252
+ type PlatformMatchResponseDto = {
4253
+ /**
4254
+ * Ranked matches, best tier first (at most 10 rows)
4255
+ */
4256
+ platforms: Array<PlatformMatchResultDto>;
4257
+ /**
4258
+ * Overall match quality — top row's tier, or 'none' when no hits
4259
+ */
4260
+ matchType: 'none' | 'exact' | 'prefix' | 'substring';
4261
+ /**
4262
+ * Total matches before LIMIT (truncation transparency)
4263
+ */
4264
+ total: number;
4265
+ /**
4266
+ * true when total > platforms.length (more matches exist)
4267
+ */
4268
+ hasMore: boolean;
4269
+ };
4270
+ /**
4271
+ * Overall match quality — top row's tier, or 'none' when no hits
4272
+ */
4273
+ type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
3948
4274
  type CreatePlatformDto = {
3949
4275
  /**
3950
4276
  * Platform name
@@ -3975,10 +4301,6 @@ type CreatePlatformDto = {
3975
4301
  */
3976
4302
  isActive?: boolean;
3977
4303
  };
3978
- /**
3979
- * Platform type
3980
- */
3981
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3982
4304
  type UpdatePlatformDto = {
3983
4305
  /**
3984
4306
  * Platform name
@@ -4263,10 +4585,6 @@ type AssetClassGroupDto = {
4263
4585
  */
4264
4586
  convertedBalance?: string;
4265
4587
  };
4266
- /**
4267
- * Asset class name
4268
- */
4269
- type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
4270
4588
  type AssetClassSummaryDto = {
4271
4589
  /**
4272
4590
  * Total number of accounts
@@ -4599,230 +4917,200 @@ type HoldingPnlRowDto = {
4599
4917
  */
4600
4918
  costFxRate?: FxRateDto | null;
4601
4919
  /**
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
4920
+ * FX rate applied to market value
4706
4921
  */
4707
- totalChangePercentage: string;
4708
- };
4709
- type MultiCurrencyPointDto = {
4922
+ marketFxRate?: FxRateDto | null;
4710
4923
  /**
4711
- * Date in YYYY-MM-DD format
4924
+ * Share of invested assets % (Decimal string); only for invested chartTokens
4712
4925
  */
4713
- date: string;
4926
+ pctOfInvestedAssets?: {
4927
+ [key: string]: unknown;
4928
+ } | null;
4714
4929
  /**
4715
- * Balances by currency
4930
+ * 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
4931
  */
4717
- byCurrency: Array<CurrencyBalanceDto>;
4932
+ realizedPnl?: MonetaryDto | null;
4718
4933
  };
4719
- type PortfolioTrendsResponseDto = {
4934
+ /**
4935
+ * Chart segment token (libs/common resolver)
4936
+ */
4937
+ type chartToken = 'equity' | 'fund' | 'bond' | 'cash' | 'other';
4938
+ type HoldingPnlWarningDto = {
4720
4939
  /**
4721
- * Time series data points
4940
+ * Warning type
4722
4941
  */
4723
- series: Array<TimeSeriesPointDto>;
4942
+ type: 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4943
+ symbol?: {
4944
+ [key: string]: unknown;
4945
+ } | null;
4946
+ accountId?: {
4947
+ [key: string]: unknown;
4948
+ } | null;
4949
+ currency?: {
4950
+ [key: string]: unknown;
4951
+ } | null;
4952
+ };
4953
+ /**
4954
+ * Warning type
4955
+ */
4956
+ type type4 = 'MISSING_COST_FX_RATE' | 'MISSING_MARKET_FX_RATE' | 'MISSING_SALE_PRICE' | 'MISSING_REALIZED_FX_RATE' | 'OVERSOLD_LOTS' | 'NO_PRICE' | 'MIXED_COST_CURRENCY';
4957
+ type HoldingPnlResponseDto = {
4958
+ asOfDate: string;
4959
+ baseCurrency: string;
4724
4960
  /**
4725
- * Period summary
4961
+ * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4726
4962
  */
4727
- summary: TrendSummaryDto;
4963
+ method: 'average' | 'FIFO';
4964
+ rows: Array<HoldingPnlRowDto>;
4965
+ warnings: Array<HoldingPnlWarningDto>;
4966
+ };
4967
+ /**
4968
+ * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4969
+ */
4970
+ type method = 'average' | 'FIFO';
4971
+ type AnonymousLoginDto = {
4728
4972
  /**
4729
- * Period requested
4973
+ * Access token for anonymous login
4730
4974
  */
4731
- period: string;
4975
+ accessToken: string;
4976
+ };
4977
+ type AnonymousLoginResponseDto = {
4732
4978
  /**
4733
- * Data granularity
4979
+ * JWT auth token
4734
4980
  */
4735
- granularity: string;
4981
+ authToken: string;
4982
+ };
4983
+ type SymbolSearchResultDto = {
4984
+ symbol: string;
4985
+ name?: {
4986
+ [key: string]: unknown;
4987
+ } | null;
4988
+ exchange?: {
4989
+ [key: string]: unknown;
4990
+ } | null;
4736
4991
  /**
4737
- * Base currency for converted values
4992
+ * OpenBB asset_type (e.g. stock, etf)
4738
4993
  */
4739
- currency: string;
4994
+ assetType?: {
4995
+ [key: string]: unknown;
4996
+ } | null;
4740
4997
  /**
4741
- * Multi-currency time series (each point has currency breakdown)
4998
+ * IGN asset class (region.types.ts ASSET_CLASSES)
4742
4999
  */
4743
- byCurrency?: Array<MultiCurrencyPointDto>;
5000
+ assetClass?: {
5001
+ [key: string]: unknown;
5002
+ } | null;
4744
5003
  /**
4745
- * Exchange rate warnings
5004
+ * IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
4746
5005
  */
4747
- warnings?: Array<ExchangeRateWarningDto>;
4748
- };
4749
- type CashFlowPointDto = {
5006
+ assetSubClass?: {
5007
+ [key: string]: unknown;
5008
+ } | null;
4750
5009
  /**
4751
- * Month key (YYYY-MM)
5010
+ * Trading currency (extra_data or inferred from exchange)
4752
5011
  */
4753
- month: string;
5012
+ currency?: {
5013
+ [key: string]: unknown;
5014
+ } | null;
5015
+ };
5016
+ type SymbolQuoteDto = {
5017
+ symbol?: string;
5018
+ name?: {
5019
+ [key: string]: unknown;
5020
+ } | null;
5021
+ exchange?: {
5022
+ [key: string]: unknown;
5023
+ } | null;
4754
5024
  /**
4755
- * Income in base currency (absolute, converted)
5025
+ * OpenBB asset_type
4756
5026
  */
4757
- income: string;
5027
+ assetType?: {
5028
+ [key: string]: unknown;
5029
+ } | null;
4758
5030
  /**
4759
- * Expense in base currency (absolute, converted)
5031
+ * IGN asset class
4760
5032
  */
4761
- expense: string;
5033
+ assetClass?: {
5034
+ [key: string]: unknown;
5035
+ } | null;
4762
5036
  /**
4763
- * netSavings = income − expense (savings positive)
5037
+ * IGN asset sub-class
4764
5038
  */
4765
- netSavings: string;
4766
- };
4767
- type CashFlowTrendSummaryDto = {
5039
+ assetSubClass?: {
5040
+ [key: string]: unknown;
5041
+ } | null;
4768
5042
  /**
4769
- * Total income across the period
5043
+ * Trading currency (extra_data or inferred from exchange)
4770
5044
  */
4771
- totalIncome: string;
5045
+ currency?: {
5046
+ [key: string]: unknown;
5047
+ } | null;
4772
5048
  /**
4773
- * Total expense across the period
5049
+ * Latest price (Decimal string)
4774
5050
  */
4775
- totalExpense: string;
5051
+ price?: {
5052
+ [key: string]: unknown;
5053
+ } | null;
4776
5054
  /**
4777
- * income expense across the period
5055
+ * Date the price was observed (ISO yyyy-MM-dd)
4778
5056
  */
4779
- totalNetSavings: string;
5057
+ priceDate?: {
5058
+ [key: string]: unknown;
5059
+ } | null;
4780
5060
  /**
4781
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
5061
+ * Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.
4782
5062
  */
4783
- averageMonthlyNetSavings: string;
4784
- };
4785
- type CashFlowTrendsResponseDto = {
5063
+ changePercent?: {
5064
+ [key: string]: unknown;
5065
+ } | null;
4786
5066
  /**
4787
- * Monthly cash-flow series (fixed N-month window, zero-filled)
5067
+ * Previous close (Decimal string)
4788
5068
  */
4789
- series: Array<CashFlowPointDto>;
5069
+ prevClose?: {
5070
+ [key: string]: unknown;
5071
+ } | null;
4790
5072
  /**
4791
- * Period totals
5073
+ * Day open (Decimal string)
4792
5074
  */
4793
- summary: CashFlowTrendSummaryDto;
5075
+ open?: {
5076
+ [key: string]: unknown;
5077
+ } | null;
4794
5078
  /**
4795
- * Period requested
5079
+ * Day high (Decimal string)
4796
5080
  */
4797
- period: string;
5081
+ high?: {
5082
+ [key: string]: unknown;
5083
+ } | null;
4798
5084
  /**
4799
- * Data granularity (v1 returns month buckets)
5085
+ * Day low (Decimal string)
4800
5086
  */
4801
- granularity: string;
5087
+ low?: {
5088
+ [key: string]: unknown;
5089
+ } | null;
4802
5090
  /**
4803
- * Base currency for converted values
5091
+ * Day volume (Decimal string)
4804
5092
  */
4805
- currency: string;
5093
+ volume?: {
5094
+ [key: string]: unknown;
5095
+ } | null;
4806
5096
  /**
4807
- * Exchange rate warnings (e.g. missing rate for a currency)
5097
+ * 52-week high (Decimal string)
4808
5098
  */
4809
- warnings?: Array<ExchangeRateWarningDto>;
4810
- };
4811
- type GenerateSnapshotBody = unknown;
4812
- type GenerateSnapshotResponse = unknown;
4813
- type BackfillSnapshotsBody = unknown;
4814
- type BackfillSnapshotsResponse = unknown;
4815
- type AnonymousLoginDto = {
5099
+ yearHigh?: {
5100
+ [key: string]: unknown;
5101
+ } | null;
4816
5102
  /**
4817
- * Access token for anonymous login
5103
+ * 52-week low (Decimal string)
4818
5104
  */
4819
- accessToken: string;
5105
+ yearLow?: {
5106
+ [key: string]: unknown;
5107
+ } | null;
4820
5108
  };
4821
5109
  type AccountControllerCreateData = {
4822
5110
  /**
4823
5111
  * Region code for tenant context
4824
5112
  */
4825
- region: 'cn' | 'us' | 'de' | 'gb';
5113
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4826
5114
  requestBody: CreateAccountDto;
4827
5115
  };
4828
5116
  type AccountControllerCreateResponse = AccountResponseDto;
@@ -4842,7 +5130,7 @@ type AccountControllerFindAllData = {
4842
5130
  /**
4843
5131
  * Region code for tenant context
4844
5132
  */
4845
- region: 'cn' | 'us' | 'de' | 'gb';
5133
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4846
5134
  /**
4847
5135
  * Search term for account path
4848
5136
  */
@@ -4865,7 +5153,7 @@ type AccountControllerFindOneData = {
4865
5153
  /**
4866
5154
  * Region code for tenant context
4867
5155
  */
4868
- region: 'cn' | 'us' | 'de' | 'gb';
5156
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4869
5157
  };
4870
5158
  type AccountControllerFindOneResponse = AccountResponseDto;
4871
5159
  type AccountControllerUpdateData = {
@@ -4876,7 +5164,7 @@ type AccountControllerUpdateData = {
4876
5164
  /**
4877
5165
  * Region code for tenant context
4878
5166
  */
4879
- region: 'cn' | 'us' | 'de' | 'gb';
5167
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4880
5168
  requestBody: UpdateAccountDto;
4881
5169
  };
4882
5170
  type AccountControllerUpdateResponse = AccountResponseDto;
@@ -4888,7 +5176,7 @@ type AccountControllerDeleteData = {
4888
5176
  /**
4889
5177
  * Region code for tenant context
4890
5178
  */
4891
- region: 'cn' | 'us' | 'de' | 'gb';
5179
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4892
5180
  };
4893
5181
  type AccountControllerDeleteResponse = void;
4894
5182
  type AccountControllerCloseData = {
@@ -4899,7 +5187,7 @@ type AccountControllerCloseData = {
4899
5187
  /**
4900
5188
  * Region code for tenant context
4901
5189
  */
4902
- region: 'cn' | 'us' | 'de' | 'gb';
5190
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4903
5191
  requestBody: CloseAccountDto;
4904
5192
  };
4905
5193
  type AccountControllerCloseResponse = AccountResponseDto;
@@ -4911,7 +5199,7 @@ type AccountControllerReopenData = {
4911
5199
  /**
4912
5200
  * Region code for tenant context
4913
5201
  */
4914
- region: 'cn' | 'us' | 'de' | 'gb';
5202
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4915
5203
  requestBody: ReopenAccountDto;
4916
5204
  };
4917
5205
  type AccountControllerReopenResponse = AccountResponseDto;
@@ -4923,7 +5211,7 @@ type AccountControllerAddOpeningBalanceData = {
4923
5211
  /**
4924
5212
  * Region code for tenant context
4925
5213
  */
4926
- region: 'cn' | 'us' | 'de' | 'gb';
5214
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4927
5215
  requestBody: CreateOpeningBalanceDto;
4928
5216
  };
4929
5217
  type AccountControllerAddOpeningBalanceResponse = OpeningBalanceResultDto;
@@ -4931,7 +5219,7 @@ type AccountStandardsControllerGetTemplatesData = {
4931
5219
  /**
4932
5220
  * Region code (cn, us, de)
4933
5221
  */
4934
- region: 'cn' | 'us' | 'de' | 'gb';
5222
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4935
5223
  /**
4936
5224
  * Search term for path or description
4937
5225
  */
@@ -4950,21 +5238,21 @@ type AccountStandardsControllerGetTemplateMetadataData = {
4950
5238
  /**
4951
5239
  * Region code for tenant context
4952
5240
  */
4953
- region: 'cn' | 'us' | 'de' | 'gb';
5241
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4954
5242
  };
4955
5243
  type AccountStandardsControllerGetTemplateMetadataResponse = TemplateMetadataResponseDto;
4956
5244
  type AccountStandardsControllerGetRegionsData = {
4957
5245
  /**
4958
5246
  * Region code for tenant context
4959
5247
  */
4960
- region: 'cn' | 'us' | 'de' | 'gb';
5248
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4961
5249
  };
4962
5250
  type AccountStandardsControllerGetRegionsResponse = RegionsMetadataResponseDto;
4963
5251
  type TransactionControllerCreateData = {
4964
5252
  /**
4965
5253
  * Region code for tenant context
4966
5254
  */
4967
- region: 'cn' | 'us' | 'de' | 'gb';
5255
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
4968
5256
  /**
4969
5257
  * Transaction data with postings
4970
5258
  */
@@ -4999,7 +5287,7 @@ type TransactionControllerListData = {
4999
5287
  /**
5000
5288
  * Region code for tenant context
5001
5289
  */
5002
- region: 'cn' | 'us' | 'de' | 'gb';
5290
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5003
5291
  /**
5004
5292
  * Search in narration and payee fields (max 200 chars)
5005
5293
  */
@@ -5014,7 +5302,7 @@ type TransactionControllerCreateBatchData = {
5014
5302
  /**
5015
5303
  * Region code for tenant context
5016
5304
  */
5017
- region: 'cn' | 'us' | 'de' | 'gb';
5305
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5018
5306
  requestBody: BatchCreateTransactionDto;
5019
5307
  };
5020
5308
  type TransactionControllerCreateBatchResponse = BatchTransactionResponseDto;
@@ -5026,7 +5314,7 @@ type TransactionControllerCorrectData = {
5026
5314
  /**
5027
5315
  * Region code for tenant context
5028
5316
  */
5029
- region: 'cn' | 'us' | 'de' | 'gb';
5317
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5030
5318
  requestBody: CorrectTransactionDto;
5031
5319
  };
5032
5320
  type TransactionControllerCorrectResponse = TransactionDetailDto;
@@ -5042,7 +5330,7 @@ type TransactionControllerSuggestTagsData = {
5042
5330
  /**
5043
5331
  * Region code for tenant context
5044
5332
  */
5045
- region: 'cn' | 'us' | 'de' | 'gb';
5333
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5046
5334
  /**
5047
5335
  * usage (default) or name
5048
5336
  */
@@ -5057,7 +5345,7 @@ type TransactionControllerGetDetailData = {
5057
5345
  /**
5058
5346
  * Region code for tenant context
5059
5347
  */
5060
- region: 'cn' | 'us' | 'de' | 'gb';
5348
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5061
5349
  };
5062
5350
  type TransactionControllerGetDetailResponse = TransactionDetailDto;
5063
5351
  type TransactionControllerUpdateData = {
@@ -5068,7 +5356,7 @@ type TransactionControllerUpdateData = {
5068
5356
  /**
5069
5357
  * Region code for tenant context
5070
5358
  */
5071
- region: 'cn' | 'us' | 'de' | 'gb';
5359
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5072
5360
  /**
5073
5361
  * Fields to update (all optional)
5074
5362
  */
@@ -5083,7 +5371,7 @@ type TransactionControllerDeleteData = {
5083
5371
  /**
5084
5372
  * Region code for tenant context
5085
5373
  */
5086
- region: 'cn' | 'us' | 'de' | 'gb';
5374
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5087
5375
  };
5088
5376
  type TransactionControllerDeleteResponse = void;
5089
5377
  type BalanceControllerGetBalanceData = {
@@ -5102,14 +5390,14 @@ type BalanceControllerGetBalanceData = {
5102
5390
  /**
5103
5391
  * Region code for tenant context
5104
5392
  */
5105
- region: 'cn' | 'us' | 'de' | 'gb';
5393
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5106
5394
  };
5107
5395
  type BalanceControllerGetBalanceResponse = BalanceResponseDto;
5108
5396
  type BalanceControllerGetMultiCurrencyBalanceData = {
5109
5397
  /**
5110
5398
  * Region code for tenant context
5111
5399
  */
5112
- region: 'cn' | 'us' | 'de' | 'gb';
5400
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5113
5401
  };
5114
5402
  type BalanceControllerGetMultiCurrencyBalanceResponse = MultiCurrencyBalanceResponseDto;
5115
5403
  type ReviewControllerFindAllData = {
@@ -5128,7 +5416,7 @@ type ReviewControllerFindAllData = {
5128
5416
  /**
5129
5417
  * Region code for tenant context
5130
5418
  */
5131
- region: 'cn' | 'us' | 'de' | 'gb';
5419
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5132
5420
  /**
5133
5421
  * Sort order
5134
5422
  */
@@ -5143,7 +5431,7 @@ type ReviewControllerGetStatsData = {
5143
5431
  /**
5144
5432
  * Region code for tenant context
5145
5433
  */
5146
- region: 'cn' | 'us' | 'de' | 'gb';
5434
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5147
5435
  };
5148
5436
  type ReviewControllerGetStatsResponse = ReviewStatsDto;
5149
5437
  type ReviewControllerFindOneData = {
@@ -5154,7 +5442,7 @@ type ReviewControllerFindOneData = {
5154
5442
  /**
5155
5443
  * Region code for tenant context
5156
5444
  */
5157
- region: 'cn' | 'us' | 'de' | 'gb';
5445
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5158
5446
  };
5159
5447
  type ReviewControllerFindOneResponse = ReviewDetailDto;
5160
5448
  type ReviewControllerResolveData = {
@@ -5165,7 +5453,7 @@ type ReviewControllerResolveData = {
5165
5453
  /**
5166
5454
  * Region code for tenant context
5167
5455
  */
5168
- region: 'cn' | 'us' | 'de' | 'gb';
5456
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5169
5457
  requestBody: ResolveReviewDto;
5170
5458
  };
5171
5459
  type ReviewControllerResolveResponse = ResolveResultDto;
@@ -5177,14 +5465,14 @@ type ReviewControllerUndoData = {
5177
5465
  /**
5178
5466
  * Region code for tenant context
5179
5467
  */
5180
- region: 'cn' | 'us' | 'de' | 'gb';
5468
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5181
5469
  };
5182
5470
  type ReviewControllerUndoResponse = UndoResultDto;
5183
5471
  type ReviewControllerBatchResolveData = {
5184
5472
  /**
5185
5473
  * Region code for tenant context
5186
5474
  */
5187
- region: 'cn' | 'us' | 'de' | 'gb';
5475
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5188
5476
  /**
5189
5477
  * Batch resolution request containing review IDs and action
5190
5478
  */
@@ -5329,7 +5617,7 @@ type CommodityControllerCreateData = {
5329
5617
  /**
5330
5618
  * Region code for tenant context
5331
5619
  */
5332
- region: 'cn' | 'us' | 'de' | 'gb';
5620
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5333
5621
  requestBody: CreateCommodityDto;
5334
5622
  };
5335
5623
  type CommodityControllerCreateResponse = CommodityResponseDto;
@@ -5337,7 +5625,7 @@ type CommodityControllerFindAllData = {
5337
5625
  /**
5338
5626
  * Region code for tenant context
5339
5627
  */
5340
- region: 'cn' | 'us' | 'de' | 'gb';
5628
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5341
5629
  /**
5342
5630
  * Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
5343
5631
  */
@@ -5352,7 +5640,7 @@ type CommodityControllerFindOneData = {
5352
5640
  /**
5353
5641
  * Region code for tenant context
5354
5642
  */
5355
- region: 'cn' | 'us' | 'de' | 'gb';
5643
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5356
5644
  /**
5357
5645
  * Commodity symbol
5358
5646
  */
@@ -5363,7 +5651,7 @@ type CommodityControllerUpdateData = {
5363
5651
  /**
5364
5652
  * Region code for tenant context
5365
5653
  */
5366
- region: 'cn' | 'us' | 'de' | 'gb';
5654
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5367
5655
  requestBody: UpdateCommodityDto;
5368
5656
  /**
5369
5657
  * Commodity symbol
@@ -5375,7 +5663,7 @@ type CommodityControllerDeleteData = {
5375
5663
  /**
5376
5664
  * Region code for tenant context
5377
5665
  */
5378
- region: 'cn' | 'us' | 'de' | 'gb';
5666
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5379
5667
  /**
5380
5668
  * Commodity symbol
5381
5669
  */
@@ -5386,7 +5674,7 @@ type CommodityControllerGetOrCreateData = {
5386
5674
  /**
5387
5675
  * Region code for tenant context
5388
5676
  */
5389
- region: 'cn' | 'us' | 'de' | 'gb';
5677
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5390
5678
  /**
5391
5679
  * Commodity symbol
5392
5680
  */
@@ -5397,14 +5685,14 @@ type CommodityControllerBulkCreateData = {
5397
5685
  /**
5398
5686
  * Region code for tenant context
5399
5687
  */
5400
- region: 'cn' | 'us' | 'de' | 'gb';
5688
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5401
5689
  };
5402
5690
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
5403
5691
  type PriceControllerCreateData = {
5404
5692
  /**
5405
5693
  * Region code for tenant context
5406
5694
  */
5407
- region: 'cn' | 'us' | 'de' | 'gb';
5695
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5408
5696
  requestBody: CreateBeanPriceDto;
5409
5697
  };
5410
5698
  type PriceControllerCreateResponse = PriceResponseDto;
@@ -5436,7 +5724,7 @@ type PriceControllerFindAllData = {
5436
5724
  /**
5437
5725
  * Region code for tenant context
5438
5726
  */
5439
- region: 'cn' | 'us' | 'de' | 'gb';
5727
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5440
5728
  /**
5441
5729
  * Search term for currency or quoteCurrency (case-insensitive partial match)
5442
5730
  */
@@ -5451,7 +5739,7 @@ type PriceControllerFindOneData = {
5451
5739
  /**
5452
5740
  * Region code for tenant context
5453
5741
  */
5454
- region: 'cn' | 'us' | 'de' | 'gb';
5742
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5455
5743
  };
5456
5744
  type PriceControllerFindOneResponse = PriceResponseDto;
5457
5745
  type PriceControllerUpdateData = {
@@ -5462,7 +5750,7 @@ type PriceControllerUpdateData = {
5462
5750
  /**
5463
5751
  * Region code for tenant context
5464
5752
  */
5465
- region: 'cn' | 'us' | 'de' | 'gb';
5753
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5466
5754
  requestBody: UpdateBeanPriceDto;
5467
5755
  };
5468
5756
  type PriceControllerUpdateResponse = PriceResponseDto;
@@ -5474,14 +5762,14 @@ type PriceControllerDeleteData = {
5474
5762
  /**
5475
5763
  * Region code for tenant context
5476
5764
  */
5477
- region: 'cn' | 'us' | 'de' | 'gb';
5765
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5478
5766
  };
5479
5767
  type PriceControllerDeleteResponse = void;
5480
5768
  type PriceControllerBulkCreateData = {
5481
5769
  /**
5482
5770
  * Region code for tenant context
5483
5771
  */
5484
- region: 'cn' | 'us' | 'de' | 'gb';
5772
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5485
5773
  requestBody: Array<string>;
5486
5774
  };
5487
5775
  type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
@@ -5489,7 +5777,7 @@ type RecurringRuleControllerCreateData = {
5489
5777
  /**
5490
5778
  * Region code for tenant context
5491
5779
  */
5492
- region: 'cn' | 'us' | 'de' | 'gb';
5780
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5493
5781
  requestBody: CreateRecurringRuleDto;
5494
5782
  };
5495
5783
  type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
@@ -5509,14 +5797,14 @@ type RecurringRuleControllerFindAllData = {
5509
5797
  /**
5510
5798
  * Region code for tenant context
5511
5799
  */
5512
- region: 'cn' | 'us' | 'de' | 'gb';
5800
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5513
5801
  };
5514
5802
  type RecurringRuleControllerFindAllResponse = Array<RecurringRuleResponseDto>;
5515
5803
  type RecurringRuleControllerCreateFromTransactionData = {
5516
5804
  /**
5517
5805
  * Region code for tenant context
5518
5806
  */
5519
- region: 'cn' | 'us' | 'de' | 'gb';
5807
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5520
5808
  requestBody: CreateRuleFromTransactionDto;
5521
5809
  /**
5522
5810
  * Source transaction ID
@@ -5532,7 +5820,7 @@ type RecurringRuleControllerFindOneData = {
5532
5820
  /**
5533
5821
  * Region code for tenant context
5534
5822
  */
5535
- region: 'cn' | 'us' | 'de' | 'gb';
5823
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5536
5824
  };
5537
5825
  type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
5538
5826
  type RecurringRuleControllerUpdateData = {
@@ -5543,7 +5831,7 @@ type RecurringRuleControllerUpdateData = {
5543
5831
  /**
5544
5832
  * Region code for tenant context
5545
5833
  */
5546
- region: 'cn' | 'us' | 'de' | 'gb';
5834
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5547
5835
  requestBody: UpdateRecurringRuleDto;
5548
5836
  };
5549
5837
  type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
@@ -5555,7 +5843,7 @@ type RecurringRuleControllerDeleteData = {
5555
5843
  /**
5556
5844
  * Region code for tenant context
5557
5845
  */
5558
- region: 'cn' | 'us' | 'de' | 'gb';
5846
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5559
5847
  };
5560
5848
  type RecurringRuleControllerDeleteResponse = void;
5561
5849
  type RecurringRuleControllerGetWithStatsData = {
@@ -5566,7 +5854,7 @@ type RecurringRuleControllerGetWithStatsData = {
5566
5854
  /**
5567
5855
  * Region code for tenant context
5568
5856
  */
5569
- region: 'cn' | 'us' | 'de' | 'gb';
5857
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5570
5858
  };
5571
5859
  type RecurringRuleControllerGetWithStatsResponse = RecurringRuleWithStatsResponseDto;
5572
5860
  type ExpectedTransactionControllerFindAllData = {
@@ -5577,7 +5865,7 @@ type ExpectedTransactionControllerFindAllData = {
5577
5865
  /**
5578
5866
  * Region code for tenant context
5579
5867
  */
5580
- region: 'cn' | 'us' | 'de' | 'gb';
5868
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5581
5869
  /**
5582
5870
  * Filter by recurring rule ID
5583
5871
  */
@@ -5596,7 +5884,7 @@ type ExpectedTransactionControllerFindOverdueData = {
5596
5884
  /**
5597
5885
  * Region code for tenant context
5598
5886
  */
5599
- region: 'cn' | 'us' | 'de' | 'gb';
5887
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5600
5888
  };
5601
5889
  type ExpectedTransactionControllerFindOverdueResponse = ExpectedTransactionListResponseDto;
5602
5890
  type ExpectedTransactionControllerFindOneData = {
@@ -5607,7 +5895,7 @@ type ExpectedTransactionControllerFindOneData = {
5607
5895
  /**
5608
5896
  * Region code for tenant context
5609
5897
  */
5610
- region: 'cn' | 'us' | 'de' | 'gb';
5898
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5611
5899
  };
5612
5900
  type ExpectedTransactionControllerFindOneResponse = ExpectedTransactionResponseDto;
5613
5901
  type ExpectedTransactionControllerSkipData = {
@@ -5618,7 +5906,7 @@ type ExpectedTransactionControllerSkipData = {
5618
5906
  /**
5619
5907
  * Region code for tenant context
5620
5908
  */
5621
- region: 'cn' | 'us' | 'de' | 'gb';
5909
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5622
5910
  };
5623
5911
  type ExpectedTransactionControllerSkipResponse = ExpectedTransactionResponseDto;
5624
5912
  type ExpectedTransactionControllerUndoSkipData = {
@@ -5629,7 +5917,7 @@ type ExpectedTransactionControllerUndoSkipData = {
5629
5917
  /**
5630
5918
  * Region code for tenant context
5631
5919
  */
5632
- region: 'cn' | 'us' | 'de' | 'gb';
5920
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5633
5921
  };
5634
5922
  type ExpectedTransactionControllerUndoSkipResponse = ExpectedTransactionResponseDto;
5635
5923
  type ExpectedTransactionControllerConfirmMatchData = {
@@ -5640,49 +5928,163 @@ type ExpectedTransactionControllerConfirmMatchData = {
5640
5928
  /**
5641
5929
  * Region code for tenant context
5642
5930
  */
5643
- region: 'cn' | 'us' | 'de' | 'gb';
5644
- requestBody: ConfirmMatchDto;
5931
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5932
+ requestBody: ConfirmMatchDto;
5933
+ };
5934
+ type ExpectedTransactionControllerConfirmMatchResponse = unknown;
5935
+ type ExpectedTransactionControllerUnmatchData = {
5936
+ /**
5937
+ * Expected transaction ID
5938
+ */
5939
+ id: string;
5940
+ /**
5941
+ * Region code for tenant context
5942
+ */
5943
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5944
+ };
5945
+ type ExpectedTransactionControllerUnmatchResponse = unknown;
5946
+ type ExpectedTransactionControllerEnterNowData = {
5947
+ /**
5948
+ * Expected transaction ID
5949
+ */
5950
+ id: string;
5951
+ /**
5952
+ * Region code for tenant context
5953
+ */
5954
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5955
+ requestBody: EnterNowDto;
5956
+ };
5957
+ type ExpectedTransactionControllerEnterNowResponse = unknown;
5958
+ type ForecastControllerGetForecastData = {
5959
+ /**
5960
+ * Number of months to forecast (1-12, default 3)
5961
+ */
5962
+ months?: number;
5963
+ /**
5964
+ * Region code for tenant context
5965
+ */
5966
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5967
+ };
5968
+ type ForecastControllerGetForecastResponse = ForecastResponseDto;
5969
+ type ReportingControllerGetPortfolioTrendsData = {
5970
+ /**
5971
+ * Data granularity
5972
+ */
5973
+ granularity?: 'day' | 'week' | 'month';
5974
+ /**
5975
+ * Time period
5976
+ */
5977
+ period?: '1m' | '3m' | '6m' | '1y';
5978
+ /**
5979
+ * Region code for tenant context
5980
+ */
5981
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5982
+ };
5983
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
5984
+ type ReportingControllerGetCashFlowTrendsData = {
5985
+ /**
5986
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
5987
+ */
5988
+ granularity?: 'day' | 'week' | 'month';
5989
+ /**
5990
+ * Time period
5991
+ */
5992
+ period?: '1m' | '3m' | '6m' | '1y';
5993
+ /**
5994
+ * Region code for tenant context
5995
+ */
5996
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5997
+ };
5998
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
5999
+ type ReportingControllerGenerateSnapshotData = {
6000
+ /**
6001
+ * Region code for tenant context
6002
+ */
6003
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6004
+ /**
6005
+ * Optional date (defaults to today)
6006
+ */
6007
+ requestBody: GenerateSnapshotBody;
6008
+ };
6009
+ type ReportingControllerGenerateSnapshotResponse = GenerateSnapshotResponse;
6010
+ type ReportingControllerBackfillSnapshotsData = {
6011
+ /**
6012
+ * Region code for tenant context
6013
+ */
6014
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6015
+ requestBody: BackfillSnapshotsBody;
6016
+ };
6017
+ type ReportingControllerBackfillSnapshotsResponse = BackfillSnapshotsResponse;
6018
+ type UserControllerDeleteOwnUserData = {
6019
+ requestBody: DeleteOwnUserDto;
6020
+ };
6021
+ type UserControllerDeleteOwnUserResponse = void;
6022
+ type UserControllerGetUserData = {
6023
+ acceptLanguage: string;
6024
+ };
6025
+ type UserControllerGetUserResponse = unknown;
6026
+ type UserControllerSignupUserData = {
6027
+ requestBody: SignupDto;
6028
+ };
6029
+ type UserControllerSignupUserResponse = SignupResponseDto;
6030
+ type UserControllerDeleteUserData = {
6031
+ /**
6032
+ * User ID to delete
6033
+ */
6034
+ id: string;
5645
6035
  };
5646
- type ExpectedTransactionControllerConfirmMatchResponse = unknown;
5647
- type ExpectedTransactionControllerUnmatchData = {
6036
+ type UserControllerDeleteUserResponse = void;
6037
+ type UserControllerGetUserInfoData = {
5648
6038
  /**
5649
- * Expected transaction ID
6039
+ * User ID
5650
6040
  */
5651
6041
  id: string;
6042
+ };
6043
+ type UserControllerGetUserInfoResponse = unknown;
6044
+ type UserControllerUpdateUserSettingData = {
6045
+ requestBody: UpdateUserSettingDto;
6046
+ };
6047
+ type UserControllerUpdateUserSettingResponse = unknown;
6048
+ type UserControllerGetAllUserSettingsByPageData = {
5652
6049
  /**
5653
- * Region code for tenant context
6050
+ * Page number
5654
6051
  */
5655
- region: 'cn' | 'us' | 'de' | 'gb';
5656
- };
5657
- type ExpectedTransactionControllerUnmatchResponse = unknown;
5658
- type ExpectedTransactionControllerEnterNowData = {
6052
+ pageNo: number;
5659
6053
  /**
5660
- * Expected transaction ID
6054
+ * Page size
5661
6055
  */
5662
- id: string;
6056
+ pageSize: number;
6057
+ };
6058
+ type UserControllerGetAllUserSettingsByPageResponse = unknown;
6059
+ type UserControllerGetAssetLiabilitySummaryResponse = unknown;
6060
+ type PropertyControllerGetAllResponse = unknown;
6061
+ type PropertyControllerGetByKeyData = {
5663
6062
  /**
5664
- * Region code for tenant context
6063
+ * Property key
5665
6064
  */
5666
- region: 'cn' | 'us' | 'de' | 'gb';
5667
- requestBody: EnterNowDto;
6065
+ key: string;
5668
6066
  };
5669
- type ExpectedTransactionControllerEnterNowResponse = unknown;
5670
- type ForecastControllerGetForecastData = {
6067
+ type PropertyControllerGetByKeyResponse = unknown;
6068
+ type PropertyControllerUpdateData = {
5671
6069
  /**
5672
- * Number of months to forecast (1-12, default 3)
6070
+ * Property key
5673
6071
  */
5674
- months?: number;
6072
+ key: string;
6073
+ requestBody: UpdatePropertyDto;
6074
+ };
6075
+ type PropertyControllerUpdateResponse = unknown;
6076
+ type PropertyControllerDeleteData = {
5675
6077
  /**
5676
- * Region code for tenant context
6078
+ * Property key
5677
6079
  */
5678
- region: 'cn' | 'us' | 'de' | 'gb';
6080
+ key: string;
5679
6081
  };
5680
- type ForecastControllerGetForecastResponse = ForecastResponseDto;
6082
+ type PropertyControllerDeleteResponse = void;
5681
6083
  type TransactionRuleControllerCreateData = {
5682
6084
  /**
5683
6085
  * Region code for tenant context
5684
6086
  */
5685
- region: 'cn' | 'us' | 'de' | 'gb';
6087
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5686
6088
  requestBody: CreateTransactionRuleDto;
5687
6089
  };
5688
6090
  type TransactionRuleControllerCreateResponse = TransactionRuleResponseDto;
@@ -5710,14 +6112,14 @@ type TransactionRuleControllerListData = {
5710
6112
  /**
5711
6113
  * Region code for tenant context
5712
6114
  */
5713
- region: 'cn' | 'us' | 'de' | 'gb';
6115
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5714
6116
  };
5715
6117
  type TransactionRuleControllerListResponse = TransactionRuleListResponseDto;
5716
6118
  type TransactionRuleControllerValidateData = {
5717
6119
  /**
5718
6120
  * Region code for tenant context
5719
6121
  */
5720
- region: 'cn' | 'us' | 'de' | 'gb';
6122
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5721
6123
  requestBody: ValidateRuleDto;
5722
6124
  };
5723
6125
  type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
@@ -5725,7 +6127,7 @@ type TransactionRuleControllerBulkCreateData = {
5725
6127
  /**
5726
6128
  * Region code for tenant context
5727
6129
  */
5728
- region: 'cn' | 'us' | 'de' | 'gb';
6130
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5729
6131
  requestBody: BulkCreateRulesDto;
5730
6132
  };
5731
6133
  type TransactionRuleControllerBulkCreateResponse = BulkCreateRulesResponseDto;
@@ -5737,7 +6139,7 @@ type TransactionRuleControllerExportData = {
5737
6139
  /**
5738
6140
  * Region code for tenant context
5739
6141
  */
5740
- region: 'cn' | 'us' | 'de' | 'gb';
6142
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5741
6143
  };
5742
6144
  type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
5743
6145
  type TransactionRuleControllerGetStatisticsData = {
@@ -5748,14 +6150,14 @@ type TransactionRuleControllerGetStatisticsData = {
5748
6150
  /**
5749
6151
  * Region code for tenant context
5750
6152
  */
5751
- region: 'cn' | 'us' | 'de' | 'gb';
6153
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5752
6154
  };
5753
6155
  type TransactionRuleControllerGetStatisticsResponse = RuleStatisticsResponseDto;
5754
6156
  type TransactionRuleControllerGetDetailData = {
5755
6157
  /**
5756
6158
  * Region code for tenant context
5757
6159
  */
5758
- region: 'cn' | 'us' | 'de' | 'gb';
6160
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5759
6161
  /**
5760
6162
  * Rule ID
5761
6163
  */
@@ -5766,7 +6168,7 @@ type TransactionRuleControllerUpdateData = {
5766
6168
  /**
5767
6169
  * Region code for tenant context
5768
6170
  */
5769
- region: 'cn' | 'us' | 'de' | 'gb';
6171
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5770
6172
  requestBody: UpdateTransactionRuleDto;
5771
6173
  /**
5772
6174
  * Rule ID to update
@@ -5778,7 +6180,7 @@ type TransactionRuleControllerDeleteData = {
5778
6180
  /**
5779
6181
  * Region code for tenant context
5780
6182
  */
5781
- region: 'cn' | 'us' | 'de' | 'gb';
6183
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5782
6184
  /**
5783
6185
  * Rule ID to delete
5784
6186
  */
@@ -5789,7 +6191,7 @@ type TransactionRuleControllerTestData = {
5789
6191
  /**
5790
6192
  * Region code for tenant context
5791
6193
  */
5792
- region: 'cn' | 'us' | 'de' | 'gb';
6194
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5793
6195
  requestBody: TestRuleDto;
5794
6196
  /**
5795
6197
  * Rule ID to test
@@ -5797,76 +6199,11 @@ type TransactionRuleControllerTestData = {
5797
6199
  ruleId: string;
5798
6200
  };
5799
6201
  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
6202
  type EventControllerCreateData = {
5866
6203
  /**
5867
6204
  * Region code for tenant context (decorative for life events)
5868
6205
  */
5869
- region: 'cn' | 'us' | 'de' | 'gb';
6206
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5870
6207
  requestBody: CreateBeanEventDto;
5871
6208
  };
5872
6209
  type EventControllerCreateResponse = EventResponseDto;
@@ -5890,7 +6227,7 @@ type EventControllerFindAllData = {
5890
6227
  /**
5891
6228
  * Region code for tenant context (decorative for life events)
5892
6229
  */
5893
- region: 'cn' | 'us' | 'de' | 'gb';
6230
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5894
6231
  /**
5895
6232
  * Filter life events to this date (ISO 8601 format)
5896
6233
  */
@@ -5909,7 +6246,7 @@ type EventControllerFindOneData = {
5909
6246
  /**
5910
6247
  * Region code for tenant context (decorative for life events)
5911
6248
  */
5912
- region: 'cn' | 'us' | 'de' | 'gb';
6249
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5913
6250
  };
5914
6251
  type EventControllerFindOneResponse = EventResponseDto;
5915
6252
  type EventControllerUpdateData = {
@@ -5920,7 +6257,7 @@ type EventControllerUpdateData = {
5920
6257
  /**
5921
6258
  * Region code for tenant context (decorative for life events)
5922
6259
  */
5923
- region: 'cn' | 'us' | 'de' | 'gb';
6260
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5924
6261
  requestBody: UpdateBeanEventDto;
5925
6262
  };
5926
6263
  type EventControllerUpdateResponse = EventResponseDto;
@@ -5932,7 +6269,7 @@ type EventControllerDeleteData = {
5932
6269
  /**
5933
6270
  * Region code for tenant context (decorative for life events)
5934
6271
  */
5935
- region: 'cn' | 'us' | 'de' | 'gb';
6272
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5936
6273
  };
5937
6274
  type EventControllerDeleteResponse = void;
5938
6275
  type EventControllerGetSliceData = {
@@ -5945,14 +6282,14 @@ type EventControllerGetSliceData = {
5945
6282
  /**
5946
6283
  * Region code for tenant context (decorative for life events)
5947
6284
  */
5948
- region: 'cn' | 'us' | 'de' | 'gb';
6285
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5949
6286
  };
5950
6287
  type EventControllerGetSliceResponse = unknown;
5951
6288
  type OnboardingControllerBootstrapData = {
5952
6289
  /**
5953
6290
  * Region code for tenant context
5954
6291
  */
5955
- region: 'cn' | 'us' | 'de' | 'gb';
6292
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5956
6293
  requestBody: OnboardingDto;
5957
6294
  };
5958
6295
  type OnboardingControllerBootstrapResponse = unknown;
@@ -5960,7 +6297,7 @@ type ReconciliationControllerComputeData = {
5960
6297
  /**
5961
6298
  * Region code for tenant context (decorative for reconciliation)
5962
6299
  */
5963
- region: 'cn' | 'us' | 'de' | 'gb';
6300
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5964
6301
  requestBody: ComputeReconciliationDto;
5965
6302
  };
5966
6303
  type ReconciliationControllerComputeResponse = ReconciliationComputeResultDto;
@@ -5968,7 +6305,7 @@ type ReconciliationControllerAssertData = {
5968
6305
  /**
5969
6306
  * Region code for tenant context (decorative for reconciliation)
5970
6307
  */
5971
- region: 'cn' | 'us' | 'de' | 'gb';
6308
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5972
6309
  requestBody: AssertReconciliationDto;
5973
6310
  };
5974
6311
  type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
@@ -5976,7 +6313,7 @@ type ReconciliationControllerPadData = {
5976
6313
  /**
5977
6314
  * Region code for tenant context (decorative for reconciliation)
5978
6315
  */
5979
- region: 'cn' | 'us' | 'de' | 'gb';
6316
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5980
6317
  requestBody: PadReconciliationDto;
5981
6318
  };
5982
6319
  type ReconciliationControllerPadResponse = PadResultDto;
@@ -5988,7 +6325,7 @@ type ReconciliationControllerHistoryData = {
5988
6325
  /**
5989
6326
  * Region code for tenant context (decorative for reconciliation)
5990
6327
  */
5991
- region: 'cn' | 'us' | 'de' | 'gb';
6328
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
5992
6329
  };
5993
6330
  type ReconciliationControllerHistoryResponse = Array<ReconciliationRecordDto>;
5994
6331
  type ExportControllerExportBeancountResponse = unknown;
@@ -6000,7 +6337,7 @@ type FileImportControllerImportFileData = {
6000
6337
  /**
6001
6338
  * Region code for tenant context
6002
6339
  */
6003
- region: 'cn' | 'us' | 'de' | 'gb';
6340
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6004
6341
  };
6005
6342
  type FileImportControllerImportFileResponse = ImportResultDto;
6006
6343
  type FileImportControllerIdentifyFileData = {
@@ -6011,7 +6348,7 @@ type FileImportControllerIdentifyFileData = {
6011
6348
  /**
6012
6349
  * Region code for tenant context
6013
6350
  */
6014
- region: 'cn' | 'us' | 'de' | 'gb';
6351
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6015
6352
  };
6016
6353
  type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
6017
6354
  type FileImportControllerImportBeancountData = {
@@ -6022,7 +6359,7 @@ type FileImportControllerImportBeancountData = {
6022
6359
  /**
6023
6360
  * Region code for tenant context
6024
6361
  */
6025
- region: 'cn' | 'us' | 'de' | 'gb';
6362
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6026
6363
  };
6027
6364
  type FileImportControllerImportBeancountResponse = {
6028
6365
  imported?: number;
@@ -6041,7 +6378,7 @@ type ImporterConfigControllerGetConfigData = {
6041
6378
  /**
6042
6379
  * Region code for tenant context
6043
6380
  */
6044
- region: 'cn' | 'us' | 'de' | 'gb';
6381
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6045
6382
  };
6046
6383
  type ImporterConfigControllerGetConfigResponse = ImporterConfigDto;
6047
6384
  type ImporterConfigControllerUpdateConfigData = {
@@ -6052,7 +6389,7 @@ type ImporterConfigControllerUpdateConfigData = {
6052
6389
  /**
6053
6390
  * Region code for tenant context
6054
6391
  */
6055
- region: 'cn' | 'us' | 'de' | 'gb';
6392
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6056
6393
  /**
6057
6394
  * Partial configuration update. Only provided fields will be updated.
6058
6395
  */
@@ -6067,7 +6404,7 @@ type ImporterConfigControllerResetConfigData = {
6067
6404
  /**
6068
6405
  * Region code for tenant context
6069
6406
  */
6070
- region: 'cn' | 'us' | 'de' | 'gb';
6407
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6071
6408
  };
6072
6409
  type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
6073
6410
  type ProviderSyncControllerSyncData = {
@@ -6078,7 +6415,7 @@ type ProviderSyncControllerSyncData = {
6078
6415
  /**
6079
6416
  * Region code for tenant context
6080
6417
  */
6081
- region: 'cn' | 'us' | 'de' | 'gb';
6418
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6082
6419
  requestBody: ProviderSyncDto;
6083
6420
  };
6084
6421
  type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
@@ -6086,7 +6423,7 @@ type ProviderSyncControllerGetSupportedProvidersData = {
6086
6423
  /**
6087
6424
  * Region code for tenant context
6088
6425
  */
6089
- region: 'cn' | 'us' | 'de' | 'gb';
6426
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6090
6427
  };
6091
6428
  type ProviderSyncControllerGetSupportedProvidersResponse = SupportedProvidersResponseDto;
6092
6429
  type ProviderSyncControllerIsProviderSupportedData = {
@@ -6097,14 +6434,14 @@ type ProviderSyncControllerIsProviderSupportedData = {
6097
6434
  /**
6098
6435
  * Region code for tenant context
6099
6436
  */
6100
- region: 'cn' | 'us' | 'de' | 'gb';
6437
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6101
6438
  };
6102
6439
  type ProviderSyncControllerIsProviderSupportedResponse = unknown;
6103
6440
  type ExternalAccountLinkControllerCreateData = {
6104
6441
  /**
6105
6442
  * Region code for tenant context
6106
6443
  */
6107
- region: 'cn' | 'us' | 'de' | 'gb';
6444
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6108
6445
  requestBody: CreateExternalAccountLinkDto;
6109
6446
  };
6110
6447
  type ExternalAccountLinkControllerCreateResponse = ExternalAccountLinkResponseDto;
@@ -6113,7 +6450,7 @@ type ExternalAccountLinkControllerFindAllData = {
6113
6450
  /**
6114
6451
  * Region code for tenant context
6115
6452
  */
6116
- region: 'cn' | 'us' | 'de' | 'gb';
6453
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6117
6454
  };
6118
6455
  type ExternalAccountLinkControllerFindAllResponse = ExternalAccountLinkListResponseDto;
6119
6456
  type ExternalAccountLinkControllerFindOneData = {
@@ -6121,7 +6458,7 @@ type ExternalAccountLinkControllerFindOneData = {
6121
6458
  /**
6122
6459
  * Region code for tenant context
6123
6460
  */
6124
- region: 'cn' | 'us' | 'de' | 'gb';
6461
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6125
6462
  };
6126
6463
  type ExternalAccountLinkControllerFindOneResponse = ExternalAccountLinkResponseDto;
6127
6464
  type ExternalAccountLinkControllerRemoveData = {
@@ -6129,14 +6466,14 @@ type ExternalAccountLinkControllerRemoveData = {
6129
6466
  /**
6130
6467
  * Region code for tenant context
6131
6468
  */
6132
- region: 'cn' | 'us' | 'de' | 'gb';
6469
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6133
6470
  };
6134
6471
  type ExternalAccountLinkControllerRemoveResponse = void;
6135
6472
  type TelemetryControllerReportTelemetryData = {
6136
6473
  /**
6137
6474
  * Region code for tenant context
6138
6475
  */
6139
- region: 'cn' | 'us' | 'de' | 'gb';
6476
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6140
6477
  requestBody: ParserTelemetryReportDto;
6141
6478
  };
6142
6479
  type TelemetryControllerReportTelemetryResponse = unknown;
@@ -6144,7 +6481,7 @@ type TelemetryControllerReportCoverageMissData = {
6144
6481
  /**
6145
6482
  * Region code for tenant context
6146
6483
  */
6147
- region: 'cn' | 'us' | 'de' | 'gb';
6484
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6148
6485
  requestBody: UncoveredFormatMissDto;
6149
6486
  };
6150
6487
  type TelemetryControllerReportCoverageMissResponse = unknown;
@@ -6152,7 +6489,7 @@ type TelemetryControllerGetCoverageMetricsData = {
6152
6489
  /**
6153
6490
  * Region code for tenant context
6154
6491
  */
6155
- region: 'cn' | 'us' | 'de' | 'gb';
6492
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6156
6493
  /**
6157
6494
  * Top-N uncovered formats (default 10)
6158
6495
  */
@@ -6163,7 +6500,7 @@ type NlpControllerProcessNaturalLanguageData = {
6163
6500
  /**
6164
6501
  * Region code for tenant context
6165
6502
  */
6166
- region: 'cn' | 'us' | 'de' | 'gb';
6503
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6167
6504
  /**
6168
6505
  * Natural language transaction input with optional session ID
6169
6506
  */
@@ -6174,7 +6511,7 @@ type NlpControllerClearSessionData = {
6174
6511
  /**
6175
6512
  * Region code for tenant context
6176
6513
  */
6177
- region: 'cn' | 'us' | 'de' | 'gb';
6514
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6178
6515
  /**
6179
6516
  * Specific session ID to clear (defaults to user session)
6180
6517
  */
@@ -6185,7 +6522,7 @@ type NlpControllerGetSessionData = {
6185
6522
  /**
6186
6523
  * Region code for tenant context
6187
6524
  */
6188
- region: 'cn' | 'us' | 'de' | 'gb';
6525
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6189
6526
  /**
6190
6527
  * Specific session ID to get (defaults to user session)
6191
6528
  */
@@ -6197,18 +6534,24 @@ type PlatformControllerCreateData = {
6197
6534
  requestBody: CreatePlatformDto;
6198
6535
  };
6199
6536
  type PlatformControllerCreateResponse = unknown;
6200
- type PlatformControllerGetPlatformListResponse = unknown;
6537
+ type PlatformControllerGetPlatformListData = {
6538
+ /**
6539
+ * Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
6540
+ */
6541
+ region?: string;
6542
+ };
6543
+ type PlatformControllerGetPlatformListResponse = Array<PlatformListItemDto>;
6201
6544
  type PlatformControllerMatchPlatformsData = {
6202
6545
  /**
6203
6546
  * Search query — Chinese name, English name, or abbreviation
6204
6547
  */
6205
6548
  q: string;
6206
6549
  /**
6207
- * Region code for category override lookup
6550
+ * Region code (ISO 3166-1 alpha-2) that biases within-tier ordering (local-region platforms first); also the intended categoryOverrides key. Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
6208
6551
  */
6209
6552
  region?: string;
6210
6553
  };
6211
- type PlatformControllerMatchPlatformsResponse = unknown;
6554
+ type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6212
6555
  type PlatformControllerUpdateData = {
6213
6556
  /**
6214
6557
  * Platform ID
@@ -6232,7 +6575,7 @@ type DashboardControllerGetNetWorthData = {
6232
6575
  /**
6233
6576
  * Region code for tenant context
6234
6577
  */
6235
- region: 'cn' | 'us' | 'de' | 'gb';
6578
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6236
6579
  };
6237
6580
  type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
6238
6581
  type DashboardControllerGetAccountsData = {
@@ -6251,7 +6594,7 @@ type DashboardControllerGetAccountsData = {
6251
6594
  /**
6252
6595
  * Region code for tenant context
6253
6596
  */
6254
- region: 'cn' | 'us' | 'de' | 'gb';
6597
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6255
6598
  };
6256
6599
  type DashboardControllerGetAccountsResponse = AccountsResponseDto | AssetClassAccountsResponseDto | HoldingAssetClassCrossAccountResponseDto;
6257
6600
  type DashboardControllerGetCashFlowData = {
@@ -6262,7 +6605,7 @@ type DashboardControllerGetCashFlowData = {
6262
6605
  /**
6263
6606
  * Region code for tenant context
6264
6607
  */
6265
- region: 'cn' | 'us' | 'de' | 'gb';
6608
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6266
6609
  };
6267
6610
  type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
6268
6611
  type DashboardControllerGetExpensesData = {
@@ -6281,7 +6624,7 @@ type DashboardControllerGetExpensesData = {
6281
6624
  /**
6282
6625
  * Region code for tenant context
6283
6626
  */
6284
- region: 'cn' | 'us' | 'de' | 'gb';
6627
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6285
6628
  };
6286
6629
  type DashboardControllerGetExpensesResponse = ExpensesByCategoryResponseDto;
6287
6630
  type HoldingPnlControllerGetHoldingPnlData = {
@@ -6300,63 +6643,14 @@ type HoldingPnlControllerGetHoldingPnlData = {
6300
6643
  /**
6301
6644
  * Region code for tenant context
6302
6645
  */
6303
- region: 'cn' | 'us' | 'de' | 'gb';
6646
+ region: 'ad' | 'ae' | 'af' | 'ag' | 'al' | 'am' | 'ao' | 'au' | 'br' | 'ca' | 'cn' | 'de' | 'dz' | 'es' | 'fr' | 'gb' | 'hk' | 'in' | 'it' | 'jp' | 'kr' | 'nl' | 'sg' | 'tw' | 'us';
6304
6647
  };
6305
6648
  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
6649
  type ApiKeysControllerCreateApiKeyResponse = unknown;
6356
6650
  type AuthControllerAccessTokenLoginData = {
6357
6651
  requestBody: AnonymousLoginDto;
6358
6652
  };
6359
- type AuthControllerAccessTokenLoginResponse = unknown;
6653
+ type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
6360
6654
  type CacheControllerFlushCacheResponse = unknown;
6361
6655
  type ExchangeRateControllerGetExchangeRateData = {
6362
6656
  /**
@@ -6383,6 +6677,29 @@ type HealthControllerResetCircuitBreakerData = {
6383
6677
  type HealthControllerResetCircuitBreakerResponse = unknown;
6384
6678
  type HealthControllerGetMetricsResponse = unknown;
6385
6679
  type InfoControllerGetInfoResponse = unknown;
6680
+ type SymbolControllerSearchData = {
6681
+ /**
6682
+ * Filter by OpenBB asset_type (e.g. stock, etf)
6683
+ */
6684
+ assetType?: string;
6685
+ /**
6686
+ * Filter by exchange code (e.g. US, HK, SS, SZ)
6687
+ */
6688
+ exchange?: string;
6689
+ /**
6690
+ * Maximum number of results (clamped 1..50)
6691
+ */
6692
+ limit?: number;
6693
+ /**
6694
+ * Search term — matched against symbol and instrument name. Empty string returns [].
6695
+ */
6696
+ q: string;
6697
+ };
6698
+ type SymbolControllerSearchResponse = Array<SymbolSearchResultDto>;
6699
+ type SymbolControllerGetQuoteData = {
6700
+ symbol: string;
6701
+ };
6702
+ type SymbolControllerGetQuoteResponse = SymbolQuoteDto;
6386
6703
  type $OpenApiTs = {
6387
6704
  '/api/v1/{region}/bean/accounts': {
6388
6705
  post: {
@@ -6447,7 +6764,7 @@ type $OpenApiTs = {
6447
6764
  */
6448
6765
  404: unknown;
6449
6766
  /**
6450
- * Account has transactions and cannot be deleted
6767
+ * Account has active transactions and cannot be deleted
6451
6768
  */
6452
6769
  409: unknown;
6453
6770
  };
@@ -7424,425 +7741,497 @@ type $OpenApiTs = {
7424
7741
  };
7425
7742
  '/api/v1/{region}/bean/expected-transactions/{id}/enter': {
7426
7743
  post: {
7427
- req: ExpectedTransactionControllerEnterNowData;
7744
+ req: ExpectedTransactionControllerEnterNowData;
7745
+ res: {
7746
+ /**
7747
+ * Transaction created successfully
7748
+ */
7749
+ 201: unknown;
7750
+ /**
7751
+ * Cannot enter - not in PENDING status or missing accounts
7752
+ */
7753
+ 400: unknown;
7754
+ /**
7755
+ * Expected transaction or accounts not found
7756
+ */
7757
+ 404: unknown;
7758
+ };
7759
+ };
7760
+ };
7761
+ '/api/v1/{region}/bean/recurring/forecast': {
7762
+ get: {
7763
+ req: ForecastControllerGetForecastData;
7764
+ res: {
7765
+ /**
7766
+ * Forecast retrieved successfully
7767
+ */
7768
+ 200: ForecastResponseDto;
7769
+ };
7770
+ };
7771
+ };
7772
+ '/api/v1/{region}/reporting/portfolio/trends': {
7773
+ get: {
7774
+ req: ReportingControllerGetPortfolioTrendsData;
7775
+ res: {
7776
+ /**
7777
+ * Trends retrieved successfully
7778
+ */
7779
+ 200: PortfolioTrendsResponseDto;
7780
+ /**
7781
+ * User not authenticated
7782
+ */
7783
+ 401: unknown;
7784
+ };
7785
+ };
7786
+ };
7787
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7788
+ get: {
7789
+ req: ReportingControllerGetCashFlowTrendsData;
7790
+ res: {
7791
+ /**
7792
+ * Cash-flow trends retrieved successfully
7793
+ */
7794
+ 200: CashFlowTrendsResponseDto;
7795
+ /**
7796
+ * User not authenticated
7797
+ */
7798
+ 401: unknown;
7799
+ };
7800
+ };
7801
+ };
7802
+ '/api/v1/{region}/reporting/snapshots/generate': {
7803
+ post: {
7804
+ req: ReportingControllerGenerateSnapshotData;
7805
+ res: {
7806
+ /**
7807
+ * Snapshot generated successfully
7808
+ */
7809
+ 200: GenerateSnapshotResponse;
7810
+ /**
7811
+ * Invalid date format
7812
+ */
7813
+ 400: unknown;
7814
+ /**
7815
+ * User not authenticated
7816
+ */
7817
+ 401: unknown;
7818
+ };
7819
+ };
7820
+ };
7821
+ '/api/v1/{region}/reporting/snapshots/backfill': {
7822
+ post: {
7823
+ req: ReportingControllerBackfillSnapshotsData;
7428
7824
  res: {
7429
7825
  /**
7430
- * Transaction created successfully
7826
+ * Backfill completed successfully
7431
7827
  */
7432
- 201: unknown;
7828
+ 200: BackfillSnapshotsResponse;
7433
7829
  /**
7434
- * Cannot enter - not in PENDING status or missing accounts
7830
+ * Invalid date format or range
7435
7831
  */
7436
7832
  400: unknown;
7437
7833
  /**
7438
- * Expected transaction or accounts not found
7834
+ * User not authenticated
7439
7835
  */
7440
- 404: unknown;
7441
- };
7442
- };
7443
- };
7444
- '/api/v1/{region}/bean/recurring/forecast': {
7445
- get: {
7446
- req: ForecastControllerGetForecastData;
7447
- res: {
7836
+ 401: unknown;
7448
7837
  /**
7449
- * Forecast retrieved successfully
7838
+ * Backfill already in progress for this user
7450
7839
  */
7451
- 200: ForecastResponseDto;
7840
+ 409: unknown;
7452
7841
  };
7453
7842
  };
7454
7843
  };
7455
- '/api/v1/{region}/bean/transaction-rules': {
7456
- post: {
7457
- req: TransactionRuleControllerCreateData;
7844
+ '/api/v1/users': {
7845
+ delete: {
7846
+ req: UserControllerDeleteOwnUserData;
7458
7847
  res: {
7459
7848
  /**
7460
- * Rule updated successfully (upsert mode)
7461
- */
7462
- 200: TransactionRuleResponseDto;
7463
- /**
7464
- * Validation failed
7465
- */
7466
- 400: ApiProblemResponseDto;
7467
- /**
7468
- * Unauthorized
7849
+ * User deleted successfully
7469
7850
  */
7470
- 401: ApiProblemResponseDto;
7851
+ 204: void;
7471
7852
  /**
7472
- * Resource conflict - another process is updating this rule
7853
+ * Invalid access token
7473
7854
  */
7474
- 409: ApiProblemResponseDto;
7855
+ 403: unknown;
7475
7856
  };
7476
7857
  };
7477
7858
  get: {
7478
- req: TransactionRuleControllerListData;
7859
+ req: UserControllerGetUserData;
7479
7860
  res: {
7480
7861
  /**
7481
- * List of rules
7482
- */
7483
- 200: TransactionRuleListResponseDto;
7484
- /**
7485
- * Unauthorized
7862
+ * User retrieved successfully
7486
7863
  */
7487
- 401: ApiProblemResponseDto;
7864
+ 200: unknown;
7488
7865
  };
7489
7866
  };
7490
- };
7491
- '/api/v1/{region}/bean/transaction-rules/validate': {
7492
7867
  post: {
7493
- req: TransactionRuleControllerValidateData;
7868
+ req: UserControllerSignupUserData;
7494
7869
  res: {
7495
7870
  /**
7496
- * Validation result
7871
+ * User created successfully
7497
7872
  */
7498
- 200: ValidateRuleResponseDto;
7873
+ 201: SignupResponseDto;
7499
7874
  /**
7500
- * Validation failed
7875
+ * Invalid Turnstile token (when Turnstile is enabled)
7501
7876
  */
7502
- 400: ApiProblemResponseDto;
7877
+ 400: unknown;
7503
7878
  /**
7504
- * Unauthorized
7879
+ * User signup is disabled
7505
7880
  */
7506
- 401: ApiProblemResponseDto;
7881
+ 403: unknown;
7507
7882
  };
7508
7883
  };
7509
7884
  };
7510
- '/api/v1/{region}/bean/transaction-rules/bulk': {
7511
- post: {
7512
- req: TransactionRuleControllerBulkCreateData;
7885
+ '/api/v1/users/{id}': {
7886
+ delete: {
7887
+ req: UserControllerDeleteUserData;
7513
7888
  res: {
7514
7889
  /**
7515
- * Bulk create completed
7516
- */
7517
- 201: BulkCreateRulesResponseDto;
7518
- /**
7519
- * Invalid bulk create data
7890
+ * User deleted successfully
7520
7891
  */
7521
- 400: ApiProblemResponseDto;
7892
+ 204: void;
7522
7893
  /**
7523
- * Unauthorized
7894
+ * Cannot delete own account or insufficient permissions
7524
7895
  */
7525
- 401: ApiProblemResponseDto;
7896
+ 403: unknown;
7526
7897
  };
7527
7898
  };
7528
7899
  };
7529
- '/api/v1/{region}/bean/transaction-rules/export/{format}': {
7900
+ '/api/v1/users/{id}/info': {
7530
7901
  get: {
7531
- req: TransactionRuleControllerExportData;
7902
+ req: UserControllerGetUserInfoData;
7532
7903
  res: {
7533
7904
  /**
7534
- * Exported rules
7535
- */
7536
- 200: ExportRulesResponseDto;
7537
- /**
7538
- * Unsupported format
7905
+ * User info retrieved successfully
7539
7906
  */
7540
- 400: ApiProblemResponseDto;
7907
+ 200: unknown;
7541
7908
  /**
7542
- * Unauthorized
7909
+ * Cannot access other user info without admin permission
7543
7910
  */
7544
- 401: ApiProblemResponseDto;
7911
+ 403: unknown;
7545
7912
  };
7546
7913
  };
7547
7914
  };
7548
- '/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
7549
- get: {
7550
- req: TransactionRuleControllerGetStatisticsData;
7915
+ '/api/v1/users/setting': {
7916
+ put: {
7917
+ req: UserControllerUpdateUserSettingData;
7551
7918
  res: {
7552
7919
  /**
7553
- * Rule statistics
7920
+ * Settings updated successfully
7554
7921
  */
7555
- 200: RuleStatisticsResponseDto;
7922
+ 200: unknown;
7556
7923
  /**
7557
- * Unauthorized
7924
+ * Insufficient permissions
7558
7925
  */
7559
- 401: ApiProblemResponseDto;
7926
+ 403: unknown;
7560
7927
  };
7561
7928
  };
7562
7929
  };
7563
- '/api/v1/{region}/bean/transaction-rules/{ruleId}': {
7930
+ '/api/v1/users/settings-by-page': {
7564
7931
  get: {
7565
- req: TransactionRuleControllerGetDetailData;
7932
+ req: UserControllerGetAllUserSettingsByPageData;
7566
7933
  res: {
7567
7934
  /**
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
7935
+ * Settings list retrieved successfully
7581
7936
  */
7582
- 404: ApiProblemResponseDto;
7937
+ 200: unknown;
7583
7938
  };
7584
7939
  };
7585
- put: {
7586
- req: TransactionRuleControllerUpdateData;
7940
+ };
7941
+ '/api/v1/users/asset-liability-summary': {
7942
+ get: {
7587
7943
  res: {
7588
7944
  /**
7589
- * Rule updated successfully
7945
+ * Summary retrieved successfully
7590
7946
  */
7591
- 200: TransactionRuleResponseDto;
7947
+ 200: unknown;
7948
+ };
7949
+ };
7950
+ };
7951
+ '/api/v1/admin/properties': {
7952
+ get: {
7953
+ res: {
7592
7954
  /**
7593
- * Validation failed
7955
+ * Properties retrieved successfully
7594
7956
  */
7595
- 400: ApiProblemResponseDto;
7957
+ 200: unknown;
7596
7958
  /**
7597
7959
  * Unauthorized
7598
7960
  */
7599
- 401: ApiProblemResponseDto;
7600
- /**
7601
- * Forbidden - not owner of rule
7602
- */
7603
- 403: ApiProblemResponseDto;
7604
- /**
7605
- * Rule not found
7606
- */
7607
- 404: ApiProblemResponseDto;
7961
+ 401: unknown;
7608
7962
  /**
7609
- * Resource conflict - rule is being modified by another process
7963
+ * Forbidden - insufficient permissions
7610
7964
  */
7611
- 409: ApiProblemResponseDto;
7965
+ 403: unknown;
7612
7966
  };
7613
7967
  };
7614
- delete: {
7615
- req: TransactionRuleControllerDeleteData;
7968
+ };
7969
+ '/api/v1/admin/properties/{key}': {
7970
+ get: {
7971
+ req: PropertyControllerGetByKeyData;
7616
7972
  res: {
7617
7973
  /**
7618
- * Rule deleted successfully
7974
+ * Property retrieved successfully
7619
7975
  */
7620
- 204: void;
7976
+ 200: unknown;
7621
7977
  /**
7622
7978
  * Unauthorized
7623
7979
  */
7624
- 401: ApiProblemResponseDto;
7625
- /**
7626
- * Forbidden - not owner of rule
7627
- */
7628
- 403: ApiProblemResponseDto;
7980
+ 401: unknown;
7629
7981
  /**
7630
- * Rule not found
7982
+ * Forbidden - insufficient permissions
7631
7983
  */
7632
- 404: ApiProblemResponseDto;
7984
+ 403: unknown;
7633
7985
  /**
7634
- * Resource conflict - rule is being modified by another process
7986
+ * Property not found
7635
7987
  */
7636
- 409: ApiProblemResponseDto;
7988
+ 404: unknown;
7637
7989
  };
7638
7990
  };
7639
- };
7640
- '/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
7641
- post: {
7642
- req: TransactionRuleControllerTestData;
7991
+ put: {
7992
+ req: PropertyControllerUpdateData;
7643
7993
  res: {
7644
7994
  /**
7645
- * Test result
7995
+ * Property updated successfully
7646
7996
  */
7647
- 200: TestRuleResponseDto;
7997
+ 200: unknown;
7648
7998
  /**
7649
7999
  * Unauthorized
7650
8000
  */
7651
- 401: ApiProblemResponseDto;
7652
- /**
7653
- * Forbidden - not owner of rule
7654
- */
7655
- 403: ApiProblemResponseDto;
8001
+ 401: unknown;
7656
8002
  /**
7657
- * Rule not found
8003
+ * Forbidden - insufficient permissions
7658
8004
  */
7659
- 404: ApiProblemResponseDto;
8005
+ 403: unknown;
7660
8006
  };
7661
8007
  };
7662
- };
7663
- '/api/v1/users': {
7664
8008
  delete: {
7665
- req: UserControllerDeleteOwnUserData;
8009
+ req: PropertyControllerDeleteData;
7666
8010
  res: {
7667
8011
  /**
7668
- * User deleted successfully
8012
+ * Property deleted successfully
7669
8013
  */
7670
8014
  204: void;
7671
8015
  /**
7672
- * Invalid access token
8016
+ * Unauthorized
8017
+ */
8018
+ 401: unknown;
8019
+ /**
8020
+ * Forbidden - insufficient permissions
7673
8021
  */
7674
8022
  403: unknown;
7675
- };
7676
- };
7677
- get: {
7678
- req: UserControllerGetUserData;
7679
- res: {
7680
8023
  /**
7681
- * User retrieved successfully
8024
+ * Property not found
7682
8025
  */
7683
- 200: unknown;
8026
+ 404: unknown;
7684
8027
  };
7685
8028
  };
8029
+ };
8030
+ '/api/v1/{region}/bean/transaction-rules': {
7686
8031
  post: {
7687
- req: UserControllerSignupUserData;
8032
+ req: TransactionRuleControllerCreateData;
7688
8033
  res: {
7689
8034
  /**
7690
- * User created successfully
8035
+ * Rule updated successfully (upsert mode)
7691
8036
  */
7692
- 201: unknown;
8037
+ 200: TransactionRuleResponseDto;
7693
8038
  /**
7694
- * Invalid Turnstile token (when Turnstile is enabled)
8039
+ * Validation failed
7695
8040
  */
7696
- 400: unknown;
8041
+ 400: ApiProblemResponseDto;
7697
8042
  /**
7698
- * User signup is disabled
8043
+ * Unauthorized
7699
8044
  */
7700
- 403: unknown;
8045
+ 401: ApiProblemResponseDto;
8046
+ /**
8047
+ * Resource conflict - another process is updating this rule
8048
+ */
8049
+ 409: ApiProblemResponseDto;
7701
8050
  };
7702
8051
  };
7703
- };
7704
- '/api/v1/users/{id}': {
7705
- delete: {
7706
- req: UserControllerDeleteUserData;
8052
+ get: {
8053
+ req: TransactionRuleControllerListData;
7707
8054
  res: {
7708
8055
  /**
7709
- * User deleted successfully
8056
+ * List of rules
7710
8057
  */
7711
- 204: void;
8058
+ 200: TransactionRuleListResponseDto;
7712
8059
  /**
7713
- * Cannot delete own account or insufficient permissions
8060
+ * Unauthorized
7714
8061
  */
7715
- 403: unknown;
8062
+ 401: ApiProblemResponseDto;
7716
8063
  };
7717
8064
  };
7718
8065
  };
7719
- '/api/v1/users/{id}/info': {
7720
- get: {
7721
- req: UserControllerGetUserInfoData;
8066
+ '/api/v1/{region}/bean/transaction-rules/validate': {
8067
+ post: {
8068
+ req: TransactionRuleControllerValidateData;
7722
8069
  res: {
7723
8070
  /**
7724
- * User info retrieved successfully
8071
+ * Validation result
7725
8072
  */
7726
- 200: unknown;
8073
+ 200: ValidateRuleResponseDto;
7727
8074
  /**
7728
- * Cannot access other user info without admin permission
8075
+ * Validation failed
7729
8076
  */
7730
- 403: unknown;
8077
+ 400: ApiProblemResponseDto;
8078
+ /**
8079
+ * Unauthorized
8080
+ */
8081
+ 401: ApiProblemResponseDto;
7731
8082
  };
7732
8083
  };
7733
8084
  };
7734
- '/api/v1/users/setting': {
7735
- put: {
7736
- req: UserControllerUpdateUserSettingData;
8085
+ '/api/v1/{region}/bean/transaction-rules/bulk': {
8086
+ post: {
8087
+ req: TransactionRuleControllerBulkCreateData;
7737
8088
  res: {
7738
8089
  /**
7739
- * Settings updated successfully
8090
+ * Bulk create completed
7740
8091
  */
7741
- 200: unknown;
8092
+ 201: BulkCreateRulesResponseDto;
7742
8093
  /**
7743
- * Insufficient permissions
8094
+ * Invalid bulk create data
7744
8095
  */
7745
- 403: unknown;
8096
+ 400: ApiProblemResponseDto;
8097
+ /**
8098
+ * Unauthorized
8099
+ */
8100
+ 401: ApiProblemResponseDto;
7746
8101
  };
7747
8102
  };
7748
8103
  };
7749
- '/api/v1/users/settings-by-page': {
8104
+ '/api/v1/{region}/bean/transaction-rules/export/{format}': {
7750
8105
  get: {
7751
- req: UserControllerGetAllUserSettingsByPageData;
8106
+ req: TransactionRuleControllerExportData;
7752
8107
  res: {
7753
8108
  /**
7754
- * Settings list retrieved successfully
8109
+ * Exported rules
7755
8110
  */
7756
- 200: unknown;
8111
+ 200: ExportRulesResponseDto;
8112
+ /**
8113
+ * Unsupported format
8114
+ */
8115
+ 400: ApiProblemResponseDto;
8116
+ /**
8117
+ * Unauthorized
8118
+ */
8119
+ 401: ApiProblemResponseDto;
7757
8120
  };
7758
8121
  };
7759
8122
  };
7760
- '/api/v1/users/asset-liability-summary': {
8123
+ '/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
7761
8124
  get: {
8125
+ req: TransactionRuleControllerGetStatisticsData;
7762
8126
  res: {
7763
8127
  /**
7764
- * Summary retrieved successfully
8128
+ * Rule statistics
7765
8129
  */
7766
- 200: unknown;
8130
+ 200: RuleStatisticsResponseDto;
8131
+ /**
8132
+ * Unauthorized
8133
+ */
8134
+ 401: ApiProblemResponseDto;
7767
8135
  };
7768
8136
  };
7769
8137
  };
7770
- '/api/v1/admin/properties': {
8138
+ '/api/v1/{region}/bean/transaction-rules/{ruleId}': {
7771
8139
  get: {
8140
+ req: TransactionRuleControllerGetDetailData;
7772
8141
  res: {
7773
8142
  /**
7774
- * Properties retrieved successfully
8143
+ * Rule details
7775
8144
  */
7776
- 200: unknown;
8145
+ 200: TransactionRuleResponseDto;
7777
8146
  /**
7778
8147
  * Unauthorized
7779
8148
  */
7780
- 401: unknown;
8149
+ 401: ApiProblemResponseDto;
7781
8150
  /**
7782
- * Forbidden - insufficient permissions
8151
+ * Forbidden - not owner of rule
7783
8152
  */
7784
- 403: unknown;
8153
+ 403: ApiProblemResponseDto;
8154
+ /**
8155
+ * Rule not found
8156
+ */
8157
+ 404: ApiProblemResponseDto;
7785
8158
  };
7786
8159
  };
7787
- };
7788
- '/api/v1/admin/properties/{key}': {
7789
- get: {
7790
- req: PropertyControllerGetByKeyData;
8160
+ put: {
8161
+ req: TransactionRuleControllerUpdateData;
7791
8162
  res: {
7792
8163
  /**
7793
- * Property retrieved successfully
8164
+ * Rule updated successfully
7794
8165
  */
7795
- 200: unknown;
8166
+ 200: TransactionRuleResponseDto;
8167
+ /**
8168
+ * Validation failed
8169
+ */
8170
+ 400: ApiProblemResponseDto;
7796
8171
  /**
7797
8172
  * Unauthorized
7798
8173
  */
7799
- 401: unknown;
8174
+ 401: ApiProblemResponseDto;
7800
8175
  /**
7801
- * Forbidden - insufficient permissions
8176
+ * Forbidden - not owner of rule
7802
8177
  */
7803
- 403: unknown;
8178
+ 403: ApiProblemResponseDto;
7804
8179
  /**
7805
- * Property not found
8180
+ * Rule not found
7806
8181
  */
7807
- 404: unknown;
8182
+ 404: ApiProblemResponseDto;
8183
+ /**
8184
+ * Resource conflict - rule is being modified by another process
8185
+ */
8186
+ 409: ApiProblemResponseDto;
7808
8187
  };
7809
8188
  };
7810
- put: {
7811
- req: PropertyControllerUpdateData;
8189
+ delete: {
8190
+ req: TransactionRuleControllerDeleteData;
7812
8191
  res: {
7813
8192
  /**
7814
- * Property updated successfully
8193
+ * Rule deleted successfully
7815
8194
  */
7816
- 200: unknown;
8195
+ 204: void;
7817
8196
  /**
7818
8197
  * Unauthorized
7819
8198
  */
7820
- 401: unknown;
8199
+ 401: ApiProblemResponseDto;
7821
8200
  /**
7822
- * Forbidden - insufficient permissions
8201
+ * Forbidden - not owner of rule
7823
8202
  */
7824
- 403: unknown;
8203
+ 403: ApiProblemResponseDto;
8204
+ /**
8205
+ * Rule not found
8206
+ */
8207
+ 404: ApiProblemResponseDto;
8208
+ /**
8209
+ * Resource conflict - rule is being modified by another process
8210
+ */
8211
+ 409: ApiProblemResponseDto;
7825
8212
  };
7826
8213
  };
7827
- delete: {
7828
- req: PropertyControllerDeleteData;
8214
+ };
8215
+ '/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
8216
+ post: {
8217
+ req: TransactionRuleControllerTestData;
7829
8218
  res: {
7830
8219
  /**
7831
- * Property deleted successfully
8220
+ * Test result
7832
8221
  */
7833
- 204: void;
8222
+ 200: TestRuleResponseDto;
7834
8223
  /**
7835
8224
  * Unauthorized
7836
8225
  */
7837
- 401: unknown;
8226
+ 401: ApiProblemResponseDto;
7838
8227
  /**
7839
- * Forbidden - insufficient permissions
8228
+ * Forbidden - not owner of rule
7840
8229
  */
7841
- 403: unknown;
8230
+ 403: ApiProblemResponseDto;
7842
8231
  /**
7843
- * Property not found
8232
+ * Rule not found
7844
8233
  */
7845
- 404: unknown;
8234
+ 404: ApiProblemResponseDto;
7846
8235
  };
7847
8236
  };
7848
8237
  };
@@ -8385,11 +8774,12 @@ type $OpenApiTs = {
8385
8774
  };
8386
8775
  '/api/v1/bean/platforms/list': {
8387
8776
  get: {
8777
+ req: PlatformControllerGetPlatformListData;
8388
8778
  res: {
8389
8779
  /**
8390
8780
  * List of platforms with user binding status
8391
8781
  */
8392
- 200: unknown;
8782
+ 200: Array<PlatformListItemDto>;
8393
8783
  };
8394
8784
  };
8395
8785
  };
@@ -8398,9 +8788,9 @@ type $OpenApiTs = {
8398
8788
  req: PlatformControllerMatchPlatformsData;
8399
8789
  res: {
8400
8790
  /**
8401
- * List of matching platforms with suggested segment names
8791
+ * Matching platforms with overall match type and truncation flag
8402
8792
  */
8403
- 200: unknown;
8793
+ 200: PlatformMatchResponseDto;
8404
8794
  };
8405
8795
  };
8406
8796
  };
@@ -8519,78 +8909,6 @@ type $OpenApiTs = {
8519
8909
  };
8520
8910
  };
8521
8911
  };
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
8912
  '/api/v1/auth/api-keys': {
8595
8913
  post: {
8596
8914
  res: {
@@ -8612,7 +8930,7 @@ type $OpenApiTs = {
8612
8930
  /**
8613
8931
  * Login successful
8614
8932
  */
8615
- 200: unknown;
8933
+ 200: AnonymousLoginResponseDto;
8616
8934
  /**
8617
8935
  * Invalid access token
8618
8936
  */
@@ -8759,6 +9077,32 @@ type $OpenApiTs = {
8759
9077
  };
8760
9078
  };
8761
9079
  };
9080
+ '/api/v1/market/symbols/search': {
9081
+ get: {
9082
+ req: SymbolControllerSearchData;
9083
+ res: {
9084
+ /**
9085
+ * Ranked search results
9086
+ */
9087
+ 200: Array<SymbolSearchResultDto>;
9088
+ };
9089
+ };
9090
+ };
9091
+ '/api/v1/market/symbols/{symbol}/quote': {
9092
+ get: {
9093
+ req: SymbolControllerGetQuoteData;
9094
+ res: {
9095
+ /**
9096
+ * Symbol quote
9097
+ */
9098
+ 200: SymbolQuoteDto;
9099
+ /**
9100
+ * Symbol not found in the openbb catalog
9101
+ */
9102
+ 404: unknown;
9103
+ };
9104
+ };
9105
+ };
8762
9106
  };
8763
9107
 
8764
9108
  declare class BeanAccountsService {
@@ -8810,7 +9154,7 @@ declare class BeanAccountsService {
8810
9154
  static accountControllerUpdate(data: AccountControllerUpdateData): CancelablePromise<AccountControllerUpdateResponse>;
8811
9155
  /**
8812
9156
  * Delete account
8813
- * Deletes an account (only if no transactions)
9157
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
8814
9158
  * @param data The data for the request.
8815
9159
  * @param data.id Account UUID
8816
9160
  * @param data.region Region code for tenant context
@@ -9182,4 +9526,4 @@ type OpenAPIConfig = {
9182
9526
  };
9183
9527
  declare const OpenAPI: OpenAPIConfig;
9184
9528
 
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 };
9529
+ export { type $OpenApiTs, type AccountControllerAddOpeningBalanceData, type AccountControllerAddOpeningBalanceResponse, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsData, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplateMetadataData, type AccountStandardsControllerGetTemplateMetadataResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type ActualBalanceDto, type AmountDto, type AmountRangeDto, type AnonymousLoginDto, type AnonymousLoginResponseDto, type ApiKeysControllerCreateApiKeyResponse, type ApiProblemResponseDto, type AssertReconciliationDto, type AssetClassAccountsResponseDto, type AssetClassGroupDto, type AssetClassSummaryDto, type AuthControllerAccessTokenLoginData, type AuthControllerAccessTokenLoginResponse, type BackfillSnapshotsBody, type BackfillSnapshotsResponse, type BalanceByCurrencyDto, type BalanceControllerGetBalanceData, type BalanceControllerGetBalanceResponse, type BalanceControllerGetMultiCurrencyBalanceData, type BalanceControllerGetMultiCurrencyBalanceResponse, type BalanceResponseDto, type BatchCreateTransactionDto, type BatchResolveDto, type BatchResolveResultDto, type BatchTransactionErrorDto, type BatchTransactionResponseDto, BeanAccountsService, BeanBalancesService, BeanCommoditiesService, BeanTransactionsService, type BulkCreateRulesDto, type BulkCreateRulesResponseDto, type CacheControllerFlushCacheResponse, type CashFlowByCurrencyDto, type CashFlowPointDto, type CashFlowResponseDto, type CashFlowTrendSummaryDto, type CashFlowTrendsResponseDto, type CategoryGroupDto, type CloseAccountDto, type CommodityControllerBulkCreateData, type CommodityControllerBulkCreateResponse, type CommodityControllerCreateData, type CommodityControllerCreateResponse, type CommodityControllerDeleteData, type CommodityControllerDeleteResponse, type CommodityControllerFindAllData, type CommodityControllerFindAllResponse, type CommodityControllerFindOneData, type CommodityControllerFindOneResponse, type CommodityControllerGetOrCreateData, type CommodityControllerGetOrCreateResponse, type CommodityControllerUpdateData, type CommodityControllerUpdateResponse, type CommodityListResponseDto, type CommodityResponseDto, type ComputeReconciliationDto, type ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CostDetailDto, type CostSpecDto, type CreateAccountDto, type CreateBeanEventDto, type CreateBeanPriceDto, type CreateCommodityDto, type CreateExternalAccountLinkDto, type CreateOpeningBalanceDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type CurrentPriceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetExpensesData, type DashboardControllerGetExpensesResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, type EventControllerCreateData, type EventControllerCreateResponse, type EventControllerDeleteData, type EventControllerDeleteResponse, type EventControllerFindAllData, type EventControllerFindAllResponse, type EventControllerFindOneData, type EventControllerFindOneResponse, type EventControllerGetSliceData, type EventControllerGetSliceResponse, type EventControllerUpdateData, type EventControllerUpdateResponse, type EventListResponseDto, type EventResponseDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionControllerConfirmMatchData, type ExpectedTransactionControllerConfirmMatchResponse, type ExpectedTransactionControllerEnterNowData, type ExpectedTransactionControllerEnterNowResponse, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerSkipData, type ExpectedTransactionControllerSkipResponse, type ExpectedTransactionControllerUndoSkipData, type ExpectedTransactionControllerUndoSkipResponse, type ExpectedTransactionControllerUnmatchData, type ExpectedTransactionControllerUnmatchResponse, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExpensesByCategoryResponseDto, type ExpensesByCategorySummaryDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type ExternalAccountLinkControllerCreateData, type ExternalAccountLinkControllerCreateResponse, type ExternalAccountLinkControllerFindAllData, type ExternalAccountLinkControllerFindAllResponse, type ExternalAccountLinkControllerFindOneData, type ExternalAccountLinkControllerFindOneResponse, type ExternalAccountLinkControllerRemoveData, type ExternalAccountLinkControllerRemoveResponse, type ExternalAccountLinkListResponseDto, type ExternalAccountLinkResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, type OnboardingAccountDto, type OnboardingControllerBootstrapData, type OnboardingControllerBootstrapResponse, type OnboardingDto, OpenAPI, type OpenAPIConfig, type OpeningBalanceResultDto, type PadReconciliationDto, type PadResultDto, type ParserTelemetryReportDto, type PayeeAutocompleteResponseDto, type PayeeControllerAutocompleteData, type PayeeControllerAutocompleteResponse, type PayeeControllerCreateData, type PayeeControllerCreateResponse, type PayeeControllerDeleteData, type PayeeControllerDeleteResponse, type PayeeControllerFindAllData, type PayeeControllerFindAllResponse, type PayeeControllerFindOneData, type PayeeControllerFindOneResponse, type PayeeControllerGetTopPayeesData, type PayeeControllerGetTopPayeesResponse, type PayeeControllerUpdateData, type PayeeControllerUpdateResponse, type PayeeListResponseDto, type PayeeProfileAdminControllerCreateData, type PayeeProfileAdminControllerCreateResponse, type PayeeProfileAdminControllerDeleteData, type PayeeProfileAdminControllerDeleteResponse, type PayeeProfileAdminControllerFindAllData, type PayeeProfileAdminControllerFindAllResponse, type PayeeProfileAdminControllerFindOneData, type PayeeProfileAdminControllerFindOneResponse, type PayeeProfileAdminControllerUnverifyData, type PayeeProfileAdminControllerUnverifyResponse, type PayeeProfileAdminControllerUpdateData, type PayeeProfileAdminControllerUpdateResponse, type PayeeProfileAdminControllerVerifyData, type PayeeProfileAdminControllerVerifyResponse, type PayeeProfileListResponseDto, type PayeeProfileResponseDto, type PayeeResponseDto, type PayeeStatsResponseDto, type PlatformControllerCreateData, type PlatformControllerCreateResponse, type PlatformControllerDeleteData, type PlatformControllerDeleteResponse, type PlatformControllerFindAllResponse, type PlatformControllerGetPlatformListData, type PlatformControllerGetPlatformListResponse, type PlatformControllerMatchPlatformsData, type PlatformControllerMatchPlatformsResponse, type PlatformControllerUpdateData, type PlatformControllerUpdateResponse, type PlatformGroupDto, type PlatformListItemDto, type PlatformMatchResponseDto, type PlatformMatchResultDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type PriceControllerBulkCreateData, type PriceControllerBulkCreateResponse, type PriceControllerCreateData, type PriceControllerCreateResponse, type PriceControllerDeleteData, type PriceControllerDeleteResponse, type PriceControllerFindAllData, type PriceControllerFindAllResponse, type PriceControllerFindOneData, type PriceControllerFindOneResponse, type PriceControllerUpdateData, type PriceControllerUpdateResponse, type PriceListResponseDto, type PriceResponseDto, type ProcessNlpDto, type PropertyControllerDeleteData, type PropertyControllerDeleteResponse, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerUpdateData, type PropertyControllerUpdateResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersData, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type ReconciliationComputeResultDto, type ReconciliationControllerAssertData, type ReconciliationControllerAssertResponse, type ReconciliationControllerComputeData, type ReconciliationControllerComputeResponse, type ReconciliationControllerHistoryData, type ReconciliationControllerHistoryResponse, type ReconciliationControllerPadData, type ReconciliationControllerPadResponse, type ReconciliationRecordDto, type RecurringMatchInfoDto, type RecurringRuleControllerCreateData, type RecurringRuleControllerCreateFromTransactionData, type RecurringRuleControllerCreateFromTransactionResponse, type RecurringRuleControllerCreateResponse, type RecurringRuleControllerDeleteData, type RecurringRuleControllerDeleteResponse, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerUpdateData, type RecurringRuleControllerUpdateResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetCashFlowTrendsData, type ReportingControllerGetCashFlowTrendsResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ResolveResultDto, type ResolveReviewDto, type ReviewControllerBatchResolveData, type ReviewControllerBatchResolveResponse, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResolveData, type ReviewControllerResolveResponse, type ReviewControllerUndoData, type ReviewControllerUndoResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type SignupResponseDto, type SupportedProvidersResponseDto, type SymbolControllerGetQuoteData, type SymbolControllerGetQuoteResponse, type SymbolControllerSearchData, type SymbolControllerSearchResponse, type SymbolQuoteDto, type SymbolSearchResultDto, type TagSuggestionDto, type TagSuggestionsResponseDto, type TelemetryControllerGetCoverageMetricsData, type TelemetryControllerGetCoverageMetricsResponse, type TelemetryControllerReportCoverageMissData, type TelemetryControllerReportCoverageMissResponse, type TelemetryControllerReportTelemetryData, type TelemetryControllerReportTelemetryResponse, type TemplateMetadataDto, type TemplateMetadataResponseDto, type TestRuleDto, type TestRuleResponseDto, type TimeSeriesPointDto, type TransactionControllerCorrectData, type TransactionControllerCorrectResponse, type TransactionControllerCreateBatchData, type TransactionControllerCreateBatchResponse, type TransactionControllerCreateData, type TransactionControllerCreateResponse, type TransactionControllerDeleteData, type TransactionControllerDeleteResponse, type TransactionControllerGetDetailData, type TransactionControllerGetDetailResponse, type TransactionControllerListData, type TransactionControllerListResponse, type TransactionControllerSuggestTagsData, type TransactionControllerSuggestTagsResponse, type TransactionControllerUpdateData, type TransactionControllerUpdateResponse, type TransactionDetailDto, type TransactionListResponseDto, type TransactionListSummaryDto, type TransactionResponseDto, type TransactionRuleControllerBulkCreateData, type TransactionRuleControllerBulkCreateResponse, type TransactionRuleControllerCreateData, type TransactionRuleControllerCreateResponse, type TransactionRuleControllerDeleteData, type TransactionRuleControllerDeleteResponse, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerUpdateData, type TransactionRuleControllerUpdateResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UncoveredFormatMissDto, type UndoResultDto, type UpdateAccountDto, type UpdateBeanEventDto, type UpdateBeanPriceDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type action2, type assetClass, type assetSubClass, type assetSubType, type bookingMethod, type branchType, type category, type chartToken, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type matchType, type matchType2, type method, type mode, type paymentSource, type period, type productCategory, type provider, type role, type source, type source2, type source3, type status, type status2, type status3, type status4, type suggestedAction, type suggestedFrequency, type type, type type2, type type3, type type4, type value, type viewMode };