@firela/api-types 0.0.0-canary.8c68ebbe → 0.0.0-canary.9256c41b
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 +1442 -630
- package/dist/index.d.ts +1442 -630
- package/dist/index.js +31 -3
- package/dist/index.mjs +31 -3
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +1334 -515
- package/src/generated/services.gen.ts +734 -349
- package/src/generated/types.gen.ts +1552 -656
|
@@ -6,13 +6,9 @@ export type CreateAccountDto = {
|
|
|
6
6
|
*/
|
|
7
7
|
path: string;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Account open date (server defaults to today)
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Account open date
|
|
14
|
-
*/
|
|
15
|
-
openDate: string;
|
|
11
|
+
openDate?: string;
|
|
16
12
|
/**
|
|
17
13
|
* Allowed currencies (null = no restriction)
|
|
18
14
|
*/
|
|
@@ -36,18 +32,14 @@ export type CreateAccountDto = {
|
|
|
36
32
|
* Whether this is a custom (user-created) account
|
|
37
33
|
*/
|
|
38
34
|
isCustom?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* i18n key for display name (overrides template)
|
|
41
|
-
*/
|
|
42
|
-
i18nKey?: string;
|
|
43
35
|
/**
|
|
44
36
|
* Icon identifier (overrides template)
|
|
45
37
|
*/
|
|
46
38
|
icon?: string;
|
|
47
39
|
/**
|
|
48
|
-
*
|
|
40
|
+
* Open directive metadata (NOT an opening-balance amount — use the opening-balance endpoint)
|
|
49
41
|
*/
|
|
50
|
-
|
|
42
|
+
openDirectiveMeta?: {
|
|
51
43
|
[key: string]: unknown;
|
|
52
44
|
};
|
|
53
45
|
/**
|
|
@@ -77,10 +69,6 @@ export type AccountResponseDto = {
|
|
|
77
69
|
* Account path (hierarchical, colon-separated)
|
|
78
70
|
*/
|
|
79
71
|
path: string;
|
|
80
|
-
/**
|
|
81
|
-
* Display name distinguishing multiple accounts at the same path
|
|
82
|
-
*/
|
|
83
|
-
displayName: string;
|
|
84
72
|
/**
|
|
85
73
|
* Account type (root segment)
|
|
86
74
|
*/
|
|
@@ -121,17 +109,17 @@ export type AccountResponseDto = {
|
|
|
121
109
|
*/
|
|
122
110
|
isCustom: boolean;
|
|
123
111
|
/**
|
|
124
|
-
*
|
|
112
|
+
* Localized display name (ADR-0114, read-time projection)
|
|
125
113
|
*/
|
|
126
|
-
|
|
114
|
+
displayName?: string;
|
|
127
115
|
/**
|
|
128
116
|
* Icon identifier
|
|
129
117
|
*/
|
|
130
118
|
icon?: string;
|
|
131
119
|
/**
|
|
132
|
-
*
|
|
120
|
+
* Open directive metadata (ADR-0115 Decision 9)
|
|
133
121
|
*/
|
|
134
|
-
|
|
122
|
+
openDirectiveMeta?: {
|
|
135
123
|
[key: string]: unknown;
|
|
136
124
|
};
|
|
137
125
|
/**
|
|
@@ -178,10 +166,6 @@ export type AccountListResponseDto = {
|
|
|
178
166
|
};
|
|
179
167
|
|
|
180
168
|
export type UpdateAccountDto = {
|
|
181
|
-
/**
|
|
182
|
-
* Display name to distinguish accounts at the same path
|
|
183
|
-
*/
|
|
184
|
-
displayName?: string;
|
|
185
169
|
/**
|
|
186
170
|
* Allowed currencies (null = no restriction)
|
|
187
171
|
*/
|
|
@@ -197,18 +181,14 @@ export type UpdateAccountDto = {
|
|
|
197
181
|
| 'STRICT'
|
|
198
182
|
| 'STRICT_WITH_SIZE'
|
|
199
183
|
| 'NONE';
|
|
200
|
-
/**
|
|
201
|
-
* i18n key for display name
|
|
202
|
-
*/
|
|
203
|
-
i18nKey?: string;
|
|
204
184
|
/**
|
|
205
185
|
* Icon identifier
|
|
206
186
|
*/
|
|
207
187
|
icon?: string;
|
|
208
188
|
/**
|
|
209
|
-
*
|
|
189
|
+
* Open directive metadata (merged with existing; NOT an opening-balance amount)
|
|
210
190
|
*/
|
|
211
|
-
|
|
191
|
+
openDirectiveMeta?: {
|
|
212
192
|
[key: string]: unknown;
|
|
213
193
|
};
|
|
214
194
|
/**
|
|
@@ -237,6 +217,28 @@ export type ReopenAccountDto = {
|
|
|
237
217
|
reopenDate?: string;
|
|
238
218
|
};
|
|
239
219
|
|
|
220
|
+
export type CreateOpeningBalanceDto = {
|
|
221
|
+
/**
|
|
222
|
+
* Opening balance amount (non-negative)
|
|
223
|
+
*/
|
|
224
|
+
amount: number;
|
|
225
|
+
/**
|
|
226
|
+
* Currency code
|
|
227
|
+
*/
|
|
228
|
+
currency: string;
|
|
229
|
+
/**
|
|
230
|
+
* Opening-balance date (defaults to now)
|
|
231
|
+
*/
|
|
232
|
+
date?: string;
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
export type OpeningBalanceResultDto = {
|
|
236
|
+
/**
|
|
237
|
+
* Created opening-balance transaction id.
|
|
238
|
+
*/
|
|
239
|
+
transactionId: string;
|
|
240
|
+
};
|
|
241
|
+
|
|
240
242
|
export type AccountStandardResponseDto = {
|
|
241
243
|
/**
|
|
242
244
|
* Account path (hierarchical, colon-separated)
|
|
@@ -246,10 +248,6 @@ export type AccountStandardResponseDto = {
|
|
|
246
248
|
* Account type in Beancount hierarchy
|
|
247
249
|
*/
|
|
248
250
|
type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
249
|
-
/**
|
|
250
|
-
* i18n key for localized display name
|
|
251
|
-
*/
|
|
252
|
-
i18nKey: string;
|
|
253
251
|
/**
|
|
254
252
|
* Short localized display name
|
|
255
253
|
*/
|
|
@@ -284,10 +282,6 @@ export type AccountStandardListResponseDto = {
|
|
|
284
282
|
};
|
|
285
283
|
|
|
286
284
|
export type TemplateMetadataDto = {
|
|
287
|
-
/**
|
|
288
|
-
* Whether this path can be extended
|
|
289
|
-
*/
|
|
290
|
-
extendable: boolean;
|
|
291
285
|
/**
|
|
292
286
|
* Root account type
|
|
293
287
|
*/
|
|
@@ -848,6 +842,51 @@ export type flag2 =
|
|
|
848
842
|
*/
|
|
849
843
|
export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
850
844
|
|
|
845
|
+
export type BalanceByCurrencyDto = {
|
|
846
|
+
/**
|
|
847
|
+
* ISO 4217 currency code
|
|
848
|
+
*/
|
|
849
|
+
currency: string;
|
|
850
|
+
/**
|
|
851
|
+
* Balance amount
|
|
852
|
+
*/
|
|
853
|
+
balance: string;
|
|
854
|
+
};
|
|
855
|
+
|
|
856
|
+
export type ExchangeRateWarningDto = {
|
|
857
|
+
/**
|
|
858
|
+
* Warning type
|
|
859
|
+
*/
|
|
860
|
+
type: string;
|
|
861
|
+
/**
|
|
862
|
+
* Currency without exchange rate
|
|
863
|
+
*/
|
|
864
|
+
currency: string;
|
|
865
|
+
/**
|
|
866
|
+
* Total amount affected
|
|
867
|
+
*/
|
|
868
|
+
totalAmount: string;
|
|
869
|
+
};
|
|
870
|
+
|
|
871
|
+
export type TransactionListSummaryDto = {
|
|
872
|
+
/**
|
|
873
|
+
* 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.
|
|
874
|
+
*/
|
|
875
|
+
totalAmount: string;
|
|
876
|
+
/**
|
|
877
|
+
* Base currency (ISO 4217)
|
|
878
|
+
*/
|
|
879
|
+
currency: string;
|
|
880
|
+
/**
|
|
881
|
+
* Raw (unconverted) balance per currency
|
|
882
|
+
*/
|
|
883
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
884
|
+
/**
|
|
885
|
+
* Currencies missing an FX rate (omitted when empty)
|
|
886
|
+
*/
|
|
887
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
888
|
+
};
|
|
889
|
+
|
|
851
890
|
export type TransactionListResponseDto = {
|
|
852
891
|
/**
|
|
853
892
|
* List of transactions
|
|
@@ -865,6 +904,10 @@ export type TransactionListResponseDto = {
|
|
|
865
904
|
* Number of items skipped
|
|
866
905
|
*/
|
|
867
906
|
offset: number;
|
|
907
|
+
/**
|
|
908
|
+
* 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.
|
|
909
|
+
*/
|
|
910
|
+
summary?: TransactionListSummaryDto;
|
|
868
911
|
};
|
|
869
912
|
|
|
870
913
|
export type TagSuggestionDto = {
|
|
@@ -1917,6 +1960,108 @@ export type UpdateCommodityDto = {
|
|
|
1917
1960
|
};
|
|
1918
1961
|
};
|
|
1919
1962
|
|
|
1963
|
+
export type CreateBeanPriceDto = {
|
|
1964
|
+
/**
|
|
1965
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
1966
|
+
*/
|
|
1967
|
+
currency: string;
|
|
1968
|
+
/**
|
|
1969
|
+
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
1970
|
+
*/
|
|
1971
|
+
quoteCurrency: string;
|
|
1972
|
+
/**
|
|
1973
|
+
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
1974
|
+
*/
|
|
1975
|
+
amount: number;
|
|
1976
|
+
/**
|
|
1977
|
+
* Price date (ISO 8601 format)
|
|
1978
|
+
*/
|
|
1979
|
+
date: string;
|
|
1980
|
+
/**
|
|
1981
|
+
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
1982
|
+
*/
|
|
1983
|
+
metadata?: {
|
|
1984
|
+
[key: string]: unknown;
|
|
1985
|
+
};
|
|
1986
|
+
};
|
|
1987
|
+
|
|
1988
|
+
export type PriceResponseDto = {
|
|
1989
|
+
/**
|
|
1990
|
+
* Unique identifier
|
|
1991
|
+
*/
|
|
1992
|
+
id: string;
|
|
1993
|
+
/**
|
|
1994
|
+
* User ID (owner of the price)
|
|
1995
|
+
*/
|
|
1996
|
+
userId: string;
|
|
1997
|
+
/**
|
|
1998
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
1999
|
+
*/
|
|
2000
|
+
currency: string;
|
|
2001
|
+
/**
|
|
2002
|
+
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
2003
|
+
*/
|
|
2004
|
+
quoteCurrency: string;
|
|
2005
|
+
/**
|
|
2006
|
+
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
2007
|
+
*/
|
|
2008
|
+
amount: number;
|
|
2009
|
+
/**
|
|
2010
|
+
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
2011
|
+
*/
|
|
2012
|
+
date: string;
|
|
2013
|
+
/**
|
|
2014
|
+
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
2015
|
+
*/
|
|
2016
|
+
meta: {
|
|
2017
|
+
[key: string]: unknown;
|
|
2018
|
+
};
|
|
2019
|
+
/**
|
|
2020
|
+
* Creation timestamp
|
|
2021
|
+
*/
|
|
2022
|
+
createdAt: string;
|
|
2023
|
+
/**
|
|
2024
|
+
* Last update timestamp
|
|
2025
|
+
*/
|
|
2026
|
+
updatedAt: string;
|
|
2027
|
+
};
|
|
2028
|
+
|
|
2029
|
+
export type PriceListResponseDto = {
|
|
2030
|
+
/**
|
|
2031
|
+
* List of prices
|
|
2032
|
+
*/
|
|
2033
|
+
items: Array<PriceResponseDto>;
|
|
2034
|
+
/**
|
|
2035
|
+
* Total number of prices
|
|
2036
|
+
*/
|
|
2037
|
+
total: number;
|
|
2038
|
+
};
|
|
2039
|
+
|
|
2040
|
+
export type UpdateBeanPriceDto = {
|
|
2041
|
+
/**
|
|
2042
|
+
* Currency being priced
|
|
2043
|
+
*/
|
|
2044
|
+
currency?: string;
|
|
2045
|
+
/**
|
|
2046
|
+
* Quote currency (pricing currency)
|
|
2047
|
+
*/
|
|
2048
|
+
quoteCurrency?: string;
|
|
2049
|
+
/**
|
|
2050
|
+
* Price amount (MUST be >= 0 per Beancount spec)
|
|
2051
|
+
*/
|
|
2052
|
+
amount?: number;
|
|
2053
|
+
/**
|
|
2054
|
+
* Price date (ISO 8601 format)
|
|
2055
|
+
*/
|
|
2056
|
+
date?: string;
|
|
2057
|
+
/**
|
|
2058
|
+
* Metadata
|
|
2059
|
+
*/
|
|
2060
|
+
metadata?: {
|
|
2061
|
+
[key: string]: unknown;
|
|
2062
|
+
};
|
|
2063
|
+
};
|
|
2064
|
+
|
|
1920
2065
|
export type CreateRecurringRuleDto = {
|
|
1921
2066
|
/**
|
|
1922
2067
|
* Rule name (unique per user)
|
|
@@ -2925,6 +3070,26 @@ export type SignupDto = {
|
|
|
2925
3070
|
turnstileToken?: string;
|
|
2926
3071
|
};
|
|
2927
3072
|
|
|
3073
|
+
export type SignupResponseDto = {
|
|
3074
|
+
/**
|
|
3075
|
+
* JWT auth token
|
|
3076
|
+
*/
|
|
3077
|
+
authToken: string;
|
|
3078
|
+
/**
|
|
3079
|
+
* Auto-generated access token
|
|
3080
|
+
*/
|
|
3081
|
+
accessToken: string;
|
|
3082
|
+
/**
|
|
3083
|
+
* Assigned user role
|
|
3084
|
+
*/
|
|
3085
|
+
role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
3086
|
+
};
|
|
3087
|
+
|
|
3088
|
+
/**
|
|
3089
|
+
* Assigned user role
|
|
3090
|
+
*/
|
|
3091
|
+
export type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
3092
|
+
|
|
2928
3093
|
export type UpdateUserSettingDto = {
|
|
2929
3094
|
/**
|
|
2930
3095
|
* Security ID
|
|
@@ -3119,78 +3284,232 @@ export type UpdateBeanEventDto = {
|
|
|
3119
3284
|
};
|
|
3120
3285
|
};
|
|
3121
3286
|
|
|
3122
|
-
export type
|
|
3287
|
+
export type OnboardingAccountDto = {
|
|
3123
3288
|
/**
|
|
3124
|
-
*
|
|
3289
|
+
* Account path (Assets/Liabilities only; format validated by the account service)
|
|
3125
3290
|
*/
|
|
3126
|
-
|
|
3291
|
+
path: string;
|
|
3292
|
+
/**
|
|
3293
|
+
* ISO 4217 currency code (3 letters)
|
|
3294
|
+
*/
|
|
3295
|
+
currency: string;
|
|
3296
|
+
/**
|
|
3297
|
+
* Opening balance as a non-negative Decimal string (e.g. "1000.00")
|
|
3298
|
+
*/
|
|
3299
|
+
openingBalance?: string;
|
|
3300
|
+
/**
|
|
3301
|
+
* Platform ID to bind the account to (references Platform.id); omit for unbound
|
|
3302
|
+
*/
|
|
3303
|
+
platformId?: string;
|
|
3127
3304
|
};
|
|
3128
3305
|
|
|
3129
|
-
export type
|
|
3306
|
+
export type OnboardingDto = {
|
|
3130
3307
|
/**
|
|
3131
|
-
*
|
|
3308
|
+
* Asset/Liability accounts to register with opening balances
|
|
3132
3309
|
*/
|
|
3133
|
-
|
|
3310
|
+
accounts?: Array<OnboardingAccountDto>;
|
|
3134
3311
|
/**
|
|
3135
|
-
*
|
|
3312
|
+
* Skip asset registration; only bootstrap the core account set
|
|
3136
3313
|
*/
|
|
3137
|
-
|
|
3314
|
+
skipAssetRegistration?: boolean;
|
|
3138
3315
|
};
|
|
3139
3316
|
|
|
3140
|
-
export type
|
|
3317
|
+
export type ActualBalanceDto = {
|
|
3141
3318
|
/**
|
|
3142
|
-
*
|
|
3319
|
+
* Actual balance amount as a decimal string (preserves precision for tolerance inference).
|
|
3143
3320
|
*/
|
|
3144
|
-
|
|
3321
|
+
amount: string;
|
|
3145
3322
|
/**
|
|
3146
|
-
*
|
|
3323
|
+
* Currency code (ISO 4217 or commodity ticker).
|
|
3147
3324
|
*/
|
|
3148
|
-
|
|
3325
|
+
ccy: string;
|
|
3326
|
+
};
|
|
3327
|
+
|
|
3328
|
+
export type ComputeReconciliationDto = {
|
|
3149
3329
|
/**
|
|
3150
|
-
*
|
|
3330
|
+
* BeanAccount id to reconcile.
|
|
3151
3331
|
*/
|
|
3152
|
-
|
|
3332
|
+
accountId: string;
|
|
3153
3333
|
/**
|
|
3154
|
-
*
|
|
3334
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3155
3335
|
*/
|
|
3156
|
-
|
|
3336
|
+
asOfDate: string;
|
|
3157
3337
|
/**
|
|
3158
|
-
*
|
|
3338
|
+
* Actual balance from the external statement.
|
|
3159
3339
|
*/
|
|
3160
|
-
|
|
3340
|
+
actualBalance: ActualBalanceDto;
|
|
3341
|
+
};
|
|
3342
|
+
|
|
3343
|
+
export type ReconciliationComputeResultDto = {
|
|
3344
|
+
accountId: string;
|
|
3345
|
+
asOfDate: string;
|
|
3161
3346
|
/**
|
|
3162
|
-
*
|
|
3347
|
+
* System-computed book balance (decimal string).
|
|
3163
3348
|
*/
|
|
3164
|
-
|
|
3349
|
+
bookBalance: string;
|
|
3165
3350
|
/**
|
|
3166
|
-
*
|
|
3351
|
+
* User-entered actual balance (decimal string).
|
|
3167
3352
|
*/
|
|
3168
|
-
|
|
3353
|
+
actualBalance: string;
|
|
3354
|
+
currency: string;
|
|
3169
3355
|
/**
|
|
3170
|
-
*
|
|
3356
|
+
* Diff = book − actual (decimal string).
|
|
3171
3357
|
*/
|
|
3172
|
-
|
|
3358
|
+
diff: string;
|
|
3173
3359
|
/**
|
|
3174
|
-
*
|
|
3360
|
+
* Applied tolerance (decimal string).
|
|
3175
3361
|
*/
|
|
3176
|
-
|
|
3177
|
-
| 'DUPLICATE'
|
|
3178
|
-
| 'PAYEE_MATCH'
|
|
3179
|
-
| 'RULE_MATCH'
|
|
3180
|
-
| 'ACCOUNT_VALIDATION'
|
|
3181
|
-
| 'PIPELINE_ERROR';
|
|
3362
|
+
tolerance: string;
|
|
3182
3363
|
/**
|
|
3183
|
-
*
|
|
3364
|
+
* true when |diff| ≤ tolerance.
|
|
3184
3365
|
*/
|
|
3185
|
-
|
|
3366
|
+
withinTolerance: boolean;
|
|
3367
|
+
/**
|
|
3368
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3369
|
+
*/
|
|
3370
|
+
suggestedAction: 'assert' | 'pad';
|
|
3186
3371
|
};
|
|
3187
3372
|
|
|
3188
3373
|
/**
|
|
3189
|
-
*
|
|
3374
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3190
3375
|
*/
|
|
3191
|
-
export type
|
|
3192
|
-
|
|
3193
|
-
|
|
3376
|
+
export type suggestedAction = 'assert' | 'pad';
|
|
3377
|
+
|
|
3378
|
+
export type AssertReconciliationDto = {
|
|
3379
|
+
/**
|
|
3380
|
+
* BeanAccount id to reconcile.
|
|
3381
|
+
*/
|
|
3382
|
+
accountId: string;
|
|
3383
|
+
/**
|
|
3384
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3385
|
+
*/
|
|
3386
|
+
asOfDate: string;
|
|
3387
|
+
/**
|
|
3388
|
+
* Actual balance from the external statement.
|
|
3389
|
+
*/
|
|
3390
|
+
actualBalance: ActualBalanceDto;
|
|
3391
|
+
/**
|
|
3392
|
+
* Optional explicit tolerance override. Omit to infer from amount precision (Beancount default).
|
|
3393
|
+
*/
|
|
3394
|
+
tolerance?: string;
|
|
3395
|
+
};
|
|
3396
|
+
|
|
3397
|
+
export type ReconciliationRecordDto = {
|
|
3398
|
+
id: string;
|
|
3399
|
+
accountId: string;
|
|
3400
|
+
date: string;
|
|
3401
|
+
/**
|
|
3402
|
+
* Asserted (actual) amount.
|
|
3403
|
+
*/
|
|
3404
|
+
amount: string;
|
|
3405
|
+
currency: string;
|
|
3406
|
+
tolerance?: string;
|
|
3407
|
+
/**
|
|
3408
|
+
* book − actual.
|
|
3409
|
+
*/
|
|
3410
|
+
diffAmount?: string;
|
|
3411
|
+
diffCurrency?: string;
|
|
3412
|
+
createdAt: string;
|
|
3413
|
+
};
|
|
3414
|
+
|
|
3415
|
+
export type PadReconciliationDto = {
|
|
3416
|
+
/**
|
|
3417
|
+
* BeanAccount id to reconcile.
|
|
3418
|
+
*/
|
|
3419
|
+
accountId: string;
|
|
3420
|
+
/**
|
|
3421
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3422
|
+
*/
|
|
3423
|
+
asOfDate: string;
|
|
3424
|
+
/**
|
|
3425
|
+
* Actual balance from the external statement.
|
|
3426
|
+
*/
|
|
3427
|
+
actualBalance: ActualBalanceDto;
|
|
3428
|
+
/**
|
|
3429
|
+
* Pad source account. Defaults to Equity:Opening-Balances (official Beancount convention).
|
|
3430
|
+
*/
|
|
3431
|
+
sourceAccount?: string;
|
|
3432
|
+
};
|
|
3433
|
+
|
|
3434
|
+
export type PadResultDto = {
|
|
3435
|
+
/**
|
|
3436
|
+
* Created pad adjusting transaction id.
|
|
3437
|
+
*/
|
|
3438
|
+
transactionId: string;
|
|
3439
|
+
};
|
|
3440
|
+
|
|
3441
|
+
export type FileImportDto = {
|
|
3442
|
+
/**
|
|
3443
|
+
* Bill file to import (CSV, PDF, OFX, etc.)
|
|
3444
|
+
*/
|
|
3445
|
+
file: Blob | File;
|
|
3446
|
+
};
|
|
3447
|
+
|
|
3448
|
+
export type ImportErrorDto = {
|
|
3449
|
+
/**
|
|
3450
|
+
* Index of failed transaction in the file
|
|
3451
|
+
*/
|
|
3452
|
+
index: number;
|
|
3453
|
+
/**
|
|
3454
|
+
* Error message
|
|
3455
|
+
*/
|
|
3456
|
+
error: string;
|
|
3457
|
+
};
|
|
3458
|
+
|
|
3459
|
+
export type ReviewItemPreviewDto = {
|
|
3460
|
+
/**
|
|
3461
|
+
* Index in the import batch (for tracking)
|
|
3462
|
+
*/
|
|
3463
|
+
index: number;
|
|
3464
|
+
/**
|
|
3465
|
+
* Transaction date (ISO format)
|
|
3466
|
+
*/
|
|
3467
|
+
date: string;
|
|
3468
|
+
/**
|
|
3469
|
+
* Transaction amount (absolute value)
|
|
3470
|
+
*/
|
|
3471
|
+
amount?: number;
|
|
3472
|
+
/**
|
|
3473
|
+
* Currency code
|
|
3474
|
+
*/
|
|
3475
|
+
currency?: string;
|
|
3476
|
+
/**
|
|
3477
|
+
* Transaction narration/description
|
|
3478
|
+
*/
|
|
3479
|
+
narration: string;
|
|
3480
|
+
/**
|
|
3481
|
+
* Payee name
|
|
3482
|
+
*/
|
|
3483
|
+
payee?: string;
|
|
3484
|
+
/**
|
|
3485
|
+
* Inferred category from rule matching
|
|
3486
|
+
*/
|
|
3487
|
+
category?: string;
|
|
3488
|
+
/**
|
|
3489
|
+
* Confidence score for the match (0-1)
|
|
3490
|
+
*/
|
|
3491
|
+
confidence?: number;
|
|
3492
|
+
/**
|
|
3493
|
+
* Type of branch requiring review
|
|
3494
|
+
*/
|
|
3495
|
+
branchType?:
|
|
3496
|
+
| 'DUPLICATE'
|
|
3497
|
+
| 'PAYEE_MATCH'
|
|
3498
|
+
| 'RULE_MATCH'
|
|
3499
|
+
| 'ACCOUNT_VALIDATION'
|
|
3500
|
+
| 'PIPELINE_ERROR';
|
|
3501
|
+
/**
|
|
3502
|
+
* Human-readable reasons for requiring review
|
|
3503
|
+
*/
|
|
3504
|
+
reasons?: Array<string>;
|
|
3505
|
+
};
|
|
3506
|
+
|
|
3507
|
+
/**
|
|
3508
|
+
* Type of branch requiring review
|
|
3509
|
+
*/
|
|
3510
|
+
export type branchType =
|
|
3511
|
+
| 'DUPLICATE'
|
|
3512
|
+
| 'PAYEE_MATCH'
|
|
3194
3513
|
| 'RULE_MATCH'
|
|
3195
3514
|
| 'ACCOUNT_VALIDATION'
|
|
3196
3515
|
| 'PIPELINE_ERROR';
|
|
@@ -3417,94 +3736,6 @@ export type UpdateImporterConfigDto = {
|
|
|
3417
3736
|
data?: UpdateConfigDataDto;
|
|
3418
3737
|
};
|
|
3419
3738
|
|
|
3420
|
-
export type CreatePlatformDto = {
|
|
3421
|
-
/**
|
|
3422
|
-
* Platform name
|
|
3423
|
-
*/
|
|
3424
|
-
name: string;
|
|
3425
|
-
/**
|
|
3426
|
-
* Platform canonical identifier (lowercase, kebab-case)
|
|
3427
|
-
*/
|
|
3428
|
-
canonical: string;
|
|
3429
|
-
/**
|
|
3430
|
-
* Platform aliases (multi-language names for lookup)
|
|
3431
|
-
*/
|
|
3432
|
-
aliases: Array<string>;
|
|
3433
|
-
/**
|
|
3434
|
-
* Platform URL
|
|
3435
|
-
*/
|
|
3436
|
-
url: string;
|
|
3437
|
-
/**
|
|
3438
|
-
* Platform type
|
|
3439
|
-
*/
|
|
3440
|
-
type:
|
|
3441
|
-
| 'BANK'
|
|
3442
|
-
| 'BROKERAGE'
|
|
3443
|
-
| 'CRYPTO_EXCHANGE'
|
|
3444
|
-
| 'PAYMENT'
|
|
3445
|
-
| 'INVESTMENT'
|
|
3446
|
-
| 'INSURANCE'
|
|
3447
|
-
| 'OTHER';
|
|
3448
|
-
/**
|
|
3449
|
-
* Platform logo URL
|
|
3450
|
-
*/
|
|
3451
|
-
logoUrl?: string;
|
|
3452
|
-
/**
|
|
3453
|
-
* Whether the platform is active
|
|
3454
|
-
*/
|
|
3455
|
-
isActive?: boolean;
|
|
3456
|
-
};
|
|
3457
|
-
|
|
3458
|
-
/**
|
|
3459
|
-
* Platform type
|
|
3460
|
-
*/
|
|
3461
|
-
export type type3 =
|
|
3462
|
-
| 'BANK'
|
|
3463
|
-
| 'BROKERAGE'
|
|
3464
|
-
| 'CRYPTO_EXCHANGE'
|
|
3465
|
-
| 'PAYMENT'
|
|
3466
|
-
| 'INVESTMENT'
|
|
3467
|
-
| 'INSURANCE'
|
|
3468
|
-
| 'OTHER';
|
|
3469
|
-
|
|
3470
|
-
export type UpdatePlatformDto = {
|
|
3471
|
-
/**
|
|
3472
|
-
* Platform name
|
|
3473
|
-
*/
|
|
3474
|
-
name?: string;
|
|
3475
|
-
/**
|
|
3476
|
-
* Platform canonical identifier (lowercase, kebab-case)
|
|
3477
|
-
*/
|
|
3478
|
-
canonical?: string;
|
|
3479
|
-
/**
|
|
3480
|
-
* Platform aliases (multi-language names for lookup)
|
|
3481
|
-
*/
|
|
3482
|
-
aliases?: Array<string>;
|
|
3483
|
-
/**
|
|
3484
|
-
* Platform URL
|
|
3485
|
-
*/
|
|
3486
|
-
url?: string;
|
|
3487
|
-
/**
|
|
3488
|
-
* Platform type
|
|
3489
|
-
*/
|
|
3490
|
-
type?:
|
|
3491
|
-
| 'BANK'
|
|
3492
|
-
| 'BROKERAGE'
|
|
3493
|
-
| 'CRYPTO_EXCHANGE'
|
|
3494
|
-
| 'PAYMENT'
|
|
3495
|
-
| 'INVESTMENT'
|
|
3496
|
-
| 'INSURANCE'
|
|
3497
|
-
| 'OTHER';
|
|
3498
|
-
/**
|
|
3499
|
-
* Platform logo URL
|
|
3500
|
-
*/
|
|
3501
|
-
logoUrl?: string;
|
|
3502
|
-
/**
|
|
3503
|
-
* Whether the platform is active
|
|
3504
|
-
*/
|
|
3505
|
-
isActive?: boolean;
|
|
3506
|
-
};
|
|
3507
|
-
|
|
3508
3739
|
export type ProviderSyncConfigDto = {
|
|
3509
3740
|
/**
|
|
3510
3741
|
* Source account for the first posting
|
|
@@ -3526,6 +3757,10 @@ export type ProviderSyncConfigDto = {
|
|
|
3526
3757
|
* Filter pending transactions
|
|
3527
3758
|
*/
|
|
3528
3759
|
filterPending?: boolean;
|
|
3760
|
+
/**
|
|
3761
|
+
* External account ID for per-batch providers (e.g. GoCardless). Overrides sourceAccount when an ExternalAccountLink mapping exists.
|
|
3762
|
+
*/
|
|
3763
|
+
externalAccountId?: string;
|
|
3529
3764
|
};
|
|
3530
3765
|
|
|
3531
3766
|
export type ProviderSyncDto = {
|
|
@@ -3581,6 +3816,61 @@ export type SupportedProvidersResponseDto = {
|
|
|
3581
3816
|
providers: Array<string>;
|
|
3582
3817
|
};
|
|
3583
3818
|
|
|
3819
|
+
export type CreateExternalAccountLinkDto = {
|
|
3820
|
+
/**
|
|
3821
|
+
* Open Banking provider (whitelist)
|
|
3822
|
+
*/
|
|
3823
|
+
provider:
|
|
3824
|
+
| 'plaid'
|
|
3825
|
+
| 'teller'
|
|
3826
|
+
| 'truelayer'
|
|
3827
|
+
| 'gocardless'
|
|
3828
|
+
| 'simplefin'
|
|
3829
|
+
| 'yodlee'
|
|
3830
|
+
| 'beancount-direct'
|
|
3831
|
+
| 'parsed-bill';
|
|
3832
|
+
/**
|
|
3833
|
+
* External account ID from the provider
|
|
3834
|
+
*/
|
|
3835
|
+
externalAccountId: string;
|
|
3836
|
+
/**
|
|
3837
|
+
* Target BeanAccount ID (must belong to the JWT user)
|
|
3838
|
+
*/
|
|
3839
|
+
beanAccountId: string;
|
|
3840
|
+
};
|
|
3841
|
+
|
|
3842
|
+
/**
|
|
3843
|
+
* Open Banking provider (whitelist)
|
|
3844
|
+
*/
|
|
3845
|
+
export type provider =
|
|
3846
|
+
| 'plaid'
|
|
3847
|
+
| 'teller'
|
|
3848
|
+
| 'truelayer'
|
|
3849
|
+
| 'gocardless'
|
|
3850
|
+
| 'simplefin'
|
|
3851
|
+
| 'yodlee'
|
|
3852
|
+
| 'beancount-direct'
|
|
3853
|
+
| 'parsed-bill';
|
|
3854
|
+
|
|
3855
|
+
export type ExternalAccountLinkResponseDto = {
|
|
3856
|
+
id: string;
|
|
3857
|
+
provider: string;
|
|
3858
|
+
externalAccountId: string;
|
|
3859
|
+
beanAccountId: string;
|
|
3860
|
+
isActive: boolean;
|
|
3861
|
+
createdAt: string;
|
|
3862
|
+
updatedAt: string;
|
|
3863
|
+
};
|
|
3864
|
+
|
|
3865
|
+
export type ExternalAccountLinkListResponseDto = {
|
|
3866
|
+
items: Array<ExternalAccountLinkResponseDto>;
|
|
3867
|
+
total: number;
|
|
3868
|
+
/**
|
|
3869
|
+
* Filter by provider (query param)
|
|
3870
|
+
*/
|
|
3871
|
+
provider?: string;
|
|
3872
|
+
};
|
|
3873
|
+
|
|
3584
3874
|
export type ParserTelemetryReportDto = unknown;
|
|
3585
3875
|
|
|
3586
3876
|
export type UncoveredFormatMissDto = unknown;
|
|
@@ -4160,28 +4450,214 @@ export type liabilitySubType = 'borrow' | 'repay';
|
|
|
4160
4450
|
*/
|
|
4161
4451
|
export type equitySubType = 'opening' | 'adjustment';
|
|
4162
4452
|
|
|
4163
|
-
export type
|
|
4164
|
-
/**
|
|
4165
|
-
* ISO 4217 currency code
|
|
4166
|
-
*/
|
|
4167
|
-
currency: string;
|
|
4453
|
+
export type PlatformListItemDto = {
|
|
4168
4454
|
/**
|
|
4169
|
-
*
|
|
4455
|
+
* Global platform ID
|
|
4170
4456
|
*/
|
|
4171
|
-
|
|
4172
|
-
};
|
|
4173
|
-
|
|
4174
|
-
export type NetWorthByCurrencyDto = {
|
|
4457
|
+
id: string;
|
|
4175
4458
|
/**
|
|
4176
|
-
*
|
|
4459
|
+
* Platform name
|
|
4177
4460
|
*/
|
|
4178
|
-
|
|
4461
|
+
name: string;
|
|
4179
4462
|
/**
|
|
4180
|
-
*
|
|
4463
|
+
* Platform URL
|
|
4181
4464
|
*/
|
|
4182
|
-
|
|
4465
|
+
url: string;
|
|
4183
4466
|
/**
|
|
4184
|
-
*
|
|
4467
|
+
* Platform type
|
|
4468
|
+
*/
|
|
4469
|
+
type:
|
|
4470
|
+
| 'BANK'
|
|
4471
|
+
| 'BROKERAGE'
|
|
4472
|
+
| 'CRYPTO_EXCHANGE'
|
|
4473
|
+
| 'PAYMENT'
|
|
4474
|
+
| 'INVESTMENT'
|
|
4475
|
+
| 'INSURANCE'
|
|
4476
|
+
| 'OTHER';
|
|
4477
|
+
/**
|
|
4478
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
4479
|
+
*/
|
|
4480
|
+
canonical: string;
|
|
4481
|
+
/**
|
|
4482
|
+
* Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
|
|
4483
|
+
*/
|
|
4484
|
+
suggestedSegment: string;
|
|
4485
|
+
/**
|
|
4486
|
+
* Logo URL
|
|
4487
|
+
*/
|
|
4488
|
+
logoUrl: string | null;
|
|
4489
|
+
/**
|
|
4490
|
+
* Whether user has accounts using this platform
|
|
4491
|
+
*/
|
|
4492
|
+
isBound: boolean;
|
|
4493
|
+
};
|
|
4494
|
+
|
|
4495
|
+
/**
|
|
4496
|
+
* Platform type
|
|
4497
|
+
*/
|
|
4498
|
+
export type type3 =
|
|
4499
|
+
| 'BANK'
|
|
4500
|
+
| 'BROKERAGE'
|
|
4501
|
+
| 'CRYPTO_EXCHANGE'
|
|
4502
|
+
| 'PAYMENT'
|
|
4503
|
+
| 'INVESTMENT'
|
|
4504
|
+
| 'INSURANCE'
|
|
4505
|
+
| 'OTHER';
|
|
4506
|
+
|
|
4507
|
+
export type PlatformMatchResultDto = {
|
|
4508
|
+
/**
|
|
4509
|
+
* Global platform ID
|
|
4510
|
+
*/
|
|
4511
|
+
id: string;
|
|
4512
|
+
/**
|
|
4513
|
+
* Platform name (e.g., "ICBC")
|
|
4514
|
+
*/
|
|
4515
|
+
name: string;
|
|
4516
|
+
/**
|
|
4517
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
4518
|
+
*/
|
|
4519
|
+
canonical: string;
|
|
4520
|
+
/**
|
|
4521
|
+
* Platform type
|
|
4522
|
+
*/
|
|
4523
|
+
type:
|
|
4524
|
+
| 'BANK'
|
|
4525
|
+
| 'BROKERAGE'
|
|
4526
|
+
| 'CRYPTO_EXCHANGE'
|
|
4527
|
+
| 'PAYMENT'
|
|
4528
|
+
| 'INVESTMENT'
|
|
4529
|
+
| 'INSURANCE'
|
|
4530
|
+
| 'OTHER';
|
|
4531
|
+
/**
|
|
4532
|
+
* Suggested path segment — canonical, already in ACCOUNT_RE format
|
|
4533
|
+
*/
|
|
4534
|
+
suggestedSegment: string;
|
|
4535
|
+
/**
|
|
4536
|
+
* Logo URL
|
|
4537
|
+
*/
|
|
4538
|
+
logoUrl: string | null;
|
|
4539
|
+
/**
|
|
4540
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4541
|
+
*/
|
|
4542
|
+
matchType: 'exact' | 'prefix' | 'substring';
|
|
4543
|
+
};
|
|
4544
|
+
|
|
4545
|
+
/**
|
|
4546
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4547
|
+
*/
|
|
4548
|
+
export type matchType = 'exact' | 'prefix' | 'substring';
|
|
4549
|
+
|
|
4550
|
+
export type PlatformMatchResponseDto = {
|
|
4551
|
+
/**
|
|
4552
|
+
* Ranked matches, best tier first (at most 10 rows)
|
|
4553
|
+
*/
|
|
4554
|
+
platforms: Array<PlatformMatchResultDto>;
|
|
4555
|
+
/**
|
|
4556
|
+
* Overall match quality — top row's tier, or 'none' when no hits
|
|
4557
|
+
*/
|
|
4558
|
+
matchType: 'none' | 'exact' | 'prefix' | 'substring';
|
|
4559
|
+
/**
|
|
4560
|
+
* Total matches before LIMIT (truncation transparency)
|
|
4561
|
+
*/
|
|
4562
|
+
total: number;
|
|
4563
|
+
/**
|
|
4564
|
+
* true when total > platforms.length (more matches exist)
|
|
4565
|
+
*/
|
|
4566
|
+
hasMore: boolean;
|
|
4567
|
+
};
|
|
4568
|
+
|
|
4569
|
+
/**
|
|
4570
|
+
* Overall match quality — top row's tier, or 'none' when no hits
|
|
4571
|
+
*/
|
|
4572
|
+
export type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
|
|
4573
|
+
|
|
4574
|
+
export type CreatePlatformDto = {
|
|
4575
|
+
/**
|
|
4576
|
+
* Platform name
|
|
4577
|
+
*/
|
|
4578
|
+
name: string;
|
|
4579
|
+
/**
|
|
4580
|
+
* Platform canonical identifier (lowercase, kebab-case)
|
|
4581
|
+
*/
|
|
4582
|
+
canonical: string;
|
|
4583
|
+
/**
|
|
4584
|
+
* Platform aliases (multi-language names for lookup)
|
|
4585
|
+
*/
|
|
4586
|
+
aliases: Array<string>;
|
|
4587
|
+
/**
|
|
4588
|
+
* Platform URL
|
|
4589
|
+
*/
|
|
4590
|
+
url: string;
|
|
4591
|
+
/**
|
|
4592
|
+
* Platform type
|
|
4593
|
+
*/
|
|
4594
|
+
type:
|
|
4595
|
+
| 'BANK'
|
|
4596
|
+
| 'BROKERAGE'
|
|
4597
|
+
| 'CRYPTO_EXCHANGE'
|
|
4598
|
+
| 'PAYMENT'
|
|
4599
|
+
| 'INVESTMENT'
|
|
4600
|
+
| 'INSURANCE'
|
|
4601
|
+
| 'OTHER';
|
|
4602
|
+
/**
|
|
4603
|
+
* Platform logo URL
|
|
4604
|
+
*/
|
|
4605
|
+
logoUrl?: string;
|
|
4606
|
+
/**
|
|
4607
|
+
* Whether the platform is active
|
|
4608
|
+
*/
|
|
4609
|
+
isActive?: boolean;
|
|
4610
|
+
};
|
|
4611
|
+
|
|
4612
|
+
export type UpdatePlatformDto = {
|
|
4613
|
+
/**
|
|
4614
|
+
* Platform name
|
|
4615
|
+
*/
|
|
4616
|
+
name?: string;
|
|
4617
|
+
/**
|
|
4618
|
+
* Platform canonical identifier (lowercase, kebab-case)
|
|
4619
|
+
*/
|
|
4620
|
+
canonical?: string;
|
|
4621
|
+
/**
|
|
4622
|
+
* Platform aliases (multi-language names for lookup)
|
|
4623
|
+
*/
|
|
4624
|
+
aliases?: Array<string>;
|
|
4625
|
+
/**
|
|
4626
|
+
* Platform URL
|
|
4627
|
+
*/
|
|
4628
|
+
url?: string;
|
|
4629
|
+
/**
|
|
4630
|
+
* Platform type
|
|
4631
|
+
*/
|
|
4632
|
+
type?:
|
|
4633
|
+
| 'BANK'
|
|
4634
|
+
| 'BROKERAGE'
|
|
4635
|
+
| 'CRYPTO_EXCHANGE'
|
|
4636
|
+
| 'PAYMENT'
|
|
4637
|
+
| 'INVESTMENT'
|
|
4638
|
+
| 'INSURANCE'
|
|
4639
|
+
| 'OTHER';
|
|
4640
|
+
/**
|
|
4641
|
+
* Platform logo URL
|
|
4642
|
+
*/
|
|
4643
|
+
logoUrl?: string;
|
|
4644
|
+
/**
|
|
4645
|
+
* Whether the platform is active
|
|
4646
|
+
*/
|
|
4647
|
+
isActive?: boolean;
|
|
4648
|
+
};
|
|
4649
|
+
|
|
4650
|
+
export type NetWorthByCurrencyDto = {
|
|
4651
|
+
/**
|
|
4652
|
+
* Net worth by currency
|
|
4653
|
+
*/
|
|
4654
|
+
netWorth: Array<BalanceByCurrencyDto>;
|
|
4655
|
+
/**
|
|
4656
|
+
* Assets by currency
|
|
4657
|
+
*/
|
|
4658
|
+
assets: Array<BalanceByCurrencyDto>;
|
|
4659
|
+
/**
|
|
4660
|
+
* Liabilities by currency
|
|
4185
4661
|
*/
|
|
4186
4662
|
liabilities: Array<BalanceByCurrencyDto>;
|
|
4187
4663
|
};
|
|
@@ -4211,21 +4687,6 @@ export type ConvertedNetWorthDto = {
|
|
|
4211
4687
|
};
|
|
4212
4688
|
};
|
|
4213
4689
|
|
|
4214
|
-
export type ExchangeRateWarningDto = {
|
|
4215
|
-
/**
|
|
4216
|
-
* Warning type
|
|
4217
|
-
*/
|
|
4218
|
-
type: string;
|
|
4219
|
-
/**
|
|
4220
|
-
* Currency without exchange rate
|
|
4221
|
-
*/
|
|
4222
|
-
currency: string;
|
|
4223
|
-
/**
|
|
4224
|
-
* Total amount affected
|
|
4225
|
-
*/
|
|
4226
|
-
totalAmount: string;
|
|
4227
|
-
};
|
|
4228
|
-
|
|
4229
4690
|
export type NetWorthResponseDto = {
|
|
4230
4691
|
/**
|
|
4231
4692
|
* Total net worth (assets - liabilities, converted to base currency)
|
|
@@ -4290,6 +4751,10 @@ export type AccountItemDto = {
|
|
|
4290
4751
|
* Currency code
|
|
4291
4752
|
*/
|
|
4292
4753
|
currency: string;
|
|
4754
|
+
/**
|
|
4755
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
4756
|
+
*/
|
|
4757
|
+
convertedBalance?: string;
|
|
4293
4758
|
};
|
|
4294
4759
|
|
|
4295
4760
|
export type PlatformGroupDto = {
|
|
@@ -4306,9 +4771,40 @@ export type PlatformGroupDto = {
|
|
|
4306
4771
|
*/
|
|
4307
4772
|
accounts: Array<AccountItemDto>;
|
|
4308
4773
|
/**
|
|
4309
|
-
*
|
|
4774
|
+
* FX-converted total balance in base currency
|
|
4310
4775
|
*/
|
|
4311
4776
|
totalBalance: string;
|
|
4777
|
+
/**
|
|
4778
|
+
* Raw (unconverted) balances grouped by currency
|
|
4779
|
+
*/
|
|
4780
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
4781
|
+
/**
|
|
4782
|
+
* Converted balance in base currency (omitted when no currency is convertible)
|
|
4783
|
+
*/
|
|
4784
|
+
convertedBalance?: string;
|
|
4785
|
+
/**
|
|
4786
|
+
* Share of the grand converted total (0-100); 0 when grand total is 0
|
|
4787
|
+
*/
|
|
4788
|
+
sharePct: number;
|
|
4789
|
+
};
|
|
4790
|
+
|
|
4791
|
+
export type AccountExchangeRateWarningDto = {
|
|
4792
|
+
/**
|
|
4793
|
+
* Warning type
|
|
4794
|
+
*/
|
|
4795
|
+
type: string;
|
|
4796
|
+
/**
|
|
4797
|
+
* Currency without exchange rate
|
|
4798
|
+
*/
|
|
4799
|
+
currency: string;
|
|
4800
|
+
/**
|
|
4801
|
+
* Affected account paths
|
|
4802
|
+
*/
|
|
4803
|
+
accounts: Array<string>;
|
|
4804
|
+
/**
|
|
4805
|
+
* Total amount in this currency
|
|
4806
|
+
*/
|
|
4807
|
+
totalAmount: string;
|
|
4312
4808
|
};
|
|
4313
4809
|
|
|
4314
4810
|
export type AccountsSummaryDto = {
|
|
@@ -4320,6 +4816,14 @@ export type AccountsSummaryDto = {
|
|
|
4320
4816
|
* Total number of platforms
|
|
4321
4817
|
*/
|
|
4322
4818
|
totalPlatforms: number;
|
|
4819
|
+
/**
|
|
4820
|
+
* Base currency for conversion
|
|
4821
|
+
*/
|
|
4822
|
+
baseCurrency: string;
|
|
4823
|
+
/**
|
|
4824
|
+
* Per-account exchange rate warnings
|
|
4825
|
+
*/
|
|
4826
|
+
warnings?: Array<AccountExchangeRateWarningDto>;
|
|
4323
4827
|
};
|
|
4324
4828
|
|
|
4325
4829
|
export type AccountsResponseDto = {
|
|
@@ -4354,6 +4858,10 @@ export type AccountItemWithAssetClassDto = {
|
|
|
4354
4858
|
* Currency code
|
|
4355
4859
|
*/
|
|
4356
4860
|
currency: string;
|
|
4861
|
+
/**
|
|
4862
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
4863
|
+
*/
|
|
4864
|
+
convertedBalance?: string;
|
|
4357
4865
|
/**
|
|
4358
4866
|
* Asset class
|
|
4359
4867
|
*/
|
|
@@ -4435,25 +4943,6 @@ export type assetClass =
|
|
|
4435
4943
|
| 'REAL_ESTATE'
|
|
4436
4944
|
| 'INDEX';
|
|
4437
4945
|
|
|
4438
|
-
export type AccountExchangeRateWarningDto = {
|
|
4439
|
-
/**
|
|
4440
|
-
* Warning type
|
|
4441
|
-
*/
|
|
4442
|
-
type: string;
|
|
4443
|
-
/**
|
|
4444
|
-
* Currency without exchange rate
|
|
4445
|
-
*/
|
|
4446
|
-
currency: string;
|
|
4447
|
-
/**
|
|
4448
|
-
* Affected account paths
|
|
4449
|
-
*/
|
|
4450
|
-
accounts: Array<string>;
|
|
4451
|
-
/**
|
|
4452
|
-
* Total amount in this currency
|
|
4453
|
-
*/
|
|
4454
|
-
totalAmount: string;
|
|
4455
|
-
};
|
|
4456
|
-
|
|
4457
4946
|
export type AssetClassSummaryDto = {
|
|
4458
4947
|
/**
|
|
4459
4948
|
* Total number of accounts
|
|
@@ -4619,28 +5108,85 @@ export type CashFlowResponseDto = {
|
|
|
4619
5108
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4620
5109
|
};
|
|
4621
5110
|
|
|
4622
|
-
export type
|
|
5111
|
+
export type CategoryGroupDto = {
|
|
4623
5112
|
/**
|
|
4624
|
-
*
|
|
5113
|
+
* Functional category (account-path Group segment); regional and universal account paths merge under it
|
|
4625
5114
|
*/
|
|
4626
|
-
|
|
5115
|
+
category: string;
|
|
4627
5116
|
/**
|
|
4628
|
-
*
|
|
5117
|
+
* Converted total for this category in base currency (expense amount when flow=expense, income amount when flow=income)
|
|
4629
5118
|
*/
|
|
4630
|
-
|
|
5119
|
+
totalExpense: string;
|
|
4631
5120
|
/**
|
|
4632
|
-
*
|
|
5121
|
+
* Share of grand total (0-100); 0 when grand total is 0
|
|
4633
5122
|
*/
|
|
4634
|
-
|
|
4635
|
-
[key: string]: unknown;
|
|
4636
|
-
} | null;
|
|
4637
|
-
};
|
|
4638
|
-
|
|
4639
|
-
export type CurrentPriceDto = {
|
|
5123
|
+
sharePct: number;
|
|
4640
5124
|
/**
|
|
4641
|
-
*
|
|
5125
|
+
* Raw (unconverted) expense per currency
|
|
4642
5126
|
*/
|
|
4643
|
-
|
|
5127
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
5128
|
+
/**
|
|
5129
|
+
* Converted total in base currency (omitted when FX missing for all currencies in this category)
|
|
5130
|
+
*/
|
|
5131
|
+
convertedBalance?: string;
|
|
5132
|
+
};
|
|
5133
|
+
|
|
5134
|
+
export type ExpensesByCategorySummaryDto = {
|
|
5135
|
+
/**
|
|
5136
|
+
* Total across all categories, converted (convertible categories only); expense totals when flow=expense, income totals when flow=income
|
|
5137
|
+
*/
|
|
5138
|
+
totalExpense: string;
|
|
5139
|
+
/**
|
|
5140
|
+
* Number of categories
|
|
5141
|
+
*/
|
|
5142
|
+
categoryCount: number;
|
|
5143
|
+
};
|
|
5144
|
+
|
|
5145
|
+
export type ExpensesByCategoryResponseDto = {
|
|
5146
|
+
/**
|
|
5147
|
+
* Period requested
|
|
5148
|
+
*/
|
|
5149
|
+
period: string;
|
|
5150
|
+
/**
|
|
5151
|
+
* Base currency for converted values
|
|
5152
|
+
*/
|
|
5153
|
+
baseCurrency: string;
|
|
5154
|
+
/**
|
|
5155
|
+
* Expense groups by functional category, sorted by converted total desc
|
|
5156
|
+
*/
|
|
5157
|
+
groups: Array<CategoryGroupDto>;
|
|
5158
|
+
/**
|
|
5159
|
+
* Summary statistics
|
|
5160
|
+
*/
|
|
5161
|
+
summary: ExpensesByCategorySummaryDto;
|
|
5162
|
+
/**
|
|
5163
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
5164
|
+
*/
|
|
5165
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
5166
|
+
};
|
|
5167
|
+
|
|
5168
|
+
export type MonetaryDto = {
|
|
5169
|
+
/**
|
|
5170
|
+
* Amount (Decimal string)
|
|
5171
|
+
*/
|
|
5172
|
+
amount: string;
|
|
5173
|
+
/**
|
|
5174
|
+
* ISO 4217 currency
|
|
5175
|
+
*/
|
|
5176
|
+
currency: string;
|
|
5177
|
+
/**
|
|
5178
|
+
* Converted to user base currency (Decimal string)
|
|
5179
|
+
*/
|
|
5180
|
+
baseCcyEquivalent?: {
|
|
5181
|
+
[key: string]: unknown;
|
|
5182
|
+
} | null;
|
|
5183
|
+
};
|
|
5184
|
+
|
|
5185
|
+
export type CurrentPriceDto = {
|
|
5186
|
+
/**
|
|
5187
|
+
* Price amount (Decimal string)
|
|
5188
|
+
*/
|
|
5189
|
+
amount: string;
|
|
4644
5190
|
/**
|
|
4645
5191
|
* Price currency (ISO 4217)
|
|
4646
5192
|
*/
|
|
@@ -4814,108 +5360,6 @@ export type HoldingPnlResponseDto = {
|
|
|
4814
5360
|
*/
|
|
4815
5361
|
export type method = 'average' | 'FIFO';
|
|
4816
5362
|
|
|
4817
|
-
export type CreateBeanPriceDto = {
|
|
4818
|
-
/**
|
|
4819
|
-
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4820
|
-
*/
|
|
4821
|
-
currency: string;
|
|
4822
|
-
/**
|
|
4823
|
-
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
4824
|
-
*/
|
|
4825
|
-
quoteCurrency: string;
|
|
4826
|
-
/**
|
|
4827
|
-
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
4828
|
-
*/
|
|
4829
|
-
amount: number;
|
|
4830
|
-
/**
|
|
4831
|
-
* Price date (ISO 8601 format)
|
|
4832
|
-
*/
|
|
4833
|
-
date: string;
|
|
4834
|
-
/**
|
|
4835
|
-
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
4836
|
-
*/
|
|
4837
|
-
metadata?: {
|
|
4838
|
-
[key: string]: unknown;
|
|
4839
|
-
};
|
|
4840
|
-
};
|
|
4841
|
-
|
|
4842
|
-
export type PriceResponseDto = {
|
|
4843
|
-
/**
|
|
4844
|
-
* Unique identifier
|
|
4845
|
-
*/
|
|
4846
|
-
id: string;
|
|
4847
|
-
/**
|
|
4848
|
-
* User ID (owner of the price)
|
|
4849
|
-
*/
|
|
4850
|
-
userId: string;
|
|
4851
|
-
/**
|
|
4852
|
-
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4853
|
-
*/
|
|
4854
|
-
currency: string;
|
|
4855
|
-
/**
|
|
4856
|
-
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
4857
|
-
*/
|
|
4858
|
-
quoteCurrency: string;
|
|
4859
|
-
/**
|
|
4860
|
-
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
4861
|
-
*/
|
|
4862
|
-
amount: number;
|
|
4863
|
-
/**
|
|
4864
|
-
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
4865
|
-
*/
|
|
4866
|
-
date: string;
|
|
4867
|
-
/**
|
|
4868
|
-
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
4869
|
-
*/
|
|
4870
|
-
meta: {
|
|
4871
|
-
[key: string]: unknown;
|
|
4872
|
-
};
|
|
4873
|
-
/**
|
|
4874
|
-
* Creation timestamp
|
|
4875
|
-
*/
|
|
4876
|
-
createdAt: string;
|
|
4877
|
-
/**
|
|
4878
|
-
* Last update timestamp
|
|
4879
|
-
*/
|
|
4880
|
-
updatedAt: string;
|
|
4881
|
-
};
|
|
4882
|
-
|
|
4883
|
-
export type PriceListResponseDto = {
|
|
4884
|
-
/**
|
|
4885
|
-
* List of prices
|
|
4886
|
-
*/
|
|
4887
|
-
items: Array<PriceResponseDto>;
|
|
4888
|
-
/**
|
|
4889
|
-
* Total number of prices
|
|
4890
|
-
*/
|
|
4891
|
-
total: number;
|
|
4892
|
-
};
|
|
4893
|
-
|
|
4894
|
-
export type UpdateBeanPriceDto = {
|
|
4895
|
-
/**
|
|
4896
|
-
* Currency being priced
|
|
4897
|
-
*/
|
|
4898
|
-
currency?: string;
|
|
4899
|
-
/**
|
|
4900
|
-
* Quote currency (pricing currency)
|
|
4901
|
-
*/
|
|
4902
|
-
quoteCurrency?: string;
|
|
4903
|
-
/**
|
|
4904
|
-
* Price amount (MUST be >= 0 per Beancount spec)
|
|
4905
|
-
*/
|
|
4906
|
-
amount?: number;
|
|
4907
|
-
/**
|
|
4908
|
-
* Price date (ISO 8601 format)
|
|
4909
|
-
*/
|
|
4910
|
-
date?: string;
|
|
4911
|
-
/**
|
|
4912
|
-
* Metadata
|
|
4913
|
-
*/
|
|
4914
|
-
metadata?: {
|
|
4915
|
-
[key: string]: unknown;
|
|
4916
|
-
};
|
|
4917
|
-
};
|
|
4918
|
-
|
|
4919
5363
|
export type CurrencyBalanceDto = {
|
|
4920
5364
|
/**
|
|
4921
5365
|
* ISO 4217 currency code
|
|
@@ -4942,6 +5386,14 @@ export type TimeSeriesPointDto = {
|
|
|
4942
5386
|
change?: {
|
|
4943
5387
|
[key: string]: unknown;
|
|
4944
5388
|
};
|
|
5389
|
+
/**
|
|
5390
|
+
* Total assets at this date (in base currency)
|
|
5391
|
+
*/
|
|
5392
|
+
assets?: string;
|
|
5393
|
+
/**
|
|
5394
|
+
* Total liabilities at this date (in base currency)
|
|
5395
|
+
*/
|
|
5396
|
+
liabilities?: string;
|
|
4945
5397
|
/**
|
|
4946
5398
|
* Multi-currency breakdown for this point
|
|
4947
5399
|
*/
|
|
@@ -5009,6 +5461,71 @@ export type PortfolioTrendsResponseDto = {
|
|
|
5009
5461
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
5010
5462
|
};
|
|
5011
5463
|
|
|
5464
|
+
export type CashFlowPointDto = {
|
|
5465
|
+
/**
|
|
5466
|
+
* Month key (YYYY-MM)
|
|
5467
|
+
*/
|
|
5468
|
+
month: string;
|
|
5469
|
+
/**
|
|
5470
|
+
* Income in base currency (absolute, converted)
|
|
5471
|
+
*/
|
|
5472
|
+
income: string;
|
|
5473
|
+
/**
|
|
5474
|
+
* Expense in base currency (absolute, converted)
|
|
5475
|
+
*/
|
|
5476
|
+
expense: string;
|
|
5477
|
+
/**
|
|
5478
|
+
* netSavings = income − expense (savings positive)
|
|
5479
|
+
*/
|
|
5480
|
+
netSavings: string;
|
|
5481
|
+
};
|
|
5482
|
+
|
|
5483
|
+
export type CashFlowTrendSummaryDto = {
|
|
5484
|
+
/**
|
|
5485
|
+
* Total income across the period
|
|
5486
|
+
*/
|
|
5487
|
+
totalIncome: string;
|
|
5488
|
+
/**
|
|
5489
|
+
* Total expense across the period
|
|
5490
|
+
*/
|
|
5491
|
+
totalExpense: string;
|
|
5492
|
+
/**
|
|
5493
|
+
* income − expense across the period
|
|
5494
|
+
*/
|
|
5495
|
+
totalNetSavings: string;
|
|
5496
|
+
/**
|
|
5497
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
5498
|
+
*/
|
|
5499
|
+
averageMonthlyNetSavings: string;
|
|
5500
|
+
};
|
|
5501
|
+
|
|
5502
|
+
export type CashFlowTrendsResponseDto = {
|
|
5503
|
+
/**
|
|
5504
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
5505
|
+
*/
|
|
5506
|
+
series: Array<CashFlowPointDto>;
|
|
5507
|
+
/**
|
|
5508
|
+
* Period totals
|
|
5509
|
+
*/
|
|
5510
|
+
summary: CashFlowTrendSummaryDto;
|
|
5511
|
+
/**
|
|
5512
|
+
* Period requested
|
|
5513
|
+
*/
|
|
5514
|
+
period: string;
|
|
5515
|
+
/**
|
|
5516
|
+
* Data granularity (v1 returns month buckets)
|
|
5517
|
+
*/
|
|
5518
|
+
granularity: string;
|
|
5519
|
+
/**
|
|
5520
|
+
* Base currency for converted values
|
|
5521
|
+
*/
|
|
5522
|
+
currency: string;
|
|
5523
|
+
/**
|
|
5524
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
5525
|
+
*/
|
|
5526
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
5527
|
+
};
|
|
5528
|
+
|
|
5012
5529
|
export type GenerateSnapshotBody = unknown;
|
|
5013
5530
|
|
|
5014
5531
|
export type GenerateSnapshotResponse = unknown;
|
|
@@ -5024,6 +5541,13 @@ export type AnonymousLoginDto = {
|
|
|
5024
5541
|
accessToken: string;
|
|
5025
5542
|
};
|
|
5026
5543
|
|
|
5544
|
+
export type AnonymousLoginResponseDto = {
|
|
5545
|
+
/**
|
|
5546
|
+
* JWT auth token
|
|
5547
|
+
*/
|
|
5548
|
+
authToken: string;
|
|
5549
|
+
};
|
|
5550
|
+
|
|
5027
5551
|
export type AccountControllerCreateData = {
|
|
5028
5552
|
/**
|
|
5029
5553
|
* Region code for tenant context
|
|
@@ -5052,7 +5576,7 @@ export type AccountControllerFindAllData = {
|
|
|
5052
5576
|
*/
|
|
5053
5577
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5054
5578
|
/**
|
|
5055
|
-
* Search term for path
|
|
5579
|
+
* Search term for account path
|
|
5056
5580
|
*/
|
|
5057
5581
|
search?: string;
|
|
5058
5582
|
/**
|
|
@@ -5135,6 +5659,21 @@ export type AccountControllerReopenData = {
|
|
|
5135
5659
|
|
|
5136
5660
|
export type AccountControllerReopenResponse = AccountResponseDto;
|
|
5137
5661
|
|
|
5662
|
+
export type AccountControllerAddOpeningBalanceData = {
|
|
5663
|
+
/**
|
|
5664
|
+
* Account UUID
|
|
5665
|
+
*/
|
|
5666
|
+
id: string;
|
|
5667
|
+
/**
|
|
5668
|
+
* Region code for tenant context
|
|
5669
|
+
*/
|
|
5670
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5671
|
+
requestBody: CreateOpeningBalanceDto;
|
|
5672
|
+
};
|
|
5673
|
+
|
|
5674
|
+
export type AccountControllerAddOpeningBalanceResponse =
|
|
5675
|
+
OpeningBalanceResultDto;
|
|
5676
|
+
|
|
5138
5677
|
export type AccountStandardsControllerGetTemplatesData = {
|
|
5139
5678
|
/**
|
|
5140
5679
|
* Region code (cn, us, de)
|
|
@@ -5195,6 +5734,10 @@ export type TransactionControllerListData = {
|
|
|
5195
5734
|
* Filter by account ID (transactions with postings to this account)
|
|
5196
5735
|
*/
|
|
5197
5736
|
accountId?: string;
|
|
5737
|
+
/**
|
|
5738
|
+
* Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
|
|
5739
|
+
*/
|
|
5740
|
+
category?: string;
|
|
5198
5741
|
/**
|
|
5199
5742
|
* Filter by start date (inclusive), format: YYYY-MM-DD
|
|
5200
5743
|
*/
|
|
@@ -5319,7 +5862,7 @@ export type TransactionControllerDeleteResponse = void;
|
|
|
5319
5862
|
|
|
5320
5863
|
export type BalanceControllerGetBalanceData = {
|
|
5321
5864
|
/**
|
|
5322
|
-
* Account name (e.g., "Assets:
|
|
5865
|
+
* Account name (e.g., "Assets:Checking")
|
|
5323
5866
|
*/
|
|
5324
5867
|
account: string;
|
|
5325
5868
|
/**
|
|
@@ -5721,46 +6264,143 @@ export type CommodityControllerBulkCreateData = {
|
|
|
5721
6264
|
|
|
5722
6265
|
export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
|
|
5723
6266
|
|
|
5724
|
-
export type
|
|
6267
|
+
export type PriceControllerCreateData = {
|
|
5725
6268
|
/**
|
|
5726
6269
|
* Region code for tenant context
|
|
5727
6270
|
*/
|
|
5728
6271
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5729
|
-
requestBody:
|
|
6272
|
+
requestBody: CreateBeanPriceDto;
|
|
5730
6273
|
};
|
|
5731
6274
|
|
|
5732
|
-
export type
|
|
6275
|
+
export type PriceControllerCreateResponse = PriceResponseDto;
|
|
5733
6276
|
|
|
5734
|
-
export type
|
|
6277
|
+
export type PriceControllerFindAllData = {
|
|
5735
6278
|
/**
|
|
5736
|
-
* Filter by
|
|
6279
|
+
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
5737
6280
|
*/
|
|
5738
|
-
|
|
6281
|
+
currency?: string;
|
|
5739
6282
|
/**
|
|
5740
|
-
* Filter
|
|
6283
|
+
* Filter prices from this date (ISO 8601 format)
|
|
5741
6284
|
*/
|
|
5742
|
-
|
|
6285
|
+
dateFrom?: string;
|
|
5743
6286
|
/**
|
|
5744
|
-
* Filter
|
|
6287
|
+
* Filter prices to this date (ISO 8601 format)
|
|
5745
6288
|
*/
|
|
5746
|
-
|
|
6289
|
+
dateTo?: string;
|
|
5747
6290
|
/**
|
|
5748
|
-
*
|
|
6291
|
+
* Number of items per page (default: 20, max: 100)
|
|
5749
6292
|
*/
|
|
5750
|
-
|
|
5751
|
-
};
|
|
5752
|
-
|
|
5753
|
-
export type RecurringRuleControllerFindAllResponse =
|
|
5754
|
-
Array<RecurringRuleResponseDto>;
|
|
5755
|
-
|
|
5756
|
-
export type RecurringRuleControllerCreateFromTransactionData = {
|
|
6293
|
+
limit?: number;
|
|
5757
6294
|
/**
|
|
5758
|
-
*
|
|
6295
|
+
* Page number for pagination (default: 1)
|
|
5759
6296
|
*/
|
|
5760
|
-
|
|
5761
|
-
requestBody: CreateRuleFromTransactionDto;
|
|
6297
|
+
page?: number;
|
|
5762
6298
|
/**
|
|
5763
|
-
*
|
|
6299
|
+
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
6300
|
+
*/
|
|
6301
|
+
quoteCurrency?: string;
|
|
6302
|
+
/**
|
|
6303
|
+
* Region code for tenant context
|
|
6304
|
+
*/
|
|
6305
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6306
|
+
/**
|
|
6307
|
+
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
6308
|
+
*/
|
|
6309
|
+
search?: string;
|
|
6310
|
+
};
|
|
6311
|
+
|
|
6312
|
+
export type PriceControllerFindAllResponse = PriceListResponseDto;
|
|
6313
|
+
|
|
6314
|
+
export type PriceControllerFindOneData = {
|
|
6315
|
+
/**
|
|
6316
|
+
* Price ID
|
|
6317
|
+
*/
|
|
6318
|
+
id: string;
|
|
6319
|
+
/**
|
|
6320
|
+
* Region code for tenant context
|
|
6321
|
+
*/
|
|
6322
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6323
|
+
};
|
|
6324
|
+
|
|
6325
|
+
export type PriceControllerFindOneResponse = PriceResponseDto;
|
|
6326
|
+
|
|
6327
|
+
export type PriceControllerUpdateData = {
|
|
6328
|
+
/**
|
|
6329
|
+
* Price ID
|
|
6330
|
+
*/
|
|
6331
|
+
id: string;
|
|
6332
|
+
/**
|
|
6333
|
+
* Region code for tenant context
|
|
6334
|
+
*/
|
|
6335
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6336
|
+
requestBody: UpdateBeanPriceDto;
|
|
6337
|
+
};
|
|
6338
|
+
|
|
6339
|
+
export type PriceControllerUpdateResponse = PriceResponseDto;
|
|
6340
|
+
|
|
6341
|
+
export type PriceControllerDeleteData = {
|
|
6342
|
+
/**
|
|
6343
|
+
* Price ID
|
|
6344
|
+
*/
|
|
6345
|
+
id: string;
|
|
6346
|
+
/**
|
|
6347
|
+
* Region code for tenant context
|
|
6348
|
+
*/
|
|
6349
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6350
|
+
};
|
|
6351
|
+
|
|
6352
|
+
export type PriceControllerDeleteResponse = void;
|
|
6353
|
+
|
|
6354
|
+
export type PriceControllerBulkCreateData = {
|
|
6355
|
+
/**
|
|
6356
|
+
* Region code for tenant context
|
|
6357
|
+
*/
|
|
6358
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6359
|
+
requestBody: Array<string>;
|
|
6360
|
+
};
|
|
6361
|
+
|
|
6362
|
+
export type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
|
|
6363
|
+
|
|
6364
|
+
export type RecurringRuleControllerCreateData = {
|
|
6365
|
+
/**
|
|
6366
|
+
* Region code for tenant context
|
|
6367
|
+
*/
|
|
6368
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6369
|
+
requestBody: CreateRecurringRuleDto;
|
|
6370
|
+
};
|
|
6371
|
+
|
|
6372
|
+
export type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
|
|
6373
|
+
|
|
6374
|
+
export type RecurringRuleControllerFindAllData = {
|
|
6375
|
+
/**
|
|
6376
|
+
* Filter by frequency (WEEKLY, MONTHLY, etc.)
|
|
6377
|
+
*/
|
|
6378
|
+
frequency?: string;
|
|
6379
|
+
/**
|
|
6380
|
+
* Filter by autoCreate enabled
|
|
6381
|
+
*/
|
|
6382
|
+
hasAutoCreate?: boolean;
|
|
6383
|
+
/**
|
|
6384
|
+
* Filter by active status
|
|
6385
|
+
*/
|
|
6386
|
+
isActive?: boolean;
|
|
6387
|
+
/**
|
|
6388
|
+
* Region code for tenant context
|
|
6389
|
+
*/
|
|
6390
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6391
|
+
};
|
|
6392
|
+
|
|
6393
|
+
export type RecurringRuleControllerFindAllResponse =
|
|
6394
|
+
Array<RecurringRuleResponseDto>;
|
|
6395
|
+
|
|
6396
|
+
export type RecurringRuleControllerCreateFromTransactionData = {
|
|
6397
|
+
/**
|
|
6398
|
+
* Region code for tenant context
|
|
6399
|
+
*/
|
|
6400
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6401
|
+
requestBody: CreateRuleFromTransactionDto;
|
|
6402
|
+
/**
|
|
6403
|
+
* Source transaction ID
|
|
5764
6404
|
*/
|
|
5765
6405
|
transactionId: string;
|
|
5766
6406
|
};
|
|
@@ -6115,7 +6755,7 @@ export type UserControllerSignupUserData = {
|
|
|
6115
6755
|
requestBody: SignupDto;
|
|
6116
6756
|
};
|
|
6117
6757
|
|
|
6118
|
-
export type UserControllerSignupUserResponse =
|
|
6758
|
+
export type UserControllerSignupUserResponse = SignupResponseDto;
|
|
6119
6759
|
|
|
6120
6760
|
export type UserControllerDeleteUserData = {
|
|
6121
6761
|
/**
|
|
@@ -6269,6 +6909,76 @@ export type EventControllerDeleteData = {
|
|
|
6269
6909
|
|
|
6270
6910
|
export type EventControllerDeleteResponse = void;
|
|
6271
6911
|
|
|
6912
|
+
export type EventControllerGetSliceData = {
|
|
6913
|
+
accountPattern: string;
|
|
6914
|
+
granularity: string;
|
|
6915
|
+
/**
|
|
6916
|
+
* Life event ID
|
|
6917
|
+
*/
|
|
6918
|
+
id: string;
|
|
6919
|
+
/**
|
|
6920
|
+
* Region code for tenant context (decorative for life events)
|
|
6921
|
+
*/
|
|
6922
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6923
|
+
};
|
|
6924
|
+
|
|
6925
|
+
export type EventControllerGetSliceResponse = unknown;
|
|
6926
|
+
|
|
6927
|
+
export type OnboardingControllerBootstrapData = {
|
|
6928
|
+
/**
|
|
6929
|
+
* Region code for tenant context
|
|
6930
|
+
*/
|
|
6931
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6932
|
+
requestBody: OnboardingDto;
|
|
6933
|
+
};
|
|
6934
|
+
|
|
6935
|
+
export type OnboardingControllerBootstrapResponse = unknown;
|
|
6936
|
+
|
|
6937
|
+
export type ReconciliationControllerComputeData = {
|
|
6938
|
+
/**
|
|
6939
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6940
|
+
*/
|
|
6941
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6942
|
+
requestBody: ComputeReconciliationDto;
|
|
6943
|
+
};
|
|
6944
|
+
|
|
6945
|
+
export type ReconciliationControllerComputeResponse =
|
|
6946
|
+
ReconciliationComputeResultDto;
|
|
6947
|
+
|
|
6948
|
+
export type ReconciliationControllerAssertData = {
|
|
6949
|
+
/**
|
|
6950
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6951
|
+
*/
|
|
6952
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6953
|
+
requestBody: AssertReconciliationDto;
|
|
6954
|
+
};
|
|
6955
|
+
|
|
6956
|
+
export type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
|
|
6957
|
+
|
|
6958
|
+
export type ReconciliationControllerPadData = {
|
|
6959
|
+
/**
|
|
6960
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6961
|
+
*/
|
|
6962
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6963
|
+
requestBody: PadReconciliationDto;
|
|
6964
|
+
};
|
|
6965
|
+
|
|
6966
|
+
export type ReconciliationControllerPadResponse = PadResultDto;
|
|
6967
|
+
|
|
6968
|
+
export type ReconciliationControllerHistoryData = {
|
|
6969
|
+
/**
|
|
6970
|
+
* BeanAccount id
|
|
6971
|
+
*/
|
|
6972
|
+
accountId: string;
|
|
6973
|
+
/**
|
|
6974
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6975
|
+
*/
|
|
6976
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6977
|
+
};
|
|
6978
|
+
|
|
6979
|
+
export type ReconciliationControllerHistoryResponse =
|
|
6980
|
+
Array<ReconciliationRecordDto>;
|
|
6981
|
+
|
|
6272
6982
|
export type ExportControllerExportBeancountResponse = unknown;
|
|
6273
6983
|
|
|
6274
6984
|
export type FileImportControllerImportFileData = {
|
|
@@ -6361,48 +7071,6 @@ export type ImporterConfigControllerResetConfigData = {
|
|
|
6361
7071
|
|
|
6362
7072
|
export type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
|
|
6363
7073
|
|
|
6364
|
-
export type PlatformControllerFindAllResponse = unknown;
|
|
6365
|
-
|
|
6366
|
-
export type PlatformControllerCreateData = {
|
|
6367
|
-
requestBody: CreatePlatformDto;
|
|
6368
|
-
};
|
|
6369
|
-
|
|
6370
|
-
export type PlatformControllerCreateResponse = unknown;
|
|
6371
|
-
|
|
6372
|
-
export type PlatformControllerGetPlatformListResponse = unknown;
|
|
6373
|
-
|
|
6374
|
-
export type PlatformControllerMatchPlatformsData = {
|
|
6375
|
-
/**
|
|
6376
|
-
* Search query — Chinese name, English name, or abbreviation
|
|
6377
|
-
*/
|
|
6378
|
-
q: string;
|
|
6379
|
-
/**
|
|
6380
|
-
* Region code for category override lookup
|
|
6381
|
-
*/
|
|
6382
|
-
region?: string;
|
|
6383
|
-
};
|
|
6384
|
-
|
|
6385
|
-
export type PlatformControllerMatchPlatformsResponse = unknown;
|
|
6386
|
-
|
|
6387
|
-
export type PlatformControllerUpdateData = {
|
|
6388
|
-
/**
|
|
6389
|
-
* Platform ID
|
|
6390
|
-
*/
|
|
6391
|
-
id: string;
|
|
6392
|
-
requestBody: UpdatePlatformDto;
|
|
6393
|
-
};
|
|
6394
|
-
|
|
6395
|
-
export type PlatformControllerUpdateResponse = unknown;
|
|
6396
|
-
|
|
6397
|
-
export type PlatformControllerDeleteData = {
|
|
6398
|
-
/**
|
|
6399
|
-
* Platform ID
|
|
6400
|
-
*/
|
|
6401
|
-
id: string;
|
|
6402
|
-
};
|
|
6403
|
-
|
|
6404
|
-
export type PlatformControllerDeleteResponse = void;
|
|
6405
|
-
|
|
6406
7074
|
export type ProviderSyncControllerSyncData = {
|
|
6407
7075
|
/**
|
|
6408
7076
|
* Provider name
|
|
@@ -6448,6 +7116,49 @@ export type ProviderSyncControllerIsProviderSupportedData = {
|
|
|
6448
7116
|
|
|
6449
7117
|
export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
|
|
6450
7118
|
|
|
7119
|
+
export type ExternalAccountLinkControllerCreateData = {
|
|
7120
|
+
/**
|
|
7121
|
+
* Region code for tenant context
|
|
7122
|
+
*/
|
|
7123
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7124
|
+
requestBody: CreateExternalAccountLinkDto;
|
|
7125
|
+
};
|
|
7126
|
+
|
|
7127
|
+
export type ExternalAccountLinkControllerCreateResponse =
|
|
7128
|
+
ExternalAccountLinkResponseDto;
|
|
7129
|
+
|
|
7130
|
+
export type ExternalAccountLinkControllerFindAllData = {
|
|
7131
|
+
provider: string;
|
|
7132
|
+
/**
|
|
7133
|
+
* Region code for tenant context
|
|
7134
|
+
*/
|
|
7135
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7136
|
+
};
|
|
7137
|
+
|
|
7138
|
+
export type ExternalAccountLinkControllerFindAllResponse =
|
|
7139
|
+
ExternalAccountLinkListResponseDto;
|
|
7140
|
+
|
|
7141
|
+
export type ExternalAccountLinkControllerFindOneData = {
|
|
7142
|
+
id: string;
|
|
7143
|
+
/**
|
|
7144
|
+
* Region code for tenant context
|
|
7145
|
+
*/
|
|
7146
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7147
|
+
};
|
|
7148
|
+
|
|
7149
|
+
export type ExternalAccountLinkControllerFindOneResponse =
|
|
7150
|
+
ExternalAccountLinkResponseDto;
|
|
7151
|
+
|
|
7152
|
+
export type ExternalAccountLinkControllerRemoveData = {
|
|
7153
|
+
id: string;
|
|
7154
|
+
/**
|
|
7155
|
+
* Region code for tenant context
|
|
7156
|
+
*/
|
|
7157
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7158
|
+
};
|
|
7159
|
+
|
|
7160
|
+
export type ExternalAccountLinkControllerRemoveResponse = void;
|
|
7161
|
+
|
|
6451
7162
|
export type TelemetryControllerReportTelemetryData = {
|
|
6452
7163
|
/**
|
|
6453
7164
|
* Region code for tenant context
|
|
@@ -6520,181 +7231,167 @@ export type NlpControllerGetSessionData = {
|
|
|
6520
7231
|
|
|
6521
7232
|
export type NlpControllerGetSessionResponse = unknown;
|
|
6522
7233
|
|
|
6523
|
-
export type
|
|
7234
|
+
export type PlatformControllerFindAllResponse = unknown;
|
|
7235
|
+
|
|
7236
|
+
export type PlatformControllerCreateData = {
|
|
7237
|
+
requestBody: CreatePlatformDto;
|
|
7238
|
+
};
|
|
7239
|
+
|
|
7240
|
+
export type PlatformControllerCreateResponse = unknown;
|
|
7241
|
+
|
|
7242
|
+
export type PlatformControllerGetPlatformListResponse =
|
|
7243
|
+
Array<PlatformListItemDto>;
|
|
7244
|
+
|
|
7245
|
+
export type PlatformControllerMatchPlatformsData = {
|
|
6524
7246
|
/**
|
|
6525
|
-
*
|
|
7247
|
+
* Search query — Chinese name, English name, or abbreviation
|
|
6526
7248
|
*/
|
|
6527
|
-
|
|
7249
|
+
q: string;
|
|
6528
7250
|
/**
|
|
6529
|
-
* Region code for
|
|
7251
|
+
* Region code for category override lookup
|
|
6530
7252
|
*/
|
|
6531
|
-
region
|
|
7253
|
+
region?: string;
|
|
6532
7254
|
};
|
|
6533
7255
|
|
|
6534
|
-
export type
|
|
7256
|
+
export type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
|
|
6535
7257
|
|
|
6536
|
-
export type
|
|
7258
|
+
export type PlatformControllerUpdateData = {
|
|
6537
7259
|
/**
|
|
6538
|
-
*
|
|
7260
|
+
* Platform ID
|
|
6539
7261
|
*/
|
|
6540
|
-
|
|
7262
|
+
id: string;
|
|
7263
|
+
requestBody: UpdatePlatformDto;
|
|
7264
|
+
};
|
|
7265
|
+
|
|
7266
|
+
export type PlatformControllerUpdateResponse = unknown;
|
|
7267
|
+
|
|
7268
|
+
export type PlatformControllerDeleteData = {
|
|
6541
7269
|
/**
|
|
6542
|
-
*
|
|
7270
|
+
* Platform ID
|
|
6543
7271
|
*/
|
|
6544
|
-
|
|
6545
|
-
/**
|
|
6546
|
-
* Grouping strategy
|
|
6547
|
-
*/
|
|
6548
|
-
groupBy?:
|
|
6549
|
-
| 'platform'
|
|
6550
|
-
| 'assetClass'
|
|
6551
|
-
| 'holdingAssetClass'
|
|
6552
|
-
| 'holdingAssetClassByAccount';
|
|
6553
|
-
/**
|
|
6554
|
-
* Region code for tenant context
|
|
6555
|
-
*/
|
|
6556
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7272
|
+
id: string;
|
|
6557
7273
|
};
|
|
6558
7274
|
|
|
6559
|
-
export type
|
|
6560
|
-
| AccountsResponseDto
|
|
6561
|
-
| AssetClassAccountsResponseDto
|
|
6562
|
-
| HoldingAssetClassCrossAccountResponseDto;
|
|
7275
|
+
export type PlatformControllerDeleteResponse = void;
|
|
6563
7276
|
|
|
6564
|
-
export type
|
|
7277
|
+
export type DashboardControllerGetNetWorthData = {
|
|
6565
7278
|
/**
|
|
6566
|
-
*
|
|
7279
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6567
7280
|
*/
|
|
6568
|
-
|
|
7281
|
+
date?: string;
|
|
6569
7282
|
/**
|
|
6570
7283
|
* Region code for tenant context
|
|
6571
7284
|
*/
|
|
6572
7285
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6573
7286
|
};
|
|
6574
7287
|
|
|
6575
|
-
export type
|
|
7288
|
+
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
6576
7289
|
|
|
6577
|
-
export type
|
|
7290
|
+
export type DashboardControllerGetAccountsData = {
|
|
6578
7291
|
/**
|
|
6579
|
-
* Scope to a single account
|
|
7292
|
+
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6580
7293
|
*/
|
|
6581
7294
|
accountId?: string;
|
|
6582
7295
|
/**
|
|
6583
|
-
*
|
|
7296
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6584
7297
|
*/
|
|
6585
|
-
|
|
7298
|
+
date?: string;
|
|
6586
7299
|
/**
|
|
6587
|
-
*
|
|
7300
|
+
* Grouping strategy
|
|
6588
7301
|
*/
|
|
6589
|
-
|
|
7302
|
+
groupBy?:
|
|
7303
|
+
| 'platform'
|
|
7304
|
+
| 'assetClass'
|
|
7305
|
+
| 'holdingAssetClass'
|
|
7306
|
+
| 'holdingAssetClassByAccount';
|
|
6590
7307
|
/**
|
|
6591
7308
|
* Region code for tenant context
|
|
6592
7309
|
*/
|
|
6593
7310
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6594
7311
|
};
|
|
6595
7312
|
|
|
6596
|
-
export type
|
|
7313
|
+
export type DashboardControllerGetAccountsResponse =
|
|
7314
|
+
| AccountsResponseDto
|
|
7315
|
+
| AssetClassAccountsResponseDto
|
|
7316
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
6597
7317
|
|
|
6598
|
-
export type
|
|
7318
|
+
export type DashboardControllerGetCashFlowData = {
|
|
7319
|
+
/**
|
|
7320
|
+
* Period in YYYY-MM format
|
|
7321
|
+
*/
|
|
7322
|
+
period: string;
|
|
6599
7323
|
/**
|
|
6600
7324
|
* Region code for tenant context
|
|
6601
7325
|
*/
|
|
6602
7326
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6603
|
-
requestBody: CreateBeanPriceDto;
|
|
6604
7327
|
};
|
|
6605
7328
|
|
|
6606
|
-
export type
|
|
7329
|
+
export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
|
|
6607
7330
|
|
|
6608
|
-
export type
|
|
6609
|
-
/**
|
|
6610
|
-
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6611
|
-
*/
|
|
6612
|
-
currency?: string;
|
|
6613
|
-
/**
|
|
6614
|
-
* Filter prices from this date (ISO 8601 format)
|
|
6615
|
-
*/
|
|
6616
|
-
dateFrom?: string;
|
|
7331
|
+
export type DashboardControllerGetExpensesData = {
|
|
6617
7332
|
/**
|
|
6618
|
-
*
|
|
6619
|
-
*/
|
|
6620
|
-
dateTo?: string;
|
|
6621
|
-
/**
|
|
6622
|
-
* Number of items per page (default: 20, max: 100)
|
|
7333
|
+
* Account root to aggregate (expense → ^Expenses:, income → ^Income:)
|
|
6623
7334
|
*/
|
|
6624
|
-
|
|
7335
|
+
flow?: 'expense' | 'income';
|
|
6625
7336
|
/**
|
|
6626
|
-
*
|
|
7337
|
+
* Grouping strategy
|
|
6627
7338
|
*/
|
|
6628
|
-
|
|
7339
|
+
groupBy?: 'category';
|
|
6629
7340
|
/**
|
|
6630
|
-
*
|
|
7341
|
+
* Time window (1m = current calendar month)
|
|
6631
7342
|
*/
|
|
6632
|
-
|
|
7343
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
6633
7344
|
/**
|
|
6634
7345
|
* Region code for tenant context
|
|
6635
7346
|
*/
|
|
6636
7347
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6637
|
-
/**
|
|
6638
|
-
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
6639
|
-
*/
|
|
6640
|
-
search?: string;
|
|
6641
7348
|
};
|
|
6642
7349
|
|
|
6643
|
-
export type
|
|
7350
|
+
export type DashboardControllerGetExpensesResponse =
|
|
7351
|
+
ExpensesByCategoryResponseDto;
|
|
6644
7352
|
|
|
6645
|
-
export type
|
|
7353
|
+
export type HoldingPnlControllerGetHoldingPnlData = {
|
|
6646
7354
|
/**
|
|
6647
|
-
*
|
|
7355
|
+
* Scope to a single account
|
|
6648
7356
|
*/
|
|
6649
|
-
|
|
7357
|
+
accountId?: string;
|
|
6650
7358
|
/**
|
|
6651
|
-
*
|
|
7359
|
+
* As-of date (ISO 8601), defaults to today
|
|
6652
7360
|
*/
|
|
6653
|
-
|
|
6654
|
-
};
|
|
6655
|
-
|
|
6656
|
-
export type PriceControllerFindOneResponse = PriceResponseDto;
|
|
6657
|
-
|
|
6658
|
-
export type PriceControllerUpdateData = {
|
|
7361
|
+
asOf?: string;
|
|
6659
7362
|
/**
|
|
6660
|
-
*
|
|
7363
|
+
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
6661
7364
|
*/
|
|
6662
|
-
|
|
7365
|
+
method?: 'FIFO' | 'average';
|
|
6663
7366
|
/**
|
|
6664
7367
|
* Region code for tenant context
|
|
6665
7368
|
*/
|
|
6666
7369
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6667
|
-
requestBody: UpdateBeanPriceDto;
|
|
6668
7370
|
};
|
|
6669
7371
|
|
|
6670
|
-
export type
|
|
7372
|
+
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
6671
7373
|
|
|
6672
|
-
export type
|
|
7374
|
+
export type ReportingControllerGetPortfolioTrendsData = {
|
|
6673
7375
|
/**
|
|
6674
|
-
*
|
|
7376
|
+
* Data granularity
|
|
6675
7377
|
*/
|
|
6676
|
-
|
|
7378
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6677
7379
|
/**
|
|
6678
|
-
*
|
|
7380
|
+
* Time period
|
|
6679
7381
|
*/
|
|
6680
|
-
|
|
6681
|
-
};
|
|
6682
|
-
|
|
6683
|
-
export type PriceControllerDeleteResponse = void;
|
|
6684
|
-
|
|
6685
|
-
export type PriceControllerBulkCreateData = {
|
|
7382
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
6686
7383
|
/**
|
|
6687
7384
|
* Region code for tenant context
|
|
6688
7385
|
*/
|
|
6689
7386
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6690
|
-
requestBody: Array<string>;
|
|
6691
7387
|
};
|
|
6692
7388
|
|
|
6693
|
-
export type
|
|
7389
|
+
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
7390
|
+
PortfolioTrendsResponseDto;
|
|
6694
7391
|
|
|
6695
|
-
export type
|
|
7392
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
6696
7393
|
/**
|
|
6697
|
-
* Data granularity
|
|
7394
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
6698
7395
|
*/
|
|
6699
7396
|
granularity?: 'day' | 'week' | 'month';
|
|
6700
7397
|
/**
|
|
@@ -6707,8 +7404,8 @@ export type ReportingControllerGetPortfolioTrendsData = {
|
|
|
6707
7404
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6708
7405
|
};
|
|
6709
7406
|
|
|
6710
|
-
export type
|
|
6711
|
-
|
|
7407
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
7408
|
+
CashFlowTrendsResponseDto;
|
|
6712
7409
|
|
|
6713
7410
|
export type ReportingControllerGenerateSnapshotData = {
|
|
6714
7411
|
/**
|
|
@@ -6741,7 +7438,7 @@ export type AuthControllerAccessTokenLoginData = {
|
|
|
6741
7438
|
requestBody: AnonymousLoginDto;
|
|
6742
7439
|
};
|
|
6743
7440
|
|
|
6744
|
-
export type AuthControllerAccessTokenLoginResponse =
|
|
7441
|
+
export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
|
|
6745
7442
|
|
|
6746
7443
|
export type CacheControllerFlushCacheResponse = unknown;
|
|
6747
7444
|
|
|
@@ -6889,6 +7586,25 @@ export type $OpenApiTs = {
|
|
|
6889
7586
|
};
|
|
6890
7587
|
};
|
|
6891
7588
|
};
|
|
7589
|
+
'/api/v1/{region}/bean/accounts/{id}/opening-balance': {
|
|
7590
|
+
post: {
|
|
7591
|
+
req: AccountControllerAddOpeningBalanceData;
|
|
7592
|
+
res: {
|
|
7593
|
+
/**
|
|
7594
|
+
* Opening-balance transaction created
|
|
7595
|
+
*/
|
|
7596
|
+
201: OpeningBalanceResultDto;
|
|
7597
|
+
/**
|
|
7598
|
+
* Account not found
|
|
7599
|
+
*/
|
|
7600
|
+
404: unknown;
|
|
7601
|
+
/**
|
|
7602
|
+
* An opening balance already exists for this account
|
|
7603
|
+
*/
|
|
7604
|
+
409: unknown;
|
|
7605
|
+
};
|
|
7606
|
+
};
|
|
7607
|
+
};
|
|
6892
7608
|
'/api/v1/{region}/bean/account-standards': {
|
|
6893
7609
|
get: {
|
|
6894
7610
|
req: AccountStandardsControllerGetTemplatesData;
|
|
@@ -7497,6 +8213,90 @@ export type $OpenApiTs = {
|
|
|
7497
8213
|
};
|
|
7498
8214
|
};
|
|
7499
8215
|
};
|
|
8216
|
+
'/api/v1/{region}/bean/prices': {
|
|
8217
|
+
post: {
|
|
8218
|
+
req: PriceControllerCreateData;
|
|
8219
|
+
res: {
|
|
8220
|
+
/**
|
|
8221
|
+
* Price created successfully
|
|
8222
|
+
*/
|
|
8223
|
+
201: PriceResponseDto;
|
|
8224
|
+
/**
|
|
8225
|
+
* Currency or quoteCurrency commodity not found
|
|
8226
|
+
*/
|
|
8227
|
+
404: unknown;
|
|
8228
|
+
/**
|
|
8229
|
+
* Price already exists for this currency pair and date
|
|
8230
|
+
*/
|
|
8231
|
+
409: unknown;
|
|
8232
|
+
};
|
|
8233
|
+
};
|
|
8234
|
+
get: {
|
|
8235
|
+
req: PriceControllerFindAllData;
|
|
8236
|
+
res: {
|
|
8237
|
+
/**
|
|
8238
|
+
* Prices retrieved successfully
|
|
8239
|
+
*/
|
|
8240
|
+
200: PriceListResponseDto;
|
|
8241
|
+
};
|
|
8242
|
+
};
|
|
8243
|
+
};
|
|
8244
|
+
'/api/v1/{region}/bean/prices/{id}': {
|
|
8245
|
+
get: {
|
|
8246
|
+
req: PriceControllerFindOneData;
|
|
8247
|
+
res: {
|
|
8248
|
+
/**
|
|
8249
|
+
* Price retrieved successfully
|
|
8250
|
+
*/
|
|
8251
|
+
200: PriceResponseDto;
|
|
8252
|
+
/**
|
|
8253
|
+
* Price not found
|
|
8254
|
+
*/
|
|
8255
|
+
404: unknown;
|
|
8256
|
+
};
|
|
8257
|
+
};
|
|
8258
|
+
put: {
|
|
8259
|
+
req: PriceControllerUpdateData;
|
|
8260
|
+
res: {
|
|
8261
|
+
/**
|
|
8262
|
+
* Price updated successfully
|
|
8263
|
+
*/
|
|
8264
|
+
200: PriceResponseDto;
|
|
8265
|
+
/**
|
|
8266
|
+
* Price not found
|
|
8267
|
+
*/
|
|
8268
|
+
404: unknown;
|
|
8269
|
+
/**
|
|
8270
|
+
* Updated price conflicts with existing price
|
|
8271
|
+
*/
|
|
8272
|
+
409: unknown;
|
|
8273
|
+
};
|
|
8274
|
+
};
|
|
8275
|
+
delete: {
|
|
8276
|
+
req: PriceControllerDeleteData;
|
|
8277
|
+
res: {
|
|
8278
|
+
/**
|
|
8279
|
+
* Price deleted successfully
|
|
8280
|
+
*/
|
|
8281
|
+
204: void;
|
|
8282
|
+
/**
|
|
8283
|
+
* Price not found
|
|
8284
|
+
*/
|
|
8285
|
+
404: unknown;
|
|
8286
|
+
};
|
|
8287
|
+
};
|
|
8288
|
+
};
|
|
8289
|
+
'/api/v1/{region}/bean/prices/bulk': {
|
|
8290
|
+
post: {
|
|
8291
|
+
req: PriceControllerBulkCreateData;
|
|
8292
|
+
res: {
|
|
8293
|
+
/**
|
|
8294
|
+
* Prices created successfully
|
|
8295
|
+
*/
|
|
8296
|
+
201: Array<PriceResponseDto>;
|
|
8297
|
+
};
|
|
8298
|
+
};
|
|
8299
|
+
};
|
|
7500
8300
|
'/api/v1/{region}/bean/recurring-rules': {
|
|
7501
8301
|
post: {
|
|
7502
8302
|
req: RecurringRuleControllerCreateData;
|
|
@@ -7984,7 +8784,7 @@ export type $OpenApiTs = {
|
|
|
7984
8784
|
/**
|
|
7985
8785
|
* User created successfully
|
|
7986
8786
|
*/
|
|
7987
|
-
201:
|
|
8787
|
+
201: SignupResponseDto;
|
|
7988
8788
|
/**
|
|
7989
8789
|
* Invalid Turnstile token (when Turnstile is enabled)
|
|
7990
8790
|
*/
|
|
@@ -8218,36 +9018,134 @@ export type $OpenApiTs = {
|
|
|
8218
9018
|
};
|
|
8219
9019
|
};
|
|
8220
9020
|
};
|
|
8221
|
-
'/api/v1/{region}/bean/
|
|
9021
|
+
'/api/v1/{region}/bean/events/{id}/slice': {
|
|
8222
9022
|
get: {
|
|
9023
|
+
req: EventControllerGetSliceData;
|
|
8223
9024
|
res: {
|
|
9025
|
+
/**
|
|
9026
|
+
* Time-series sliced by the life event range
|
|
9027
|
+
*/
|
|
8224
9028
|
200: unknown;
|
|
9029
|
+
/**
|
|
9030
|
+
* accountPattern query param is empty
|
|
9031
|
+
*/
|
|
9032
|
+
400: unknown;
|
|
9033
|
+
/**
|
|
9034
|
+
* Life event not found
|
|
9035
|
+
*/
|
|
9036
|
+
404: unknown;
|
|
8225
9037
|
};
|
|
8226
9038
|
};
|
|
8227
9039
|
};
|
|
8228
|
-
'/api/v1/{region}/bean/
|
|
9040
|
+
'/api/v1/{region}/bean/onboarding': {
|
|
8229
9041
|
post: {
|
|
8230
|
-
req:
|
|
9042
|
+
req: OnboardingControllerBootstrapData;
|
|
8231
9043
|
res: {
|
|
8232
9044
|
/**
|
|
8233
|
-
*
|
|
9045
|
+
* Onboarding bootstrap result.
|
|
8234
9046
|
*/
|
|
8235
|
-
|
|
9047
|
+
201: unknown;
|
|
8236
9048
|
/**
|
|
8237
|
-
*
|
|
9049
|
+
* Invalid region/account path/duplicate paths.
|
|
8238
9050
|
*/
|
|
8239
|
-
|
|
8240
|
-
|
|
8241
|
-
|
|
8242
|
-
|
|
8243
|
-
|
|
8244
|
-
|
|
8245
|
-
|
|
8246
|
-
|
|
9051
|
+
422: unknown;
|
|
9052
|
+
};
|
|
9053
|
+
};
|
|
9054
|
+
};
|
|
9055
|
+
'/api/v1/{region}/bean/reconciliations': {
|
|
9056
|
+
post: {
|
|
9057
|
+
req: ReconciliationControllerComputeData;
|
|
9058
|
+
res: {
|
|
8247
9059
|
/**
|
|
8248
|
-
*
|
|
9060
|
+
* Reconciliation preview
|
|
8249
9061
|
*/
|
|
8250
|
-
|
|
9062
|
+
200: ReconciliationComputeResultDto;
|
|
9063
|
+
/**
|
|
9064
|
+
* Account not found
|
|
9065
|
+
*/
|
|
9066
|
+
404: unknown;
|
|
9067
|
+
};
|
|
9068
|
+
};
|
|
9069
|
+
};
|
|
9070
|
+
'/api/v1/{region}/bean/reconciliations/assert': {
|
|
9071
|
+
post: {
|
|
9072
|
+
req: ReconciliationControllerAssertData;
|
|
9073
|
+
res: {
|
|
9074
|
+
/**
|
|
9075
|
+
* Balance assertion recorded
|
|
9076
|
+
*/
|
|
9077
|
+
201: ReconciliationRecordDto;
|
|
9078
|
+
/**
|
|
9079
|
+
* Account not found
|
|
9080
|
+
*/
|
|
9081
|
+
404: unknown;
|
|
9082
|
+
};
|
|
9083
|
+
};
|
|
9084
|
+
};
|
|
9085
|
+
'/api/v1/{region}/bean/reconciliations/pad': {
|
|
9086
|
+
post: {
|
|
9087
|
+
req: ReconciliationControllerPadData;
|
|
9088
|
+
res: {
|
|
9089
|
+
/**
|
|
9090
|
+
* Pad adjusting entry generated
|
|
9091
|
+
*/
|
|
9092
|
+
201: PadResultDto;
|
|
9093
|
+
/**
|
|
9094
|
+
* Book already within tolerance — no pad needed
|
|
9095
|
+
*/
|
|
9096
|
+
400: unknown;
|
|
9097
|
+
/**
|
|
9098
|
+
* Account not found
|
|
9099
|
+
*/
|
|
9100
|
+
404: unknown;
|
|
9101
|
+
};
|
|
9102
|
+
};
|
|
9103
|
+
};
|
|
9104
|
+
'/api/v1/{region}/bean/accounts/{accountId}/reconciliations': {
|
|
9105
|
+
get: {
|
|
9106
|
+
req: ReconciliationControllerHistoryData;
|
|
9107
|
+
res: {
|
|
9108
|
+
/**
|
|
9109
|
+
* Reconciliation history
|
|
9110
|
+
*/
|
|
9111
|
+
200: Array<ReconciliationRecordDto>;
|
|
9112
|
+
/**
|
|
9113
|
+
* Account not found
|
|
9114
|
+
*/
|
|
9115
|
+
404: unknown;
|
|
9116
|
+
};
|
|
9117
|
+
};
|
|
9118
|
+
};
|
|
9119
|
+
'/api/v1/{region}/bean/export/beancount': {
|
|
9120
|
+
get: {
|
|
9121
|
+
res: {
|
|
9122
|
+
200: unknown;
|
|
9123
|
+
};
|
|
9124
|
+
};
|
|
9125
|
+
};
|
|
9126
|
+
'/api/v1/{region}/bean/import/file': {
|
|
9127
|
+
post: {
|
|
9128
|
+
req: FileImportControllerImportFileData;
|
|
9129
|
+
res: {
|
|
9130
|
+
/**
|
|
9131
|
+
* File imported successfully
|
|
9132
|
+
*/
|
|
9133
|
+
200: ImportResultDto;
|
|
9134
|
+
/**
|
|
9135
|
+
* Bad request - file-format-unsupported or file-import-failed
|
|
9136
|
+
*/
|
|
9137
|
+
400: {
|
|
9138
|
+
type?: string;
|
|
9139
|
+
title?: string;
|
|
9140
|
+
status?: number;
|
|
9141
|
+
detail?: string;
|
|
9142
|
+
filename?: string;
|
|
9143
|
+
fileSize?: number;
|
|
9144
|
+
};
|
|
9145
|
+
/**
|
|
9146
|
+
* Payload too large - file exceeds 50MB limit
|
|
9147
|
+
*/
|
|
9148
|
+
413: {
|
|
8251
9149
|
type?: string;
|
|
8252
9150
|
title?: string;
|
|
8253
9151
|
status?: number;
|
|
@@ -8368,128 +9266,104 @@ export type $OpenApiTs = {
|
|
|
8368
9266
|
};
|
|
8369
9267
|
};
|
|
8370
9268
|
};
|
|
8371
|
-
'/api/v1/bean/
|
|
8372
|
-
|
|
9269
|
+
'/api/v1/{region}/bean/import/provider/{providerName}/sync': {
|
|
9270
|
+
post: {
|
|
9271
|
+
req: ProviderSyncControllerSyncData;
|
|
8373
9272
|
res: {
|
|
8374
9273
|
/**
|
|
8375
|
-
*
|
|
9274
|
+
* Sync completed successfully
|
|
8376
9275
|
*/
|
|
8377
|
-
200:
|
|
8378
|
-
};
|
|
8379
|
-
};
|
|
8380
|
-
post: {
|
|
8381
|
-
req: PlatformControllerCreateData;
|
|
8382
|
-
res: {
|
|
9276
|
+
200: ProviderSyncResponseDto;
|
|
8383
9277
|
/**
|
|
8384
|
-
*
|
|
9278
|
+
* Invalid request data
|
|
8385
9279
|
*/
|
|
8386
|
-
|
|
9280
|
+
400: unknown;
|
|
8387
9281
|
/**
|
|
8388
|
-
*
|
|
9282
|
+
* Missing or invalid authentication
|
|
8389
9283
|
*/
|
|
8390
|
-
|
|
8391
|
-
};
|
|
8392
|
-
};
|
|
8393
|
-
};
|
|
8394
|
-
'/api/v1/bean/platforms/list': {
|
|
8395
|
-
get: {
|
|
8396
|
-
res: {
|
|
9284
|
+
401: unknown;
|
|
8397
9285
|
/**
|
|
8398
|
-
*
|
|
9286
|
+
* Provider not supported
|
|
8399
9287
|
*/
|
|
8400
|
-
|
|
9288
|
+
404: unknown;
|
|
8401
9289
|
};
|
|
8402
9290
|
};
|
|
8403
9291
|
};
|
|
8404
|
-
'/api/v1/bean/
|
|
9292
|
+
'/api/v1/{region}/bean/import/provider/supported': {
|
|
8405
9293
|
get: {
|
|
8406
|
-
req:
|
|
9294
|
+
req: ProviderSyncControllerGetSupportedProvidersData;
|
|
8407
9295
|
res: {
|
|
8408
9296
|
/**
|
|
8409
|
-
* List of
|
|
9297
|
+
* List of supported providers
|
|
8410
9298
|
*/
|
|
8411
|
-
200:
|
|
9299
|
+
200: SupportedProvidersResponseDto;
|
|
9300
|
+
/**
|
|
9301
|
+
* Missing or invalid authentication
|
|
9302
|
+
*/
|
|
9303
|
+
401: unknown;
|
|
8412
9304
|
};
|
|
8413
9305
|
};
|
|
8414
9306
|
};
|
|
8415
|
-
'/api/v1/bean/
|
|
8416
|
-
|
|
8417
|
-
req:
|
|
9307
|
+
'/api/v1/{region}/bean/import/provider/{providerName}/supported': {
|
|
9308
|
+
get: {
|
|
9309
|
+
req: ProviderSyncControllerIsProviderSupportedData;
|
|
8418
9310
|
res: {
|
|
8419
9311
|
/**
|
|
8420
|
-
*
|
|
9312
|
+
* Provider support status
|
|
8421
9313
|
*/
|
|
8422
9314
|
200: unknown;
|
|
8423
9315
|
/**
|
|
8424
|
-
*
|
|
9316
|
+
* Missing or invalid authentication
|
|
8425
9317
|
*/
|
|
8426
|
-
|
|
9318
|
+
401: unknown;
|
|
8427
9319
|
};
|
|
8428
9320
|
};
|
|
8429
|
-
|
|
8430
|
-
|
|
9321
|
+
};
|
|
9322
|
+
'/api/v1/{region}/bean/external-account-links': {
|
|
9323
|
+
post: {
|
|
9324
|
+
req: ExternalAccountLinkControllerCreateData;
|
|
8431
9325
|
res: {
|
|
8432
9326
|
/**
|
|
8433
|
-
*
|
|
9327
|
+
* Link created.
|
|
8434
9328
|
*/
|
|
8435
|
-
|
|
9329
|
+
201: ExternalAccountLinkResponseDto;
|
|
8436
9330
|
/**
|
|
8437
|
-
*
|
|
9331
|
+
* beanAccountId not owned, or an active link already exists.
|
|
8438
9332
|
*/
|
|
8439
|
-
|
|
9333
|
+
422: unknown;
|
|
8440
9334
|
};
|
|
8441
9335
|
};
|
|
8442
|
-
|
|
8443
|
-
|
|
8444
|
-
post: {
|
|
8445
|
-
req: ProviderSyncControllerSyncData;
|
|
9336
|
+
get: {
|
|
9337
|
+
req: ExternalAccountLinkControllerFindAllData;
|
|
8446
9338
|
res: {
|
|
8447
9339
|
/**
|
|
8448
|
-
*
|
|
8449
|
-
*/
|
|
8450
|
-
200: ProviderSyncResponseDto;
|
|
8451
|
-
/**
|
|
8452
|
-
* Invalid request data
|
|
9340
|
+
* Links retrieved.
|
|
8453
9341
|
*/
|
|
8454
|
-
|
|
8455
|
-
/**
|
|
8456
|
-
* Missing or invalid authentication
|
|
8457
|
-
*/
|
|
8458
|
-
401: unknown;
|
|
8459
|
-
/**
|
|
8460
|
-
* Provider not supported
|
|
8461
|
-
*/
|
|
8462
|
-
404: unknown;
|
|
9342
|
+
200: ExternalAccountLinkListResponseDto;
|
|
8463
9343
|
};
|
|
8464
9344
|
};
|
|
8465
9345
|
};
|
|
8466
|
-
'/api/v1/{region}/bean/
|
|
9346
|
+
'/api/v1/{region}/bean/external-account-links/{id}': {
|
|
8467
9347
|
get: {
|
|
8468
|
-
req:
|
|
9348
|
+
req: ExternalAccountLinkControllerFindOneData;
|
|
8469
9349
|
res: {
|
|
8470
9350
|
/**
|
|
8471
|
-
*
|
|
9351
|
+
* Link retrieved.
|
|
8472
9352
|
*/
|
|
8473
|
-
200:
|
|
9353
|
+
200: ExternalAccountLinkResponseDto;
|
|
8474
9354
|
/**
|
|
8475
|
-
*
|
|
9355
|
+
* Link not found or not owned by the user.
|
|
8476
9356
|
*/
|
|
8477
|
-
|
|
9357
|
+
422: unknown;
|
|
8478
9358
|
};
|
|
8479
9359
|
};
|
|
8480
|
-
|
|
8481
|
-
|
|
8482
|
-
get: {
|
|
8483
|
-
req: ProviderSyncControllerIsProviderSupportedData;
|
|
9360
|
+
delete: {
|
|
9361
|
+
req: ExternalAccountLinkControllerRemoveData;
|
|
8484
9362
|
res: {
|
|
8485
9363
|
/**
|
|
8486
|
-
*
|
|
8487
|
-
*/
|
|
8488
|
-
200: unknown;
|
|
8489
|
-
/**
|
|
8490
|
-
* Missing or invalid authentication
|
|
9364
|
+
* Link soft-deleted; historical transactions are unaffected.
|
|
8491
9365
|
*/
|
|
8492
|
-
|
|
9366
|
+
204: void;
|
|
8493
9367
|
};
|
|
8494
9368
|
};
|
|
8495
9369
|
};
|
|
@@ -8581,6 +9455,78 @@ export type $OpenApiTs = {
|
|
|
8581
9455
|
};
|
|
8582
9456
|
};
|
|
8583
9457
|
};
|
|
9458
|
+
'/api/v1/bean/platforms': {
|
|
9459
|
+
get: {
|
|
9460
|
+
res: {
|
|
9461
|
+
/**
|
|
9462
|
+
* List of platforms with binding and account counts
|
|
9463
|
+
*/
|
|
9464
|
+
200: unknown;
|
|
9465
|
+
};
|
|
9466
|
+
};
|
|
9467
|
+
post: {
|
|
9468
|
+
req: PlatformControllerCreateData;
|
|
9469
|
+
res: {
|
|
9470
|
+
/**
|
|
9471
|
+
* Platform created successfully
|
|
9472
|
+
*/
|
|
9473
|
+
201: unknown;
|
|
9474
|
+
/**
|
|
9475
|
+
* Platform already exists
|
|
9476
|
+
*/
|
|
9477
|
+
409: unknown;
|
|
9478
|
+
};
|
|
9479
|
+
};
|
|
9480
|
+
};
|
|
9481
|
+
'/api/v1/bean/platforms/list': {
|
|
9482
|
+
get: {
|
|
9483
|
+
res: {
|
|
9484
|
+
/**
|
|
9485
|
+
* List of platforms with user binding status
|
|
9486
|
+
*/
|
|
9487
|
+
200: Array<PlatformListItemDto>;
|
|
9488
|
+
};
|
|
9489
|
+
};
|
|
9490
|
+
};
|
|
9491
|
+
'/api/v1/bean/platforms/match': {
|
|
9492
|
+
get: {
|
|
9493
|
+
req: PlatformControllerMatchPlatformsData;
|
|
9494
|
+
res: {
|
|
9495
|
+
/**
|
|
9496
|
+
* Matching platforms with overall match type and truncation flag
|
|
9497
|
+
*/
|
|
9498
|
+
200: PlatformMatchResponseDto;
|
|
9499
|
+
};
|
|
9500
|
+
};
|
|
9501
|
+
};
|
|
9502
|
+
'/api/v1/bean/platforms/{id}': {
|
|
9503
|
+
put: {
|
|
9504
|
+
req: PlatformControllerUpdateData;
|
|
9505
|
+
res: {
|
|
9506
|
+
/**
|
|
9507
|
+
* Platform updated successfully
|
|
9508
|
+
*/
|
|
9509
|
+
200: unknown;
|
|
9510
|
+
/**
|
|
9511
|
+
* Platform not found
|
|
9512
|
+
*/
|
|
9513
|
+
404: unknown;
|
|
9514
|
+
};
|
|
9515
|
+
};
|
|
9516
|
+
delete: {
|
|
9517
|
+
req: PlatformControllerDeleteData;
|
|
9518
|
+
res: {
|
|
9519
|
+
/**
|
|
9520
|
+
* Platform deleted successfully
|
|
9521
|
+
*/
|
|
9522
|
+
204: void;
|
|
9523
|
+
/**
|
|
9524
|
+
* Platform not found
|
|
9525
|
+
*/
|
|
9526
|
+
404: unknown;
|
|
9527
|
+
};
|
|
9528
|
+
};
|
|
9529
|
+
};
|
|
8584
9530
|
'/api/v1/{region}/dashboard/net-worth': {
|
|
8585
9531
|
get: {
|
|
8586
9532
|
req: DashboardControllerGetNetWorthData;
|
|
@@ -8633,16 +9579,16 @@ export type $OpenApiTs = {
|
|
|
8633
9579
|
};
|
|
8634
9580
|
};
|
|
8635
9581
|
};
|
|
8636
|
-
'/api/v1/{region}/
|
|
9582
|
+
'/api/v1/{region}/dashboard/expenses': {
|
|
8637
9583
|
get: {
|
|
8638
|
-
req:
|
|
9584
|
+
req: DashboardControllerGetExpensesData;
|
|
8639
9585
|
res: {
|
|
8640
9586
|
/**
|
|
8641
|
-
*
|
|
9587
|
+
* Expenses retrieved successfully
|
|
8642
9588
|
*/
|
|
8643
|
-
200:
|
|
9589
|
+
200: ExpensesByCategoryResponseDto;
|
|
8644
9590
|
/**
|
|
8645
|
-
* Invalid
|
|
9591
|
+
* Invalid groupBy or period
|
|
8646
9592
|
*/
|
|
8647
9593
|
400: unknown;
|
|
8648
9594
|
/**
|
|
@@ -8652,98 +9598,48 @@ export type $OpenApiTs = {
|
|
|
8652
9598
|
};
|
|
8653
9599
|
};
|
|
8654
9600
|
};
|
|
8655
|
-
'/api/v1/{region}/
|
|
8656
|
-
|
|
8657
|
-
req:
|
|
9601
|
+
'/api/v1/{region}/investment/holdings/pnl': {
|
|
9602
|
+
get: {
|
|
9603
|
+
req: HoldingPnlControllerGetHoldingPnlData;
|
|
8658
9604
|
res: {
|
|
8659
9605
|
/**
|
|
8660
|
-
*
|
|
8661
|
-
*/
|
|
8662
|
-
201: PriceResponseDto;
|
|
8663
|
-
/**
|
|
8664
|
-
* Currency or quoteCurrency commodity not found
|
|
9606
|
+
* Holding P&L retrieved successfully
|
|
8665
9607
|
*/
|
|
8666
|
-
|
|
9608
|
+
200: HoldingPnlResponseDto;
|
|
8667
9609
|
/**
|
|
8668
|
-
*
|
|
9610
|
+
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
8669
9611
|
*/
|
|
8670
|
-
|
|
8671
|
-
};
|
|
8672
|
-
};
|
|
8673
|
-
get: {
|
|
8674
|
-
req: PriceControllerFindAllData;
|
|
8675
|
-
res: {
|
|
9612
|
+
400: unknown;
|
|
8676
9613
|
/**
|
|
8677
|
-
*
|
|
9614
|
+
* User not authenticated
|
|
8678
9615
|
*/
|
|
8679
|
-
|
|
9616
|
+
401: unknown;
|
|
8680
9617
|
};
|
|
8681
9618
|
};
|
|
8682
9619
|
};
|
|
8683
|
-
'/api/v1/{region}/
|
|
9620
|
+
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
8684
9621
|
get: {
|
|
8685
|
-
req:
|
|
8686
|
-
res: {
|
|
8687
|
-
/**
|
|
8688
|
-
* Price retrieved successfully
|
|
8689
|
-
*/
|
|
8690
|
-
200: PriceResponseDto;
|
|
8691
|
-
/**
|
|
8692
|
-
* Price not found
|
|
8693
|
-
*/
|
|
8694
|
-
404: unknown;
|
|
8695
|
-
};
|
|
8696
|
-
};
|
|
8697
|
-
put: {
|
|
8698
|
-
req: PriceControllerUpdateData;
|
|
8699
|
-
res: {
|
|
8700
|
-
/**
|
|
8701
|
-
* Price updated successfully
|
|
8702
|
-
*/
|
|
8703
|
-
200: PriceResponseDto;
|
|
8704
|
-
/**
|
|
8705
|
-
* Price not found
|
|
8706
|
-
*/
|
|
8707
|
-
404: unknown;
|
|
8708
|
-
/**
|
|
8709
|
-
* Updated price conflicts with existing price
|
|
8710
|
-
*/
|
|
8711
|
-
409: unknown;
|
|
8712
|
-
};
|
|
8713
|
-
};
|
|
8714
|
-
delete: {
|
|
8715
|
-
req: PriceControllerDeleteData;
|
|
9622
|
+
req: ReportingControllerGetPortfolioTrendsData;
|
|
8716
9623
|
res: {
|
|
8717
9624
|
/**
|
|
8718
|
-
*
|
|
8719
|
-
*/
|
|
8720
|
-
204: void;
|
|
8721
|
-
/**
|
|
8722
|
-
* Price not found
|
|
9625
|
+
* Trends retrieved successfully
|
|
8723
9626
|
*/
|
|
8724
|
-
|
|
8725
|
-
};
|
|
8726
|
-
};
|
|
8727
|
-
};
|
|
8728
|
-
'/api/v1/{region}/bean/prices/bulk': {
|
|
8729
|
-
post: {
|
|
8730
|
-
req: PriceControllerBulkCreateData;
|
|
8731
|
-
res: {
|
|
9627
|
+
200: PortfolioTrendsResponseDto;
|
|
8732
9628
|
/**
|
|
8733
|
-
*
|
|
9629
|
+
* User not authenticated
|
|
8734
9630
|
*/
|
|
8735
|
-
|
|
9631
|
+
401: unknown;
|
|
8736
9632
|
};
|
|
8737
9633
|
};
|
|
8738
9634
|
};
|
|
8739
|
-
'/api/v1/{region}/reporting/
|
|
9635
|
+
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
8740
9636
|
get: {
|
|
8741
|
-
req:
|
|
9637
|
+
req: ReportingControllerGetCashFlowTrendsData;
|
|
8742
9638
|
res: {
|
|
8743
9639
|
/**
|
|
8744
|
-
*
|
|
9640
|
+
* Cash-flow trends retrieved successfully
|
|
8745
9641
|
*/
|
|
8746
|
-
200:
|
|
9642
|
+
200: CashFlowTrendsResponseDto;
|
|
8747
9643
|
/**
|
|
8748
9644
|
* User not authenticated
|
|
8749
9645
|
*/
|
|
@@ -8814,7 +9710,7 @@ export type $OpenApiTs = {
|
|
|
8814
9710
|
/**
|
|
8815
9711
|
* Login successful
|
|
8816
9712
|
*/
|
|
8817
|
-
200:
|
|
9713
|
+
200: AnonymousLoginResponseDto;
|
|
8818
9714
|
/**
|
|
8819
9715
|
* Invalid access token
|
|
8820
9716
|
*/
|