@firela/api-types 0.0.0-canary.411600e0 → 0.0.0-canary.505aa62c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -27,13 +27,9 @@ type CreateAccountDto = {
27
27
  */
28
28
  path: string;
29
29
  /**
30
- * Display name to distinguish accounts at the same path (default: "")
30
+ * Account open date (server defaults to today)
31
31
  */
32
- displayName?: string;
33
- /**
34
- * Account open date
35
- */
36
- openDate: string;
32
+ openDate?: string;
37
33
  /**
38
34
  * Allowed currencies (null = no restriction)
39
35
  */
@@ -50,18 +46,14 @@ type CreateAccountDto = {
50
46
  * Whether this is a custom (user-created) account
51
47
  */
52
48
  isCustom?: boolean;
53
- /**
54
- * i18n key for display name (overrides template)
55
- */
56
- i18nKey?: string;
57
49
  /**
58
50
  * Icon identifier (overrides template)
59
51
  */
60
52
  icon?: string;
61
53
  /**
62
- * Additional metadata
54
+ * Open directive metadata (NOT an opening-balance amount — use the opening-balance endpoint)
63
55
  */
64
- openMeta?: {
56
+ openDirectiveMeta?: {
65
57
  [key: string]: unknown;
66
58
  };
67
59
  /**
@@ -82,10 +74,6 @@ type AccountResponseDto = {
82
74
  * Account path (hierarchical, colon-separated)
83
75
  */
84
76
  path: string;
85
- /**
86
- * Display name distinguishing multiple accounts at the same path
87
- */
88
- displayName: string;
89
77
  /**
90
78
  * Account type (root segment)
91
79
  */
@@ -119,17 +107,17 @@ type AccountResponseDto = {
119
107
  */
120
108
  isCustom: boolean;
121
109
  /**
122
- * i18n key for display name
110
+ * Localized display name (ADR-0114, read-time projection)
123
111
  */
124
- i18nKey?: string;
112
+ displayName?: string;
125
113
  /**
126
114
  * Icon identifier
127
115
  */
128
116
  icon?: string;
129
117
  /**
130
- * Account metadata
118
+ * Open directive metadata (ADR-0115 Decision 9)
131
119
  */
132
- openMeta?: {
120
+ openDirectiveMeta?: {
133
121
  [key: string]: unknown;
134
122
  };
135
123
  /**
@@ -172,10 +160,6 @@ type AccountListResponseDto = {
172
160
  total: number;
173
161
  };
174
162
  type UpdateAccountDto = {
175
- /**
176
- * Display name to distinguish accounts at the same path
177
- */
178
- displayName?: string;
179
163
  /**
180
164
  * Allowed currencies (null = no restriction)
181
165
  */
@@ -184,18 +168,14 @@ type UpdateAccountDto = {
184
168
  * Booking method for cost basis
185
169
  */
186
170
  bookingMethod?: 'FIFO' | 'LIFO' | 'HIFO' | 'AVERAGE' | 'STRICT' | 'STRICT_WITH_SIZE' | 'NONE';
187
- /**
188
- * i18n key for display name
189
- */
190
- i18nKey?: string;
191
171
  /**
192
172
  * Icon identifier
193
173
  */
194
174
  icon?: string;
195
175
  /**
196
- * Additional metadata (merged with existing)
176
+ * Open directive metadata (merged with existing; NOT an opening-balance amount)
197
177
  */
198
- openMeta?: {
178
+ openDirectiveMeta?: {
199
179
  [key: string]: unknown;
200
180
  };
201
181
  /**
@@ -221,6 +201,26 @@ type ReopenAccountDto = {
221
201
  */
222
202
  reopenDate?: string;
223
203
  };
204
+ type CreateOpeningBalanceDto = {
205
+ /**
206
+ * Opening balance amount (non-negative)
207
+ */
208
+ amount: number;
209
+ /**
210
+ * Currency code
211
+ */
212
+ currency: string;
213
+ /**
214
+ * Opening-balance date (defaults to now)
215
+ */
216
+ date?: string;
217
+ };
218
+ type OpeningBalanceResultDto = {
219
+ /**
220
+ * Created opening-balance transaction id.
221
+ */
222
+ transactionId: string;
223
+ };
224
224
  type AccountStandardResponseDto = {
225
225
  /**
226
226
  * Account path (hierarchical, colon-separated)
@@ -230,10 +230,6 @@ type AccountStandardResponseDto = {
230
230
  * Account type in Beancount hierarchy
231
231
  */
232
232
  type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
233
- /**
234
- * i18n key for localized display name
235
- */
236
- i18nKey: string;
237
233
  /**
238
234
  * Short localized display name
239
235
  */
@@ -266,10 +262,6 @@ type AccountStandardListResponseDto = {
266
262
  region: string;
267
263
  };
268
264
  type TemplateMetadataDto = {
269
- /**
270
- * Whether this path can be extended
271
- */
272
- extendable: boolean;
273
265
  /**
274
266
  * Root account type
275
267
  */
@@ -779,6 +771,48 @@ type flag2 = 'CLEARED' | 'PENDING' | 'PADDING' | 'SUMMARIZE' | 'TRANSFER' | 'CON
779
771
  * Transaction status
780
772
  */
781
773
  type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
774
+ type BalanceByCurrencyDto = {
775
+ /**
776
+ * ISO 4217 currency code
777
+ */
778
+ currency: string;
779
+ /**
780
+ * Balance amount
781
+ */
782
+ balance: string;
783
+ };
784
+ type ExchangeRateWarningDto = {
785
+ /**
786
+ * Warning type
787
+ */
788
+ type: string;
789
+ /**
790
+ * Currency without exchange rate
791
+ */
792
+ currency: string;
793
+ /**
794
+ * Total amount affected
795
+ */
796
+ totalAmount: string;
797
+ };
798
+ type TransactionListSummaryDto = {
799
+ /**
800
+ * Partial converted total in base currency (rated currencies only, raw Beancount sign). When warnings is non-empty this excludes currencies missing an FX rate; may be "0.00" if ALL non-base currencies lack a rate. Converted at the dateTo (or current) available rate.
801
+ */
802
+ totalAmount: string;
803
+ /**
804
+ * Base currency (ISO 4217)
805
+ */
806
+ currency: string;
807
+ /**
808
+ * Raw (unconverted) balance per currency
809
+ */
810
+ balanceByCurrency: Array<BalanceByCurrencyDto>;
811
+ /**
812
+ * Currencies missing an FX rate (omitted when empty)
813
+ */
814
+ warnings?: Array<ExchangeRateWarningDto>;
815
+ };
782
816
  type TransactionListResponseDto = {
783
817
  /**
784
818
  * List of transactions
@@ -796,6 +830,10 @@ type TransactionListResponseDto = {
796
830
  * Number of items skipped
797
831
  */
798
832
  offset: number;
833
+ /**
834
+ * Amount summary for the full filtered set (#514). Present only when the request has a single account OR category viewpoint; omitted for search-only / plain-list / dual-perspective requests.
835
+ */
836
+ summary?: TransactionListSummaryDto;
799
837
  };
800
838
  type TagSuggestionDto = {
801
839
  /**
@@ -1642,6 +1680,104 @@ type UpdateCommodityDto = {
1642
1680
  [key: string]: unknown;
1643
1681
  };
1644
1682
  };
1683
+ type CreateBeanPriceDto = {
1684
+ /**
1685
+ * Currency being priced (e.g., USD, AAPL, BTC)
1686
+ */
1687
+ currency: string;
1688
+ /**
1689
+ * Quote currency (pricing currency, e.g., CNY, EUR)
1690
+ */
1691
+ quoteCurrency: string;
1692
+ /**
1693
+ * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
1694
+ */
1695
+ amount: number;
1696
+ /**
1697
+ * Price date (ISO 8601 format)
1698
+ */
1699
+ date: string;
1700
+ /**
1701
+ * Metadata (validated by Zod schema, max field lengths enforced)
1702
+ */
1703
+ metadata?: {
1704
+ [key: string]: unknown;
1705
+ };
1706
+ };
1707
+ type PriceResponseDto = {
1708
+ /**
1709
+ * Unique identifier
1710
+ */
1711
+ id: string;
1712
+ /**
1713
+ * User ID (owner of the price)
1714
+ */
1715
+ userId: string;
1716
+ /**
1717
+ * Currency being priced (e.g., USD, AAPL, BTC)
1718
+ */
1719
+ currency: string;
1720
+ /**
1721
+ * Quote currency (pricing currency, e.g., USD, CNY)
1722
+ */
1723
+ quoteCurrency: string;
1724
+ /**
1725
+ * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
1726
+ */
1727
+ amount: number;
1728
+ /**
1729
+ * Price date (ISO 8601 format). Represents the date this price was valid.
1730
+ */
1731
+ date: string;
1732
+ /**
1733
+ * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
1734
+ */
1735
+ meta: {
1736
+ [key: string]: unknown;
1737
+ };
1738
+ /**
1739
+ * Creation timestamp
1740
+ */
1741
+ createdAt: string;
1742
+ /**
1743
+ * Last update timestamp
1744
+ */
1745
+ updatedAt: string;
1746
+ };
1747
+ type PriceListResponseDto = {
1748
+ /**
1749
+ * List of prices
1750
+ */
1751
+ items: Array<PriceResponseDto>;
1752
+ /**
1753
+ * Total number of prices
1754
+ */
1755
+ total: number;
1756
+ };
1757
+ type UpdateBeanPriceDto = {
1758
+ /**
1759
+ * Currency being priced
1760
+ */
1761
+ currency?: string;
1762
+ /**
1763
+ * Quote currency (pricing currency)
1764
+ */
1765
+ quoteCurrency?: string;
1766
+ /**
1767
+ * Price amount (MUST be >= 0 per Beancount spec)
1768
+ */
1769
+ amount?: number;
1770
+ /**
1771
+ * Price date (ISO 8601 format)
1772
+ */
1773
+ date?: string;
1774
+ /**
1775
+ * Metadata
1776
+ */
1777
+ metadata?: {
1778
+ [key: string]: unknown;
1779
+ };
1780
+ };
1645
1781
  type CreateRecurringRuleDto = {
1646
1782
  /**
1647
1783
  * Rule name (unique per user)
@@ -2689,103 +2825,333 @@ type UpdatePropertyDto = {
2689
2825
  */
2690
2826
  value: string;
2691
2827
  };
2692
- type FileImportDto = {
2693
- /**
2694
- * Bill file to import (CSV, PDF, OFX, etc.)
2695
- */
2696
- file: Blob | File;
2697
- };
2698
- type ImportErrorDto = {
2828
+ type CreateBeanEventDto = {
2699
2829
  /**
2700
- * Index of failed transaction in the file
2830
+ * Life event date (ISO 8601)
2701
2831
  */
2702
- index: number;
2832
+ date: string;
2703
2833
  /**
2704
- * Error message
2834
+ * Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
2705
2835
  */
2706
- error: string;
2707
- };
2708
- type ReviewItemPreviewDto = {
2836
+ type: string;
2709
2837
  /**
2710
- * Index in the import batch (for tracking)
2838
+ * Life event description. Empty string is a VALID value (distinct from absence).
2711
2839
  */
2712
- index: number;
2840
+ description: string;
2713
2841
  /**
2714
- * Transaction date (ISO format)
2842
+ * Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
2715
2843
  */
2716
- date: string;
2844
+ meta?: {
2845
+ [key: string]: unknown;
2846
+ };
2847
+ };
2848
+ type EventResponseDto = {
2717
2849
  /**
2718
- * Transaction amount (absolute value)
2850
+ * Unique identifier
2719
2851
  */
2720
- amount?: number;
2852
+ id: string;
2721
2853
  /**
2722
- * Currency code
2854
+ * User ID (owner of the life event)
2723
2855
  */
2724
- currency?: string;
2856
+ userId: string;
2725
2857
  /**
2726
- * Transaction narration/description
2858
+ * Life event date (ISO 8601 format)
2727
2859
  */
2728
- narration: string;
2860
+ date: string;
2729
2861
  /**
2730
- * Payee name
2862
+ * Life event type (user-defined, e.g., "employer", "location")
2731
2863
  */
2732
- payee?: string;
2864
+ type: string;
2733
2865
  /**
2734
- * Inferred category from rule matching
2866
+ * Life event description. May be an empty string (a valid value distinct from absence).
2735
2867
  */
2736
- category?: string;
2868
+ description: string;
2737
2869
  /**
2738
- * Confidence score for the match (0-1)
2870
+ * Product-side metadata (free-form JSON)
2739
2871
  */
2740
- confidence?: number;
2872
+ meta: {
2873
+ [key: string]: unknown;
2874
+ };
2741
2875
  /**
2742
- * Type of branch requiring review
2876
+ * Creation timestamp
2743
2877
  */
2744
- branchType?: 'DUPLICATE' | 'PAYEE_MATCH' | 'RULE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
2878
+ createdAt: string;
2745
2879
  /**
2746
- * Human-readable reasons for requiring review
2880
+ * Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
2747
2881
  */
2748
- reasons?: Array<string>;
2882
+ updatedAt: string;
2749
2883
  };
2750
- /**
2751
- * Type of branch requiring review
2752
- */
2753
- type branchType = 'DUPLICATE' | 'PAYEE_MATCH' | 'RULE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
2754
- type ImportResultDto = {
2755
- /**
2756
- * Number of successfully imported transactions
2757
- */
2758
- imported: number;
2884
+ type EventListResponseDto = {
2759
2885
  /**
2760
- * Number of failed transactions
2886
+ * List of life events
2761
2887
  */
2762
- failed: number;
2888
+ items: Array<EventResponseDto>;
2763
2889
  /**
2764
- * Number of skipped transactions (high confidence duplicates, auto-skipped)
2890
+ * Total number of life events matching the query
2765
2891
  */
2766
- skipped: number;
2892
+ total: number;
2893
+ };
2894
+ type UpdateBeanEventDto = {
2767
2895
  /**
2768
- * Number of transactions pending review (medium confidence duplicates)
2896
+ * Life event date (ISO 8601)
2769
2897
  */
2770
- pendingReview: number;
2898
+ date?: string;
2771
2899
  /**
2772
- * Array of error details for failed transactions
2900
+ * Life event type (user-defined)
2773
2901
  */
2774
- errors: Array<ImportErrorDto>;
2902
+ type?: string;
2775
2903
  /**
2776
- * Array of transactions pending review with preview data. Contains essential information for displaying in the import preview UI.
2904
+ * Life event description. Empty string is a VALID value (distinct from absence).
2777
2905
  */
2778
- reviewItems?: Array<ReviewItemPreviewDto>;
2906
+ description?: string;
2779
2907
  /**
2780
- * Array of imported transactions (optional, for debugging)
2908
+ * Product-side metadata (free-form JSON)
2781
2909
  */
2782
- transactions?: {
2910
+ meta?: {
2783
2911
  [key: string]: unknown;
2784
2912
  };
2785
2913
  };
2786
- type IdentifyResultDto = {
2914
+ type OnboardingAccountDto = {
2787
2915
  /**
2788
- * Whether the file was successfully identified
2916
+ * Account path (Assets/Liabilities only; format validated by the account service)
2917
+ */
2918
+ path: string;
2919
+ /**
2920
+ * ISO 4217 currency code (3 letters)
2921
+ */
2922
+ currency: string;
2923
+ /**
2924
+ * Opening balance as a non-negative Decimal string (e.g. "1000.00")
2925
+ */
2926
+ openingBalance?: string;
2927
+ /**
2928
+ * Platform ID to bind the account to (references Platform.id); omit for unbound
2929
+ */
2930
+ platformId?: string;
2931
+ };
2932
+ type OnboardingDto = {
2933
+ /**
2934
+ * Asset/Liability accounts to register with opening balances
2935
+ */
2936
+ accounts?: Array<OnboardingAccountDto>;
2937
+ /**
2938
+ * Skip asset registration; only bootstrap the core account set
2939
+ */
2940
+ skipAssetRegistration?: boolean;
2941
+ };
2942
+ type ActualBalanceDto = {
2943
+ /**
2944
+ * Actual balance amount as a decimal string (preserves precision for tolerance inference).
2945
+ */
2946
+ amount: string;
2947
+ /**
2948
+ * Currency code (ISO 4217 or commodity ticker).
2949
+ */
2950
+ ccy: string;
2951
+ };
2952
+ type ComputeReconciliationDto = {
2953
+ /**
2954
+ * BeanAccount id to reconcile.
2955
+ */
2956
+ accountId: string;
2957
+ /**
2958
+ * Assertion date (ISO 8601, e.g. "2026-07-24").
2959
+ */
2960
+ asOfDate: string;
2961
+ /**
2962
+ * Actual balance from the external statement.
2963
+ */
2964
+ actualBalance: ActualBalanceDto;
2965
+ };
2966
+ type ReconciliationComputeResultDto = {
2967
+ accountId: string;
2968
+ asOfDate: string;
2969
+ /**
2970
+ * System-computed book balance (decimal string).
2971
+ */
2972
+ bookBalance: string;
2973
+ /**
2974
+ * User-entered actual balance (decimal string).
2975
+ */
2976
+ actualBalance: string;
2977
+ currency: string;
2978
+ /**
2979
+ * Diff = book − actual (decimal string).
2980
+ */
2981
+ diff: string;
2982
+ /**
2983
+ * Applied tolerance (decimal string).
2984
+ */
2985
+ tolerance: string;
2986
+ /**
2987
+ * true when |diff| ≤ tolerance.
2988
+ */
2989
+ withinTolerance: boolean;
2990
+ /**
2991
+ * Suggested next action: assert when within tolerance, pad otherwise.
2992
+ */
2993
+ suggestedAction: 'assert' | 'pad';
2994
+ };
2995
+ /**
2996
+ * Suggested next action: assert when within tolerance, pad otherwise.
2997
+ */
2998
+ type suggestedAction = 'assert' | 'pad';
2999
+ type AssertReconciliationDto = {
3000
+ /**
3001
+ * BeanAccount id to reconcile.
3002
+ */
3003
+ accountId: string;
3004
+ /**
3005
+ * Assertion date (ISO 8601, e.g. "2026-07-24").
3006
+ */
3007
+ asOfDate: string;
3008
+ /**
3009
+ * Actual balance from the external statement.
3010
+ */
3011
+ actualBalance: ActualBalanceDto;
3012
+ /**
3013
+ * Optional explicit tolerance override. Omit to infer from amount precision (Beancount default).
3014
+ */
3015
+ tolerance?: string;
3016
+ };
3017
+ type ReconciliationRecordDto = {
3018
+ id: string;
3019
+ accountId: string;
3020
+ date: string;
3021
+ /**
3022
+ * Asserted (actual) amount.
3023
+ */
3024
+ amount: string;
3025
+ currency: string;
3026
+ tolerance?: string;
3027
+ /**
3028
+ * book − actual.
3029
+ */
3030
+ diffAmount?: string;
3031
+ diffCurrency?: string;
3032
+ createdAt: string;
3033
+ };
3034
+ type PadReconciliationDto = {
3035
+ /**
3036
+ * BeanAccount id to reconcile.
3037
+ */
3038
+ accountId: string;
3039
+ /**
3040
+ * Assertion date (ISO 8601, e.g. "2026-07-24").
3041
+ */
3042
+ asOfDate: string;
3043
+ /**
3044
+ * Actual balance from the external statement.
3045
+ */
3046
+ actualBalance: ActualBalanceDto;
3047
+ /**
3048
+ * Pad source account. Defaults to Equity:Opening-Balances (official Beancount convention).
3049
+ */
3050
+ sourceAccount?: string;
3051
+ };
3052
+ type PadResultDto = {
3053
+ /**
3054
+ * Created pad adjusting transaction id.
3055
+ */
3056
+ transactionId: string;
3057
+ };
3058
+ type FileImportDto = {
3059
+ /**
3060
+ * Bill file to import (CSV, PDF, OFX, etc.)
3061
+ */
3062
+ file: Blob | File;
3063
+ };
3064
+ type ImportErrorDto = {
3065
+ /**
3066
+ * Index of failed transaction in the file
3067
+ */
3068
+ index: number;
3069
+ /**
3070
+ * Error message
3071
+ */
3072
+ error: string;
3073
+ };
3074
+ type ReviewItemPreviewDto = {
3075
+ /**
3076
+ * Index in the import batch (for tracking)
3077
+ */
3078
+ index: number;
3079
+ /**
3080
+ * Transaction date (ISO format)
3081
+ */
3082
+ date: string;
3083
+ /**
3084
+ * Transaction amount (absolute value)
3085
+ */
3086
+ amount?: number;
3087
+ /**
3088
+ * Currency code
3089
+ */
3090
+ currency?: string;
3091
+ /**
3092
+ * Transaction narration/description
3093
+ */
3094
+ narration: string;
3095
+ /**
3096
+ * Payee name
3097
+ */
3098
+ payee?: string;
3099
+ /**
3100
+ * Inferred category from rule matching
3101
+ */
3102
+ category?: string;
3103
+ /**
3104
+ * Confidence score for the match (0-1)
3105
+ */
3106
+ confidence?: number;
3107
+ /**
3108
+ * Type of branch requiring review
3109
+ */
3110
+ branchType?: 'DUPLICATE' | 'PAYEE_MATCH' | 'RULE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
3111
+ /**
3112
+ * Human-readable reasons for requiring review
3113
+ */
3114
+ reasons?: Array<string>;
3115
+ };
3116
+ /**
3117
+ * Type of branch requiring review
3118
+ */
3119
+ type branchType = 'DUPLICATE' | 'PAYEE_MATCH' | 'RULE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
3120
+ type ImportResultDto = {
3121
+ /**
3122
+ * Number of successfully imported transactions
3123
+ */
3124
+ imported: number;
3125
+ /**
3126
+ * Number of failed transactions
3127
+ */
3128
+ failed: number;
3129
+ /**
3130
+ * Number of skipped transactions (high confidence duplicates, auto-skipped)
3131
+ */
3132
+ skipped: number;
3133
+ /**
3134
+ * Number of transactions pending review (medium confidence duplicates)
3135
+ */
3136
+ pendingReview: number;
3137
+ /**
3138
+ * Array of error details for failed transactions
3139
+ */
3140
+ errors: Array<ImportErrorDto>;
3141
+ /**
3142
+ * Array of transactions pending review with preview data. Contains essential information for displaying in the import preview UI.
3143
+ */
3144
+ reviewItems?: Array<ReviewItemPreviewDto>;
3145
+ /**
3146
+ * Array of imported transactions (optional, for debugging)
3147
+ */
3148
+ transactions?: {
3149
+ [key: string]: unknown;
3150
+ };
3151
+ };
3152
+ type IdentifyResultDto = {
3153
+ /**
3154
+ * Whether the file was successfully identified
2789
3155
  */
2790
3156
  identified: boolean;
2791
3157
  /**
@@ -2933,70 +3299,6 @@ type UpdateImporterConfigDto = {
2933
3299
  */
2934
3300
  data?: UpdateConfigDataDto;
2935
3301
  };
2936
- type CreatePlatformDto = {
2937
- /**
2938
- * Platform name
2939
- */
2940
- name: string;
2941
- /**
2942
- * Platform canonical identifier (lowercase, kebab-case)
2943
- */
2944
- canonical: string;
2945
- /**
2946
- * Platform aliases (multi-language names for lookup)
2947
- */
2948
- aliases: Array<string>;
2949
- /**
2950
- * Platform URL
2951
- */
2952
- url: string;
2953
- /**
2954
- * Platform type
2955
- */
2956
- type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
2957
- /**
2958
- * Platform logo URL
2959
- */
2960
- logoUrl?: string;
2961
- /**
2962
- * Whether the platform is active
2963
- */
2964
- isActive?: boolean;
2965
- };
2966
- /**
2967
- * Platform type
2968
- */
2969
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
2970
- type UpdatePlatformDto = {
2971
- /**
2972
- * Platform name
2973
- */
2974
- name?: string;
2975
- /**
2976
- * Platform canonical identifier (lowercase, kebab-case)
2977
- */
2978
- canonical?: string;
2979
- /**
2980
- * Platform aliases (multi-language names for lookup)
2981
- */
2982
- aliases?: Array<string>;
2983
- /**
2984
- * Platform URL
2985
- */
2986
- url?: string;
2987
- /**
2988
- * Platform type
2989
- */
2990
- type?: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
2991
- /**
2992
- * Platform logo URL
2993
- */
2994
- logoUrl?: string;
2995
- /**
2996
- * Whether the platform is active
2997
- */
2998
- isActive?: boolean;
2999
- };
3000
3302
  type ProviderSyncConfigDto = {
3001
3303
  /**
3002
3304
  * Source account for the first posting
@@ -3018,6 +3320,10 @@ type ProviderSyncConfigDto = {
3018
3320
  * Filter pending transactions
3019
3321
  */
3020
3322
  filterPending?: boolean;
3323
+ /**
3324
+ * External account ID for per-batch providers (e.g. GoCardless). Overrides sourceAccount when an ExternalAccountLink mapping exists.
3325
+ */
3326
+ externalAccountId?: string;
3021
3327
  };
3022
3328
  type ProviderSyncDto = {
3023
3329
  /**
@@ -3069,6 +3375,41 @@ type SupportedProvidersResponseDto = {
3069
3375
  */
3070
3376
  providers: Array<string>;
3071
3377
  };
3378
+ type CreateExternalAccountLinkDto = {
3379
+ /**
3380
+ * Open Banking provider (whitelist)
3381
+ */
3382
+ provider: 'plaid' | 'teller' | 'truelayer' | 'gocardless' | 'simplefin' | 'yodlee' | 'beancount-direct' | 'parsed-bill';
3383
+ /**
3384
+ * External account ID from the provider
3385
+ */
3386
+ externalAccountId: string;
3387
+ /**
3388
+ * Target BeanAccount ID (must belong to the JWT user)
3389
+ */
3390
+ beanAccountId: string;
3391
+ };
3392
+ /**
3393
+ * Open Banking provider (whitelist)
3394
+ */
3395
+ type provider = 'plaid' | 'teller' | 'truelayer' | 'gocardless' | 'simplefin' | 'yodlee' | 'beancount-direct' | 'parsed-bill';
3396
+ type ExternalAccountLinkResponseDto = {
3397
+ id: string;
3398
+ provider: string;
3399
+ externalAccountId: string;
3400
+ beanAccountId: string;
3401
+ isActive: boolean;
3402
+ createdAt: string;
3403
+ updatedAt: string;
3404
+ };
3405
+ type ExternalAccountLinkListResponseDto = {
3406
+ items: Array<ExternalAccountLinkResponseDto>;
3407
+ total: number;
3408
+ /**
3409
+ * Filter by provider (query param)
3410
+ */
3411
+ provider?: string;
3412
+ };
3072
3413
  type ParserTelemetryReportDto = unknown;
3073
3414
  type UncoveredFormatMissDto = unknown;
3074
3415
  type ProcessNlpDto = {
@@ -3566,53 +3907,107 @@ type NlpResponseDto = {
3566
3907
  /**
3567
3908
  * Recurring transaction match info (when action is "created"). Contains match details when transaction matches a pending expected transaction.
3568
3909
  */
3569
- recurringMatch?: RecurringMatchInfoDto;
3910
+ recurringMatch?: RecurringMatchInfoDto;
3911
+ /**
3912
+ * Recurring rule creation suggestion (when action is "created"). Contains suggestion to create a recurring rule based on detected patterns. Only present when no existing rule matched and similar historical transactions were found.
3913
+ */
3914
+ recurringSuggestion?: RecurringSuggestionDto;
3915
+ /**
3916
+ * Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
3917
+ */
3918
+ suggestedAccounts?: NlpSuggestedAccountsDto;
3919
+ /**
3920
+ * Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
3921
+ */
3922
+ defaultAccounts?: NlpDefaultAccountsDto;
3923
+ };
3924
+ /**
3925
+ * Response status
3926
+ */
3927
+ type status4 = 'success' | 'pending' | 'error';
3928
+ /**
3929
+ * Action taken or requested
3930
+ */
3931
+ type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
3932
+ /**
3933
+ * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3934
+ */
3935
+ type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
3936
+ /**
3937
+ * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
3938
+ */
3939
+ type assetSubType = 'transfer' | 'banking' | 'investment';
3940
+ /**
3941
+ * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
3942
+ */
3943
+ type liabilitySubType = 'borrow' | 'repay';
3944
+ /**
3945
+ * Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
3946
+ */
3947
+ type equitySubType = 'opening' | 'adjustment';
3948
+ type CreatePlatformDto = {
3949
+ /**
3950
+ * Platform name
3951
+ */
3952
+ name: string;
3953
+ /**
3954
+ * Platform canonical identifier (lowercase, kebab-case)
3955
+ */
3956
+ canonical: string;
3957
+ /**
3958
+ * Platform aliases (multi-language names for lookup)
3959
+ */
3960
+ aliases: Array<string>;
3961
+ /**
3962
+ * Platform URL
3963
+ */
3964
+ url: string;
3965
+ /**
3966
+ * Platform type
3967
+ */
3968
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3969
+ /**
3970
+ * Platform logo URL
3971
+ */
3972
+ logoUrl?: string;
3973
+ /**
3974
+ * Whether the platform is active
3975
+ */
3976
+ isActive?: boolean;
3977
+ };
3978
+ /**
3979
+ * Platform type
3980
+ */
3981
+ type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3982
+ type UpdatePlatformDto = {
3983
+ /**
3984
+ * Platform name
3985
+ */
3986
+ name?: string;
3987
+ /**
3988
+ * Platform canonical identifier (lowercase, kebab-case)
3989
+ */
3990
+ canonical?: string;
3570
3991
  /**
3571
- * Recurring rule creation suggestion (when action is "created"). Contains suggestion to create a recurring rule based on detected patterns. Only present when no existing rule matched and similar historical transactions were found.
3992
+ * Platform aliases (multi-language names for lookup)
3572
3993
  */
3573
- recurringSuggestion?: RecurringSuggestionDto;
3994
+ aliases?: Array<string>;
3574
3995
  /**
3575
- * Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
3996
+ * Platform URL
3576
3997
  */
3577
- suggestedAccounts?: NlpSuggestedAccountsDto;
3998
+ url?: string;
3578
3999
  /**
3579
- * Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
4000
+ * Platform type
3580
4001
  */
3581
- defaultAccounts?: NlpDefaultAccountsDto;
3582
- };
3583
- /**
3584
- * Response status
3585
- */
3586
- type status4 = 'success' | 'pending' | 'error';
3587
- /**
3588
- * Action taken or requested
3589
- */
3590
- type action2 = 'created' | 'ask' | 'confirm' | 'confirm_duplicate' | 'confirm_rule' | 'confirm_account' | 'confirm_payee' | 'cancel';
3591
- /**
3592
- * Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
3593
- */
3594
- type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
3595
- /**
3596
- * Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
3597
- */
3598
- type assetSubType = 'transfer' | 'banking' | 'investment';
3599
- /**
3600
- * Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
3601
- */
3602
- type liabilitySubType = 'borrow' | 'repay';
3603
- /**
3604
- * Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
3605
- */
3606
- type equitySubType = 'opening' | 'adjustment';
3607
- type BalanceByCurrencyDto = {
4002
+ type?: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3608
4003
  /**
3609
- * ISO 4217 currency code
4004
+ * Platform logo URL
3610
4005
  */
3611
- currency: string;
4006
+ logoUrl?: string;
3612
4007
  /**
3613
- * Balance amount
4008
+ * Whether the platform is active
3614
4009
  */
3615
- balance: string;
4010
+ isActive?: boolean;
3616
4011
  };
3617
4012
  type NetWorthByCurrencyDto = {
3618
4013
  /**
@@ -3652,20 +4047,6 @@ type ConvertedNetWorthDto = {
3652
4047
  [key: string]: unknown;
3653
4048
  };
3654
4049
  };
3655
- type ExchangeRateWarningDto = {
3656
- /**
3657
- * Warning type
3658
- */
3659
- type: string;
3660
- /**
3661
- * Currency without exchange rate
3662
- */
3663
- currency: string;
3664
- /**
3665
- * Total amount affected
3666
- */
3667
- totalAmount: string;
3668
- };
3669
4050
  type NetWorthResponseDto = {
3670
4051
  /**
3671
4052
  * Total net worth (assets - liabilities, converted to base currency)
@@ -3729,6 +4110,10 @@ type AccountItemDto = {
3729
4110
  * Currency code
3730
4111
  */
3731
4112
  currency: string;
4113
+ /**
4114
+ * FX-converted balance in base currency; omitted when not convertible
4115
+ */
4116
+ convertedBalance?: string;
3732
4117
  };
3733
4118
  type PlatformGroupDto = {
3734
4119
  /**
@@ -3744,9 +4129,39 @@ type PlatformGroupDto = {
3744
4129
  */
3745
4130
  accounts: Array<AccountItemDto>;
3746
4131
  /**
3747
- * Total balance across all accounts in platform
4132
+ * FX-converted total balance in base currency
3748
4133
  */
3749
4134
  totalBalance: string;
4135
+ /**
4136
+ * Raw (unconverted) balances grouped by currency
4137
+ */
4138
+ balanceByCurrency: Array<BalanceByCurrencyDto>;
4139
+ /**
4140
+ * Converted balance in base currency (omitted when no currency is convertible)
4141
+ */
4142
+ convertedBalance?: string;
4143
+ /**
4144
+ * Share of the grand converted total (0-100); 0 when grand total is 0
4145
+ */
4146
+ sharePct: number;
4147
+ };
4148
+ type AccountExchangeRateWarningDto = {
4149
+ /**
4150
+ * Warning type
4151
+ */
4152
+ type: string;
4153
+ /**
4154
+ * Currency without exchange rate
4155
+ */
4156
+ currency: string;
4157
+ /**
4158
+ * Affected account paths
4159
+ */
4160
+ accounts: Array<string>;
4161
+ /**
4162
+ * Total amount in this currency
4163
+ */
4164
+ totalAmount: string;
3750
4165
  };
3751
4166
  type AccountsSummaryDto = {
3752
4167
  /**
@@ -3757,6 +4172,14 @@ type AccountsSummaryDto = {
3757
4172
  * Total number of platforms
3758
4173
  */
3759
4174
  totalPlatforms: number;
4175
+ /**
4176
+ * Base currency for conversion
4177
+ */
4178
+ baseCurrency: string;
4179
+ /**
4180
+ * Per-account exchange rate warnings
4181
+ */
4182
+ warnings?: Array<AccountExchangeRateWarningDto>;
3760
4183
  };
3761
4184
  type AccountsResponseDto = {
3762
4185
  /**
@@ -3789,6 +4212,10 @@ type AccountItemWithAssetClassDto = {
3789
4212
  * Currency code
3790
4213
  */
3791
4214
  currency: string;
4215
+ /**
4216
+ * FX-converted balance in base currency; omitted when not convertible
4217
+ */
4218
+ convertedBalance?: string;
3792
4219
  /**
3793
4220
  * Asset class
3794
4221
  */
@@ -3840,24 +4267,6 @@ type AssetClassGroupDto = {
3840
4267
  * Asset class name
3841
4268
  */
3842
4269
  type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
3843
- type AccountExchangeRateWarningDto = {
3844
- /**
3845
- * Warning type
3846
- */
3847
- type: string;
3848
- /**
3849
- * Currency without exchange rate
3850
- */
3851
- currency: string;
3852
- /**
3853
- * Affected account paths
3854
- */
3855
- accounts: Array<string>;
3856
- /**
3857
- * Total amount in this currency
3858
- */
3859
- totalAmount: string;
3860
- };
3861
4270
  type AssetClassSummaryDto = {
3862
4271
  /**
3863
4272
  * Total number of accounts
@@ -4016,6 +4425,60 @@ type CashFlowResponseDto = {
4016
4425
  */
4017
4426
  warnings?: Array<ExchangeRateWarningDto>;
4018
4427
  };
4428
+ type CategoryGroupDto = {
4429
+ /**
4430
+ * Functional category (account-path Group segment); regional and universal account paths merge under it
4431
+ */
4432
+ category: string;
4433
+ /**
4434
+ * Converted total for this category in base currency (expense amount when flow=expense, income amount when flow=income)
4435
+ */
4436
+ totalExpense: string;
4437
+ /**
4438
+ * Share of grand total (0-100); 0 when grand total is 0
4439
+ */
4440
+ sharePct: number;
4441
+ /**
4442
+ * Raw (unconverted) expense per currency
4443
+ */
4444
+ balanceByCurrency: Array<BalanceByCurrencyDto>;
4445
+ /**
4446
+ * Converted total in base currency (omitted when FX missing for all currencies in this category)
4447
+ */
4448
+ convertedBalance?: string;
4449
+ };
4450
+ type ExpensesByCategorySummaryDto = {
4451
+ /**
4452
+ * Total across all categories, converted (convertible categories only); expense totals when flow=expense, income totals when flow=income
4453
+ */
4454
+ totalExpense: string;
4455
+ /**
4456
+ * Number of categories
4457
+ */
4458
+ categoryCount: number;
4459
+ };
4460
+ type ExpensesByCategoryResponseDto = {
4461
+ /**
4462
+ * Period requested
4463
+ */
4464
+ period: string;
4465
+ /**
4466
+ * Base currency for converted values
4467
+ */
4468
+ baseCurrency: string;
4469
+ /**
4470
+ * Expense groups by functional category, sorted by converted total desc
4471
+ */
4472
+ groups: Array<CategoryGroupDto>;
4473
+ /**
4474
+ * Summary statistics
4475
+ */
4476
+ summary: ExpensesByCategorySummaryDto;
4477
+ /**
4478
+ * Exchange rate warnings (e.g. missing rate for a currency)
4479
+ */
4480
+ warnings?: Array<ExchangeRateWarningDto>;
4481
+ };
4019
4482
  type MonetaryDto = {
4020
4483
  /**
4021
4484
  * Amount (Decimal string)
@@ -4184,107 +4647,9 @@ type HoldingPnlResponseDto = {
4184
4647
  warnings: Array<HoldingPnlWarningDto>;
4185
4648
  };
4186
4649
  /**
4187
- * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4188
- */
4189
- type method = 'average' | 'FIFO';
4190
- type CreateBeanPriceDto = {
4191
- /**
4192
- * Currency being priced (e.g., USD, AAPL, BTC)
4193
- */
4194
- currency: string;
4195
- /**
4196
- * Quote currency (pricing currency, e.g., CNY, EUR)
4197
- */
4198
- quoteCurrency: string;
4199
- /**
4200
- * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
4201
- */
4202
- amount: number;
4203
- /**
4204
- * Price date (ISO 8601 format)
4205
- */
4206
- date: string;
4207
- /**
4208
- * Metadata (validated by Zod schema, max field lengths enforced)
4209
- */
4210
- metadata?: {
4211
- [key: string]: unknown;
4212
- };
4213
- };
4214
- type PriceResponseDto = {
4215
- /**
4216
- * Unique identifier
4217
- */
4218
- id: string;
4219
- /**
4220
- * User ID (owner of the price)
4221
- */
4222
- userId: string;
4223
- /**
4224
- * Currency being priced (e.g., USD, AAPL, BTC)
4225
- */
4226
- currency: string;
4227
- /**
4228
- * Quote currency (pricing currency, e.g., USD, CNY)
4229
- */
4230
- quoteCurrency: string;
4231
- /**
4232
- * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
4233
- */
4234
- amount: number;
4235
- /**
4236
- * Price date (ISO 8601 format). Represents the date this price was valid.
4237
- */
4238
- date: string;
4239
- /**
4240
- * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
4241
- */
4242
- meta: {
4243
- [key: string]: unknown;
4244
- };
4245
- /**
4246
- * Creation timestamp
4247
- */
4248
- createdAt: string;
4249
- /**
4250
- * Last update timestamp
4251
- */
4252
- updatedAt: string;
4253
- };
4254
- type PriceListResponseDto = {
4255
- /**
4256
- * List of prices
4257
- */
4258
- items: Array<PriceResponseDto>;
4259
- /**
4260
- * Total number of prices
4261
- */
4262
- total: number;
4263
- };
4264
- type UpdateBeanPriceDto = {
4265
- /**
4266
- * Currency being priced
4267
- */
4268
- currency?: string;
4269
- /**
4270
- * Quote currency (pricing currency)
4271
- */
4272
- quoteCurrency?: string;
4273
- /**
4274
- * Price amount (MUST be >= 0 per Beancount spec)
4275
- */
4276
- amount?: number;
4277
- /**
4278
- * Price date (ISO 8601 format)
4279
- */
4280
- date?: string;
4281
- /**
4282
- * Metadata
4283
- */
4284
- metadata?: {
4285
- [key: string]: unknown;
4286
- };
4287
- };
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';
4288
4653
  type CurrencyBalanceDto = {
4289
4654
  /**
4290
4655
  * ISO 4217 currency code
@@ -4310,6 +4675,14 @@ type TimeSeriesPointDto = {
4310
4675
  change?: {
4311
4676
  [key: string]: unknown;
4312
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;
4313
4686
  /**
4314
4687
  * Multi-currency breakdown for this point
4315
4688
  */
@@ -4373,6 +4746,68 @@ type PortfolioTrendsResponseDto = {
4373
4746
  */
4374
4747
  warnings?: Array<ExchangeRateWarningDto>;
4375
4748
  };
4749
+ type CashFlowPointDto = {
4750
+ /**
4751
+ * Month key (YYYY-MM)
4752
+ */
4753
+ month: string;
4754
+ /**
4755
+ * Income in base currency (absolute, converted)
4756
+ */
4757
+ income: string;
4758
+ /**
4759
+ * Expense in base currency (absolute, converted)
4760
+ */
4761
+ expense: string;
4762
+ /**
4763
+ * netSavings = income − expense (savings positive)
4764
+ */
4765
+ netSavings: string;
4766
+ };
4767
+ type CashFlowTrendSummaryDto = {
4768
+ /**
4769
+ * Total income across the period
4770
+ */
4771
+ totalIncome: string;
4772
+ /**
4773
+ * Total expense across the period
4774
+ */
4775
+ totalExpense: string;
4776
+ /**
4777
+ * income − expense across the period
4778
+ */
4779
+ totalNetSavings: string;
4780
+ /**
4781
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
4782
+ */
4783
+ averageMonthlyNetSavings: string;
4784
+ };
4785
+ type CashFlowTrendsResponseDto = {
4786
+ /**
4787
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
4788
+ */
4789
+ series: Array<CashFlowPointDto>;
4790
+ /**
4791
+ * Period totals
4792
+ */
4793
+ summary: CashFlowTrendSummaryDto;
4794
+ /**
4795
+ * Period requested
4796
+ */
4797
+ period: string;
4798
+ /**
4799
+ * Data granularity (v1 returns month buckets)
4800
+ */
4801
+ granularity: string;
4802
+ /**
4803
+ * Base currency for converted values
4804
+ */
4805
+ currency: string;
4806
+ /**
4807
+ * Exchange rate warnings (e.g. missing rate for a currency)
4808
+ */
4809
+ warnings?: Array<ExchangeRateWarningDto>;
4810
+ };
4376
4811
  type GenerateSnapshotBody = unknown;
4377
4812
  type GenerateSnapshotResponse = unknown;
4378
4813
  type BackfillSnapshotsBody = unknown;
@@ -4409,7 +4844,7 @@ type AccountControllerFindAllData = {
4409
4844
  */
4410
4845
  region: 'cn' | 'us' | 'de' | 'gb';
4411
4846
  /**
4412
- * Search term for path or i18nKey
4847
+ * Search term for account path
4413
4848
  */
4414
4849
  search?: string;
4415
4850
  /**
@@ -4480,6 +4915,18 @@ type AccountControllerReopenData = {
4480
4915
  requestBody: ReopenAccountDto;
4481
4916
  };
4482
4917
  type AccountControllerReopenResponse = AccountResponseDto;
4918
+ type AccountControllerAddOpeningBalanceData = {
4919
+ /**
4920
+ * Account UUID
4921
+ */
4922
+ id: string;
4923
+ /**
4924
+ * Region code for tenant context
4925
+ */
4926
+ region: 'cn' | 'us' | 'de' | 'gb';
4927
+ requestBody: CreateOpeningBalanceDto;
4928
+ };
4929
+ type AccountControllerAddOpeningBalanceResponse = OpeningBalanceResultDto;
4483
4930
  type AccountStandardsControllerGetTemplatesData = {
4484
4931
  /**
4485
4932
  * Region code (cn, us, de)
@@ -4529,6 +4976,10 @@ type TransactionControllerListData = {
4529
4976
  * Filter by account ID (transactions with postings to this account)
4530
4977
  */
4531
4978
  accountId?: string;
4979
+ /**
4980
+ * Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
4981
+ */
4982
+ category?: string;
4532
4983
  /**
4533
4984
  * Filter by start date (inclusive), format: YYYY-MM-DD
4534
4985
  */
@@ -4637,7 +5088,7 @@ type TransactionControllerDeleteData = {
4637
5088
  type TransactionControllerDeleteResponse = void;
4638
5089
  type BalanceControllerGetBalanceData = {
4639
5090
  /**
4640
- * Account name (e.g., "Assets:Bank:Checking")
5091
+ * Account name (e.g., "Assets:Checking")
4641
5092
  */
4642
5093
  account: string;
4643
5094
  /**
@@ -4949,6 +5400,91 @@ type CommodityControllerBulkCreateData = {
4949
5400
  region: 'cn' | 'us' | 'de' | 'gb';
4950
5401
  };
4951
5402
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
5403
+ type PriceControllerCreateData = {
5404
+ /**
5405
+ * Region code for tenant context
5406
+ */
5407
+ region: 'cn' | 'us' | 'de' | 'gb';
5408
+ requestBody: CreateBeanPriceDto;
5409
+ };
5410
+ type PriceControllerCreateResponse = PriceResponseDto;
5411
+ type PriceControllerFindAllData = {
5412
+ /**
5413
+ * Filter by currency (e.g., BTC, AAPL, USD)
5414
+ */
5415
+ currency?: string;
5416
+ /**
5417
+ * Filter prices from this date (ISO 8601 format)
5418
+ */
5419
+ dateFrom?: string;
5420
+ /**
5421
+ * Filter prices to this date (ISO 8601 format)
5422
+ */
5423
+ dateTo?: string;
5424
+ /**
5425
+ * Number of items per page (default: 20, max: 100)
5426
+ */
5427
+ limit?: number;
5428
+ /**
5429
+ * Page number for pagination (default: 1)
5430
+ */
5431
+ page?: number;
5432
+ /**
5433
+ * Filter by quote currency (pricing currency, e.g., USD, CNY)
5434
+ */
5435
+ quoteCurrency?: string;
5436
+ /**
5437
+ * Region code for tenant context
5438
+ */
5439
+ region: 'cn' | 'us' | 'de' | 'gb';
5440
+ /**
5441
+ * Search term for currency or quoteCurrency (case-insensitive partial match)
5442
+ */
5443
+ search?: string;
5444
+ };
5445
+ type PriceControllerFindAllResponse = PriceListResponseDto;
5446
+ type PriceControllerFindOneData = {
5447
+ /**
5448
+ * Price ID
5449
+ */
5450
+ id: string;
5451
+ /**
5452
+ * Region code for tenant context
5453
+ */
5454
+ region: 'cn' | 'us' | 'de' | 'gb';
5455
+ };
5456
+ type PriceControllerFindOneResponse = PriceResponseDto;
5457
+ type PriceControllerUpdateData = {
5458
+ /**
5459
+ * Price ID
5460
+ */
5461
+ id: string;
5462
+ /**
5463
+ * Region code for tenant context
5464
+ */
5465
+ region: 'cn' | 'us' | 'de' | 'gb';
5466
+ requestBody: UpdateBeanPriceDto;
5467
+ };
5468
+ type PriceControllerUpdateResponse = PriceResponseDto;
5469
+ type PriceControllerDeleteData = {
5470
+ /**
5471
+ * Price ID
5472
+ */
5473
+ id: string;
5474
+ /**
5475
+ * Region code for tenant context
5476
+ */
5477
+ region: 'cn' | 'us' | 'de' | 'gb';
5478
+ };
5479
+ type PriceControllerDeleteResponse = void;
5480
+ type PriceControllerBulkCreateData = {
5481
+ /**
5482
+ * Region code for tenant context
5483
+ */
5484
+ region: 'cn' | 'us' | 'de' | 'gb';
5485
+ requestBody: Array<string>;
5486
+ };
5487
+ type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
4952
5488
  type RecurringRuleControllerCreateData = {
4953
5489
  /**
4954
5490
  * Region code for tenant context
@@ -5326,6 +5862,135 @@ type PropertyControllerDeleteData = {
5326
5862
  key: string;
5327
5863
  };
5328
5864
  type PropertyControllerDeleteResponse = void;
5865
+ type EventControllerCreateData = {
5866
+ /**
5867
+ * Region code for tenant context (decorative for life events)
5868
+ */
5869
+ region: 'cn' | 'us' | 'de' | 'gb';
5870
+ requestBody: CreateBeanEventDto;
5871
+ };
5872
+ type EventControllerCreateResponse = EventResponseDto;
5873
+ type EventControllerFindAllData = {
5874
+ /**
5875
+ * Filter life events from this date (ISO 8601 format)
5876
+ */
5877
+ from?: string;
5878
+ /**
5879
+ * Number of items per page (default: 20, max: 100)
5880
+ */
5881
+ limit?: number;
5882
+ /**
5883
+ * Page number for pagination (default: 1)
5884
+ */
5885
+ page?: number;
5886
+ /**
5887
+ * Search term for description (case-insensitive partial match)
5888
+ */
5889
+ q?: string;
5890
+ /**
5891
+ * Region code for tenant context (decorative for life events)
5892
+ */
5893
+ region: 'cn' | 'us' | 'de' | 'gb';
5894
+ /**
5895
+ * Filter life events to this date (ISO 8601 format)
5896
+ */
5897
+ to?: string;
5898
+ /**
5899
+ * Filter by life event type (exact match)
5900
+ */
5901
+ type?: string;
5902
+ };
5903
+ type EventControllerFindAllResponse = EventListResponseDto;
5904
+ type EventControllerFindOneData = {
5905
+ /**
5906
+ * Life event ID
5907
+ */
5908
+ id: string;
5909
+ /**
5910
+ * Region code for tenant context (decorative for life events)
5911
+ */
5912
+ region: 'cn' | 'us' | 'de' | 'gb';
5913
+ };
5914
+ type EventControllerFindOneResponse = EventResponseDto;
5915
+ type EventControllerUpdateData = {
5916
+ /**
5917
+ * Life event ID
5918
+ */
5919
+ id: string;
5920
+ /**
5921
+ * Region code for tenant context (decorative for life events)
5922
+ */
5923
+ region: 'cn' | 'us' | 'de' | 'gb';
5924
+ requestBody: UpdateBeanEventDto;
5925
+ };
5926
+ type EventControllerUpdateResponse = EventResponseDto;
5927
+ type EventControllerDeleteData = {
5928
+ /**
5929
+ * Life event ID
5930
+ */
5931
+ id: string;
5932
+ /**
5933
+ * Region code for tenant context (decorative for life events)
5934
+ */
5935
+ region: 'cn' | 'us' | 'de' | 'gb';
5936
+ };
5937
+ type EventControllerDeleteResponse = void;
5938
+ type EventControllerGetSliceData = {
5939
+ accountPattern: string;
5940
+ granularity: string;
5941
+ /**
5942
+ * Life event ID
5943
+ */
5944
+ id: string;
5945
+ /**
5946
+ * Region code for tenant context (decorative for life events)
5947
+ */
5948
+ region: 'cn' | 'us' | 'de' | 'gb';
5949
+ };
5950
+ type EventControllerGetSliceResponse = unknown;
5951
+ type OnboardingControllerBootstrapData = {
5952
+ /**
5953
+ * Region code for tenant context
5954
+ */
5955
+ region: 'cn' | 'us' | 'de' | 'gb';
5956
+ requestBody: OnboardingDto;
5957
+ };
5958
+ type OnboardingControllerBootstrapResponse = unknown;
5959
+ type ReconciliationControllerComputeData = {
5960
+ /**
5961
+ * Region code for tenant context (decorative for reconciliation)
5962
+ */
5963
+ region: 'cn' | 'us' | 'de' | 'gb';
5964
+ requestBody: ComputeReconciliationDto;
5965
+ };
5966
+ type ReconciliationControllerComputeResponse = ReconciliationComputeResultDto;
5967
+ type ReconciliationControllerAssertData = {
5968
+ /**
5969
+ * Region code for tenant context (decorative for reconciliation)
5970
+ */
5971
+ region: 'cn' | 'us' | 'de' | 'gb';
5972
+ requestBody: AssertReconciliationDto;
5973
+ };
5974
+ type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
5975
+ type ReconciliationControllerPadData = {
5976
+ /**
5977
+ * Region code for tenant context (decorative for reconciliation)
5978
+ */
5979
+ region: 'cn' | 'us' | 'de' | 'gb';
5980
+ requestBody: PadReconciliationDto;
5981
+ };
5982
+ type ReconciliationControllerPadResponse = PadResultDto;
5983
+ type ReconciliationControllerHistoryData = {
5984
+ /**
5985
+ * BeanAccount id
5986
+ */
5987
+ accountId: string;
5988
+ /**
5989
+ * Region code for tenant context (decorative for reconciliation)
5990
+ */
5991
+ region: 'cn' | 'us' | 'de' | 'gb';
5992
+ };
5993
+ type ReconciliationControllerHistoryResponse = Array<ReconciliationRecordDto>;
5329
5994
  type ExportControllerExportBeancountResponse = unknown;
5330
5995
  type FileImportControllerImportFileData = {
5331
5996
  /**
@@ -5404,39 +6069,7 @@ type ImporterConfigControllerResetConfigData = {
5404
6069
  */
5405
6070
  region: 'cn' | 'us' | 'de' | 'gb';
5406
6071
  };
5407
- type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
5408
- type PlatformControllerFindAllResponse = unknown;
5409
- type PlatformControllerCreateData = {
5410
- requestBody: CreatePlatformDto;
5411
- };
5412
- type PlatformControllerCreateResponse = unknown;
5413
- type PlatformControllerGetPlatformListResponse = unknown;
5414
- type PlatformControllerMatchPlatformsData = {
5415
- /**
5416
- * Search query — Chinese name, English name, or abbreviation
5417
- */
5418
- q: string;
5419
- /**
5420
- * Region code for category override lookup
5421
- */
5422
- region?: string;
5423
- };
5424
- type PlatformControllerMatchPlatformsResponse = unknown;
5425
- type PlatformControllerUpdateData = {
5426
- /**
5427
- * Platform ID
5428
- */
5429
- id: string;
5430
- requestBody: UpdatePlatformDto;
5431
- };
5432
- type PlatformControllerUpdateResponse = unknown;
5433
- type PlatformControllerDeleteData = {
5434
- /**
5435
- * Platform ID
5436
- */
5437
- id: string;
5438
- };
5439
- type PlatformControllerDeleteResponse = void;
6072
+ type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
5440
6073
  type ProviderSyncControllerSyncData = {
5441
6074
  /**
5442
6075
  * Provider name
@@ -5467,6 +6100,38 @@ type ProviderSyncControllerIsProviderSupportedData = {
5467
6100
  region: 'cn' | 'us' | 'de' | 'gb';
5468
6101
  };
5469
6102
  type ProviderSyncControllerIsProviderSupportedResponse = unknown;
6103
+ type ExternalAccountLinkControllerCreateData = {
6104
+ /**
6105
+ * Region code for tenant context
6106
+ */
6107
+ region: 'cn' | 'us' | 'de' | 'gb';
6108
+ requestBody: CreateExternalAccountLinkDto;
6109
+ };
6110
+ type ExternalAccountLinkControllerCreateResponse = ExternalAccountLinkResponseDto;
6111
+ type ExternalAccountLinkControllerFindAllData = {
6112
+ provider: string;
6113
+ /**
6114
+ * Region code for tenant context
6115
+ */
6116
+ region: 'cn' | 'us' | 'de' | 'gb';
6117
+ };
6118
+ type ExternalAccountLinkControllerFindAllResponse = ExternalAccountLinkListResponseDto;
6119
+ type ExternalAccountLinkControllerFindOneData = {
6120
+ id: string;
6121
+ /**
6122
+ * Region code for tenant context
6123
+ */
6124
+ region: 'cn' | 'us' | 'de' | 'gb';
6125
+ };
6126
+ type ExternalAccountLinkControllerFindOneResponse = ExternalAccountLinkResponseDto;
6127
+ type ExternalAccountLinkControllerRemoveData = {
6128
+ id: string;
6129
+ /**
6130
+ * Region code for tenant context
6131
+ */
6132
+ region: 'cn' | 'us' | 'de' | 'gb';
6133
+ };
6134
+ type ExternalAccountLinkControllerRemoveResponse = void;
5470
6135
  type TelemetryControllerReportTelemetryData = {
5471
6136
  /**
5472
6137
  * Region code for tenant context
@@ -5527,6 +6192,38 @@ type NlpControllerGetSessionData = {
5527
6192
  sessionId?: string;
5528
6193
  };
5529
6194
  type NlpControllerGetSessionResponse = unknown;
6195
+ type PlatformControllerFindAllResponse = unknown;
6196
+ type PlatformControllerCreateData = {
6197
+ requestBody: CreatePlatformDto;
6198
+ };
6199
+ type PlatformControllerCreateResponse = unknown;
6200
+ type PlatformControllerGetPlatformListResponse = unknown;
6201
+ type PlatformControllerMatchPlatformsData = {
6202
+ /**
6203
+ * Search query — Chinese name, English name, or abbreviation
6204
+ */
6205
+ q: string;
6206
+ /**
6207
+ * Region code for category override lookup
6208
+ */
6209
+ region?: string;
6210
+ };
6211
+ type PlatformControllerMatchPlatformsResponse = unknown;
6212
+ type PlatformControllerUpdateData = {
6213
+ /**
6214
+ * Platform ID
6215
+ */
6216
+ id: string;
6217
+ requestBody: UpdatePlatformDto;
6218
+ };
6219
+ type PlatformControllerUpdateResponse = unknown;
6220
+ type PlatformControllerDeleteData = {
6221
+ /**
6222
+ * Platform ID
6223
+ */
6224
+ id: string;
6225
+ };
6226
+ type PlatformControllerDeleteResponse = void;
5530
6227
  type DashboardControllerGetNetWorthData = {
5531
6228
  /**
5532
6229
  * Date for balance calculation (ISO 8601 format)
@@ -5568,113 +6265,62 @@ type DashboardControllerGetCashFlowData = {
5568
6265
  region: 'cn' | 'us' | 'de' | 'gb';
5569
6266
  };
5570
6267
  type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
5571
- type HoldingPnlControllerGetHoldingPnlData = {
5572
- /**
5573
- * Scope to a single account
5574
- */
5575
- accountId?: string;
5576
- /**
5577
- * As-of date (ISO 8601), defaults to today
5578
- */
5579
- asOf?: string;
6268
+ type DashboardControllerGetExpensesData = {
5580
6269
  /**
5581
- * Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
5582
- */
5583
- method?: 'FIFO' | 'average';
5584
- /**
5585
- * Region code for tenant context
5586
- */
5587
- region: 'cn' | 'us' | 'de' | 'gb';
5588
- };
5589
- type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
5590
- type PriceControllerCreateData = {
5591
- /**
5592
- * Region code for tenant context
5593
- */
5594
- region: 'cn' | 'us' | 'de' | 'gb';
5595
- requestBody: CreateBeanPriceDto;
5596
- };
5597
- type PriceControllerCreateResponse = PriceResponseDto;
5598
- type PriceControllerFindAllData = {
5599
- /**
5600
- * Filter by currency (e.g., BTC, AAPL, USD)
5601
- */
5602
- currency?: string;
5603
- /**
5604
- * Filter prices from this date (ISO 8601 format)
5605
- */
5606
- dateFrom?: string;
5607
- /**
5608
- * Filter prices to this date (ISO 8601 format)
5609
- */
5610
- dateTo?: string;
5611
- /**
5612
- * Number of items per page (default: 20, max: 100)
6270
+ * Account root to aggregate (expense → ^Expenses:, income → ^Income:)
5613
6271
  */
5614
- limit?: number;
6272
+ flow?: 'expense' | 'income';
5615
6273
  /**
5616
- * Page number for pagination (default: 1)
6274
+ * Grouping strategy
5617
6275
  */
5618
- page?: number;
6276
+ groupBy?: 'category';
5619
6277
  /**
5620
- * Filter by quote currency (pricing currency, e.g., USD, CNY)
6278
+ * Time window (1m = current calendar month)
5621
6279
  */
5622
- quoteCurrency?: string;
6280
+ period?: '1m' | '3m' | '6m' | '1y';
5623
6281
  /**
5624
6282
  * Region code for tenant context
5625
6283
  */
5626
6284
  region: 'cn' | 'us' | 'de' | 'gb';
5627
- /**
5628
- * Search term for currency or quoteCurrency (case-insensitive partial match)
5629
- */
5630
- search?: string;
5631
6285
  };
5632
- type PriceControllerFindAllResponse = PriceListResponseDto;
5633
- type PriceControllerFindOneData = {
6286
+ type DashboardControllerGetExpensesResponse = ExpensesByCategoryResponseDto;
6287
+ type HoldingPnlControllerGetHoldingPnlData = {
5634
6288
  /**
5635
- * Price ID
6289
+ * Scope to a single account
5636
6290
  */
5637
- id: string;
6291
+ accountId?: string;
5638
6292
  /**
5639
- * Region code for tenant context
6293
+ * As-of date (ISO 8601), defaults to today
5640
6294
  */
5641
- region: 'cn' | 'us' | 'de' | 'gb';
5642
- };
5643
- type PriceControllerFindOneResponse = PriceResponseDto;
5644
- type PriceControllerUpdateData = {
6295
+ asOf?: string;
5645
6296
  /**
5646
- * Price ID
6297
+ * Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
5647
6298
  */
5648
- id: string;
6299
+ method?: 'FIFO' | 'average';
5649
6300
  /**
5650
6301
  * Region code for tenant context
5651
6302
  */
5652
6303
  region: 'cn' | 'us' | 'de' | 'gb';
5653
- requestBody: UpdateBeanPriceDto;
5654
6304
  };
5655
- type PriceControllerUpdateResponse = PriceResponseDto;
5656
- type PriceControllerDeleteData = {
6305
+ type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
6306
+ type ReportingControllerGetPortfolioTrendsData = {
5657
6307
  /**
5658
- * Price ID
6308
+ * Data granularity
5659
6309
  */
5660
- id: string;
6310
+ granularity?: 'day' | 'week' | 'month';
5661
6311
  /**
5662
- * Region code for tenant context
6312
+ * Time period
5663
6313
  */
5664
- region: 'cn' | 'us' | 'de' | 'gb';
5665
- };
5666
- type PriceControllerDeleteResponse = void;
5667
- type PriceControllerBulkCreateData = {
6314
+ period?: '1m' | '3m' | '6m' | '1y';
5668
6315
  /**
5669
6316
  * Region code for tenant context
5670
6317
  */
5671
6318
  region: 'cn' | 'us' | 'de' | 'gb';
5672
- requestBody: Array<string>;
5673
6319
  };
5674
- type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
5675
- type ReportingControllerGetPortfolioTrendsData = {
6320
+ type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
6321
+ type ReportingControllerGetCashFlowTrendsData = {
5676
6322
  /**
5677
- * Data granularity
6323
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
5678
6324
  */
5679
6325
  granularity?: 'day' | 'week' | 'month';
5680
6326
  /**
@@ -5686,7 +6332,7 @@ type ReportingControllerGetPortfolioTrendsData = {
5686
6332
  */
5687
6333
  region: 'cn' | 'us' | 'de' | 'gb';
5688
6334
  };
5689
- type ReportingControllerGetPortfolioTrendsResponse = PortfolioTrendsResponseDto;
6335
+ type ReportingControllerGetCashFlowTrendsResponse = CashFlowTrendsResponseDto;
5690
6336
  type ReportingControllerGenerateSnapshotData = {
5691
6337
  /**
5692
6338
  * Region code for tenant context
@@ -5845,6 +6491,25 @@ type $OpenApiTs = {
5845
6491
  };
5846
6492
  };
5847
6493
  };
6494
+ '/api/v1/{region}/bean/accounts/{id}/opening-balance': {
6495
+ post: {
6496
+ req: AccountControllerAddOpeningBalanceData;
6497
+ res: {
6498
+ /**
6499
+ * Opening-balance transaction created
6500
+ */
6501
+ 201: OpeningBalanceResultDto;
6502
+ /**
6503
+ * Account not found
6504
+ */
6505
+ 404: unknown;
6506
+ /**
6507
+ * An opening balance already exists for this account
6508
+ */
6509
+ 409: unknown;
6510
+ };
6511
+ };
6512
+ };
5848
6513
  '/api/v1/{region}/bean/account-standards': {
5849
6514
  get: {
5850
6515
  req: AccountStandardsControllerGetTemplatesData;
@@ -6380,76 +7045,160 @@ type $OpenApiTs = {
6380
7045
  req: CommodityControllerFindAllData;
6381
7046
  res: {
6382
7047
  /**
6383
- * Commodities retrieved successfully
7048
+ * Commodities retrieved successfully
7049
+ */
7050
+ 200: CommodityListResponseDto;
7051
+ };
7052
+ };
7053
+ };
7054
+ '/api/v1/{region}/bean/commodities/{symbol}': {
7055
+ get: {
7056
+ req: CommodityControllerFindOneData;
7057
+ res: {
7058
+ /**
7059
+ * Commodity retrieved successfully
7060
+ */
7061
+ 200: CommodityResponseDto;
7062
+ /**
7063
+ * Commodity not found
7064
+ */
7065
+ 404: ApiProblemResponseDto;
7066
+ };
7067
+ };
7068
+ put: {
7069
+ req: CommodityControllerUpdateData;
7070
+ res: {
7071
+ /**
7072
+ * Commodity updated successfully
7073
+ */
7074
+ 200: CommodityResponseDto;
7075
+ /**
7076
+ * Invalid input data
7077
+ */
7078
+ 400: ApiProblemResponseDto;
7079
+ /**
7080
+ * Commodity not found
7081
+ */
7082
+ 404: ApiProblemResponseDto;
7083
+ };
7084
+ };
7085
+ delete: {
7086
+ req: CommodityControllerDeleteData;
7087
+ res: {
7088
+ /**
7089
+ * Commodity deleted successfully
7090
+ */
7091
+ 204: void;
7092
+ /**
7093
+ * Commodity not found
7094
+ */
7095
+ 404: ApiProblemResponseDto;
7096
+ };
7097
+ };
7098
+ };
7099
+ '/api/v1/{region}/bean/commodities/{symbol}/ensure': {
7100
+ post: {
7101
+ req: CommodityControllerGetOrCreateData;
7102
+ res: {
7103
+ /**
7104
+ * Commodity retrieved or created
7105
+ */
7106
+ 200: CommodityResponseDto;
7107
+ };
7108
+ };
7109
+ };
7110
+ '/api/v1/{region}/bean/commodities/bulk': {
7111
+ post: {
7112
+ req: CommodityControllerBulkCreateData;
7113
+ res: {
7114
+ /**
7115
+ * Commodities created successfully
7116
+ */
7117
+ 201: Array<CommodityResponseDto>;
7118
+ };
7119
+ };
7120
+ };
7121
+ '/api/v1/{region}/bean/prices': {
7122
+ post: {
7123
+ req: PriceControllerCreateData;
7124
+ res: {
7125
+ /**
7126
+ * Price created successfully
7127
+ */
7128
+ 201: PriceResponseDto;
7129
+ /**
7130
+ * Currency or quoteCurrency commodity not found
7131
+ */
7132
+ 404: unknown;
7133
+ /**
7134
+ * Price already exists for this currency pair and date
7135
+ */
7136
+ 409: unknown;
7137
+ };
7138
+ };
7139
+ get: {
7140
+ req: PriceControllerFindAllData;
7141
+ res: {
7142
+ /**
7143
+ * Prices retrieved successfully
6384
7144
  */
6385
- 200: CommodityListResponseDto;
7145
+ 200: PriceListResponseDto;
6386
7146
  };
6387
7147
  };
6388
7148
  };
6389
- '/api/v1/{region}/bean/commodities/{symbol}': {
7149
+ '/api/v1/{region}/bean/prices/{id}': {
6390
7150
  get: {
6391
- req: CommodityControllerFindOneData;
7151
+ req: PriceControllerFindOneData;
6392
7152
  res: {
6393
7153
  /**
6394
- * Commodity retrieved successfully
7154
+ * Price retrieved successfully
6395
7155
  */
6396
- 200: CommodityResponseDto;
7156
+ 200: PriceResponseDto;
6397
7157
  /**
6398
- * Commodity not found
7158
+ * Price not found
6399
7159
  */
6400
- 404: ApiProblemResponseDto;
7160
+ 404: unknown;
6401
7161
  };
6402
7162
  };
6403
7163
  put: {
6404
- req: CommodityControllerUpdateData;
7164
+ req: PriceControllerUpdateData;
6405
7165
  res: {
6406
7166
  /**
6407
- * Commodity updated successfully
7167
+ * Price updated successfully
6408
7168
  */
6409
- 200: CommodityResponseDto;
7169
+ 200: PriceResponseDto;
6410
7170
  /**
6411
- * Invalid input data
7171
+ * Price not found
6412
7172
  */
6413
- 400: ApiProblemResponseDto;
7173
+ 404: unknown;
6414
7174
  /**
6415
- * Commodity not found
7175
+ * Updated price conflicts with existing price
6416
7176
  */
6417
- 404: ApiProblemResponseDto;
7177
+ 409: unknown;
6418
7178
  };
6419
7179
  };
6420
7180
  delete: {
6421
- req: CommodityControllerDeleteData;
7181
+ req: PriceControllerDeleteData;
6422
7182
  res: {
6423
7183
  /**
6424
- * Commodity deleted successfully
7184
+ * Price deleted successfully
6425
7185
  */
6426
7186
  204: void;
6427
7187
  /**
6428
- * Commodity not found
6429
- */
6430
- 404: ApiProblemResponseDto;
6431
- };
6432
- };
6433
- };
6434
- '/api/v1/{region}/bean/commodities/{symbol}/ensure': {
6435
- post: {
6436
- req: CommodityControllerGetOrCreateData;
6437
- res: {
6438
- /**
6439
- * Commodity retrieved or created
7188
+ * Price not found
6440
7189
  */
6441
- 200: CommodityResponseDto;
7190
+ 404: unknown;
6442
7191
  };
6443
7192
  };
6444
7193
  };
6445
- '/api/v1/{region}/bean/commodities/bulk': {
7194
+ '/api/v1/{region}/bean/prices/bulk': {
6446
7195
  post: {
6447
- req: CommodityControllerBulkCreateData;
7196
+ req: PriceControllerBulkCreateData;
6448
7197
  res: {
6449
7198
  /**
6450
- * Commodities created successfully
7199
+ * Prices created successfully
6451
7200
  */
6452
- 201: Array<CommodityResponseDto>;
7201
+ 201: Array<PriceResponseDto>;
6453
7202
  };
6454
7203
  };
6455
7204
  };
@@ -7097,6 +7846,181 @@ type $OpenApiTs = {
7097
7846
  };
7098
7847
  };
7099
7848
  };
7849
+ '/api/v1/{region}/bean/events': {
7850
+ post: {
7851
+ req: EventControllerCreateData;
7852
+ res: {
7853
+ /**
7854
+ * Life event created successfully
7855
+ */
7856
+ 201: EventResponseDto;
7857
+ /**
7858
+ * Life event already exists for this (userId, type, date) combination
7859
+ */
7860
+ 409: unknown;
7861
+ };
7862
+ };
7863
+ get: {
7864
+ req: EventControllerFindAllData;
7865
+ res: {
7866
+ /**
7867
+ * Life events retrieved successfully
7868
+ */
7869
+ 200: EventListResponseDto;
7870
+ };
7871
+ };
7872
+ };
7873
+ '/api/v1/{region}/bean/events/{id}': {
7874
+ get: {
7875
+ req: EventControllerFindOneData;
7876
+ res: {
7877
+ /**
7878
+ * Life event retrieved successfully
7879
+ */
7880
+ 200: EventResponseDto;
7881
+ /**
7882
+ * Life event not found
7883
+ */
7884
+ 404: unknown;
7885
+ };
7886
+ };
7887
+ put: {
7888
+ req: EventControllerUpdateData;
7889
+ res: {
7890
+ /**
7891
+ * Life event updated successfully
7892
+ */
7893
+ 200: EventResponseDto;
7894
+ /**
7895
+ * If-Match header is not a valid ISO 8601 date
7896
+ */
7897
+ 400: unknown;
7898
+ /**
7899
+ * Life event not found
7900
+ */
7901
+ 404: unknown;
7902
+ /**
7903
+ * Updated event conflicts with an existing (userId, type, date) combination
7904
+ */
7905
+ 409: unknown;
7906
+ /**
7907
+ * If-Match precondition failed (updatedAt mismatch)
7908
+ */
7909
+ 412: unknown;
7910
+ };
7911
+ };
7912
+ delete: {
7913
+ req: EventControllerDeleteData;
7914
+ res: {
7915
+ /**
7916
+ * Life event deleted successfully
7917
+ */
7918
+ 204: void;
7919
+ /**
7920
+ * Life event not found
7921
+ */
7922
+ 404: unknown;
7923
+ };
7924
+ };
7925
+ };
7926
+ '/api/v1/{region}/bean/events/{id}/slice': {
7927
+ get: {
7928
+ req: EventControllerGetSliceData;
7929
+ res: {
7930
+ /**
7931
+ * Time-series sliced by the life event range
7932
+ */
7933
+ 200: unknown;
7934
+ /**
7935
+ * accountPattern query param is empty
7936
+ */
7937
+ 400: unknown;
7938
+ /**
7939
+ * Life event not found
7940
+ */
7941
+ 404: unknown;
7942
+ };
7943
+ };
7944
+ };
7945
+ '/api/v1/{region}/bean/onboarding': {
7946
+ post: {
7947
+ req: OnboardingControllerBootstrapData;
7948
+ res: {
7949
+ /**
7950
+ * Onboarding bootstrap result.
7951
+ */
7952
+ 201: unknown;
7953
+ /**
7954
+ * Invalid region/account path/duplicate paths.
7955
+ */
7956
+ 422: unknown;
7957
+ };
7958
+ };
7959
+ };
7960
+ '/api/v1/{region}/bean/reconciliations': {
7961
+ post: {
7962
+ req: ReconciliationControllerComputeData;
7963
+ res: {
7964
+ /**
7965
+ * Reconciliation preview
7966
+ */
7967
+ 200: ReconciliationComputeResultDto;
7968
+ /**
7969
+ * Account not found
7970
+ */
7971
+ 404: unknown;
7972
+ };
7973
+ };
7974
+ };
7975
+ '/api/v1/{region}/bean/reconciliations/assert': {
7976
+ post: {
7977
+ req: ReconciliationControllerAssertData;
7978
+ res: {
7979
+ /**
7980
+ * Balance assertion recorded
7981
+ */
7982
+ 201: ReconciliationRecordDto;
7983
+ /**
7984
+ * Account not found
7985
+ */
7986
+ 404: unknown;
7987
+ };
7988
+ };
7989
+ };
7990
+ '/api/v1/{region}/bean/reconciliations/pad': {
7991
+ post: {
7992
+ req: ReconciliationControllerPadData;
7993
+ res: {
7994
+ /**
7995
+ * Pad adjusting entry generated
7996
+ */
7997
+ 201: PadResultDto;
7998
+ /**
7999
+ * Book already within tolerance — no pad needed
8000
+ */
8001
+ 400: unknown;
8002
+ /**
8003
+ * Account not found
8004
+ */
8005
+ 404: unknown;
8006
+ };
8007
+ };
8008
+ };
8009
+ '/api/v1/{region}/bean/accounts/{accountId}/reconciliations': {
8010
+ get: {
8011
+ req: ReconciliationControllerHistoryData;
8012
+ res: {
8013
+ /**
8014
+ * Reconciliation history
8015
+ */
8016
+ 200: Array<ReconciliationRecordDto>;
8017
+ /**
8018
+ * Account not found
8019
+ */
8020
+ 404: unknown;
8021
+ };
8022
+ };
8023
+ };
7100
8024
  '/api/v1/{region}/bean/export/beancount': {
7101
8025
  get: {
7102
8026
  res: {
@@ -7188,134 +8112,62 @@ type $OpenApiTs = {
7188
8112
  errors?: Array<{
7189
8113
  [key: string]: unknown;
7190
8114
  }>;
7191
- };
7192
- /**
7193
- * Bad request - invalid file or no file uploaded
7194
- */
7195
- 400: ApiProblemResponseDto;
7196
- };
7197
- };
7198
- };
7199
- '/api/v1/{region}/bean/import/config/{importerId}': {
7200
- get: {
7201
- req: ImporterConfigControllerGetConfigData;
7202
- res: {
7203
- /**
7204
- * Configuration retrieved successfully
7205
- */
7206
- 200: ImporterConfigDto;
7207
- /**
7208
- * Invalid input - Unsupported importer
7209
- */
7210
- 400: ApiProblemResponseDto;
7211
- /**
7212
- * Unauthorized - Authentication required
7213
- */
7214
- 401: ApiProblemResponseDto;
7215
- };
7216
- };
7217
- put: {
7218
- req: ImporterConfigControllerUpdateConfigData;
7219
- res: {
7220
- /**
7221
- * Configuration updated successfully
7222
- */
7223
- 200: ImporterConfigDto;
7224
- /**
7225
- * Invalid input - Validation failed
7226
- */
7227
- 400: ApiProblemResponseDto;
7228
- /**
7229
- * Configuration not found
7230
- */
7231
- 404: ApiProblemResponseDto;
7232
- };
7233
- };
7234
- };
7235
- '/api/v1/{region}/bean/import/config/{importerId}/reset': {
7236
- post: {
7237
- req: ImporterConfigControllerResetConfigData;
7238
- res: {
7239
- /**
7240
- * Configuration reset successfully
7241
- */
7242
- 200: ImporterConfigDto;
7243
- /**
7244
- * Invalid input - Unsupported importer
7245
- */
7246
- 400: ApiProblemResponseDto;
7247
- };
7248
- };
7249
- };
7250
- '/api/v1/bean/platforms': {
7251
- get: {
7252
- res: {
7253
- /**
7254
- * List of platforms with binding and account counts
7255
- */
7256
- 200: unknown;
7257
- };
7258
- };
7259
- post: {
7260
- req: PlatformControllerCreateData;
7261
- res: {
7262
- /**
7263
- * Platform created successfully
7264
- */
7265
- 201: unknown;
8115
+ };
7266
8116
  /**
7267
- * Platform already exists
8117
+ * Bad request - invalid file or no file uploaded
7268
8118
  */
7269
- 409: unknown;
8119
+ 400: ApiProblemResponseDto;
7270
8120
  };
7271
8121
  };
7272
8122
  };
7273
- '/api/v1/bean/platforms/list': {
8123
+ '/api/v1/{region}/bean/import/config/{importerId}': {
7274
8124
  get: {
8125
+ req: ImporterConfigControllerGetConfigData;
7275
8126
  res: {
7276
8127
  /**
7277
- * List of platforms with user binding status
8128
+ * Configuration retrieved successfully
7278
8129
  */
7279
- 200: unknown;
7280
- };
7281
- };
7282
- };
7283
- '/api/v1/bean/platforms/match': {
7284
- get: {
7285
- req: PlatformControllerMatchPlatformsData;
7286
- res: {
8130
+ 200: ImporterConfigDto;
7287
8131
  /**
7288
- * List of matching platforms with suggested segment names
8132
+ * Invalid input - Unsupported importer
7289
8133
  */
7290
- 200: unknown;
8134
+ 400: ApiProblemResponseDto;
8135
+ /**
8136
+ * Unauthorized - Authentication required
8137
+ */
8138
+ 401: ApiProblemResponseDto;
7291
8139
  };
7292
8140
  };
7293
- };
7294
- '/api/v1/bean/platforms/{id}': {
7295
8141
  put: {
7296
- req: PlatformControllerUpdateData;
8142
+ req: ImporterConfigControllerUpdateConfigData;
7297
8143
  res: {
7298
8144
  /**
7299
- * Platform updated successfully
8145
+ * Configuration updated successfully
7300
8146
  */
7301
- 200: unknown;
8147
+ 200: ImporterConfigDto;
7302
8148
  /**
7303
- * Platform not found
8149
+ * Invalid input - Validation failed
7304
8150
  */
7305
- 404: unknown;
8151
+ 400: ApiProblemResponseDto;
8152
+ /**
8153
+ * Configuration not found
8154
+ */
8155
+ 404: ApiProblemResponseDto;
7306
8156
  };
7307
8157
  };
7308
- delete: {
7309
- req: PlatformControllerDeleteData;
8158
+ };
8159
+ '/api/v1/{region}/bean/import/config/{importerId}/reset': {
8160
+ post: {
8161
+ req: ImporterConfigControllerResetConfigData;
7310
8162
  res: {
7311
8163
  /**
7312
- * Platform deleted successfully
8164
+ * Configuration reset successfully
7313
8165
  */
7314
- 204: void;
8166
+ 200: ImporterConfigDto;
7315
8167
  /**
7316
- * Platform not found
8168
+ * Invalid input - Unsupported importer
7317
8169
  */
7318
- 404: unknown;
8170
+ 400: ApiProblemResponseDto;
7319
8171
  };
7320
8172
  };
7321
8173
  };
@@ -7372,6 +8224,54 @@ type $OpenApiTs = {
7372
8224
  };
7373
8225
  };
7374
8226
  };
8227
+ '/api/v1/{region}/bean/external-account-links': {
8228
+ post: {
8229
+ req: ExternalAccountLinkControllerCreateData;
8230
+ res: {
8231
+ /**
8232
+ * Link created.
8233
+ */
8234
+ 201: ExternalAccountLinkResponseDto;
8235
+ /**
8236
+ * beanAccountId not owned, or an active link already exists.
8237
+ */
8238
+ 422: unknown;
8239
+ };
8240
+ };
8241
+ get: {
8242
+ req: ExternalAccountLinkControllerFindAllData;
8243
+ res: {
8244
+ /**
8245
+ * Links retrieved.
8246
+ */
8247
+ 200: ExternalAccountLinkListResponseDto;
8248
+ };
8249
+ };
8250
+ };
8251
+ '/api/v1/{region}/bean/external-account-links/{id}': {
8252
+ get: {
8253
+ req: ExternalAccountLinkControllerFindOneData;
8254
+ res: {
8255
+ /**
8256
+ * Link retrieved.
8257
+ */
8258
+ 200: ExternalAccountLinkResponseDto;
8259
+ /**
8260
+ * Link not found or not owned by the user.
8261
+ */
8262
+ 422: unknown;
8263
+ };
8264
+ };
8265
+ delete: {
8266
+ req: ExternalAccountLinkControllerRemoveData;
8267
+ res: {
8268
+ /**
8269
+ * Link soft-deleted; historical transactions are unaffected.
8270
+ */
8271
+ 204: void;
8272
+ };
8273
+ };
8274
+ };
7375
8275
  '/api/v1/{region}/bean/import/parser-telemetry': {
7376
8276
  post: {
7377
8277
  req: TelemetryControllerReportTelemetryData;
@@ -7460,6 +8360,78 @@ type $OpenApiTs = {
7460
8360
  };
7461
8361
  };
7462
8362
  };
8363
+ '/api/v1/bean/platforms': {
8364
+ get: {
8365
+ res: {
8366
+ /**
8367
+ * List of platforms with binding and account counts
8368
+ */
8369
+ 200: unknown;
8370
+ };
8371
+ };
8372
+ post: {
8373
+ req: PlatformControllerCreateData;
8374
+ res: {
8375
+ /**
8376
+ * Platform created successfully
8377
+ */
8378
+ 201: unknown;
8379
+ /**
8380
+ * Platform already exists
8381
+ */
8382
+ 409: unknown;
8383
+ };
8384
+ };
8385
+ };
8386
+ '/api/v1/bean/platforms/list': {
8387
+ get: {
8388
+ res: {
8389
+ /**
8390
+ * List of platforms with user binding status
8391
+ */
8392
+ 200: unknown;
8393
+ };
8394
+ };
8395
+ };
8396
+ '/api/v1/bean/platforms/match': {
8397
+ get: {
8398
+ req: PlatformControllerMatchPlatformsData;
8399
+ res: {
8400
+ /**
8401
+ * List of matching platforms with suggested segment names
8402
+ */
8403
+ 200: unknown;
8404
+ };
8405
+ };
8406
+ };
8407
+ '/api/v1/bean/platforms/{id}': {
8408
+ put: {
8409
+ req: PlatformControllerUpdateData;
8410
+ res: {
8411
+ /**
8412
+ * Platform updated successfully
8413
+ */
8414
+ 200: unknown;
8415
+ /**
8416
+ * Platform not found
8417
+ */
8418
+ 404: unknown;
8419
+ };
8420
+ };
8421
+ delete: {
8422
+ req: PlatformControllerDeleteData;
8423
+ res: {
8424
+ /**
8425
+ * Platform deleted successfully
8426
+ */
8427
+ 204: void;
8428
+ /**
8429
+ * Platform not found
8430
+ */
8431
+ 404: unknown;
8432
+ };
8433
+ };
8434
+ };
7463
8435
  '/api/v1/{region}/dashboard/net-worth': {
7464
8436
  get: {
7465
8437
  req: DashboardControllerGetNetWorthData;
@@ -7509,16 +8481,16 @@ type $OpenApiTs = {
7509
8481
  };
7510
8482
  };
7511
8483
  };
7512
- '/api/v1/{region}/investment/holdings/pnl': {
8484
+ '/api/v1/{region}/dashboard/expenses': {
7513
8485
  get: {
7514
- req: HoldingPnlControllerGetHoldingPnlData;
8486
+ req: DashboardControllerGetExpensesData;
7515
8487
  res: {
7516
8488
  /**
7517
- * Holding P&L retrieved successfully
8489
+ * Expenses retrieved successfully
7518
8490
  */
7519
- 200: HoldingPnlResponseDto;
8491
+ 200: ExpensesByCategoryResponseDto;
7520
8492
  /**
7521
- * Invalid asOf format/value/future date, invalid accountId format, or unsupported method
8493
+ * Invalid groupBy or period
7522
8494
  */
7523
8495
  400: unknown;
7524
8496
  /**
@@ -7528,98 +8500,48 @@ type $OpenApiTs = {
7528
8500
  };
7529
8501
  };
7530
8502
  };
7531
- '/api/v1/{region}/bean/prices': {
7532
- post: {
7533
- req: PriceControllerCreateData;
8503
+ '/api/v1/{region}/investment/holdings/pnl': {
8504
+ get: {
8505
+ req: HoldingPnlControllerGetHoldingPnlData;
7534
8506
  res: {
7535
8507
  /**
7536
- * Price created successfully
7537
- */
7538
- 201: PriceResponseDto;
7539
- /**
7540
- * Currency or quoteCurrency commodity not found
8508
+ * Holding P&L retrieved successfully
7541
8509
  */
7542
- 404: unknown;
8510
+ 200: HoldingPnlResponseDto;
7543
8511
  /**
7544
- * Price already exists for this currency pair and date
8512
+ * Invalid asOf format/value/future date, invalid accountId format, or unsupported method
7545
8513
  */
7546
- 409: unknown;
7547
- };
7548
- };
7549
- get: {
7550
- req: PriceControllerFindAllData;
7551
- res: {
8514
+ 400: unknown;
7552
8515
  /**
7553
- * Prices retrieved successfully
8516
+ * User not authenticated
7554
8517
  */
7555
- 200: PriceListResponseDto;
8518
+ 401: unknown;
7556
8519
  };
7557
8520
  };
7558
8521
  };
7559
- '/api/v1/{region}/bean/prices/{id}': {
8522
+ '/api/v1/{region}/reporting/portfolio/trends': {
7560
8523
  get: {
7561
- req: PriceControllerFindOneData;
7562
- res: {
7563
- /**
7564
- * Price retrieved successfully
7565
- */
7566
- 200: PriceResponseDto;
7567
- /**
7568
- * Price not found
7569
- */
7570
- 404: unknown;
7571
- };
7572
- };
7573
- put: {
7574
- req: PriceControllerUpdateData;
7575
- res: {
7576
- /**
7577
- * Price updated successfully
7578
- */
7579
- 200: PriceResponseDto;
7580
- /**
7581
- * Price not found
7582
- */
7583
- 404: unknown;
7584
- /**
7585
- * Updated price conflicts with existing price
7586
- */
7587
- 409: unknown;
7588
- };
7589
- };
7590
- delete: {
7591
- req: PriceControllerDeleteData;
8524
+ req: ReportingControllerGetPortfolioTrendsData;
7592
8525
  res: {
7593
8526
  /**
7594
- * Price deleted successfully
7595
- */
7596
- 204: void;
7597
- /**
7598
- * Price not found
8527
+ * Trends retrieved successfully
7599
8528
  */
7600
- 404: unknown;
7601
- };
7602
- };
7603
- };
7604
- '/api/v1/{region}/bean/prices/bulk': {
7605
- post: {
7606
- req: PriceControllerBulkCreateData;
7607
- res: {
8529
+ 200: PortfolioTrendsResponseDto;
7608
8530
  /**
7609
- * Prices created successfully
8531
+ * User not authenticated
7610
8532
  */
7611
- 201: Array<PriceResponseDto>;
8533
+ 401: unknown;
7612
8534
  };
7613
8535
  };
7614
8536
  };
7615
- '/api/v1/{region}/reporting/portfolio/trends': {
8537
+ '/api/v1/{region}/reporting/cash-flow/trends': {
7616
8538
  get: {
7617
- req: ReportingControllerGetPortfolioTrendsData;
8539
+ req: ReportingControllerGetCashFlowTrendsData;
7618
8540
  res: {
7619
8541
  /**
7620
- * Trends retrieved successfully
8542
+ * Cash-flow trends retrieved successfully
7621
8543
  */
7622
- 200: PortfolioTrendsResponseDto;
8544
+ 200: CashFlowTrendsResponseDto;
7623
8545
  /**
7624
8546
  * User not authenticated
7625
8547
  */
@@ -7858,7 +8780,7 @@ declare class BeanAccountsService {
7858
8780
  * @param data.type Filter by account type
7859
8781
  * @param data.status Filter by status
7860
8782
  * @param data.isCustom Filter by custom (user-created) accounts only
7861
- * @param data.search Search term for path or i18nKey
8783
+ * @param data.search Search term for account path
7862
8784
  * @param data.limit Maximum number of results
7863
8785
  * @param data.offset Number of results to skip
7864
8786
  * @returns AccountListResponseDto Accounts retrieved successfully
@@ -7918,6 +8840,17 @@ declare class BeanAccountsService {
7918
8840
  * @throws ApiError
7919
8841
  */
7920
8842
  static accountControllerReopen(data: AccountControllerReopenData): CancelablePromise<AccountControllerReopenResponse>;
8843
+ /**
8844
+ * Post an opening-balance transaction
8845
+ * Posts a double-entry opening-balance transaction against Equity:Opening-Balances for an existing Assets/Liabilities account. At most one active opening balance per account.
8846
+ * @param data The data for the request.
8847
+ * @param data.id Account UUID
8848
+ * @param data.region Region code for tenant context
8849
+ * @param data.requestBody
8850
+ * @returns OpeningBalanceResultDto Opening-balance transaction created
8851
+ * @throws ApiError
8852
+ */
8853
+ static accountControllerAddOpeningBalance(data: AccountControllerAddOpeningBalanceData): CancelablePromise<AccountControllerAddOpeningBalanceResponse>;
7921
8854
  }
7922
8855
  declare class BeanTransactionsService {
7923
8856
  /**
@@ -7943,6 +8876,7 @@ declare class BeanTransactionsService {
7943
8876
  * @param data.status Filter by transaction status
7944
8877
  * @param data.search Search in narration and payee fields (max 200 chars)
7945
8878
  * @param data.accountId Filter by account ID (transactions with postings to this account)
8879
+ * @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
7946
8880
  * @returns TransactionListResponseDto Transaction list
7947
8881
  * @throws ApiError
7948
8882
  */
@@ -8018,7 +8952,7 @@ declare class BeanBalancesService {
8018
8952
  * Query account balance
8019
8953
  * Calculate account balance at a specific date for a single currency
8020
8954
  * @param data The data for the request.
8021
- * @param data.account Account name (e.g., "Assets:Bank:Checking")
8955
+ * @param data.account Account name (e.g., "Assets:Checking")
8022
8956
  * @param data.region Region code for tenant context
8023
8957
  * @param data.date Date to calculate balance at (ISO 8601 format)
8024
8958
  * @param data.currency Currency to query (e.g., "USD", "CNY")
@@ -8248,4 +9182,4 @@ type OpenAPIConfig = {
8248
9182
  };
8249
9183
  declare const OpenAPI: OpenAPIConfig;
8250
9184
 
8251
- export { type $OpenApiTs, type AccountControllerCloseData, type AccountControllerCloseResponse, type AccountControllerCreateData, type AccountControllerCreateResponse, type AccountControllerDeleteData, type AccountControllerDeleteResponse, type AccountControllerFindAllData, type AccountControllerFindAllResponse, type AccountControllerFindOneData, type AccountControllerFindOneResponse, type AccountControllerReopenData, type AccountControllerReopenResponse, type AccountControllerUpdateData, type AccountControllerUpdateResponse, type AccountExchangeRateWarningDto, type AccountItemDto, type AccountItemWithAssetClassDto, type AccountListResponseDto, type AccountResponseDto, type AccountStandardListResponseDto, type AccountStandardResponseDto, type AccountStandardsControllerGetRegionsData, type AccountStandardsControllerGetRegionsResponse, type AccountStandardsControllerGetTemplateMetadataData, type AccountStandardsControllerGetTemplateMetadataResponse, type AccountStandardsControllerGetTemplatesData, type AccountStandardsControllerGetTemplatesResponse, type AccountsResponseDto, type AccountsSummaryDto, type AmountDto, type AmountRangeDto, type AnonymousLoginDto, type ApiKeysControllerCreateApiKeyResponse, type ApiProblemResponseDto, 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 CashFlowResponseDto, 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 ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CostDetailDto, type CostSpecDto, type CreateAccountDto, type CreateBeanPriceDto, type CreateCommodityDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type CurrentPriceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, 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 ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, OpenAPI, type OpenAPIConfig, type 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 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 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 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 UpdateBeanPriceDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type action2, type assetClass, type assetSubType, type bookingMethod, type branchType, type category, type chartToken, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type method, type mode, type paymentSource, type period, type source, type source2, type source3, type status, type status2, type status3, type status4, type suggestedFrequency, type type, type type2, type type3, type type4, type value, type viewMode };
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 };