@firela/api-types 0.0.0-canary.0808a6e0 → 0.0.0-canary.0f069763

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)
@@ -2775,107 +2911,251 @@ type UpdateBeanEventDto = {
2775
2911
  [key: string]: unknown;
2776
2912
  };
2777
2913
  };
2778
- type FileImportDto = {
2914
+ type OnboardingAccountDto = {
2779
2915
  /**
2780
- * Bill file to import (CSV, PDF, OFX, etc.)
2916
+ * Account path (Assets/Liabilities only; format validated by the account service)
2781
2917
  */
2782
- file: Blob | File;
2783
- };
2784
- type ImportErrorDto = {
2918
+ path: string;
2785
2919
  /**
2786
- * Index of failed transaction in the file
2920
+ * ISO 4217 currency code (3 letters)
2787
2921
  */
2788
- index: number;
2922
+ currency: string;
2789
2923
  /**
2790
- * Error message
2924
+ * Opening balance as a non-negative Decimal string (e.g. "1000.00")
2791
2925
  */
2792
- error: string;
2926
+ openingBalance?: string;
2927
+ /**
2928
+ * Platform ID to bind the account to (references Platform.id); omit for unbound
2929
+ */
2930
+ platformId?: string;
2793
2931
  };
2794
- type ReviewItemPreviewDto = {
2932
+ type OnboardingDto = {
2795
2933
  /**
2796
- * Index in the import batch (for tracking)
2934
+ * Asset/Liability accounts to register with opening balances
2797
2935
  */
2798
- index: number;
2936
+ accounts?: Array<OnboardingAccountDto>;
2799
2937
  /**
2800
- * Transaction date (ISO format)
2938
+ * Skip asset registration; only bootstrap the core account set
2801
2939
  */
2802
- date: string;
2940
+ skipAssetRegistration?: boolean;
2941
+ };
2942
+ type ActualBalanceDto = {
2803
2943
  /**
2804
- * Transaction amount (absolute value)
2944
+ * Actual balance amount as a decimal string (preserves precision for tolerance inference).
2805
2945
  */
2806
- amount?: number;
2946
+ amount: string;
2807
2947
  /**
2808
- * Currency code
2948
+ * Currency code (ISO 4217 or commodity ticker).
2809
2949
  */
2810
- currency?: string;
2950
+ ccy: string;
2951
+ };
2952
+ type ComputeReconciliationDto = {
2811
2953
  /**
2812
- * Transaction narration/description
2954
+ * BeanAccount id to reconcile.
2813
2955
  */
2814
- narration: string;
2956
+ accountId: string;
2815
2957
  /**
2816
- * Payee name
2958
+ * Assertion date (ISO 8601, e.g. "2026-07-24").
2817
2959
  */
2818
- payee?: string;
2960
+ asOfDate: string;
2819
2961
  /**
2820
- * Inferred category from rule matching
2962
+ * Actual balance from the external statement.
2821
2963
  */
2822
- category?: string;
2964
+ actualBalance: ActualBalanceDto;
2965
+ };
2966
+ type ReconciliationComputeResultDto = {
2967
+ accountId: string;
2968
+ asOfDate: string;
2823
2969
  /**
2824
- * Confidence score for the match (0-1)
2970
+ * System-computed book balance (decimal string).
2825
2971
  */
2826
- confidence?: number;
2972
+ bookBalance: string;
2827
2973
  /**
2828
- * Type of branch requiring review
2974
+ * User-entered actual balance (decimal string).
2829
2975
  */
2830
- branchType?: 'DUPLICATE' | 'PAYEE_MATCH' | 'RULE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
2976
+ actualBalance: string;
2977
+ currency: string;
2831
2978
  /**
2832
- * Human-readable reasons for requiring review
2979
+ * Diff = book − actual (decimal string).
2833
2980
  */
2834
- reasons?: Array<string>;
2835
- };
2836
- /**
2837
- * Type of branch requiring review
2838
- */
2839
- type branchType = 'DUPLICATE' | 'PAYEE_MATCH' | 'RULE_MATCH' | 'ACCOUNT_VALIDATION' | 'PIPELINE_ERROR';
2840
- type ImportResultDto = {
2981
+ diff: string;
2841
2982
  /**
2842
- * Number of successfully imported transactions
2983
+ * Applied tolerance (decimal string).
2843
2984
  */
2844
- imported: number;
2985
+ tolerance: string;
2845
2986
  /**
2846
- * Number of failed transactions
2987
+ * true when |diff| ≤ tolerance.
2847
2988
  */
2848
- failed: number;
2989
+ withinTolerance: boolean;
2849
2990
  /**
2850
- * Number of skipped transactions (high confidence duplicates, auto-skipped)
2991
+ * Suggested next action: assert when within tolerance, pad otherwise.
2851
2992
  */
2852
- skipped: number;
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 = {
2853
3000
  /**
2854
- * Number of transactions pending review (medium confidence duplicates)
3001
+ * BeanAccount id to reconcile.
2855
3002
  */
2856
- pendingReview: number;
3003
+ accountId: string;
2857
3004
  /**
2858
- * Array of error details for failed transactions
3005
+ * Assertion date (ISO 8601, e.g. "2026-07-24").
2859
3006
  */
2860
- errors: Array<ImportErrorDto>;
3007
+ asOfDate: string;
2861
3008
  /**
2862
- * Array of transactions pending review with preview data. Contains essential information for displaying in the import preview UI.
3009
+ * Actual balance from the external statement.
2863
3010
  */
2864
- reviewItems?: Array<ReviewItemPreviewDto>;
3011
+ actualBalance: ActualBalanceDto;
2865
3012
  /**
2866
- * Array of imported transactions (optional, for debugging)
3013
+ * Optional explicit tolerance override. Omit to infer from amount precision (Beancount default).
2867
3014
  */
2868
- transactions?: {
2869
- [key: string]: unknown;
2870
- };
3015
+ tolerance?: string;
2871
3016
  };
2872
- type IdentifyResultDto = {
3017
+ type ReconciliationRecordDto = {
3018
+ id: string;
3019
+ accountId: string;
3020
+ date: string;
2873
3021
  /**
2874
- * Whether the file was successfully identified
3022
+ * Asserted (actual) amount.
2875
3023
  */
2876
- identified: boolean;
3024
+ amount: string;
3025
+ currency: string;
3026
+ tolerance?: string;
2877
3027
  /**
2878
- * Name of the importer that can handle this file
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
3155
+ */
3156
+ identified: boolean;
3157
+ /**
3158
+ * Name of the importer that can handle this file
2879
3159
  */
2880
3160
  importerName?: string;
2881
3161
  /**
@@ -3019,70 +3299,6 @@ type UpdateImporterConfigDto = {
3019
3299
  */
3020
3300
  data?: UpdateConfigDataDto;
3021
3301
  };
3022
- type CreatePlatformDto = {
3023
- /**
3024
- * Platform name
3025
- */
3026
- name: string;
3027
- /**
3028
- * Platform canonical identifier (lowercase, kebab-case)
3029
- */
3030
- canonical: string;
3031
- /**
3032
- * Platform aliases (multi-language names for lookup)
3033
- */
3034
- aliases: Array<string>;
3035
- /**
3036
- * Platform URL
3037
- */
3038
- url: string;
3039
- /**
3040
- * Platform type
3041
- */
3042
- type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3043
- /**
3044
- * Platform logo URL
3045
- */
3046
- logoUrl?: string;
3047
- /**
3048
- * Whether the platform is active
3049
- */
3050
- isActive?: boolean;
3051
- };
3052
- /**
3053
- * Platform type
3054
- */
3055
- type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3056
- type UpdatePlatformDto = {
3057
- /**
3058
- * Platform name
3059
- */
3060
- name?: string;
3061
- /**
3062
- * Platform canonical identifier (lowercase, kebab-case)
3063
- */
3064
- canonical?: string;
3065
- /**
3066
- * Platform aliases (multi-language names for lookup)
3067
- */
3068
- aliases?: Array<string>;
3069
- /**
3070
- * Platform URL
3071
- */
3072
- url?: string;
3073
- /**
3074
- * Platform type
3075
- */
3076
- type?: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3077
- /**
3078
- * Platform logo URL
3079
- */
3080
- logoUrl?: string;
3081
- /**
3082
- * Whether the platform is active
3083
- */
3084
- isActive?: boolean;
3085
- };
3086
3302
  type ProviderSyncConfigDto = {
3087
3303
  /**
3088
3304
  * Source account for the first posting
@@ -3104,6 +3320,10 @@ type ProviderSyncConfigDto = {
3104
3320
  * Filter pending transactions
3105
3321
  */
3106
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;
3107
3327
  };
3108
3328
  type ProviderSyncDto = {
3109
3329
  /**
@@ -3155,6 +3375,41 @@ type SupportedProvidersResponseDto = {
3155
3375
  */
3156
3376
  providers: Array<string>;
3157
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
+ };
3158
3413
  type ParserTelemetryReportDto = unknown;
3159
3414
  type UncoveredFormatMissDto = unknown;
3160
3415
  type ProcessNlpDto = {
@@ -3690,67 +3945,197 @@ type liabilitySubType = 'borrow' | 'repay';
3690
3945
  * Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
3691
3946
  */
3692
3947
  type equitySubType = 'opening' | 'adjustment';
3693
- type BalanceByCurrencyDto = {
3948
+ type PlatformListItemDto = {
3694
3949
  /**
3695
- * ISO 4217 currency code
3950
+ * Global platform ID
3696
3951
  */
3697
- currency: string;
3952
+ id: string;
3698
3953
  /**
3699
- * Balance amount
3954
+ * Platform name
3700
3955
  */
3701
- balance: string;
3702
- };
3703
- type NetWorthByCurrencyDto = {
3956
+ name: string;
3704
3957
  /**
3705
- * Net worth by currency
3958
+ * Platform URL
3706
3959
  */
3707
- netWorth: Array<BalanceByCurrencyDto>;
3960
+ url: string;
3708
3961
  /**
3709
- * Assets by currency
3962
+ * Platform type
3710
3963
  */
3711
- assets: Array<BalanceByCurrencyDto>;
3964
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3712
3965
  /**
3713
- * Liabilities by currency
3966
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
3714
3967
  */
3715
- liabilities: Array<BalanceByCurrencyDto>;
3716
- };
3717
- type ConvertedNetWorthDto = {
3968
+ canonical: string;
3718
3969
  /**
3719
- * Base currency for conversion
3970
+ * Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
3720
3971
  */
3721
- baseCurrency: string;
3972
+ suggestedSegment: string;
3722
3973
  /**
3723
- * Converted net worth
3974
+ * Logo URL
3724
3975
  */
3725
- netWorth: string;
3976
+ logoUrl: string | null;
3726
3977
  /**
3727
- * Converted assets
3978
+ * Whether user has accounts using this platform
3728
3979
  */
3729
- assets: string;
3980
+ isBound: boolean;
3981
+ };
3982
+ /**
3983
+ * Platform type
3984
+ */
3985
+ type type3 = 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3986
+ type PlatformMatchResultDto = {
3730
3987
  /**
3731
- * Converted liabilities
3988
+ * Global platform ID
3732
3989
  */
3733
- liabilities: string;
3990
+ id: string;
3734
3991
  /**
3735
- * Exchange rates used for conversion
3992
+ * Platform name (e.g., "ICBC")
3736
3993
  */
3737
- exchangeRates: {
3738
- [key: string]: unknown;
3739
- };
3740
- };
3741
- type ExchangeRateWarningDto = {
3994
+ name: string;
3742
3995
  /**
3743
- * Warning type
3996
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
3744
3997
  */
3745
- type: string;
3998
+ canonical: string;
3746
3999
  /**
3747
- * Currency without exchange rate
4000
+ * Platform type
3748
4001
  */
3749
- currency: string;
4002
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
3750
4003
  /**
3751
- * Total amount affected
4004
+ * Suggested path segment — canonical, already in ACCOUNT_RE format
3752
4005
  */
3753
- totalAmount: string;
4006
+ suggestedSegment: string;
4007
+ /**
4008
+ * Logo URL
4009
+ */
4010
+ logoUrl: string | null;
4011
+ /**
4012
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4013
+ */
4014
+ matchType: 'exact' | 'prefix' | 'substring';
4015
+ };
4016
+ /**
4017
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4018
+ */
4019
+ type matchType = 'exact' | 'prefix' | 'substring';
4020
+ type PlatformMatchResponseDto = {
4021
+ /**
4022
+ * Ranked matches, best tier first (at most 10 rows)
4023
+ */
4024
+ platforms: Array<PlatformMatchResultDto>;
4025
+ /**
4026
+ * Overall match quality — top row's tier, or 'none' when no hits
4027
+ */
4028
+ matchType: 'none' | 'exact' | 'prefix' | 'substring';
4029
+ /**
4030
+ * Total matches before LIMIT (truncation transparency)
4031
+ */
4032
+ total: number;
4033
+ /**
4034
+ * true when total > platforms.length (more matches exist)
4035
+ */
4036
+ hasMore: boolean;
4037
+ };
4038
+ /**
4039
+ * Overall match quality — top row's tier, or 'none' when no hits
4040
+ */
4041
+ type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
4042
+ type CreatePlatformDto = {
4043
+ /**
4044
+ * Platform name
4045
+ */
4046
+ name: string;
4047
+ /**
4048
+ * Platform canonical identifier (lowercase, kebab-case)
4049
+ */
4050
+ canonical: string;
4051
+ /**
4052
+ * Platform aliases (multi-language names for lookup)
4053
+ */
4054
+ aliases: Array<string>;
4055
+ /**
4056
+ * Platform URL
4057
+ */
4058
+ url: string;
4059
+ /**
4060
+ * Platform type
4061
+ */
4062
+ type: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4063
+ /**
4064
+ * Platform logo URL
4065
+ */
4066
+ logoUrl?: string;
4067
+ /**
4068
+ * Whether the platform is active
4069
+ */
4070
+ isActive?: boolean;
4071
+ };
4072
+ type UpdatePlatformDto = {
4073
+ /**
4074
+ * Platform name
4075
+ */
4076
+ name?: string;
4077
+ /**
4078
+ * Platform canonical identifier (lowercase, kebab-case)
4079
+ */
4080
+ canonical?: string;
4081
+ /**
4082
+ * Platform aliases (multi-language names for lookup)
4083
+ */
4084
+ aliases?: Array<string>;
4085
+ /**
4086
+ * Platform URL
4087
+ */
4088
+ url?: string;
4089
+ /**
4090
+ * Platform type
4091
+ */
4092
+ type?: 'BANK' | 'BROKERAGE' | 'CRYPTO_EXCHANGE' | 'PAYMENT' | 'INVESTMENT' | 'INSURANCE' | 'OTHER';
4093
+ /**
4094
+ * Platform logo URL
4095
+ */
4096
+ logoUrl?: string;
4097
+ /**
4098
+ * Whether the platform is active
4099
+ */
4100
+ isActive?: boolean;
4101
+ };
4102
+ type NetWorthByCurrencyDto = {
4103
+ /**
4104
+ * Net worth by currency
4105
+ */
4106
+ netWorth: Array<BalanceByCurrencyDto>;
4107
+ /**
4108
+ * Assets by currency
4109
+ */
4110
+ assets: Array<BalanceByCurrencyDto>;
4111
+ /**
4112
+ * Liabilities by currency
4113
+ */
4114
+ liabilities: Array<BalanceByCurrencyDto>;
4115
+ };
4116
+ type ConvertedNetWorthDto = {
4117
+ /**
4118
+ * Base currency for conversion
4119
+ */
4120
+ baseCurrency: string;
4121
+ /**
4122
+ * Converted net worth
4123
+ */
4124
+ netWorth: string;
4125
+ /**
4126
+ * Converted assets
4127
+ */
4128
+ assets: string;
4129
+ /**
4130
+ * Converted liabilities
4131
+ */
4132
+ liabilities: string;
4133
+ /**
4134
+ * Exchange rates used for conversion
4135
+ */
4136
+ exchangeRates: {
4137
+ [key: string]: unknown;
4138
+ };
3754
4139
  };
3755
4140
  type NetWorthResponseDto = {
3756
4141
  /**
@@ -3815,6 +4200,10 @@ type AccountItemDto = {
3815
4200
  * Currency code
3816
4201
  */
3817
4202
  currency: string;
4203
+ /**
4204
+ * FX-converted balance in base currency; omitted when not convertible
4205
+ */
4206
+ convertedBalance?: string;
3818
4207
  };
3819
4208
  type PlatformGroupDto = {
3820
4209
  /**
@@ -3830,9 +4219,39 @@ type PlatformGroupDto = {
3830
4219
  */
3831
4220
  accounts: Array<AccountItemDto>;
3832
4221
  /**
3833
- * Total balance across all accounts in platform
4222
+ * FX-converted total balance in base currency
3834
4223
  */
3835
4224
  totalBalance: string;
4225
+ /**
4226
+ * Raw (unconverted) balances grouped by currency
4227
+ */
4228
+ balanceByCurrency: Array<BalanceByCurrencyDto>;
4229
+ /**
4230
+ * Converted balance in base currency (omitted when no currency is convertible)
4231
+ */
4232
+ convertedBalance?: string;
4233
+ /**
4234
+ * Share of the grand converted total (0-100); 0 when grand total is 0
4235
+ */
4236
+ sharePct: number;
4237
+ };
4238
+ type AccountExchangeRateWarningDto = {
4239
+ /**
4240
+ * Warning type
4241
+ */
4242
+ type: string;
4243
+ /**
4244
+ * Currency without exchange rate
4245
+ */
4246
+ currency: string;
4247
+ /**
4248
+ * Affected account paths
4249
+ */
4250
+ accounts: Array<string>;
4251
+ /**
4252
+ * Total amount in this currency
4253
+ */
4254
+ totalAmount: string;
3836
4255
  };
3837
4256
  type AccountsSummaryDto = {
3838
4257
  /**
@@ -3843,6 +4262,14 @@ type AccountsSummaryDto = {
3843
4262
  * Total number of platforms
3844
4263
  */
3845
4264
  totalPlatforms: number;
4265
+ /**
4266
+ * Base currency for conversion
4267
+ */
4268
+ baseCurrency: string;
4269
+ /**
4270
+ * Per-account exchange rate warnings
4271
+ */
4272
+ warnings?: Array<AccountExchangeRateWarningDto>;
3846
4273
  };
3847
4274
  type AccountsResponseDto = {
3848
4275
  /**
@@ -3875,6 +4302,10 @@ type AccountItemWithAssetClassDto = {
3875
4302
  * Currency code
3876
4303
  */
3877
4304
  currency: string;
4305
+ /**
4306
+ * FX-converted balance in base currency; omitted when not convertible
4307
+ */
4308
+ convertedBalance?: string;
3878
4309
  /**
3879
4310
  * Asset class
3880
4311
  */
@@ -3926,24 +4357,6 @@ type AssetClassGroupDto = {
3926
4357
  * Asset class name
3927
4358
  */
3928
4359
  type assetClass = 'LIQUIDITY' | 'EQUITY' | 'FIXED_INCOME' | 'PRECIOUS_METALS' | 'COMMODITY' | 'INSURANCE' | 'ALTERNATIVE_INVESTMENT' | 'PERSONAL_ASSETS' | 'LIABILITY' | 'REAL_ESTATE' | 'INDEX';
3929
- type AccountExchangeRateWarningDto = {
3930
- /**
3931
- * Warning type
3932
- */
3933
- type: string;
3934
- /**
3935
- * Currency without exchange rate
3936
- */
3937
- currency: string;
3938
- /**
3939
- * Affected account paths
3940
- */
3941
- accounts: Array<string>;
3942
- /**
3943
- * Total amount in this currency
3944
- */
3945
- totalAmount: string;
3946
- };
3947
4360
  type AssetClassSummaryDto = {
3948
4361
  /**
3949
4362
  * Total number of accounts
@@ -4104,11 +4517,11 @@ type CashFlowResponseDto = {
4104
4517
  };
4105
4518
  type CategoryGroupDto = {
4106
4519
  /**
4107
- * Functional category (account-path Group segment)
4520
+ * Functional category (account-path Group segment); regional and universal account paths merge under it
4108
4521
  */
4109
4522
  category: string;
4110
4523
  /**
4111
- * Converted total expense in base currency
4524
+ * Converted total for this category in base currency (expense amount when flow=expense, income amount when flow=income)
4112
4525
  */
4113
4526
  totalExpense: string;
4114
4527
  /**
@@ -4126,7 +4539,7 @@ type CategoryGroupDto = {
4126
4539
  };
4127
4540
  type ExpensesByCategorySummaryDto = {
4128
4541
  /**
4129
- * Total expense across all categories (converted; convertible categories only)
4542
+ * Total across all categories, converted (convertible categories only); expense totals when flow=expense, income totals when flow=income
4130
4543
  */
4131
4544
  totalExpense: string;
4132
4545
  /**
@@ -4327,173 +4740,83 @@ type HoldingPnlResponseDto = {
4327
4740
  * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4328
4741
  */
4329
4742
  type method = 'average' | 'FIFO';
4330
- type CreateBeanPriceDto = {
4743
+ type CurrencyBalanceDto = {
4331
4744
  /**
4332
- * Currency being priced (e.g., USD, AAPL, BTC)
4745
+ * ISO 4217 currency code
4333
4746
  */
4334
4747
  currency: string;
4335
4748
  /**
4336
- * Quote currency (pricing currency, e.g., CNY, EUR)
4749
+ * Balance amount
4337
4750
  */
4338
- quoteCurrency: string;
4751
+ balance: string;
4752
+ };
4753
+ type TimeSeriesPointDto = {
4339
4754
  /**
4340
- * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
4755
+ * Date in YYYY-MM-DD format
4341
4756
  */
4342
- amount: number;
4757
+ date: string;
4343
4758
  /**
4344
- * Price date (ISO 8601 format)
4759
+ * Value at this date (in base currency)
4345
4760
  */
4346
- date: string;
4761
+ value: string;
4347
4762
  /**
4348
- * Metadata (validated by Zod schema, max field lengths enforced)
4763
+ * Change from previous point
4349
4764
  */
4350
- metadata?: {
4765
+ change?: {
4351
4766
  [key: string]: unknown;
4352
4767
  };
4353
- };
4354
- type PriceResponseDto = {
4355
4768
  /**
4356
- * Unique identifier
4769
+ * Total assets at this date (in base currency)
4357
4770
  */
4358
- id: string;
4771
+ assets?: string;
4359
4772
  /**
4360
- * User ID (owner of the price)
4773
+ * Total liabilities at this date (in base currency)
4361
4774
  */
4362
- userId: string;
4775
+ liabilities?: string;
4363
4776
  /**
4364
- * Currency being priced (e.g., USD, AAPL, BTC)
4777
+ * Multi-currency breakdown for this point
4365
4778
  */
4366
- currency: string;
4779
+ byCurrency?: Array<CurrencyBalanceDto>;
4780
+ };
4781
+ type TrendSummaryDto = {
4367
4782
  /**
4368
- * Quote currency (pricing currency, e.g., USD, CNY)
4783
+ * Value at start of period
4369
4784
  */
4370
- quoteCurrency: string;
4785
+ startValue: string;
4371
4786
  /**
4372
- * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
4787
+ * Value at end of period
4373
4788
  */
4374
- amount: number;
4789
+ endValue: string;
4375
4790
  /**
4376
- * Price date (ISO 8601 format). Represents the date this price was valid.
4791
+ * Total change over period
4377
4792
  */
4378
- date: string;
4793
+ totalChange: string;
4379
4794
  /**
4380
- * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
4795
+ * Total change percentage
4381
4796
  */
4382
- meta: {
4383
- [key: string]: unknown;
4384
- };
4797
+ totalChangePercentage: string;
4798
+ };
4799
+ type MultiCurrencyPointDto = {
4385
4800
  /**
4386
- * Creation timestamp
4801
+ * Date in YYYY-MM-DD format
4387
4802
  */
4388
- createdAt: string;
4803
+ date: string;
4389
4804
  /**
4390
- * Last update timestamp
4805
+ * Balances by currency
4391
4806
  */
4392
- updatedAt: string;
4807
+ byCurrency: Array<CurrencyBalanceDto>;
4393
4808
  };
4394
- type PriceListResponseDto = {
4809
+ type PortfolioTrendsResponseDto = {
4395
4810
  /**
4396
- * List of prices
4811
+ * Time series data points
4397
4812
  */
4398
- items: Array<PriceResponseDto>;
4813
+ series: Array<TimeSeriesPointDto>;
4399
4814
  /**
4400
- * Total number of prices
4815
+ * Period summary
4401
4816
  */
4402
- total: number;
4403
- };
4404
- type UpdateBeanPriceDto = {
4817
+ summary: TrendSummaryDto;
4405
4818
  /**
4406
- * Currency being priced
4407
- */
4408
- currency?: string;
4409
- /**
4410
- * Quote currency (pricing currency)
4411
- */
4412
- quoteCurrency?: string;
4413
- /**
4414
- * Price amount (MUST be >= 0 per Beancount spec)
4415
- */
4416
- amount?: number;
4417
- /**
4418
- * Price date (ISO 8601 format)
4419
- */
4420
- date?: string;
4421
- /**
4422
- * Metadata
4423
- */
4424
- metadata?: {
4425
- [key: string]: unknown;
4426
- };
4427
- };
4428
- type CurrencyBalanceDto = {
4429
- /**
4430
- * ISO 4217 currency code
4431
- */
4432
- currency: string;
4433
- /**
4434
- * Balance amount
4435
- */
4436
- balance: string;
4437
- };
4438
- type TimeSeriesPointDto = {
4439
- /**
4440
- * Date in YYYY-MM-DD format
4441
- */
4442
- date: string;
4443
- /**
4444
- * Value at this date (in base currency)
4445
- */
4446
- value: string;
4447
- /**
4448
- * Change from previous point
4449
- */
4450
- change?: {
4451
- [key: string]: unknown;
4452
- };
4453
- /**
4454
- * Multi-currency breakdown for this point
4455
- */
4456
- byCurrency?: Array<CurrencyBalanceDto>;
4457
- };
4458
- type TrendSummaryDto = {
4459
- /**
4460
- * Value at start of period
4461
- */
4462
- startValue: string;
4463
- /**
4464
- * Value at end of period
4465
- */
4466
- endValue: string;
4467
- /**
4468
- * Total change over period
4469
- */
4470
- totalChange: string;
4471
- /**
4472
- * Total change percentage
4473
- */
4474
- totalChangePercentage: string;
4475
- };
4476
- type MultiCurrencyPointDto = {
4477
- /**
4478
- * Date in YYYY-MM-DD format
4479
- */
4480
- date: string;
4481
- /**
4482
- * Balances by currency
4483
- */
4484
- byCurrency: Array<CurrencyBalanceDto>;
4485
- };
4486
- type PortfolioTrendsResponseDto = {
4487
- /**
4488
- * Time series data points
4489
- */
4490
- series: Array<TimeSeriesPointDto>;
4491
- /**
4492
- * Period summary
4493
- */
4494
- summary: TrendSummaryDto;
4495
- /**
4496
- * Period requested
4819
+ * Period requested
4497
4820
  */
4498
4821
  period: string;
4499
4822
  /**
@@ -4611,7 +4934,7 @@ type AccountControllerFindAllData = {
4611
4934
  */
4612
4935
  region: 'cn' | 'us' | 'de' | 'gb';
4613
4936
  /**
4614
- * Search term for path or i18nKey
4937
+ * Search term for account path
4615
4938
  */
4616
4939
  search?: string;
4617
4940
  /**
@@ -4682,6 +5005,18 @@ type AccountControllerReopenData = {
4682
5005
  requestBody: ReopenAccountDto;
4683
5006
  };
4684
5007
  type AccountControllerReopenResponse = AccountResponseDto;
5008
+ type AccountControllerAddOpeningBalanceData = {
5009
+ /**
5010
+ * Account UUID
5011
+ */
5012
+ id: string;
5013
+ /**
5014
+ * Region code for tenant context
5015
+ */
5016
+ region: 'cn' | 'us' | 'de' | 'gb';
5017
+ requestBody: CreateOpeningBalanceDto;
5018
+ };
5019
+ type AccountControllerAddOpeningBalanceResponse = OpeningBalanceResultDto;
4685
5020
  type AccountStandardsControllerGetTemplatesData = {
4686
5021
  /**
4687
5022
  * Region code (cn, us, de)
@@ -4731,6 +5066,10 @@ type TransactionControllerListData = {
4731
5066
  * Filter by account ID (transactions with postings to this account)
4732
5067
  */
4733
5068
  accountId?: string;
5069
+ /**
5070
+ * Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
5071
+ */
5072
+ category?: string;
4734
5073
  /**
4735
5074
  * Filter by start date (inclusive), format: YYYY-MM-DD
4736
5075
  */
@@ -4839,7 +5178,7 @@ type TransactionControllerDeleteData = {
4839
5178
  type TransactionControllerDeleteResponse = void;
4840
5179
  type BalanceControllerGetBalanceData = {
4841
5180
  /**
4842
- * Account name (e.g., "Assets:Bank:Checking")
5181
+ * Account name (e.g., "Assets:Checking")
4843
5182
  */
4844
5183
  account: string;
4845
5184
  /**
@@ -5151,6 +5490,91 @@ type CommodityControllerBulkCreateData = {
5151
5490
  region: 'cn' | 'us' | 'de' | 'gb';
5152
5491
  };
5153
5492
  type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
5493
+ type PriceControllerCreateData = {
5494
+ /**
5495
+ * Region code for tenant context
5496
+ */
5497
+ region: 'cn' | 'us' | 'de' | 'gb';
5498
+ requestBody: CreateBeanPriceDto;
5499
+ };
5500
+ type PriceControllerCreateResponse = PriceResponseDto;
5501
+ type PriceControllerFindAllData = {
5502
+ /**
5503
+ * Filter by currency (e.g., BTC, AAPL, USD)
5504
+ */
5505
+ currency?: string;
5506
+ /**
5507
+ * Filter prices from this date (ISO 8601 format)
5508
+ */
5509
+ dateFrom?: string;
5510
+ /**
5511
+ * Filter prices to this date (ISO 8601 format)
5512
+ */
5513
+ dateTo?: string;
5514
+ /**
5515
+ * Number of items per page (default: 20, max: 100)
5516
+ */
5517
+ limit?: number;
5518
+ /**
5519
+ * Page number for pagination (default: 1)
5520
+ */
5521
+ page?: number;
5522
+ /**
5523
+ * Filter by quote currency (pricing currency, e.g., USD, CNY)
5524
+ */
5525
+ quoteCurrency?: string;
5526
+ /**
5527
+ * Region code for tenant context
5528
+ */
5529
+ region: 'cn' | 'us' | 'de' | 'gb';
5530
+ /**
5531
+ * Search term for currency or quoteCurrency (case-insensitive partial match)
5532
+ */
5533
+ search?: string;
5534
+ };
5535
+ type PriceControllerFindAllResponse = PriceListResponseDto;
5536
+ type PriceControllerFindOneData = {
5537
+ /**
5538
+ * Price ID
5539
+ */
5540
+ id: string;
5541
+ /**
5542
+ * Region code for tenant context
5543
+ */
5544
+ region: 'cn' | 'us' | 'de' | 'gb';
5545
+ };
5546
+ type PriceControllerFindOneResponse = PriceResponseDto;
5547
+ type PriceControllerUpdateData = {
5548
+ /**
5549
+ * Price ID
5550
+ */
5551
+ id: string;
5552
+ /**
5553
+ * Region code for tenant context
5554
+ */
5555
+ region: 'cn' | 'us' | 'de' | 'gb';
5556
+ requestBody: UpdateBeanPriceDto;
5557
+ };
5558
+ type PriceControllerUpdateResponse = PriceResponseDto;
5559
+ type PriceControllerDeleteData = {
5560
+ /**
5561
+ * Price ID
5562
+ */
5563
+ id: string;
5564
+ /**
5565
+ * Region code for tenant context
5566
+ */
5567
+ region: 'cn' | 'us' | 'de' | 'gb';
5568
+ };
5569
+ type PriceControllerDeleteResponse = void;
5570
+ type PriceControllerBulkCreateData = {
5571
+ /**
5572
+ * Region code for tenant context
5573
+ */
5574
+ region: 'cn' | 'us' | 'de' | 'gb';
5575
+ requestBody: Array<string>;
5576
+ };
5577
+ type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
5154
5578
  type RecurringRuleControllerCreateData = {
5155
5579
  /**
5156
5580
  * Region code for tenant context
@@ -5614,6 +6038,49 @@ type EventControllerGetSliceData = {
5614
6038
  region: 'cn' | 'us' | 'de' | 'gb';
5615
6039
  };
5616
6040
  type EventControllerGetSliceResponse = unknown;
6041
+ type OnboardingControllerBootstrapData = {
6042
+ /**
6043
+ * Region code for tenant context
6044
+ */
6045
+ region: 'cn' | 'us' | 'de' | 'gb';
6046
+ requestBody: OnboardingDto;
6047
+ };
6048
+ type OnboardingControllerBootstrapResponse = unknown;
6049
+ type ReconciliationControllerComputeData = {
6050
+ /**
6051
+ * Region code for tenant context (decorative for reconciliation)
6052
+ */
6053
+ region: 'cn' | 'us' | 'de' | 'gb';
6054
+ requestBody: ComputeReconciliationDto;
6055
+ };
6056
+ type ReconciliationControllerComputeResponse = ReconciliationComputeResultDto;
6057
+ type ReconciliationControllerAssertData = {
6058
+ /**
6059
+ * Region code for tenant context (decorative for reconciliation)
6060
+ */
6061
+ region: 'cn' | 'us' | 'de' | 'gb';
6062
+ requestBody: AssertReconciliationDto;
6063
+ };
6064
+ type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
6065
+ type ReconciliationControllerPadData = {
6066
+ /**
6067
+ * Region code for tenant context (decorative for reconciliation)
6068
+ */
6069
+ region: 'cn' | 'us' | 'de' | 'gb';
6070
+ requestBody: PadReconciliationDto;
6071
+ };
6072
+ type ReconciliationControllerPadResponse = PadResultDto;
6073
+ type ReconciliationControllerHistoryData = {
6074
+ /**
6075
+ * BeanAccount id
6076
+ */
6077
+ accountId: string;
6078
+ /**
6079
+ * Region code for tenant context (decorative for reconciliation)
6080
+ */
6081
+ region: 'cn' | 'us' | 'de' | 'gb';
6082
+ };
6083
+ type ReconciliationControllerHistoryResponse = Array<ReconciliationRecordDto>;
5617
6084
  type ExportControllerExportBeancountResponse = unknown;
5618
6085
  type FileImportControllerImportFileData = {
5619
6086
  /**
@@ -5693,38 +6160,6 @@ type ImporterConfigControllerResetConfigData = {
5693
6160
  region: 'cn' | 'us' | 'de' | 'gb';
5694
6161
  };
5695
6162
  type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
5696
- type PlatformControllerFindAllResponse = unknown;
5697
- type PlatformControllerCreateData = {
5698
- requestBody: CreatePlatformDto;
5699
- };
5700
- type PlatformControllerCreateResponse = unknown;
5701
- type PlatformControllerGetPlatformListResponse = unknown;
5702
- type PlatformControllerMatchPlatformsData = {
5703
- /**
5704
- * Search query — Chinese name, English name, or abbreviation
5705
- */
5706
- q: string;
5707
- /**
5708
- * Region code for category override lookup
5709
- */
5710
- region?: string;
5711
- };
5712
- type PlatformControllerMatchPlatformsResponse = unknown;
5713
- type PlatformControllerUpdateData = {
5714
- /**
5715
- * Platform ID
5716
- */
5717
- id: string;
5718
- requestBody: UpdatePlatformDto;
5719
- };
5720
- type PlatformControllerUpdateResponse = unknown;
5721
- type PlatformControllerDeleteData = {
5722
- /**
5723
- * Platform ID
5724
- */
5725
- id: string;
5726
- };
5727
- type PlatformControllerDeleteResponse = void;
5728
6163
  type ProviderSyncControllerSyncData = {
5729
6164
  /**
5730
6165
  * Provider name
@@ -5755,39 +6190,71 @@ type ProviderSyncControllerIsProviderSupportedData = {
5755
6190
  region: 'cn' | 'us' | 'de' | 'gb';
5756
6191
  };
5757
6192
  type ProviderSyncControllerIsProviderSupportedResponse = unknown;
5758
- type TelemetryControllerReportTelemetryData = {
6193
+ type ExternalAccountLinkControllerCreateData = {
5759
6194
  /**
5760
6195
  * Region code for tenant context
5761
6196
  */
5762
6197
  region: 'cn' | 'us' | 'de' | 'gb';
5763
- requestBody: ParserTelemetryReportDto;
6198
+ requestBody: CreateExternalAccountLinkDto;
5764
6199
  };
5765
- type TelemetryControllerReportTelemetryResponse = unknown;
5766
- type TelemetryControllerReportCoverageMissData = {
6200
+ type ExternalAccountLinkControllerCreateResponse = ExternalAccountLinkResponseDto;
6201
+ type ExternalAccountLinkControllerFindAllData = {
6202
+ provider: string;
5767
6203
  /**
5768
6204
  * Region code for tenant context
5769
6205
  */
5770
6206
  region: 'cn' | 'us' | 'de' | 'gb';
5771
- requestBody: UncoveredFormatMissDto;
5772
6207
  };
5773
- type TelemetryControllerReportCoverageMissResponse = unknown;
5774
- type TelemetryControllerGetCoverageMetricsData = {
6208
+ type ExternalAccountLinkControllerFindAllResponse = ExternalAccountLinkListResponseDto;
6209
+ type ExternalAccountLinkControllerFindOneData = {
6210
+ id: string;
5775
6211
  /**
5776
6212
  * Region code for tenant context
5777
6213
  */
5778
6214
  region: 'cn' | 'us' | 'de' | 'gb';
5779
- /**
5780
- * Top-N uncovered formats (default 10)
5781
- */
5782
- topN?: unknown;
5783
6215
  };
5784
- type TelemetryControllerGetCoverageMetricsResponse = unknown;
5785
- type NlpControllerProcessNaturalLanguageData = {
6216
+ type ExternalAccountLinkControllerFindOneResponse = ExternalAccountLinkResponseDto;
6217
+ type ExternalAccountLinkControllerRemoveData = {
6218
+ id: string;
5786
6219
  /**
5787
6220
  * Region code for tenant context
5788
6221
  */
5789
6222
  region: 'cn' | 'us' | 'de' | 'gb';
5790
- /**
6223
+ };
6224
+ type ExternalAccountLinkControllerRemoveResponse = void;
6225
+ type TelemetryControllerReportTelemetryData = {
6226
+ /**
6227
+ * Region code for tenant context
6228
+ */
6229
+ region: 'cn' | 'us' | 'de' | 'gb';
6230
+ requestBody: ParserTelemetryReportDto;
6231
+ };
6232
+ type TelemetryControllerReportTelemetryResponse = unknown;
6233
+ type TelemetryControllerReportCoverageMissData = {
6234
+ /**
6235
+ * Region code for tenant context
6236
+ */
6237
+ region: 'cn' | 'us' | 'de' | 'gb';
6238
+ requestBody: UncoveredFormatMissDto;
6239
+ };
6240
+ type TelemetryControllerReportCoverageMissResponse = unknown;
6241
+ type TelemetryControllerGetCoverageMetricsData = {
6242
+ /**
6243
+ * Region code for tenant context
6244
+ */
6245
+ region: 'cn' | 'us' | 'de' | 'gb';
6246
+ /**
6247
+ * Top-N uncovered formats (default 10)
6248
+ */
6249
+ topN?: unknown;
6250
+ };
6251
+ type TelemetryControllerGetCoverageMetricsResponse = unknown;
6252
+ type NlpControllerProcessNaturalLanguageData = {
6253
+ /**
6254
+ * Region code for tenant context
6255
+ */
6256
+ region: 'cn' | 'us' | 'de' | 'gb';
6257
+ /**
5791
6258
  * Natural language transaction input with optional session ID
5792
6259
  */
5793
6260
  requestBody: ProcessNlpDto;
@@ -5815,6 +6282,38 @@ type NlpControllerGetSessionData = {
5815
6282
  sessionId?: string;
5816
6283
  };
5817
6284
  type NlpControllerGetSessionResponse = unknown;
6285
+ type PlatformControllerFindAllResponse = unknown;
6286
+ type PlatformControllerCreateData = {
6287
+ requestBody: CreatePlatformDto;
6288
+ };
6289
+ type PlatformControllerCreateResponse = unknown;
6290
+ type PlatformControllerGetPlatformListResponse = Array<PlatformListItemDto>;
6291
+ type PlatformControllerMatchPlatformsData = {
6292
+ /**
6293
+ * Search query — Chinese name, English name, or abbreviation
6294
+ */
6295
+ q: string;
6296
+ /**
6297
+ * Region code for category override lookup
6298
+ */
6299
+ region?: string;
6300
+ };
6301
+ type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
6302
+ type PlatformControllerUpdateData = {
6303
+ /**
6304
+ * Platform ID
6305
+ */
6306
+ id: string;
6307
+ requestBody: UpdatePlatformDto;
6308
+ };
6309
+ type PlatformControllerUpdateResponse = unknown;
6310
+ type PlatformControllerDeleteData = {
6311
+ /**
6312
+ * Platform ID
6313
+ */
6314
+ id: string;
6315
+ };
6316
+ type PlatformControllerDeleteResponse = void;
5818
6317
  type DashboardControllerGetNetWorthData = {
5819
6318
  /**
5820
6319
  * Date for balance calculation (ISO 8601 format)
@@ -5857,6 +6356,10 @@ type DashboardControllerGetCashFlowData = {
5857
6356
  };
5858
6357
  type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
5859
6358
  type DashboardControllerGetExpensesData = {
6359
+ /**
6360
+ * Account root to aggregate (expense → ^Expenses:, income → ^Income:)
6361
+ */
6362
+ flow?: 'expense' | 'income';
5860
6363
  /**
5861
6364
  * Grouping strategy
5862
6365
  */
@@ -5890,91 +6393,6 @@ type HoldingPnlControllerGetHoldingPnlData = {
5890
6393
  region: 'cn' | 'us' | 'de' | 'gb';
5891
6394
  };
5892
6395
  type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
5893
- type PriceControllerCreateData = {
5894
- /**
5895
- * Region code for tenant context
5896
- */
5897
- region: 'cn' | 'us' | 'de' | 'gb';
5898
- requestBody: CreateBeanPriceDto;
5899
- };
5900
- type PriceControllerCreateResponse = PriceResponseDto;
5901
- type PriceControllerFindAllData = {
5902
- /**
5903
- * Filter by currency (e.g., BTC, AAPL, USD)
5904
- */
5905
- currency?: string;
5906
- /**
5907
- * Filter prices from this date (ISO 8601 format)
5908
- */
5909
- dateFrom?: string;
5910
- /**
5911
- * Filter prices to this date (ISO 8601 format)
5912
- */
5913
- dateTo?: string;
5914
- /**
5915
- * Number of items per page (default: 20, max: 100)
5916
- */
5917
- limit?: number;
5918
- /**
5919
- * Page number for pagination (default: 1)
5920
- */
5921
- page?: number;
5922
- /**
5923
- * Filter by quote currency (pricing currency, e.g., USD, CNY)
5924
- */
5925
- quoteCurrency?: string;
5926
- /**
5927
- * Region code for tenant context
5928
- */
5929
- region: 'cn' | 'us' | 'de' | 'gb';
5930
- /**
5931
- * Search term for currency or quoteCurrency (case-insensitive partial match)
5932
- */
5933
- search?: string;
5934
- };
5935
- type PriceControllerFindAllResponse = PriceListResponseDto;
5936
- type PriceControllerFindOneData = {
5937
- /**
5938
- * Price ID
5939
- */
5940
- id: string;
5941
- /**
5942
- * Region code for tenant context
5943
- */
5944
- region: 'cn' | 'us' | 'de' | 'gb';
5945
- };
5946
- type PriceControllerFindOneResponse = PriceResponseDto;
5947
- type PriceControllerUpdateData = {
5948
- /**
5949
- * Price ID
5950
- */
5951
- id: string;
5952
- /**
5953
- * Region code for tenant context
5954
- */
5955
- region: 'cn' | 'us' | 'de' | 'gb';
5956
- requestBody: UpdateBeanPriceDto;
5957
- };
5958
- type PriceControllerUpdateResponse = PriceResponseDto;
5959
- type PriceControllerDeleteData = {
5960
- /**
5961
- * Price ID
5962
- */
5963
- id: string;
5964
- /**
5965
- * Region code for tenant context
5966
- */
5967
- region: 'cn' | 'us' | 'de' | 'gb';
5968
- };
5969
- type PriceControllerDeleteResponse = void;
5970
- type PriceControllerBulkCreateData = {
5971
- /**
5972
- * Region code for tenant context
5973
- */
5974
- region: 'cn' | 'us' | 'de' | 'gb';
5975
- requestBody: Array<string>;
5976
- };
5977
- type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
5978
6396
  type ReportingControllerGetPortfolioTrendsData = {
5979
6397
  /**
5980
6398
  * Data granularity
@@ -6163,6 +6581,25 @@ type $OpenApiTs = {
6163
6581
  };
6164
6582
  };
6165
6583
  };
6584
+ '/api/v1/{region}/bean/accounts/{id}/opening-balance': {
6585
+ post: {
6586
+ req: AccountControllerAddOpeningBalanceData;
6587
+ res: {
6588
+ /**
6589
+ * Opening-balance transaction created
6590
+ */
6591
+ 201: OpeningBalanceResultDto;
6592
+ /**
6593
+ * Account not found
6594
+ */
6595
+ 404: unknown;
6596
+ /**
6597
+ * An opening balance already exists for this account
6598
+ */
6599
+ 409: unknown;
6600
+ };
6601
+ };
6602
+ };
6166
6603
  '/api/v1/{region}/bean/account-standards': {
6167
6604
  get: {
6168
6605
  req: AccountStandardsControllerGetTemplatesData;
@@ -6771,6 +7208,90 @@ type $OpenApiTs = {
6771
7208
  };
6772
7209
  };
6773
7210
  };
7211
+ '/api/v1/{region}/bean/prices': {
7212
+ post: {
7213
+ req: PriceControllerCreateData;
7214
+ res: {
7215
+ /**
7216
+ * Price created successfully
7217
+ */
7218
+ 201: PriceResponseDto;
7219
+ /**
7220
+ * Currency or quoteCurrency commodity not found
7221
+ */
7222
+ 404: unknown;
7223
+ /**
7224
+ * Price already exists for this currency pair and date
7225
+ */
7226
+ 409: unknown;
7227
+ };
7228
+ };
7229
+ get: {
7230
+ req: PriceControllerFindAllData;
7231
+ res: {
7232
+ /**
7233
+ * Prices retrieved successfully
7234
+ */
7235
+ 200: PriceListResponseDto;
7236
+ };
7237
+ };
7238
+ };
7239
+ '/api/v1/{region}/bean/prices/{id}': {
7240
+ get: {
7241
+ req: PriceControllerFindOneData;
7242
+ res: {
7243
+ /**
7244
+ * Price retrieved successfully
7245
+ */
7246
+ 200: PriceResponseDto;
7247
+ /**
7248
+ * Price not found
7249
+ */
7250
+ 404: unknown;
7251
+ };
7252
+ };
7253
+ put: {
7254
+ req: PriceControllerUpdateData;
7255
+ res: {
7256
+ /**
7257
+ * Price updated successfully
7258
+ */
7259
+ 200: PriceResponseDto;
7260
+ /**
7261
+ * Price not found
7262
+ */
7263
+ 404: unknown;
7264
+ /**
7265
+ * Updated price conflicts with existing price
7266
+ */
7267
+ 409: unknown;
7268
+ };
7269
+ };
7270
+ delete: {
7271
+ req: PriceControllerDeleteData;
7272
+ res: {
7273
+ /**
7274
+ * Price deleted successfully
7275
+ */
7276
+ 204: void;
7277
+ /**
7278
+ * Price not found
7279
+ */
7280
+ 404: unknown;
7281
+ };
7282
+ };
7283
+ };
7284
+ '/api/v1/{region}/bean/prices/bulk': {
7285
+ post: {
7286
+ req: PriceControllerBulkCreateData;
7287
+ res: {
7288
+ /**
7289
+ * Prices created successfully
7290
+ */
7291
+ 201: Array<PriceResponseDto>;
7292
+ };
7293
+ };
7294
+ };
6774
7295
  '/api/v1/{region}/bean/recurring-rules': {
6775
7296
  post: {
6776
7297
  req: RecurringRuleControllerCreateData;
@@ -7511,13 +8032,92 @@ type $OpenApiTs = {
7511
8032
  };
7512
8033
  };
7513
8034
  };
7514
- '/api/v1/{region}/bean/export/beancount': {
7515
- get: {
8035
+ '/api/v1/{region}/bean/onboarding': {
8036
+ post: {
8037
+ req: OnboardingControllerBootstrapData;
7516
8038
  res: {
7517
- 200: unknown;
7518
- };
7519
- };
7520
- };
8039
+ /**
8040
+ * Onboarding bootstrap result.
8041
+ */
8042
+ 201: unknown;
8043
+ /**
8044
+ * Invalid region/account path/duplicate paths.
8045
+ */
8046
+ 422: unknown;
8047
+ };
8048
+ };
8049
+ };
8050
+ '/api/v1/{region}/bean/reconciliations': {
8051
+ post: {
8052
+ req: ReconciliationControllerComputeData;
8053
+ res: {
8054
+ /**
8055
+ * Reconciliation preview
8056
+ */
8057
+ 200: ReconciliationComputeResultDto;
8058
+ /**
8059
+ * Account not found
8060
+ */
8061
+ 404: unknown;
8062
+ };
8063
+ };
8064
+ };
8065
+ '/api/v1/{region}/bean/reconciliations/assert': {
8066
+ post: {
8067
+ req: ReconciliationControllerAssertData;
8068
+ res: {
8069
+ /**
8070
+ * Balance assertion recorded
8071
+ */
8072
+ 201: ReconciliationRecordDto;
8073
+ /**
8074
+ * Account not found
8075
+ */
8076
+ 404: unknown;
8077
+ };
8078
+ };
8079
+ };
8080
+ '/api/v1/{region}/bean/reconciliations/pad': {
8081
+ post: {
8082
+ req: ReconciliationControllerPadData;
8083
+ res: {
8084
+ /**
8085
+ * Pad adjusting entry generated
8086
+ */
8087
+ 201: PadResultDto;
8088
+ /**
8089
+ * Book already within tolerance — no pad needed
8090
+ */
8091
+ 400: unknown;
8092
+ /**
8093
+ * Account not found
8094
+ */
8095
+ 404: unknown;
8096
+ };
8097
+ };
8098
+ };
8099
+ '/api/v1/{region}/bean/accounts/{accountId}/reconciliations': {
8100
+ get: {
8101
+ req: ReconciliationControllerHistoryData;
8102
+ res: {
8103
+ /**
8104
+ * Reconciliation history
8105
+ */
8106
+ 200: Array<ReconciliationRecordDto>;
8107
+ /**
8108
+ * Account not found
8109
+ */
8110
+ 404: unknown;
8111
+ };
8112
+ };
8113
+ };
8114
+ '/api/v1/{region}/bean/export/beancount': {
8115
+ get: {
8116
+ res: {
8117
+ 200: unknown;
8118
+ };
8119
+ };
8120
+ };
7521
8121
  '/api/v1/{region}/bean/import/file': {
7522
8122
  post: {
7523
8123
  req: FileImportControllerImportFileData;
@@ -7661,128 +8261,104 @@ type $OpenApiTs = {
7661
8261
  };
7662
8262
  };
7663
8263
  };
7664
- '/api/v1/bean/platforms': {
7665
- get: {
8264
+ '/api/v1/{region}/bean/import/provider/{providerName}/sync': {
8265
+ post: {
8266
+ req: ProviderSyncControllerSyncData;
7666
8267
  res: {
7667
8268
  /**
7668
- * List of platforms with binding and account counts
8269
+ * Sync completed successfully
7669
8270
  */
7670
- 200: unknown;
7671
- };
7672
- };
7673
- post: {
7674
- req: PlatformControllerCreateData;
7675
- res: {
8271
+ 200: ProviderSyncResponseDto;
7676
8272
  /**
7677
- * Platform created successfully
8273
+ * Invalid request data
7678
8274
  */
7679
- 201: unknown;
8275
+ 400: unknown;
7680
8276
  /**
7681
- * Platform already exists
8277
+ * Missing or invalid authentication
7682
8278
  */
7683
- 409: unknown;
7684
- };
7685
- };
7686
- };
7687
- '/api/v1/bean/platforms/list': {
7688
- get: {
7689
- res: {
8279
+ 401: unknown;
7690
8280
  /**
7691
- * List of platforms with user binding status
8281
+ * Provider not supported
7692
8282
  */
7693
- 200: unknown;
8283
+ 404: unknown;
7694
8284
  };
7695
8285
  };
7696
8286
  };
7697
- '/api/v1/bean/platforms/match': {
8287
+ '/api/v1/{region}/bean/import/provider/supported': {
7698
8288
  get: {
7699
- req: PlatformControllerMatchPlatformsData;
8289
+ req: ProviderSyncControllerGetSupportedProvidersData;
7700
8290
  res: {
7701
8291
  /**
7702
- * List of matching platforms with suggested segment names
8292
+ * List of supported providers
7703
8293
  */
7704
- 200: unknown;
8294
+ 200: SupportedProvidersResponseDto;
8295
+ /**
8296
+ * Missing or invalid authentication
8297
+ */
8298
+ 401: unknown;
7705
8299
  };
7706
8300
  };
7707
8301
  };
7708
- '/api/v1/bean/platforms/{id}': {
7709
- put: {
7710
- req: PlatformControllerUpdateData;
8302
+ '/api/v1/{region}/bean/import/provider/{providerName}/supported': {
8303
+ get: {
8304
+ req: ProviderSyncControllerIsProviderSupportedData;
7711
8305
  res: {
7712
8306
  /**
7713
- * Platform updated successfully
8307
+ * Provider support status
7714
8308
  */
7715
8309
  200: unknown;
7716
8310
  /**
7717
- * Platform not found
8311
+ * Missing or invalid authentication
7718
8312
  */
7719
- 404: unknown;
8313
+ 401: unknown;
7720
8314
  };
7721
8315
  };
7722
- delete: {
7723
- req: PlatformControllerDeleteData;
8316
+ };
8317
+ '/api/v1/{region}/bean/external-account-links': {
8318
+ post: {
8319
+ req: ExternalAccountLinkControllerCreateData;
7724
8320
  res: {
7725
8321
  /**
7726
- * Platform deleted successfully
8322
+ * Link created.
7727
8323
  */
7728
- 204: void;
8324
+ 201: ExternalAccountLinkResponseDto;
7729
8325
  /**
7730
- * Platform not found
8326
+ * beanAccountId not owned, or an active link already exists.
7731
8327
  */
7732
- 404: unknown;
8328
+ 422: unknown;
7733
8329
  };
7734
8330
  };
7735
- };
7736
- '/api/v1/{region}/bean/import/provider/{providerName}/sync': {
7737
- post: {
7738
- req: ProviderSyncControllerSyncData;
8331
+ get: {
8332
+ req: ExternalAccountLinkControllerFindAllData;
7739
8333
  res: {
7740
8334
  /**
7741
- * Sync completed successfully
7742
- */
7743
- 200: ProviderSyncResponseDto;
7744
- /**
7745
- * Invalid request data
7746
- */
7747
- 400: unknown;
7748
- /**
7749
- * Missing or invalid authentication
7750
- */
7751
- 401: unknown;
7752
- /**
7753
- * Provider not supported
8335
+ * Links retrieved.
7754
8336
  */
7755
- 404: unknown;
8337
+ 200: ExternalAccountLinkListResponseDto;
7756
8338
  };
7757
8339
  };
7758
8340
  };
7759
- '/api/v1/{region}/bean/import/provider/supported': {
8341
+ '/api/v1/{region}/bean/external-account-links/{id}': {
7760
8342
  get: {
7761
- req: ProviderSyncControllerGetSupportedProvidersData;
8343
+ req: ExternalAccountLinkControllerFindOneData;
7762
8344
  res: {
7763
8345
  /**
7764
- * List of supported providers
8346
+ * Link retrieved.
7765
8347
  */
7766
- 200: SupportedProvidersResponseDto;
8348
+ 200: ExternalAccountLinkResponseDto;
7767
8349
  /**
7768
- * Missing or invalid authentication
8350
+ * Link not found or not owned by the user.
7769
8351
  */
7770
- 401: unknown;
8352
+ 422: unknown;
7771
8353
  };
7772
8354
  };
7773
- };
7774
- '/api/v1/{region}/bean/import/provider/{providerName}/supported': {
7775
- get: {
7776
- req: ProviderSyncControllerIsProviderSupportedData;
8355
+ delete: {
8356
+ req: ExternalAccountLinkControllerRemoveData;
7777
8357
  res: {
7778
8358
  /**
7779
- * Provider support status
7780
- */
7781
- 200: unknown;
7782
- /**
7783
- * Missing or invalid authentication
8359
+ * Link soft-deleted; historical transactions are unaffected.
7784
8360
  */
7785
- 401: unknown;
8361
+ 204: void;
7786
8362
  };
7787
8363
  };
7788
8364
  };
@@ -7874,6 +8450,78 @@ type $OpenApiTs = {
7874
8450
  };
7875
8451
  };
7876
8452
  };
8453
+ '/api/v1/bean/platforms': {
8454
+ get: {
8455
+ res: {
8456
+ /**
8457
+ * List of platforms with binding and account counts
8458
+ */
8459
+ 200: unknown;
8460
+ };
8461
+ };
8462
+ post: {
8463
+ req: PlatformControllerCreateData;
8464
+ res: {
8465
+ /**
8466
+ * Platform created successfully
8467
+ */
8468
+ 201: unknown;
8469
+ /**
8470
+ * Platform already exists
8471
+ */
8472
+ 409: unknown;
8473
+ };
8474
+ };
8475
+ };
8476
+ '/api/v1/bean/platforms/list': {
8477
+ get: {
8478
+ res: {
8479
+ /**
8480
+ * List of platforms with user binding status
8481
+ */
8482
+ 200: Array<PlatformListItemDto>;
8483
+ };
8484
+ };
8485
+ };
8486
+ '/api/v1/bean/platforms/match': {
8487
+ get: {
8488
+ req: PlatformControllerMatchPlatformsData;
8489
+ res: {
8490
+ /**
8491
+ * Matching platforms with overall match type and truncation flag
8492
+ */
8493
+ 200: PlatformMatchResponseDto;
8494
+ };
8495
+ };
8496
+ };
8497
+ '/api/v1/bean/platforms/{id}': {
8498
+ put: {
8499
+ req: PlatformControllerUpdateData;
8500
+ res: {
8501
+ /**
8502
+ * Platform updated successfully
8503
+ */
8504
+ 200: unknown;
8505
+ /**
8506
+ * Platform not found
8507
+ */
8508
+ 404: unknown;
8509
+ };
8510
+ };
8511
+ delete: {
8512
+ req: PlatformControllerDeleteData;
8513
+ res: {
8514
+ /**
8515
+ * Platform deleted successfully
8516
+ */
8517
+ 204: void;
8518
+ /**
8519
+ * Platform not found
8520
+ */
8521
+ 404: unknown;
8522
+ };
8523
+ };
8524
+ };
7877
8525
  '/api/v1/{region}/dashboard/net-worth': {
7878
8526
  get: {
7879
8527
  req: DashboardControllerGetNetWorthData;
@@ -7961,90 +8609,6 @@ type $OpenApiTs = {
7961
8609
  };
7962
8610
  };
7963
8611
  };
7964
- '/api/v1/{region}/bean/prices': {
7965
- post: {
7966
- req: PriceControllerCreateData;
7967
- res: {
7968
- /**
7969
- * Price created successfully
7970
- */
7971
- 201: PriceResponseDto;
7972
- /**
7973
- * Currency or quoteCurrency commodity not found
7974
- */
7975
- 404: unknown;
7976
- /**
7977
- * Price already exists for this currency pair and date
7978
- */
7979
- 409: unknown;
7980
- };
7981
- };
7982
- get: {
7983
- req: PriceControllerFindAllData;
7984
- res: {
7985
- /**
7986
- * Prices retrieved successfully
7987
- */
7988
- 200: PriceListResponseDto;
7989
- };
7990
- };
7991
- };
7992
- '/api/v1/{region}/bean/prices/{id}': {
7993
- get: {
7994
- req: PriceControllerFindOneData;
7995
- res: {
7996
- /**
7997
- * Price retrieved successfully
7998
- */
7999
- 200: PriceResponseDto;
8000
- /**
8001
- * Price not found
8002
- */
8003
- 404: unknown;
8004
- };
8005
- };
8006
- put: {
8007
- req: PriceControllerUpdateData;
8008
- res: {
8009
- /**
8010
- * Price updated successfully
8011
- */
8012
- 200: PriceResponseDto;
8013
- /**
8014
- * Price not found
8015
- */
8016
- 404: unknown;
8017
- /**
8018
- * Updated price conflicts with existing price
8019
- */
8020
- 409: unknown;
8021
- };
8022
- };
8023
- delete: {
8024
- req: PriceControllerDeleteData;
8025
- res: {
8026
- /**
8027
- * Price deleted successfully
8028
- */
8029
- 204: void;
8030
- /**
8031
- * Price not found
8032
- */
8033
- 404: unknown;
8034
- };
8035
- };
8036
- };
8037
- '/api/v1/{region}/bean/prices/bulk': {
8038
- post: {
8039
- req: PriceControllerBulkCreateData;
8040
- res: {
8041
- /**
8042
- * Prices created successfully
8043
- */
8044
- 201: Array<PriceResponseDto>;
8045
- };
8046
- };
8047
- };
8048
8612
  '/api/v1/{region}/reporting/portfolio/trends': {
8049
8613
  get: {
8050
8614
  req: ReportingControllerGetPortfolioTrendsData;
@@ -8306,7 +8870,7 @@ declare class BeanAccountsService {
8306
8870
  * @param data.type Filter by account type
8307
8871
  * @param data.status Filter by status
8308
8872
  * @param data.isCustom Filter by custom (user-created) accounts only
8309
- * @param data.search Search term for path or i18nKey
8873
+ * @param data.search Search term for account path
8310
8874
  * @param data.limit Maximum number of results
8311
8875
  * @param data.offset Number of results to skip
8312
8876
  * @returns AccountListResponseDto Accounts retrieved successfully
@@ -8366,6 +8930,17 @@ declare class BeanAccountsService {
8366
8930
  * @throws ApiError
8367
8931
  */
8368
8932
  static accountControllerReopen(data: AccountControllerReopenData): CancelablePromise<AccountControllerReopenResponse>;
8933
+ /**
8934
+ * Post an opening-balance transaction
8935
+ * 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.
8936
+ * @param data The data for the request.
8937
+ * @param data.id Account UUID
8938
+ * @param data.region Region code for tenant context
8939
+ * @param data.requestBody
8940
+ * @returns OpeningBalanceResultDto Opening-balance transaction created
8941
+ * @throws ApiError
8942
+ */
8943
+ static accountControllerAddOpeningBalance(data: AccountControllerAddOpeningBalanceData): CancelablePromise<AccountControllerAddOpeningBalanceResponse>;
8369
8944
  }
8370
8945
  declare class BeanTransactionsService {
8371
8946
  /**
@@ -8391,6 +8966,7 @@ declare class BeanTransactionsService {
8391
8966
  * @param data.status Filter by transaction status
8392
8967
  * @param data.search Search in narration and payee fields (max 200 chars)
8393
8968
  * @param data.accountId Filter by account ID (transactions with postings to this account)
8969
+ * @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
8394
8970
  * @returns TransactionListResponseDto Transaction list
8395
8971
  * @throws ApiError
8396
8972
  */
@@ -8466,7 +9042,7 @@ declare class BeanBalancesService {
8466
9042
  * Query account balance
8467
9043
  * Calculate account balance at a specific date for a single currency
8468
9044
  * @param data The data for the request.
8469
- * @param data.account Account name (e.g., "Assets:Bank:Checking")
9045
+ * @param data.account Account name (e.g., "Assets:Checking")
8470
9046
  * @param data.region Region code for tenant context
8471
9047
  * @param data.date Date to calculate balance at (ISO 8601 format)
8472
9048
  * @param data.currency Currency to query (e.g., "USD", "CNY")
@@ -8696,4 +9272,4 @@ type OpenAPIConfig = {
8696
9272
  };
8697
9273
  declare const OpenAPI: OpenAPIConfig;
8698
9274
 
8699
- 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 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 ConfirmMatchDto, type ConvertedCashFlowDto, type ConvertedNetWorthDto, type CorrectTransactionDto, type CostDetailDto, type CostSpecDto, type CreateAccountDto, type CreateBeanEventDto, type CreateBeanPriceDto, type CreateCommodityDto, type CreatePayeeDto, type CreatePayeeProfileDto, type CreatePlatformDto, type CreatePostingDto, type CreateRecurringRuleDto, type CreateRuleFromTransactionDto, type CreateTransactionDto, type CreateTransactionRuleDto, type CurrencyBalanceDto, type CurrentPriceDto, type DashboardControllerGetAccountsData, type DashboardControllerGetAccountsResponse, type DashboardControllerGetCashFlowData, type DashboardControllerGetCashFlowResponse, type DashboardControllerGetExpensesData, type DashboardControllerGetExpensesResponse, type DashboardControllerGetNetWorthData, type DashboardControllerGetNetWorthResponse, type DecisionOptionDto, type DeleteOwnUserDto, type EnterNowDto, type EventControllerCreateData, type EventControllerCreateResponse, type EventControllerDeleteData, type EventControllerDeleteResponse, type EventControllerFindAllData, type EventControllerFindAllResponse, type EventControllerFindOneData, type EventControllerFindOneResponse, type EventControllerGetSliceData, type EventControllerGetSliceResponse, type EventControllerUpdateData, type EventControllerUpdateResponse, type EventListResponseDto, type EventResponseDto, type ExchangeRateControllerGetExchangeRateData, type ExchangeRateControllerGetExchangeRateResponse, type ExchangeRateWarningDto, type ExpectedTransactionControllerConfirmMatchData, type ExpectedTransactionControllerConfirmMatchResponse, type ExpectedTransactionControllerEnterNowData, type ExpectedTransactionControllerEnterNowResponse, type ExpectedTransactionControllerFindAllData, type ExpectedTransactionControllerFindAllResponse, type ExpectedTransactionControllerFindOneData, type ExpectedTransactionControllerFindOneResponse, type ExpectedTransactionControllerFindOverdueData, type ExpectedTransactionControllerFindOverdueResponse, type ExpectedTransactionControllerSkipData, type ExpectedTransactionControllerSkipResponse, type ExpectedTransactionControllerUndoSkipData, type ExpectedTransactionControllerUndoSkipResponse, type ExpectedTransactionControllerUnmatchData, type ExpectedTransactionControllerUnmatchResponse, type ExpectedTransactionListResponseDto, type ExpectedTransactionResponseDto, type ExpectedTransactionRuleDto, type ExpensesByCategoryResponseDto, type ExpensesByCategorySummaryDto, type ExportControllerExportBeancountResponse, type ExportRulesResponseDto, type FileImportControllerIdentifyFileData, type FileImportControllerIdentifyFileResponse, type FileImportControllerImportBeancountData, type FileImportControllerImportBeancountResponse, type FileImportControllerImportFileData, type FileImportControllerImportFileResponse, type FileImportDto, type ForecastControllerGetForecastData, type ForecastControllerGetForecastResponse, type ForecastItemDto, type ForecastResponseDto, type FxRateDto, type GenerateSnapshotBody, type GenerateSnapshotResponse, type HealthControllerCheckDatabaseResponse, type HealthControllerCheckOpenBbResponse, type HealthControllerCheckRedisResponse, type HealthControllerGetCircuitBreakersHealthResponse, type HealthControllerGetHealthResponse, type HealthControllerGetMetricsResponse, type HealthControllerResetCircuitBreakerData, type HealthControllerResetCircuitBreakerResponse, HealthService, type HoldingAssetClassAccountSliceDto, type HoldingAssetClassCrossAccountResponseDto, type HoldingPnlControllerGetHoldingPnlData, type HoldingPnlControllerGetHoldingPnlResponse, type HoldingPnlResponseDto, type HoldingPnlRowDto, type HoldingPnlWarningDto, type IdentifyResultDto, type ImportErrorDto, type ImportResultDto, type ImporterConfigControllerGetConfigData, type ImporterConfigControllerGetConfigResponse, type ImporterConfigControllerResetConfigData, type ImporterConfigControllerResetConfigResponse, type ImporterConfigControllerUpdateConfigData, type ImporterConfigControllerUpdateConfigResponse, type ImporterConfigDataDto, type ImporterConfigDto, type InfoControllerGetInfoResponse, type MapperDefaultsDto, type MonetaryDto, type MonthlyForecastDto, type MultiCurrencyBalanceResponseDto, type MultiCurrencyPointDto, type NetWorthByCurrencyDto, type NetWorthResponseDto, type NlpAccountConfirmationDataDto, type NlpAlternativePayeeDto, type NlpControllerClearSessionData, type NlpControllerClearSessionResponse, type NlpControllerGetSessionData, type NlpControllerGetSessionResponse, type NlpControllerProcessNaturalLanguageData, type NlpControllerProcessNaturalLanguageResponse, type NlpDefaultAccountsDto, type NlpDuplicateConfirmationDataDto, type NlpParsedDataDto, type NlpPayeeConfirmationDataDto, type NlpResponseDto, type NlpRuleConfirmationDataDto, type NlpSimilarityDto, type NlpSourceTransactionDto, type NlpSuggestedAccountDto, type NlpSuggestedAccountsDto, type NlpSuggestedPayeeDto, type NlpTargetTransactionDto, type NlpTransactionInfoDto, OpenAPI, type OpenAPIConfig, type 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 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 TransactionResponseDto, type TransactionRuleControllerBulkCreateData, type TransactionRuleControllerBulkCreateResponse, type TransactionRuleControllerCreateData, type TransactionRuleControllerCreateResponse, type TransactionRuleControllerDeleteData, type TransactionRuleControllerDeleteResponse, type TransactionRuleControllerExportData, type TransactionRuleControllerExportResponse, type TransactionRuleControllerGetDetailData, type TransactionRuleControllerGetDetailResponse, type TransactionRuleControllerGetStatisticsData, type TransactionRuleControllerGetStatisticsResponse, type TransactionRuleControllerListData, type TransactionRuleControllerListResponse, type TransactionRuleControllerTestData, type TransactionRuleControllerTestResponse, type TransactionRuleControllerUpdateData, type TransactionRuleControllerUpdateResponse, type TransactionRuleControllerValidateData, type TransactionRuleControllerValidateResponse, type TransactionRuleListResponseDto, type TransactionRuleResponseDto, type TransactionSummaryDto, type TrendSummaryDto, type UncoveredFormatMissDto, type UndoResultDto, type UpdateAccountDto, type UpdateBeanEventDto, type UpdateBeanPriceDto, type UpdateCommodityDto, type UpdateConfigDataDto, type UpdateImporterConfigDto, type UpdateMapperDefaultsDto, type UpdatePayeeDto, type UpdatePayeeProfileDto, type UpdatePlatformDto, type UpdatePropertyDto, type UpdateRecurringRuleDto, type UpdateTransactionDto, type UpdateTransactionRuleDto, type UpdateUserSettingDto, type UserControllerDeleteOwnUserData, type UserControllerDeleteOwnUserResponse, type UserControllerDeleteUserData, type UserControllerDeleteUserResponse, type UserControllerGetAllUserSettingsByPageData, type UserControllerGetAllUserSettingsByPageResponse, type UserControllerGetAssetLiabilitySummaryResponse, type UserControllerGetUserData, type UserControllerGetUserInfoData, type UserControllerGetUserInfoResponse, type UserControllerGetUserResponse, type UserControllerSignupUserData, type UserControllerSignupUserResponse, type UserControllerUpdateUserSettingData, type UserControllerUpdateUserSettingResponse, type ValidateRuleDto, type ValidateRuleResponseDto, type VersionedConfigDto, type action, type action2, type assetClass, type assetSubType, type bookingMethod, type branchType, type category, type chartToken, type colorScheme, type confidenceLevel, type conflictStrategy, type dataSource, type equitySubType, type flag, type flag2, type frequency, type importerId, type intent, type investmentAction, type learningSource, type liabilitySubType, type matchLogic, type method, type mode, type paymentSource, type period, type source, type source2, type source3, type status, type status2, type status3, type status4, type suggestedFrequency, type type, type type2, type type3, type type4, type value, type viewMode };
9275
+ 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 PlatformListItemDto, type PlatformMatchResponseDto, type PlatformMatchResultDto, type PortfolioTrendsResponseDto, type PostingDetailDto, type PostingResponseDto, type PriceControllerBulkCreateData, type PriceControllerBulkCreateResponse, type PriceControllerCreateData, type PriceControllerCreateResponse, type PriceControllerDeleteData, type PriceControllerDeleteResponse, type PriceControllerFindAllData, type PriceControllerFindAllResponse, type PriceControllerFindOneData, type PriceControllerFindOneResponse, type PriceControllerUpdateData, type PriceControllerUpdateResponse, type PriceListResponseDto, type PriceResponseDto, type ProcessNlpDto, type PropertyControllerDeleteData, type PropertyControllerDeleteResponse, type PropertyControllerGetAllResponse, type PropertyControllerGetByKeyData, type PropertyControllerGetByKeyResponse, type PropertyControllerUpdateData, type PropertyControllerUpdateResponse, type ProviderSyncConfigDto, type ProviderSyncControllerGetSupportedProvidersData, type ProviderSyncControllerGetSupportedProvidersResponse, type ProviderSyncControllerIsProviderSupportedData, type ProviderSyncControllerIsProviderSupportedResponse, type ProviderSyncControllerSyncData, type ProviderSyncControllerSyncResponse, type ProviderSyncDto, type ProviderSyncResponseDto, ProviderSyncService, type ReconciliationComputeResultDto, type ReconciliationControllerAssertData, type ReconciliationControllerAssertResponse, type ReconciliationControllerComputeData, type ReconciliationControllerComputeResponse, type ReconciliationControllerHistoryData, type ReconciliationControllerHistoryResponse, type ReconciliationControllerPadData, type ReconciliationControllerPadResponse, type ReconciliationRecordDto, type RecurringMatchInfoDto, type RecurringRuleControllerCreateData, type RecurringRuleControllerCreateFromTransactionData, type RecurringRuleControllerCreateFromTransactionResponse, type RecurringRuleControllerCreateResponse, type RecurringRuleControllerDeleteData, type RecurringRuleControllerDeleteResponse, type RecurringRuleControllerFindAllData, type RecurringRuleControllerFindAllResponse, type RecurringRuleControllerFindOneData, type RecurringRuleControllerFindOneResponse, type RecurringRuleControllerGetWithStatsData, type RecurringRuleControllerGetWithStatsResponse, type RecurringRuleControllerUpdateData, type RecurringRuleControllerUpdateResponse, type RecurringRuleResponseDto, type RecurringRuleWithStatsResponseDto, type RecurringSuggestionDto, type RegionConfigDto, type RegionInfoDto, type RegionsMetadataResponseDto, type ReopenAccountDto, type ReportingControllerBackfillSnapshotsData, type ReportingControllerBackfillSnapshotsResponse, type ReportingControllerGenerateSnapshotData, type ReportingControllerGenerateSnapshotResponse, type ReportingControllerGetCashFlowTrendsData, type ReportingControllerGetCashFlowTrendsResponse, type ReportingControllerGetPortfolioTrendsData, type ReportingControllerGetPortfolioTrendsResponse, type ResolveResultDto, type ResolveReviewDto, type ReviewControllerBatchResolveData, type ReviewControllerBatchResolveResponse, type ReviewControllerFindAllData, type ReviewControllerFindAllResponse, type ReviewControllerFindOneData, type ReviewControllerFindOneResponse, type ReviewControllerGetStatsData, type ReviewControllerGetStatsResponse, type ReviewControllerResolveData, type ReviewControllerResolveResponse, type ReviewControllerUndoData, type ReviewControllerUndoResponse, type ReviewDetailDto, type ReviewItemPreviewDto, type ReviewListResponseDto, type ReviewStatsDto, type ReviewSummaryDto, type RuleStatisticsResponseDto, type SignupDto, type 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 matchType, type matchType2, 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 };