@firela/api-types 0.0.0-canary.8cbdced0 → 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 +2462 -721
- package/dist/index.d.ts +2462 -721
- package/dist/index.js +102 -19
- package/dist/index.mjs +102 -19
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +2603 -830
- package/src/generated/services.gen.ts +1052 -445
- package/src/generated/types.gen.ts +2455 -598
|
@@ -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
|
|
@@ -3029,70 +3194,314 @@ export type UpdatePropertyDto = {
|
|
|
3029
3194
|
value: string;
|
|
3030
3195
|
};
|
|
3031
3196
|
|
|
3032
|
-
export type
|
|
3197
|
+
export type CreateBeanEventDto = {
|
|
3033
3198
|
/**
|
|
3034
|
-
*
|
|
3199
|
+
* Life event date (ISO 8601)
|
|
3035
3200
|
*/
|
|
3036
|
-
|
|
3037
|
-
};
|
|
3038
|
-
|
|
3039
|
-
export type ImportErrorDto = {
|
|
3201
|
+
date: string;
|
|
3040
3202
|
/**
|
|
3041
|
-
*
|
|
3203
|
+
* Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
|
|
3042
3204
|
*/
|
|
3043
|
-
|
|
3205
|
+
type: string;
|
|
3044
3206
|
/**
|
|
3045
|
-
*
|
|
3207
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3046
3208
|
*/
|
|
3047
|
-
|
|
3209
|
+
description: string;
|
|
3210
|
+
/**
|
|
3211
|
+
* Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
|
|
3212
|
+
*/
|
|
3213
|
+
meta?: {
|
|
3214
|
+
[key: string]: unknown;
|
|
3215
|
+
};
|
|
3048
3216
|
};
|
|
3049
3217
|
|
|
3050
|
-
export type
|
|
3218
|
+
export type EventResponseDto = {
|
|
3051
3219
|
/**
|
|
3052
|
-
*
|
|
3220
|
+
* Unique identifier
|
|
3053
3221
|
*/
|
|
3054
|
-
|
|
3222
|
+
id: string;
|
|
3055
3223
|
/**
|
|
3056
|
-
*
|
|
3224
|
+
* User ID (owner of the life event)
|
|
3057
3225
|
*/
|
|
3058
|
-
|
|
3226
|
+
userId: string;
|
|
3059
3227
|
/**
|
|
3060
|
-
*
|
|
3228
|
+
* Life event date (ISO 8601 format)
|
|
3061
3229
|
*/
|
|
3062
|
-
|
|
3230
|
+
date: string;
|
|
3063
3231
|
/**
|
|
3064
|
-
*
|
|
3232
|
+
* Life event type (user-defined, e.g., "employer", "location")
|
|
3065
3233
|
*/
|
|
3066
|
-
|
|
3234
|
+
type: string;
|
|
3067
3235
|
/**
|
|
3068
|
-
*
|
|
3236
|
+
* Life event description. May be an empty string (a valid value distinct from absence).
|
|
3069
3237
|
*/
|
|
3070
|
-
|
|
3238
|
+
description: string;
|
|
3071
3239
|
/**
|
|
3072
|
-
*
|
|
3240
|
+
* Product-side metadata (free-form JSON)
|
|
3073
3241
|
*/
|
|
3074
|
-
|
|
3242
|
+
meta: {
|
|
3243
|
+
[key: string]: unknown;
|
|
3244
|
+
};
|
|
3075
3245
|
/**
|
|
3076
|
-
*
|
|
3246
|
+
* Creation timestamp
|
|
3077
3247
|
*/
|
|
3078
|
-
|
|
3248
|
+
createdAt: string;
|
|
3079
3249
|
/**
|
|
3080
|
-
*
|
|
3250
|
+
* Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
|
|
3081
3251
|
*/
|
|
3082
|
-
|
|
3252
|
+
updatedAt: string;
|
|
3253
|
+
};
|
|
3254
|
+
|
|
3255
|
+
export type EventListResponseDto = {
|
|
3083
3256
|
/**
|
|
3084
|
-
*
|
|
3257
|
+
* List of life events
|
|
3085
3258
|
*/
|
|
3086
|
-
|
|
3087
|
-
| 'DUPLICATE'
|
|
3088
|
-
| 'PAYEE_MATCH'
|
|
3089
|
-
| 'RULE_MATCH'
|
|
3090
|
-
| 'ACCOUNT_VALIDATION'
|
|
3091
|
-
| 'PIPELINE_ERROR';
|
|
3259
|
+
items: Array<EventResponseDto>;
|
|
3092
3260
|
/**
|
|
3093
|
-
*
|
|
3261
|
+
* Total number of life events matching the query
|
|
3094
3262
|
*/
|
|
3095
|
-
|
|
3263
|
+
total: number;
|
|
3264
|
+
};
|
|
3265
|
+
|
|
3266
|
+
export type UpdateBeanEventDto = {
|
|
3267
|
+
/**
|
|
3268
|
+
* Life event date (ISO 8601)
|
|
3269
|
+
*/
|
|
3270
|
+
date?: string;
|
|
3271
|
+
/**
|
|
3272
|
+
* Life event type (user-defined)
|
|
3273
|
+
*/
|
|
3274
|
+
type?: string;
|
|
3275
|
+
/**
|
|
3276
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3277
|
+
*/
|
|
3278
|
+
description?: string;
|
|
3279
|
+
/**
|
|
3280
|
+
* Product-side metadata (free-form JSON)
|
|
3281
|
+
*/
|
|
3282
|
+
meta?: {
|
|
3283
|
+
[key: string]: unknown;
|
|
3284
|
+
};
|
|
3285
|
+
};
|
|
3286
|
+
|
|
3287
|
+
export type OnboardingAccountDto = {
|
|
3288
|
+
/**
|
|
3289
|
+
* Account path (Assets/Liabilities only; format validated by the account service)
|
|
3290
|
+
*/
|
|
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;
|
|
3304
|
+
};
|
|
3305
|
+
|
|
3306
|
+
export type OnboardingDto = {
|
|
3307
|
+
/**
|
|
3308
|
+
* Asset/Liability accounts to register with opening balances
|
|
3309
|
+
*/
|
|
3310
|
+
accounts?: Array<OnboardingAccountDto>;
|
|
3311
|
+
/**
|
|
3312
|
+
* Skip asset registration; only bootstrap the core account set
|
|
3313
|
+
*/
|
|
3314
|
+
skipAssetRegistration?: boolean;
|
|
3315
|
+
};
|
|
3316
|
+
|
|
3317
|
+
export type ActualBalanceDto = {
|
|
3318
|
+
/**
|
|
3319
|
+
* Actual balance amount as a decimal string (preserves precision for tolerance inference).
|
|
3320
|
+
*/
|
|
3321
|
+
amount: string;
|
|
3322
|
+
/**
|
|
3323
|
+
* Currency code (ISO 4217 or commodity ticker).
|
|
3324
|
+
*/
|
|
3325
|
+
ccy: string;
|
|
3326
|
+
};
|
|
3327
|
+
|
|
3328
|
+
export type ComputeReconciliationDto = {
|
|
3329
|
+
/**
|
|
3330
|
+
* BeanAccount id to reconcile.
|
|
3331
|
+
*/
|
|
3332
|
+
accountId: string;
|
|
3333
|
+
/**
|
|
3334
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3335
|
+
*/
|
|
3336
|
+
asOfDate: string;
|
|
3337
|
+
/**
|
|
3338
|
+
* Actual balance from the external statement.
|
|
3339
|
+
*/
|
|
3340
|
+
actualBalance: ActualBalanceDto;
|
|
3341
|
+
};
|
|
3342
|
+
|
|
3343
|
+
export type ReconciliationComputeResultDto = {
|
|
3344
|
+
accountId: string;
|
|
3345
|
+
asOfDate: string;
|
|
3346
|
+
/**
|
|
3347
|
+
* System-computed book balance (decimal string).
|
|
3348
|
+
*/
|
|
3349
|
+
bookBalance: string;
|
|
3350
|
+
/**
|
|
3351
|
+
* User-entered actual balance (decimal string).
|
|
3352
|
+
*/
|
|
3353
|
+
actualBalance: string;
|
|
3354
|
+
currency: string;
|
|
3355
|
+
/**
|
|
3356
|
+
* Diff = book − actual (decimal string).
|
|
3357
|
+
*/
|
|
3358
|
+
diff: string;
|
|
3359
|
+
/**
|
|
3360
|
+
* Applied tolerance (decimal string).
|
|
3361
|
+
*/
|
|
3362
|
+
tolerance: string;
|
|
3363
|
+
/**
|
|
3364
|
+
* true when |diff| ≤ tolerance.
|
|
3365
|
+
*/
|
|
3366
|
+
withinTolerance: boolean;
|
|
3367
|
+
/**
|
|
3368
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3369
|
+
*/
|
|
3370
|
+
suggestedAction: 'assert' | 'pad';
|
|
3371
|
+
};
|
|
3372
|
+
|
|
3373
|
+
/**
|
|
3374
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3375
|
+
*/
|
|
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>;
|
|
3096
3505
|
};
|
|
3097
3506
|
|
|
3098
3507
|
/**
|
|
@@ -3327,77 +3736,737 @@ export type UpdateImporterConfigDto = {
|
|
|
3327
3736
|
data?: UpdateConfigDataDto;
|
|
3328
3737
|
};
|
|
3329
3738
|
|
|
3330
|
-
export type
|
|
3739
|
+
export type ProviderSyncConfigDto = {
|
|
3331
3740
|
/**
|
|
3332
|
-
*
|
|
3741
|
+
* Source account for the first posting
|
|
3333
3742
|
*/
|
|
3334
|
-
|
|
3743
|
+
sourceAccount: string;
|
|
3335
3744
|
/**
|
|
3336
|
-
*
|
|
3745
|
+
* Default currency for transactions
|
|
3337
3746
|
*/
|
|
3338
|
-
|
|
3747
|
+
defaultCurrency: string;
|
|
3339
3748
|
/**
|
|
3340
|
-
*
|
|
3749
|
+
* Default expense account for the second posting
|
|
3341
3750
|
*/
|
|
3342
|
-
|
|
3751
|
+
defaultExpenseAccount: string;
|
|
3343
3752
|
/**
|
|
3344
|
-
*
|
|
3753
|
+
* Default income account for the second posting
|
|
3345
3754
|
*/
|
|
3346
|
-
|
|
3755
|
+
defaultIncomeAccount: string;
|
|
3347
3756
|
/**
|
|
3348
|
-
*
|
|
3757
|
+
* Filter pending transactions
|
|
3349
3758
|
*/
|
|
3350
|
-
|
|
3351
|
-
| 'BANK'
|
|
3352
|
-
| 'BROKERAGE'
|
|
3353
|
-
| 'CRYPTO_EXCHANGE'
|
|
3354
|
-
| 'PAYMENT'
|
|
3355
|
-
| 'INVESTMENT'
|
|
3356
|
-
| 'INSURANCE'
|
|
3357
|
-
| 'OTHER';
|
|
3759
|
+
filterPending?: boolean;
|
|
3358
3760
|
/**
|
|
3359
|
-
*
|
|
3761
|
+
* External account ID for per-batch providers (e.g. GoCardless). Overrides sourceAccount when an ExternalAccountLink mapping exists.
|
|
3360
3762
|
*/
|
|
3361
|
-
|
|
3763
|
+
externalAccountId?: string;
|
|
3764
|
+
};
|
|
3765
|
+
|
|
3766
|
+
export type ProviderSyncDto = {
|
|
3362
3767
|
/**
|
|
3363
|
-
*
|
|
3768
|
+
* Provider name (already in URL path, optional here for reference)
|
|
3364
3769
|
*/
|
|
3365
|
-
|
|
3770
|
+
provider?: string;
|
|
3771
|
+
/**
|
|
3772
|
+
* Unique sync identifier for idempotency
|
|
3773
|
+
*/
|
|
3774
|
+
syncId?: string;
|
|
3775
|
+
/**
|
|
3776
|
+
* Provider sync configuration
|
|
3777
|
+
*/
|
|
3778
|
+
config: ProviderSyncConfigDto;
|
|
3779
|
+
/**
|
|
3780
|
+
* Raw transactions from provider
|
|
3781
|
+
*/
|
|
3782
|
+
transactions: unknown[];
|
|
3366
3783
|
};
|
|
3367
3784
|
|
|
3368
|
-
|
|
3369
|
-
* Platform type
|
|
3370
|
-
*/
|
|
3371
|
-
export type type3 =
|
|
3372
|
-
| 'BANK'
|
|
3373
|
-
| 'BROKERAGE'
|
|
3374
|
-
| 'CRYPTO_EXCHANGE'
|
|
3375
|
-
| 'PAYMENT'
|
|
3376
|
-
| 'INVESTMENT'
|
|
3377
|
-
| 'INSURANCE'
|
|
3378
|
-
| 'OTHER';
|
|
3379
|
-
|
|
3380
|
-
export type UpdatePlatformDto = {
|
|
3785
|
+
export type ProviderSyncResponseDto = {
|
|
3381
3786
|
/**
|
|
3382
|
-
*
|
|
3787
|
+
* Number of transactions successfully imported
|
|
3383
3788
|
*/
|
|
3384
|
-
|
|
3789
|
+
imported: number;
|
|
3385
3790
|
/**
|
|
3386
|
-
*
|
|
3791
|
+
* Number of transactions skipped (duplicates)
|
|
3387
3792
|
*/
|
|
3388
|
-
|
|
3793
|
+
skipped: number;
|
|
3389
3794
|
/**
|
|
3390
|
-
*
|
|
3795
|
+
* Number of transactions pending review
|
|
3391
3796
|
*/
|
|
3392
|
-
|
|
3797
|
+
pendingReview: number;
|
|
3393
3798
|
/**
|
|
3394
|
-
*
|
|
3799
|
+
* Number of transactions that failed to import
|
|
3395
3800
|
*/
|
|
3396
|
-
|
|
3801
|
+
failed: number;
|
|
3397
3802
|
/**
|
|
3398
|
-
*
|
|
3803
|
+
* IDs of successfully imported transactions
|
|
3399
3804
|
*/
|
|
3400
|
-
|
|
3805
|
+
importedTransactionIds?: Array<string>;
|
|
3806
|
+
/**
|
|
3807
|
+
* IDs of review items created for branched transactions
|
|
3808
|
+
*/
|
|
3809
|
+
reviewItemIds?: Array<string>;
|
|
3810
|
+
};
|
|
3811
|
+
|
|
3812
|
+
export type SupportedProvidersResponseDto = {
|
|
3813
|
+
/**
|
|
3814
|
+
* List of supported provider names
|
|
3815
|
+
*/
|
|
3816
|
+
providers: Array<string>;
|
|
3817
|
+
};
|
|
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
|
+
|
|
3874
|
+
export type ParserTelemetryReportDto = unknown;
|
|
3875
|
+
|
|
3876
|
+
export type UncoveredFormatMissDto = unknown;
|
|
3877
|
+
|
|
3878
|
+
export type ProcessNlpDto = {
|
|
3879
|
+
/**
|
|
3880
|
+
* Natural language text describing a transaction (Chinese)
|
|
3881
|
+
*/
|
|
3882
|
+
message: string;
|
|
3883
|
+
/**
|
|
3884
|
+
* Session ID for multi-turn conversation (auto-generated if not provided)
|
|
3885
|
+
*/
|
|
3886
|
+
sessionId?: string;
|
|
3887
|
+
/**
|
|
3888
|
+
* Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
|
|
3889
|
+
*/
|
|
3890
|
+
parsedData?: {
|
|
3891
|
+
[key: string]: unknown;
|
|
3892
|
+
};
|
|
3893
|
+
};
|
|
3894
|
+
|
|
3895
|
+
export type NlpTransactionInfoDto = {
|
|
3896
|
+
/**
|
|
3897
|
+
* Transaction ID
|
|
3898
|
+
*/
|
|
3899
|
+
id: string;
|
|
3900
|
+
/**
|
|
3901
|
+
* Transaction date (ISO format)
|
|
3902
|
+
*/
|
|
3903
|
+
date: string;
|
|
3904
|
+
/**
|
|
3905
|
+
* Transaction amount
|
|
3906
|
+
*/
|
|
3907
|
+
amount: number;
|
|
3908
|
+
/**
|
|
3909
|
+
* Currency code
|
|
3910
|
+
*/
|
|
3911
|
+
currency: string;
|
|
3912
|
+
/**
|
|
3913
|
+
* Payee name
|
|
3914
|
+
*/
|
|
3915
|
+
payee?: string;
|
|
3916
|
+
/**
|
|
3917
|
+
* Transaction narration
|
|
3918
|
+
*/
|
|
3919
|
+
narration?: string;
|
|
3920
|
+
/**
|
|
3921
|
+
* Warning message for special transaction scenarios (e.g., cross-currency settlement)
|
|
3922
|
+
*/
|
|
3923
|
+
warning?: string;
|
|
3924
|
+
};
|
|
3925
|
+
|
|
3926
|
+
export type NlpParsedDataDto = {
|
|
3927
|
+
/**
|
|
3928
|
+
* Extracted amount
|
|
3929
|
+
*/
|
|
3930
|
+
amount?: number;
|
|
3931
|
+
/**
|
|
3932
|
+
* Currency code
|
|
3933
|
+
*/
|
|
3934
|
+
currency?: string;
|
|
3935
|
+
/**
|
|
3936
|
+
* Transaction date (ISO format)
|
|
3937
|
+
*/
|
|
3938
|
+
date?: string;
|
|
3939
|
+
/**
|
|
3940
|
+
* Payee name
|
|
3941
|
+
*/
|
|
3942
|
+
payee?: string;
|
|
3943
|
+
/**
|
|
3944
|
+
* Transaction narration
|
|
3945
|
+
*/
|
|
3946
|
+
narration?: string;
|
|
3947
|
+
/**
|
|
3948
|
+
* Category
|
|
3949
|
+
*/
|
|
3950
|
+
category?: string;
|
|
3951
|
+
/**
|
|
3952
|
+
* Income type (e.g., Salary, Bonus, Dividend, Interest)
|
|
3953
|
+
*/
|
|
3954
|
+
incomeType?: string;
|
|
3955
|
+
/**
|
|
3956
|
+
* Income source (e.g., company name)
|
|
3957
|
+
*/
|
|
3958
|
+
incomeSource?: string;
|
|
3959
|
+
/**
|
|
3960
|
+
* Security symbol code (e.g., 600519, AAPL)
|
|
3961
|
+
*/
|
|
3962
|
+
symbol?: string;
|
|
3963
|
+
/**
|
|
3964
|
+
* Quantity of shares/units
|
|
3965
|
+
*/
|
|
3966
|
+
quantity?: number;
|
|
3967
|
+
/**
|
|
3968
|
+
* Unit price per share/unit
|
|
3969
|
+
*/
|
|
3970
|
+
price?: number;
|
|
3971
|
+
/**
|
|
3972
|
+
* Investment action
|
|
3973
|
+
*/
|
|
3974
|
+
investmentAction?: 'buy' | 'sell';
|
|
3975
|
+
/**
|
|
3976
|
+
* Payment source: asset (default) or liability (credit card)
|
|
3977
|
+
*/
|
|
3978
|
+
paymentSource?: 'asset' | 'liability';
|
|
3979
|
+
/**
|
|
3980
|
+
* Liability account hint (CreditCard/Huabei/Baitiao)
|
|
3981
|
+
*/
|
|
3982
|
+
liabilityHint?: string;
|
|
3983
|
+
/**
|
|
3984
|
+
* Warning message for special scenarios (e.g., cross-currency settlement)
|
|
3985
|
+
*/
|
|
3986
|
+
warning?: string;
|
|
3987
|
+
};
|
|
3988
|
+
|
|
3989
|
+
/**
|
|
3990
|
+
* Investment action
|
|
3991
|
+
*/
|
|
3992
|
+
export type investmentAction = 'buy' | 'sell';
|
|
3993
|
+
|
|
3994
|
+
/**
|
|
3995
|
+
* Payment source: asset (default) or liability (credit card)
|
|
3996
|
+
*/
|
|
3997
|
+
export type paymentSource = 'asset' | 'liability';
|
|
3998
|
+
|
|
3999
|
+
export type NlpSourceTransactionDto = {
|
|
4000
|
+
/**
|
|
4001
|
+
* Transaction date (ISO format)
|
|
4002
|
+
*/
|
|
4003
|
+
date: string;
|
|
4004
|
+
/**
|
|
4005
|
+
* Amount as string
|
|
4006
|
+
*/
|
|
4007
|
+
amount: string;
|
|
4008
|
+
/**
|
|
4009
|
+
* Currency code
|
|
4010
|
+
*/
|
|
4011
|
+
currency: string;
|
|
4012
|
+
/**
|
|
4013
|
+
* Payee name
|
|
4014
|
+
*/
|
|
4015
|
+
payee?: string;
|
|
4016
|
+
/**
|
|
4017
|
+
* Transaction narration
|
|
4018
|
+
*/
|
|
4019
|
+
narration: string;
|
|
4020
|
+
};
|
|
4021
|
+
|
|
4022
|
+
export type NlpTargetTransactionDto = {
|
|
4023
|
+
/**
|
|
4024
|
+
* Existing transaction ID
|
|
4025
|
+
*/
|
|
4026
|
+
id: string;
|
|
4027
|
+
/**
|
|
4028
|
+
* Transaction date (ISO format)
|
|
4029
|
+
*/
|
|
4030
|
+
date: string;
|
|
4031
|
+
/**
|
|
4032
|
+
* Amount as string
|
|
4033
|
+
*/
|
|
4034
|
+
amount: string;
|
|
4035
|
+
/**
|
|
4036
|
+
* Currency code
|
|
4037
|
+
*/
|
|
4038
|
+
currency: string;
|
|
4039
|
+
/**
|
|
4040
|
+
* Payee name
|
|
4041
|
+
*/
|
|
4042
|
+
payee?: string;
|
|
4043
|
+
/**
|
|
4044
|
+
* Transaction narration
|
|
4045
|
+
*/
|
|
4046
|
+
narration: string;
|
|
4047
|
+
};
|
|
4048
|
+
|
|
4049
|
+
export type NlpSimilarityDto = {
|
|
4050
|
+
/**
|
|
4051
|
+
* Whether dates match
|
|
4052
|
+
*/
|
|
4053
|
+
dateMatch: boolean;
|
|
4054
|
+
/**
|
|
4055
|
+
* Date difference in days
|
|
4056
|
+
*/
|
|
4057
|
+
dateDiff: number;
|
|
4058
|
+
/**
|
|
4059
|
+
* Whether amounts match
|
|
4060
|
+
*/
|
|
4061
|
+
amountMatch: boolean;
|
|
4062
|
+
/**
|
|
4063
|
+
* Amount difference as decimal string
|
|
4064
|
+
*/
|
|
4065
|
+
amountDiff: string;
|
|
4066
|
+
/**
|
|
4067
|
+
* Whether payees match
|
|
4068
|
+
*/
|
|
4069
|
+
payeeMatch: boolean;
|
|
4070
|
+
/**
|
|
4071
|
+
* Payee similarity score (0-1)
|
|
4072
|
+
*/
|
|
4073
|
+
payeeSimilarity: number;
|
|
4074
|
+
/**
|
|
4075
|
+
* Account overlap score (0-1)
|
|
4076
|
+
*/
|
|
4077
|
+
accountOverlap: number;
|
|
4078
|
+
};
|
|
4079
|
+
|
|
4080
|
+
export type NlpDuplicateConfirmationDataDto = {
|
|
4081
|
+
/**
|
|
4082
|
+
* Duplicate detection confidence score (0.5-0.89)
|
|
4083
|
+
*/
|
|
4084
|
+
confidence: number;
|
|
4085
|
+
/**
|
|
4086
|
+
* Source transaction summary (the new transaction being entered)
|
|
4087
|
+
*/
|
|
4088
|
+
sourceTransaction: NlpSourceTransactionDto;
|
|
4089
|
+
/**
|
|
4090
|
+
* Target transaction summary (existing potential duplicate)
|
|
4091
|
+
*/
|
|
4092
|
+
targetTransaction: NlpTargetTransactionDto;
|
|
4093
|
+
/**
|
|
4094
|
+
* Detailed similarity information
|
|
4095
|
+
*/
|
|
4096
|
+
similarity: NlpSimilarityDto;
|
|
4097
|
+
/**
|
|
4098
|
+
* Human-readable reasons for duplicate detection
|
|
4099
|
+
*/
|
|
4100
|
+
reasons: Array<string>;
|
|
4101
|
+
};
|
|
4102
|
+
|
|
4103
|
+
export type NlpRuleConfirmationDataDto = {
|
|
4104
|
+
/**
|
|
4105
|
+
* Rule match confidence score (0.5-0.74)
|
|
4106
|
+
*/
|
|
4107
|
+
confidence: number;
|
|
4108
|
+
/**
|
|
4109
|
+
* Matched rule information
|
|
4110
|
+
*/
|
|
4111
|
+
matchedRule: {
|
|
4112
|
+
[key: string]: unknown;
|
|
4113
|
+
};
|
|
4114
|
+
/**
|
|
4115
|
+
* Suggested accounts from the rule
|
|
4116
|
+
*/
|
|
4117
|
+
suggestedAccounts: {
|
|
4118
|
+
[key: string]: unknown;
|
|
4119
|
+
};
|
|
4120
|
+
/**
|
|
4121
|
+
* Alternative rules that also match
|
|
4122
|
+
*/
|
|
4123
|
+
alternatives: unknown[];
|
|
4124
|
+
/**
|
|
4125
|
+
* Human-readable reasons for the match
|
|
4126
|
+
*/
|
|
4127
|
+
reasons: Array<string>;
|
|
4128
|
+
};
|
|
4129
|
+
|
|
4130
|
+
export type NlpAccountConfirmationDataDto = {
|
|
4131
|
+
/**
|
|
4132
|
+
* The invalid account name
|
|
4133
|
+
*/
|
|
4134
|
+
invalidAccount: string;
|
|
4135
|
+
/**
|
|
4136
|
+
* Suggested replacement account
|
|
4137
|
+
*/
|
|
4138
|
+
suggestedAccount: string;
|
|
4139
|
+
/**
|
|
4140
|
+
* Similar accounts for user selection
|
|
4141
|
+
*/
|
|
4142
|
+
similarAccounts: Array<string>;
|
|
4143
|
+
/**
|
|
4144
|
+
* Error message explaining the issue
|
|
4145
|
+
*/
|
|
4146
|
+
errorMessage: string;
|
|
4147
|
+
/**
|
|
4148
|
+
* Transaction context for reference
|
|
4149
|
+
*/
|
|
4150
|
+
transactionContext: {
|
|
4151
|
+
[key: string]: unknown;
|
|
4152
|
+
};
|
|
4153
|
+
};
|
|
4154
|
+
|
|
4155
|
+
export type NlpSuggestedPayeeDto = {
|
|
4156
|
+
/**
|
|
4157
|
+
* Payee ID
|
|
4158
|
+
*/
|
|
4159
|
+
id: string;
|
|
4160
|
+
/**
|
|
4161
|
+
* Payee name
|
|
4162
|
+
*/
|
|
4163
|
+
name: string;
|
|
4164
|
+
/**
|
|
4165
|
+
* Payee category
|
|
4166
|
+
*/
|
|
4167
|
+
category?: string;
|
|
4168
|
+
/**
|
|
4169
|
+
* Source of the payee
|
|
4170
|
+
*/
|
|
4171
|
+
source?: 'user' | 'global';
|
|
4172
|
+
/**
|
|
4173
|
+
* PayeeProfile ID (if matched from global)
|
|
4174
|
+
*/
|
|
4175
|
+
payeeProfileId?: string;
|
|
4176
|
+
};
|
|
4177
|
+
|
|
4178
|
+
/**
|
|
4179
|
+
* Source of the payee
|
|
4180
|
+
*/
|
|
4181
|
+
export type source = 'user' | 'global';
|
|
4182
|
+
|
|
4183
|
+
export type NlpAlternativePayeeDto = {
|
|
4184
|
+
/**
|
|
4185
|
+
* Payee ID
|
|
4186
|
+
*/
|
|
4187
|
+
id: string;
|
|
4188
|
+
/**
|
|
4189
|
+
* Payee name
|
|
4190
|
+
*/
|
|
4191
|
+
name: string;
|
|
4192
|
+
/**
|
|
4193
|
+
* Similarity score (0-1)
|
|
4194
|
+
*/
|
|
4195
|
+
similarity: number;
|
|
4196
|
+
};
|
|
4197
|
+
|
|
4198
|
+
export type NlpPayeeConfirmationDataDto = {
|
|
4199
|
+
/**
|
|
4200
|
+
* Confidence score for the payee match (0-1)
|
|
4201
|
+
*/
|
|
4202
|
+
confidence: number;
|
|
4203
|
+
/**
|
|
4204
|
+
* Original payee string from user input
|
|
4205
|
+
*/
|
|
4206
|
+
originalPayee: string;
|
|
4207
|
+
/**
|
|
4208
|
+
* Suggested payee to use (null when no similar payees found)
|
|
4209
|
+
*/
|
|
4210
|
+
suggestedPayee?: NlpSuggestedPayeeDto | null;
|
|
4211
|
+
/**
|
|
4212
|
+
* Similarity score between original and suggested (0-1)
|
|
4213
|
+
*/
|
|
4214
|
+
similarity: number;
|
|
4215
|
+
/**
|
|
4216
|
+
* Alternative payee options
|
|
4217
|
+
*/
|
|
4218
|
+
alternatives: Array<NlpAlternativePayeeDto>;
|
|
4219
|
+
/**
|
|
4220
|
+
* Human-readable reasons for the match
|
|
4221
|
+
*/
|
|
4222
|
+
reasons: Array<string>;
|
|
4223
|
+
};
|
|
4224
|
+
|
|
4225
|
+
export type RecurringMatchInfoDto = {
|
|
4226
|
+
/**
|
|
4227
|
+
* Expected transaction ID
|
|
4228
|
+
*/
|
|
4229
|
+
expectedId: string;
|
|
4230
|
+
/**
|
|
4231
|
+
* Recurring rule ID
|
|
4232
|
+
*/
|
|
4233
|
+
ruleId: string;
|
|
4234
|
+
/**
|
|
4235
|
+
* Rule name for display
|
|
4236
|
+
*/
|
|
4237
|
+
ruleName: string;
|
|
4238
|
+
/**
|
|
4239
|
+
* Rule icon
|
|
4240
|
+
*/
|
|
4241
|
+
ruleIcon?: string;
|
|
4242
|
+
/**
|
|
4243
|
+
* Expected date (YYYY-MM-DD)
|
|
4244
|
+
*/
|
|
4245
|
+
expectedDate: string;
|
|
4246
|
+
/**
|
|
4247
|
+
* Expected amount
|
|
4248
|
+
*/
|
|
4249
|
+
expectedAmount: number;
|
|
4250
|
+
/**
|
|
4251
|
+
* Match confidence score (0-1)
|
|
4252
|
+
*/
|
|
4253
|
+
confidence: number;
|
|
4254
|
+
/**
|
|
4255
|
+
* Whether auto-matched (confidence >= 0.82)
|
|
4256
|
+
*/
|
|
4257
|
+
isAutoMatched: boolean;
|
|
4258
|
+
};
|
|
4259
|
+
|
|
4260
|
+
export type NlpSuggestedAccountDto = {
|
|
4261
|
+
/**
|
|
4262
|
+
* Suggested account path
|
|
4263
|
+
*/
|
|
4264
|
+
account: string;
|
|
4265
|
+
/**
|
|
4266
|
+
* Confidence score for this suggestion (0-1)
|
|
4267
|
+
*/
|
|
4268
|
+
confidence?: number;
|
|
4269
|
+
};
|
|
4270
|
+
|
|
4271
|
+
export type NlpSuggestedAccountsDto = {
|
|
4272
|
+
/**
|
|
4273
|
+
* Source account suggestion (where money comes from). For expense: asset/liability account. For income: income account.
|
|
4274
|
+
*/
|
|
4275
|
+
source?: NlpSuggestedAccountDto;
|
|
4276
|
+
/**
|
|
4277
|
+
* Destination account suggestion (where money goes to). For expense: expense account. For income: asset/liability account.
|
|
4278
|
+
*/
|
|
4279
|
+
destination?: NlpSuggestedAccountDto;
|
|
4280
|
+
};
|
|
4281
|
+
|
|
4282
|
+
export type NlpDefaultAccountsDto = {
|
|
4283
|
+
/**
|
|
4284
|
+
* Default asset account
|
|
4285
|
+
*/
|
|
4286
|
+
asset: string;
|
|
4287
|
+
/**
|
|
4288
|
+
* Default expense account
|
|
4289
|
+
*/
|
|
4290
|
+
expense: string;
|
|
4291
|
+
/**
|
|
4292
|
+
* Default income account
|
|
4293
|
+
*/
|
|
4294
|
+
income: string;
|
|
4295
|
+
/**
|
|
4296
|
+
* Default liability account
|
|
4297
|
+
*/
|
|
4298
|
+
liability: string;
|
|
4299
|
+
};
|
|
4300
|
+
|
|
4301
|
+
export type NlpResponseDto = {
|
|
4302
|
+
/**
|
|
4303
|
+
* Response status
|
|
4304
|
+
*/
|
|
4305
|
+
status: 'success' | 'pending' | 'error';
|
|
4306
|
+
/**
|
|
4307
|
+
* Action taken or requested
|
|
4308
|
+
*/
|
|
4309
|
+
action:
|
|
4310
|
+
| 'created'
|
|
4311
|
+
| 'ask'
|
|
4312
|
+
| 'confirm'
|
|
4313
|
+
| 'confirm_duplicate'
|
|
4314
|
+
| 'confirm_rule'
|
|
4315
|
+
| 'confirm_account'
|
|
4316
|
+
| 'confirm_payee'
|
|
4317
|
+
| 'cancel';
|
|
4318
|
+
/**
|
|
4319
|
+
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4320
|
+
*/
|
|
4321
|
+
intent?: 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
4322
|
+
/**
|
|
4323
|
+
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4324
|
+
*/
|
|
4325
|
+
assetSubType?: 'transfer' | 'banking' | 'investment';
|
|
4326
|
+
/**
|
|
4327
|
+
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4328
|
+
*/
|
|
4329
|
+
liabilitySubType?: 'borrow' | 'repay';
|
|
4330
|
+
/**
|
|
4331
|
+
* Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
|
|
4332
|
+
*/
|
|
4333
|
+
equitySubType?: 'opening' | 'adjustment';
|
|
4334
|
+
/**
|
|
4335
|
+
* Payment source for expense transactions (v6.1). Indicates whether payment comes from asset or liability account. Only present when intent is "expense".
|
|
4336
|
+
*/
|
|
4337
|
+
paymentSource?: 'asset' | 'liability';
|
|
4338
|
+
/**
|
|
4339
|
+
* Liability account type hint for credit card/BNPL spending (v6.1). Only present when paymentSource is "liability". Values: CreditCard, Huabei, Baitiao
|
|
4340
|
+
*/
|
|
4341
|
+
liabilityHint?: string;
|
|
4342
|
+
/**
|
|
4343
|
+
* Human-readable message (for ask or error actions). Deprecated: Use messageKey for i18n support.
|
|
4344
|
+
* @deprecated
|
|
4345
|
+
*/
|
|
4346
|
+
message?: string;
|
|
4347
|
+
/**
|
|
4348
|
+
* i18n message key for frontend translation. Use this instead of message for internationalization support.
|
|
4349
|
+
*/
|
|
4350
|
+
messageKey?: string;
|
|
4351
|
+
/**
|
|
4352
|
+
* Parameters for message interpolation. Used with messageKey for dynamic values in translated messages.
|
|
4353
|
+
*/
|
|
4354
|
+
messageParams?: {
|
|
4355
|
+
[key: string]: unknown;
|
|
4356
|
+
};
|
|
4357
|
+
/**
|
|
4358
|
+
* Session ID for multi-turn dialogue. Must be included in subsequent requests to continue the conversation.
|
|
4359
|
+
*/
|
|
4360
|
+
sessionId?: string;
|
|
4361
|
+
/**
|
|
4362
|
+
* Which slot is waiting for user input
|
|
4363
|
+
*/
|
|
4364
|
+
waitingFor?: string;
|
|
4365
|
+
/**
|
|
4366
|
+
* Created transaction info (for created action)
|
|
4367
|
+
*/
|
|
4368
|
+
transaction?: NlpTransactionInfoDto;
|
|
4369
|
+
/**
|
|
4370
|
+
* Parsed data for confirmation (when action is "confirm"). Contains extracted fields that user should verify before transaction creation.
|
|
4371
|
+
*/
|
|
4372
|
+
parsedData?: NlpParsedDataDto;
|
|
4373
|
+
/**
|
|
4374
|
+
* Duplicate detection data (when action is "confirm_duplicate"). Contains information about potential duplicate transaction for user confirmation.
|
|
4375
|
+
*/
|
|
4376
|
+
duplicateData?: NlpDuplicateConfirmationDataDto;
|
|
4377
|
+
/**
|
|
4378
|
+
* Rule match data (when action is "confirm_rule"). Contains information about medium-confidence rule match for user confirmation.
|
|
4379
|
+
*/
|
|
4380
|
+
ruleData?: NlpRuleConfirmationDataDto;
|
|
4381
|
+
/**
|
|
4382
|
+
* Account validation data (when action is "confirm_account"). Contains information about invalid account for user correction.
|
|
4383
|
+
*/
|
|
4384
|
+
accountData?: NlpAccountConfirmationDataDto;
|
|
4385
|
+
/**
|
|
4386
|
+
* Payee confirmation data (when action is "confirm_payee"). Contains information about medium/low confidence payee match for user confirmation.
|
|
4387
|
+
*/
|
|
4388
|
+
payeeData?: NlpPayeeConfirmationDataDto;
|
|
4389
|
+
/**
|
|
4390
|
+
* Overall confidence score (0-1)
|
|
4391
|
+
*/
|
|
4392
|
+
confidence?: number;
|
|
4393
|
+
/**
|
|
4394
|
+
* Confidence threshold for automatic creation (default: 0.75). When confidence < threshold, action will be "confirm" requiring user verification.
|
|
4395
|
+
*/
|
|
4396
|
+
confidenceThreshold?: number;
|
|
4397
|
+
/**
|
|
4398
|
+
* Recurring transaction match info (when action is "created"). Contains match details when transaction matches a pending expected transaction.
|
|
4399
|
+
*/
|
|
4400
|
+
recurringMatch?: RecurringMatchInfoDto;
|
|
4401
|
+
/**
|
|
4402
|
+
* Recurring rule creation suggestion (when action is "created"). Contains suggestion to create a recurring rule based on detected patterns. Only present when no existing rule matched and similar historical transactions were found.
|
|
4403
|
+
*/
|
|
4404
|
+
recurringSuggestion?: RecurringSuggestionDto;
|
|
4405
|
+
/**
|
|
4406
|
+
* Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
|
|
4407
|
+
*/
|
|
4408
|
+
suggestedAccounts?: NlpSuggestedAccountsDto;
|
|
4409
|
+
/**
|
|
4410
|
+
* Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
|
|
4411
|
+
*/
|
|
4412
|
+
defaultAccounts?: NlpDefaultAccountsDto;
|
|
4413
|
+
};
|
|
4414
|
+
|
|
4415
|
+
/**
|
|
4416
|
+
* Response status
|
|
4417
|
+
*/
|
|
4418
|
+
export type status4 = 'success' | 'pending' | 'error';
|
|
4419
|
+
|
|
4420
|
+
/**
|
|
4421
|
+
* Action taken or requested
|
|
4422
|
+
*/
|
|
4423
|
+
export type action2 =
|
|
4424
|
+
| 'created'
|
|
4425
|
+
| 'ask'
|
|
4426
|
+
| 'confirm'
|
|
4427
|
+
| 'confirm_duplicate'
|
|
4428
|
+
| 'confirm_rule'
|
|
4429
|
+
| 'confirm_account'
|
|
4430
|
+
| 'confirm_payee'
|
|
4431
|
+
| 'cancel';
|
|
4432
|
+
|
|
4433
|
+
/**
|
|
4434
|
+
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4435
|
+
*/
|
|
4436
|
+
export type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
4437
|
+
|
|
4438
|
+
/**
|
|
4439
|
+
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4440
|
+
*/
|
|
4441
|
+
export type assetSubType = 'transfer' | 'banking' | 'investment';
|
|
4442
|
+
|
|
4443
|
+
/**
|
|
4444
|
+
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4445
|
+
*/
|
|
4446
|
+
export type liabilitySubType = 'borrow' | 'repay';
|
|
4447
|
+
|
|
4448
|
+
/**
|
|
4449
|
+
* Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
|
|
4450
|
+
*/
|
|
4451
|
+
export type equitySubType = 'opening' | 'adjustment';
|
|
4452
|
+
|
|
4453
|
+
export type PlatformListItemDto = {
|
|
4454
|
+
/**
|
|
4455
|
+
* Global platform ID
|
|
4456
|
+
*/
|
|
4457
|
+
id: string;
|
|
4458
|
+
/**
|
|
4459
|
+
* Platform name
|
|
4460
|
+
*/
|
|
4461
|
+
name: string;
|
|
4462
|
+
/**
|
|
4463
|
+
* Platform URL
|
|
4464
|
+
*/
|
|
4465
|
+
url: string;
|
|
4466
|
+
/**
|
|
4467
|
+
* Platform type
|
|
4468
|
+
*/
|
|
4469
|
+
type:
|
|
3401
4470
|
| 'BANK'
|
|
3402
4471
|
| 'BROKERAGE'
|
|
3403
4472
|
| 'CRYPTO_EXCHANGE'
|
|
@@ -3406,94 +4475,176 @@ export type UpdatePlatformDto = {
|
|
|
3406
4475
|
| 'INSURANCE'
|
|
3407
4476
|
| 'OTHER';
|
|
3408
4477
|
/**
|
|
3409
|
-
*
|
|
4478
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
3410
4479
|
*/
|
|
3411
|
-
|
|
4480
|
+
canonical: string;
|
|
3412
4481
|
/**
|
|
3413
|
-
*
|
|
4482
|
+
* Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
|
|
3414
4483
|
*/
|
|
3415
|
-
|
|
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;
|
|
3416
4493
|
};
|
|
3417
4494
|
|
|
3418
|
-
|
|
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 = {
|
|
3419
4508
|
/**
|
|
3420
|
-
*
|
|
4509
|
+
* Global platform ID
|
|
3421
4510
|
*/
|
|
3422
|
-
|
|
4511
|
+
id: string;
|
|
3423
4512
|
/**
|
|
3424
|
-
*
|
|
4513
|
+
* Platform name (e.g., "ICBC")
|
|
3425
4514
|
*/
|
|
3426
|
-
|
|
4515
|
+
name: string;
|
|
3427
4516
|
/**
|
|
3428
|
-
*
|
|
4517
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
3429
4518
|
*/
|
|
3430
|
-
|
|
4519
|
+
canonical: string;
|
|
3431
4520
|
/**
|
|
3432
|
-
*
|
|
4521
|
+
* Platform type
|
|
3433
4522
|
*/
|
|
3434
|
-
|
|
4523
|
+
type:
|
|
4524
|
+
| 'BANK'
|
|
4525
|
+
| 'BROKERAGE'
|
|
4526
|
+
| 'CRYPTO_EXCHANGE'
|
|
4527
|
+
| 'PAYMENT'
|
|
4528
|
+
| 'INVESTMENT'
|
|
4529
|
+
| 'INSURANCE'
|
|
4530
|
+
| 'OTHER';
|
|
3435
4531
|
/**
|
|
3436
|
-
*
|
|
4532
|
+
* Suggested path segment — canonical, already in ACCOUNT_RE format
|
|
3437
4533
|
*/
|
|
3438
|
-
|
|
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';
|
|
3439
4543
|
};
|
|
3440
4544
|
|
|
3441
|
-
|
|
4545
|
+
/**
|
|
4546
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4547
|
+
*/
|
|
4548
|
+
export type matchType = 'exact' | 'prefix' | 'substring';
|
|
4549
|
+
|
|
4550
|
+
export type PlatformMatchResponseDto = {
|
|
3442
4551
|
/**
|
|
3443
|
-
*
|
|
4552
|
+
* Ranked matches, best tier first (at most 10 rows)
|
|
3444
4553
|
*/
|
|
3445
|
-
|
|
4554
|
+
platforms: Array<PlatformMatchResultDto>;
|
|
3446
4555
|
/**
|
|
3447
|
-
*
|
|
4556
|
+
* Overall match quality — top row's tier, or 'none' when no hits
|
|
3448
4557
|
*/
|
|
3449
|
-
|
|
4558
|
+
matchType: 'none' | 'exact' | 'prefix' | 'substring';
|
|
3450
4559
|
/**
|
|
3451
|
-
*
|
|
4560
|
+
* Total matches before LIMIT (truncation transparency)
|
|
3452
4561
|
*/
|
|
3453
|
-
|
|
4562
|
+
total: number;
|
|
3454
4563
|
/**
|
|
3455
|
-
*
|
|
4564
|
+
* true when total > platforms.length (more matches exist)
|
|
3456
4565
|
*/
|
|
3457
|
-
|
|
4566
|
+
hasMore: boolean;
|
|
3458
4567
|
};
|
|
3459
4568
|
|
|
3460
|
-
|
|
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 = {
|
|
3461
4575
|
/**
|
|
3462
|
-
*
|
|
4576
|
+
* Platform name
|
|
3463
4577
|
*/
|
|
3464
|
-
|
|
3465
|
-
};
|
|
3466
|
-
|
|
3467
|
-
export type ParserTelemetryReportDto = unknown;
|
|
3468
|
-
|
|
3469
|
-
export type UncoveredFormatMissDto = unknown;
|
|
3470
|
-
|
|
3471
|
-
export type ProcessNlpDto = {
|
|
4578
|
+
name: string;
|
|
3472
4579
|
/**
|
|
3473
|
-
*
|
|
4580
|
+
* Platform canonical identifier (lowercase, kebab-case)
|
|
3474
4581
|
*/
|
|
3475
|
-
|
|
4582
|
+
canonical: string;
|
|
3476
4583
|
/**
|
|
3477
|
-
*
|
|
4584
|
+
* Platform aliases (multi-language names for lookup)
|
|
3478
4585
|
*/
|
|
3479
|
-
|
|
4586
|
+
aliases: Array<string>;
|
|
3480
4587
|
/**
|
|
3481
|
-
*
|
|
4588
|
+
* Platform URL
|
|
3482
4589
|
*/
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
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;
|
|
3486
4610
|
};
|
|
3487
4611
|
|
|
3488
|
-
export type
|
|
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';
|
|
3489
4640
|
/**
|
|
3490
|
-
*
|
|
4641
|
+
* Platform logo URL
|
|
3491
4642
|
*/
|
|
3492
|
-
|
|
4643
|
+
logoUrl?: string;
|
|
3493
4644
|
/**
|
|
3494
|
-
*
|
|
4645
|
+
* Whether the platform is active
|
|
3495
4646
|
*/
|
|
3496
|
-
|
|
4647
|
+
isActive?: boolean;
|
|
3497
4648
|
};
|
|
3498
4649
|
|
|
3499
4650
|
export type NetWorthByCurrencyDto = {
|
|
@@ -3536,21 +4687,6 @@ export type ConvertedNetWorthDto = {
|
|
|
3536
4687
|
};
|
|
3537
4688
|
};
|
|
3538
4689
|
|
|
3539
|
-
export type ExchangeRateWarningDto = {
|
|
3540
|
-
/**
|
|
3541
|
-
* Warning type
|
|
3542
|
-
*/
|
|
3543
|
-
type: string;
|
|
3544
|
-
/**
|
|
3545
|
-
* Currency without exchange rate
|
|
3546
|
-
*/
|
|
3547
|
-
currency: string;
|
|
3548
|
-
/**
|
|
3549
|
-
* Total amount affected
|
|
3550
|
-
*/
|
|
3551
|
-
totalAmount: string;
|
|
3552
|
-
};
|
|
3553
|
-
|
|
3554
4690
|
export type NetWorthResponseDto = {
|
|
3555
4691
|
/**
|
|
3556
4692
|
* Total net worth (assets - liabilities, converted to base currency)
|
|
@@ -3615,6 +4751,10 @@ export type AccountItemDto = {
|
|
|
3615
4751
|
* Currency code
|
|
3616
4752
|
*/
|
|
3617
4753
|
currency: string;
|
|
4754
|
+
/**
|
|
4755
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
4756
|
+
*/
|
|
4757
|
+
convertedBalance?: string;
|
|
3618
4758
|
};
|
|
3619
4759
|
|
|
3620
4760
|
export type PlatformGroupDto = {
|
|
@@ -3631,9 +4771,40 @@ export type PlatformGroupDto = {
|
|
|
3631
4771
|
*/
|
|
3632
4772
|
accounts: Array<AccountItemDto>;
|
|
3633
4773
|
/**
|
|
3634
|
-
*
|
|
4774
|
+
* FX-converted total balance in base currency
|
|
3635
4775
|
*/
|
|
3636
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;
|
|
3637
4808
|
};
|
|
3638
4809
|
|
|
3639
4810
|
export type AccountsSummaryDto = {
|
|
@@ -3645,6 +4816,14 @@ export type AccountsSummaryDto = {
|
|
|
3645
4816
|
* Total number of platforms
|
|
3646
4817
|
*/
|
|
3647
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>;
|
|
3648
4827
|
};
|
|
3649
4828
|
|
|
3650
4829
|
export type AccountsResponseDto = {
|
|
@@ -3679,6 +4858,10 @@ export type AccountItemWithAssetClassDto = {
|
|
|
3679
4858
|
* Currency code
|
|
3680
4859
|
*/
|
|
3681
4860
|
currency: string;
|
|
4861
|
+
/**
|
|
4862
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
4863
|
+
*/
|
|
4864
|
+
convertedBalance?: string;
|
|
3682
4865
|
/**
|
|
3683
4866
|
* Asset class
|
|
3684
4867
|
*/
|
|
@@ -3704,7 +4887,7 @@ export type AccountItemWithAssetClassDto = {
|
|
|
3704
4887
|
/**
|
|
3705
4888
|
* ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
|
|
3706
4889
|
*/
|
|
3707
|
-
export type
|
|
4890
|
+
export type source2 =
|
|
3708
4891
|
| 'USER_META'
|
|
3709
4892
|
| 'FIAT_CURRENCY'
|
|
3710
4893
|
| 'OPENBB_MAPPING'
|
|
@@ -3760,25 +4943,6 @@ export type assetClass =
|
|
|
3760
4943
|
| 'REAL_ESTATE'
|
|
3761
4944
|
| 'INDEX';
|
|
3762
4945
|
|
|
3763
|
-
export type AccountExchangeRateWarningDto = {
|
|
3764
|
-
/**
|
|
3765
|
-
* Warning type
|
|
3766
|
-
*/
|
|
3767
|
-
type: string;
|
|
3768
|
-
/**
|
|
3769
|
-
* Currency without exchange rate
|
|
3770
|
-
*/
|
|
3771
|
-
currency: string;
|
|
3772
|
-
/**
|
|
3773
|
-
* Affected account paths
|
|
3774
|
-
*/
|
|
3775
|
-
accounts: Array<string>;
|
|
3776
|
-
/**
|
|
3777
|
-
* Total amount in this currency
|
|
3778
|
-
*/
|
|
3779
|
-
totalAmount: string;
|
|
3780
|
-
};
|
|
3781
|
-
|
|
3782
4946
|
export type AssetClassSummaryDto = {
|
|
3783
4947
|
/**
|
|
3784
4948
|
* Total number of accounts
|
|
@@ -3944,6 +5108,63 @@ export type CashFlowResponseDto = {
|
|
|
3944
5108
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
3945
5109
|
};
|
|
3946
5110
|
|
|
5111
|
+
export type CategoryGroupDto = {
|
|
5112
|
+
/**
|
|
5113
|
+
* Functional category (account-path Group segment); regional and universal account paths merge under it
|
|
5114
|
+
*/
|
|
5115
|
+
category: string;
|
|
5116
|
+
/**
|
|
5117
|
+
* Converted total for this category in base currency (expense amount when flow=expense, income amount when flow=income)
|
|
5118
|
+
*/
|
|
5119
|
+
totalExpense: string;
|
|
5120
|
+
/**
|
|
5121
|
+
* Share of grand total (0-100); 0 when grand total is 0
|
|
5122
|
+
*/
|
|
5123
|
+
sharePct: number;
|
|
5124
|
+
/**
|
|
5125
|
+
* Raw (unconverted) expense per currency
|
|
5126
|
+
*/
|
|
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
|
+
|
|
3947
5168
|
export type MonetaryDto = {
|
|
3948
5169
|
/**
|
|
3949
5170
|
* Amount (Decimal string)
|
|
@@ -3983,7 +5204,7 @@ export type CurrentPriceDto = {
|
|
|
3983
5204
|
/**
|
|
3984
5205
|
* Price source
|
|
3985
5206
|
*/
|
|
3986
|
-
export type
|
|
5207
|
+
export type source3 = 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
|
|
3987
5208
|
|
|
3988
5209
|
export type FxRateDto = {
|
|
3989
5210
|
from: string;
|
|
@@ -4139,185 +5360,160 @@ export type HoldingPnlResponseDto = {
|
|
|
4139
5360
|
*/
|
|
4140
5361
|
export type method = 'average' | 'FIFO';
|
|
4141
5362
|
|
|
4142
|
-
export type
|
|
5363
|
+
export type CurrencyBalanceDto = {
|
|
4143
5364
|
/**
|
|
4144
|
-
*
|
|
5365
|
+
* ISO 4217 currency code
|
|
4145
5366
|
*/
|
|
4146
5367
|
currency: string;
|
|
4147
5368
|
/**
|
|
4148
|
-
*
|
|
5369
|
+
* Balance amount
|
|
4149
5370
|
*/
|
|
4150
|
-
|
|
5371
|
+
balance: string;
|
|
5372
|
+
};
|
|
5373
|
+
|
|
5374
|
+
export type TimeSeriesPointDto = {
|
|
4151
5375
|
/**
|
|
4152
|
-
*
|
|
5376
|
+
* Date in YYYY-MM-DD format
|
|
4153
5377
|
*/
|
|
4154
|
-
|
|
5378
|
+
date: string;
|
|
4155
5379
|
/**
|
|
4156
|
-
*
|
|
5380
|
+
* Value at this date (in base currency)
|
|
4157
5381
|
*/
|
|
4158
|
-
|
|
5382
|
+
value: string;
|
|
4159
5383
|
/**
|
|
4160
|
-
*
|
|
5384
|
+
* Change from previous point
|
|
4161
5385
|
*/
|
|
4162
|
-
|
|
5386
|
+
change?: {
|
|
4163
5387
|
[key: string]: unknown;
|
|
4164
5388
|
};
|
|
4165
|
-
};
|
|
4166
|
-
|
|
4167
|
-
export type PriceResponseDto = {
|
|
4168
|
-
/**
|
|
4169
|
-
* Unique identifier
|
|
4170
|
-
*/
|
|
4171
|
-
id: string;
|
|
4172
|
-
/**
|
|
4173
|
-
* User ID (owner of the price)
|
|
4174
|
-
*/
|
|
4175
|
-
userId: string;
|
|
4176
5389
|
/**
|
|
4177
|
-
*
|
|
5390
|
+
* Total assets at this date (in base currency)
|
|
4178
5391
|
*/
|
|
4179
|
-
|
|
5392
|
+
assets?: string;
|
|
4180
5393
|
/**
|
|
4181
|
-
*
|
|
5394
|
+
* Total liabilities at this date (in base currency)
|
|
4182
5395
|
*/
|
|
4183
|
-
|
|
5396
|
+
liabilities?: string;
|
|
4184
5397
|
/**
|
|
4185
|
-
*
|
|
5398
|
+
* Multi-currency breakdown for this point
|
|
4186
5399
|
*/
|
|
4187
|
-
|
|
5400
|
+
byCurrency?: Array<CurrencyBalanceDto>;
|
|
5401
|
+
};
|
|
5402
|
+
|
|
5403
|
+
export type TrendSummaryDto = {
|
|
4188
5404
|
/**
|
|
4189
|
-
*
|
|
5405
|
+
* Value at start of period
|
|
4190
5406
|
*/
|
|
4191
|
-
|
|
5407
|
+
startValue: string;
|
|
4192
5408
|
/**
|
|
4193
|
-
*
|
|
5409
|
+
* Value at end of period
|
|
4194
5410
|
*/
|
|
4195
|
-
|
|
4196
|
-
[key: string]: unknown;
|
|
4197
|
-
};
|
|
5411
|
+
endValue: string;
|
|
4198
5412
|
/**
|
|
4199
|
-
*
|
|
5413
|
+
* Total change over period
|
|
4200
5414
|
*/
|
|
4201
|
-
|
|
5415
|
+
totalChange: string;
|
|
4202
5416
|
/**
|
|
4203
|
-
*
|
|
5417
|
+
* Total change percentage
|
|
4204
5418
|
*/
|
|
4205
|
-
|
|
5419
|
+
totalChangePercentage: string;
|
|
4206
5420
|
};
|
|
4207
5421
|
|
|
4208
|
-
export type
|
|
5422
|
+
export type MultiCurrencyPointDto = {
|
|
4209
5423
|
/**
|
|
4210
|
-
*
|
|
5424
|
+
* Date in YYYY-MM-DD format
|
|
4211
5425
|
*/
|
|
4212
|
-
|
|
5426
|
+
date: string;
|
|
4213
5427
|
/**
|
|
4214
|
-
*
|
|
5428
|
+
* Balances by currency
|
|
4215
5429
|
*/
|
|
4216
|
-
|
|
5430
|
+
byCurrency: Array<CurrencyBalanceDto>;
|
|
4217
5431
|
};
|
|
4218
5432
|
|
|
4219
|
-
export type
|
|
4220
|
-
/**
|
|
4221
|
-
* Currency being priced
|
|
4222
|
-
*/
|
|
4223
|
-
currency?: string;
|
|
5433
|
+
export type PortfolioTrendsResponseDto = {
|
|
4224
5434
|
/**
|
|
4225
|
-
*
|
|
5435
|
+
* Time series data points
|
|
4226
5436
|
*/
|
|
4227
|
-
|
|
5437
|
+
series: Array<TimeSeriesPointDto>;
|
|
4228
5438
|
/**
|
|
4229
|
-
*
|
|
5439
|
+
* Period summary
|
|
4230
5440
|
*/
|
|
4231
|
-
|
|
5441
|
+
summary: TrendSummaryDto;
|
|
4232
5442
|
/**
|
|
4233
|
-
*
|
|
5443
|
+
* Period requested
|
|
4234
5444
|
*/
|
|
4235
|
-
|
|
5445
|
+
period: string;
|
|
4236
5446
|
/**
|
|
4237
|
-
*
|
|
5447
|
+
* Data granularity
|
|
4238
5448
|
*/
|
|
4239
|
-
|
|
4240
|
-
[key: string]: unknown;
|
|
4241
|
-
};
|
|
4242
|
-
};
|
|
4243
|
-
|
|
4244
|
-
export type CurrencyBalanceDto = {
|
|
5449
|
+
granularity: string;
|
|
4245
5450
|
/**
|
|
4246
|
-
*
|
|
5451
|
+
* Base currency for converted values
|
|
4247
5452
|
*/
|
|
4248
5453
|
currency: string;
|
|
4249
5454
|
/**
|
|
4250
|
-
*
|
|
4251
|
-
*/
|
|
4252
|
-
balance: string;
|
|
4253
|
-
};
|
|
4254
|
-
|
|
4255
|
-
export type TimeSeriesPointDto = {
|
|
4256
|
-
/**
|
|
4257
|
-
* Date in YYYY-MM-DD format
|
|
4258
|
-
*/
|
|
4259
|
-
date: string;
|
|
4260
|
-
/**
|
|
4261
|
-
* Value at this date (in base currency)
|
|
4262
|
-
*/
|
|
4263
|
-
value: string;
|
|
4264
|
-
/**
|
|
4265
|
-
* Change from previous point
|
|
5455
|
+
* Multi-currency time series (each point has currency breakdown)
|
|
4266
5456
|
*/
|
|
4267
|
-
|
|
4268
|
-
[key: string]: unknown;
|
|
4269
|
-
};
|
|
5457
|
+
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
4270
5458
|
/**
|
|
4271
|
-
*
|
|
5459
|
+
* Exchange rate warnings
|
|
4272
5460
|
*/
|
|
4273
|
-
|
|
5461
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
4274
5462
|
};
|
|
4275
5463
|
|
|
4276
|
-
export type
|
|
5464
|
+
export type CashFlowPointDto = {
|
|
4277
5465
|
/**
|
|
4278
|
-
*
|
|
5466
|
+
* Month key (YYYY-MM)
|
|
4279
5467
|
*/
|
|
4280
|
-
|
|
5468
|
+
month: string;
|
|
4281
5469
|
/**
|
|
4282
|
-
*
|
|
5470
|
+
* Income in base currency (absolute, converted)
|
|
4283
5471
|
*/
|
|
4284
|
-
|
|
5472
|
+
income: string;
|
|
4285
5473
|
/**
|
|
4286
|
-
*
|
|
5474
|
+
* Expense in base currency (absolute, converted)
|
|
4287
5475
|
*/
|
|
4288
|
-
|
|
5476
|
+
expense: string;
|
|
4289
5477
|
/**
|
|
4290
|
-
*
|
|
5478
|
+
* netSavings = income − expense (savings positive)
|
|
4291
5479
|
*/
|
|
4292
|
-
|
|
5480
|
+
netSavings: string;
|
|
4293
5481
|
};
|
|
4294
5482
|
|
|
4295
|
-
export type
|
|
5483
|
+
export type CashFlowTrendSummaryDto = {
|
|
4296
5484
|
/**
|
|
4297
|
-
*
|
|
5485
|
+
* Total income across the period
|
|
4298
5486
|
*/
|
|
4299
|
-
|
|
5487
|
+
totalIncome: string;
|
|
4300
5488
|
/**
|
|
4301
|
-
*
|
|
5489
|
+
* Total expense across the period
|
|
4302
5490
|
*/
|
|
4303
|
-
|
|
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;
|
|
4304
5500
|
};
|
|
4305
5501
|
|
|
4306
|
-
export type
|
|
5502
|
+
export type CashFlowTrendsResponseDto = {
|
|
4307
5503
|
/**
|
|
4308
|
-
*
|
|
5504
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
4309
5505
|
*/
|
|
4310
|
-
series: Array<
|
|
5506
|
+
series: Array<CashFlowPointDto>;
|
|
4311
5507
|
/**
|
|
4312
|
-
* Period
|
|
5508
|
+
* Period totals
|
|
4313
5509
|
*/
|
|
4314
|
-
summary:
|
|
5510
|
+
summary: CashFlowTrendSummaryDto;
|
|
4315
5511
|
/**
|
|
4316
5512
|
* Period requested
|
|
4317
5513
|
*/
|
|
4318
5514
|
period: string;
|
|
4319
5515
|
/**
|
|
4320
|
-
* Data granularity
|
|
5516
|
+
* Data granularity (v1 returns month buckets)
|
|
4321
5517
|
*/
|
|
4322
5518
|
granularity: string;
|
|
4323
5519
|
/**
|
|
@@ -4325,11 +5521,7 @@ export type PortfolioTrendsResponseDto = {
|
|
|
4325
5521
|
*/
|
|
4326
5522
|
currency: string;
|
|
4327
5523
|
/**
|
|
4328
|
-
*
|
|
4329
|
-
*/
|
|
4330
|
-
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
4331
|
-
/**
|
|
4332
|
-
* Exchange rate warnings
|
|
5524
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
4333
5525
|
*/
|
|
4334
5526
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4335
5527
|
};
|
|
@@ -4349,6 +5541,13 @@ export type AnonymousLoginDto = {
|
|
|
4349
5541
|
accessToken: string;
|
|
4350
5542
|
};
|
|
4351
5543
|
|
|
5544
|
+
export type AnonymousLoginResponseDto = {
|
|
5545
|
+
/**
|
|
5546
|
+
* JWT auth token
|
|
5547
|
+
*/
|
|
5548
|
+
authToken: string;
|
|
5549
|
+
};
|
|
5550
|
+
|
|
4352
5551
|
export type AccountControllerCreateData = {
|
|
4353
5552
|
/**
|
|
4354
5553
|
* Region code for tenant context
|
|
@@ -4357,7 +5556,7 @@ export type AccountControllerCreateData = {
|
|
|
4357
5556
|
requestBody: CreateAccountDto;
|
|
4358
5557
|
};
|
|
4359
5558
|
|
|
4360
|
-
export type AccountControllerCreateResponse =
|
|
5559
|
+
export type AccountControllerCreateResponse = AccountResponseDto;
|
|
4361
5560
|
|
|
4362
5561
|
export type AccountControllerFindAllData = {
|
|
4363
5562
|
/**
|
|
@@ -4377,7 +5576,7 @@ export type AccountControllerFindAllData = {
|
|
|
4377
5576
|
*/
|
|
4378
5577
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
4379
5578
|
/**
|
|
4380
|
-
* Search term for path
|
|
5579
|
+
* Search term for account path
|
|
4381
5580
|
*/
|
|
4382
5581
|
search?: string;
|
|
4383
5582
|
/**
|
|
@@ -4406,6 +5605,9 @@ export type AccountControllerFindOneData = {
|
|
|
4406
5605
|
export type AccountControllerFindOneResponse = AccountResponseDto;
|
|
4407
5606
|
|
|
4408
5607
|
export type AccountControllerUpdateData = {
|
|
5608
|
+
/**
|
|
5609
|
+
* Account UUID
|
|
5610
|
+
*/
|
|
4409
5611
|
id: string;
|
|
4410
5612
|
/**
|
|
4411
5613
|
* Region code for tenant context
|
|
@@ -4414,9 +5616,12 @@ export type AccountControllerUpdateData = {
|
|
|
4414
5616
|
requestBody: UpdateAccountDto;
|
|
4415
5617
|
};
|
|
4416
5618
|
|
|
4417
|
-
export type AccountControllerUpdateResponse =
|
|
5619
|
+
export type AccountControllerUpdateResponse = AccountResponseDto;
|
|
4418
5620
|
|
|
4419
5621
|
export type AccountControllerDeleteData = {
|
|
5622
|
+
/**
|
|
5623
|
+
* Account UUID
|
|
5624
|
+
*/
|
|
4420
5625
|
id: string;
|
|
4421
5626
|
/**
|
|
4422
5627
|
* Region code for tenant context
|
|
@@ -4424,9 +5629,12 @@ export type AccountControllerDeleteData = {
|
|
|
4424
5629
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
4425
5630
|
};
|
|
4426
5631
|
|
|
4427
|
-
export type AccountControllerDeleteResponse =
|
|
5632
|
+
export type AccountControllerDeleteResponse = void;
|
|
4428
5633
|
|
|
4429
5634
|
export type AccountControllerCloseData = {
|
|
5635
|
+
/**
|
|
5636
|
+
* Account UUID
|
|
5637
|
+
*/
|
|
4430
5638
|
id: string;
|
|
4431
5639
|
/**
|
|
4432
5640
|
* Region code for tenant context
|
|
@@ -4435,9 +5643,12 @@ export type AccountControllerCloseData = {
|
|
|
4435
5643
|
requestBody: CloseAccountDto;
|
|
4436
5644
|
};
|
|
4437
5645
|
|
|
4438
|
-
export type AccountControllerCloseResponse =
|
|
5646
|
+
export type AccountControllerCloseResponse = AccountResponseDto;
|
|
4439
5647
|
|
|
4440
5648
|
export type AccountControllerReopenData = {
|
|
5649
|
+
/**
|
|
5650
|
+
* Account UUID
|
|
5651
|
+
*/
|
|
4441
5652
|
id: string;
|
|
4442
5653
|
/**
|
|
4443
5654
|
* Region code for tenant context
|
|
@@ -4446,7 +5657,22 @@ export type AccountControllerReopenData = {
|
|
|
4446
5657
|
requestBody: ReopenAccountDto;
|
|
4447
5658
|
};
|
|
4448
5659
|
|
|
4449
|
-
export type AccountControllerReopenResponse =
|
|
5660
|
+
export type AccountControllerReopenResponse = AccountResponseDto;
|
|
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;
|
|
4450
5676
|
|
|
4451
5677
|
export type AccountStandardsControllerGetTemplatesData = {
|
|
4452
5678
|
/**
|
|
@@ -4508,6 +5734,10 @@ export type TransactionControllerListData = {
|
|
|
4508
5734
|
* Filter by account ID (transactions with postings to this account)
|
|
4509
5735
|
*/
|
|
4510
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;
|
|
4511
5741
|
/**
|
|
4512
5742
|
* Filter by start date (inclusive), format: YYYY-MM-DD
|
|
4513
5743
|
*/
|
|
@@ -4632,7 +5862,7 @@ export type TransactionControllerDeleteResponse = void;
|
|
|
4632
5862
|
|
|
4633
5863
|
export type BalanceControllerGetBalanceData = {
|
|
4634
5864
|
/**
|
|
4635
|
-
* Account name (e.g., "Assets:
|
|
5865
|
+
* Account name (e.g., "Assets:Checking")
|
|
4636
5866
|
*/
|
|
4637
5867
|
account: string;
|
|
4638
5868
|
/**
|
|
@@ -5034,6 +6264,103 @@ export type CommodityControllerBulkCreateData = {
|
|
|
5034
6264
|
|
|
5035
6265
|
export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
|
|
5036
6266
|
|
|
6267
|
+
export type PriceControllerCreateData = {
|
|
6268
|
+
/**
|
|
6269
|
+
* Region code for tenant context
|
|
6270
|
+
*/
|
|
6271
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6272
|
+
requestBody: CreateBeanPriceDto;
|
|
6273
|
+
};
|
|
6274
|
+
|
|
6275
|
+
export type PriceControllerCreateResponse = PriceResponseDto;
|
|
6276
|
+
|
|
6277
|
+
export type PriceControllerFindAllData = {
|
|
6278
|
+
/**
|
|
6279
|
+
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6280
|
+
*/
|
|
6281
|
+
currency?: string;
|
|
6282
|
+
/**
|
|
6283
|
+
* Filter prices from this date (ISO 8601 format)
|
|
6284
|
+
*/
|
|
6285
|
+
dateFrom?: string;
|
|
6286
|
+
/**
|
|
6287
|
+
* Filter prices to this date (ISO 8601 format)
|
|
6288
|
+
*/
|
|
6289
|
+
dateTo?: string;
|
|
6290
|
+
/**
|
|
6291
|
+
* Number of items per page (default: 20, max: 100)
|
|
6292
|
+
*/
|
|
6293
|
+
limit?: number;
|
|
6294
|
+
/**
|
|
6295
|
+
* Page number for pagination (default: 1)
|
|
6296
|
+
*/
|
|
6297
|
+
page?: number;
|
|
6298
|
+
/**
|
|
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
|
+
|
|
5037
6364
|
export type RecurringRuleControllerCreateData = {
|
|
5038
6365
|
/**
|
|
5039
6366
|
* Region code for tenant context
|
|
@@ -5428,7 +6755,7 @@ export type UserControllerSignupUserData = {
|
|
|
5428
6755
|
requestBody: SignupDto;
|
|
5429
6756
|
};
|
|
5430
6757
|
|
|
5431
|
-
export type UserControllerSignupUserResponse =
|
|
6758
|
+
export type UserControllerSignupUserResponse = SignupResponseDto;
|
|
5432
6759
|
|
|
5433
6760
|
export type UserControllerDeleteUserData = {
|
|
5434
6761
|
/**
|
|
@@ -5499,6 +6826,159 @@ export type PropertyControllerDeleteData = {
|
|
|
5499
6826
|
|
|
5500
6827
|
export type PropertyControllerDeleteResponse = void;
|
|
5501
6828
|
|
|
6829
|
+
export type EventControllerCreateData = {
|
|
6830
|
+
/**
|
|
6831
|
+
* Region code for tenant context (decorative for life events)
|
|
6832
|
+
*/
|
|
6833
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6834
|
+
requestBody: CreateBeanEventDto;
|
|
6835
|
+
};
|
|
6836
|
+
|
|
6837
|
+
export type EventControllerCreateResponse = EventResponseDto;
|
|
6838
|
+
|
|
6839
|
+
export type EventControllerFindAllData = {
|
|
6840
|
+
/**
|
|
6841
|
+
* Filter life events from this date (ISO 8601 format)
|
|
6842
|
+
*/
|
|
6843
|
+
from?: string;
|
|
6844
|
+
/**
|
|
6845
|
+
* Number of items per page (default: 20, max: 100)
|
|
6846
|
+
*/
|
|
6847
|
+
limit?: number;
|
|
6848
|
+
/**
|
|
6849
|
+
* Page number for pagination (default: 1)
|
|
6850
|
+
*/
|
|
6851
|
+
page?: number;
|
|
6852
|
+
/**
|
|
6853
|
+
* Search term for description (case-insensitive partial match)
|
|
6854
|
+
*/
|
|
6855
|
+
q?: string;
|
|
6856
|
+
/**
|
|
6857
|
+
* Region code for tenant context (decorative for life events)
|
|
6858
|
+
*/
|
|
6859
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6860
|
+
/**
|
|
6861
|
+
* Filter life events to this date (ISO 8601 format)
|
|
6862
|
+
*/
|
|
6863
|
+
to?: string;
|
|
6864
|
+
/**
|
|
6865
|
+
* Filter by life event type (exact match)
|
|
6866
|
+
*/
|
|
6867
|
+
type?: string;
|
|
6868
|
+
};
|
|
6869
|
+
|
|
6870
|
+
export type EventControllerFindAllResponse = EventListResponseDto;
|
|
6871
|
+
|
|
6872
|
+
export type EventControllerFindOneData = {
|
|
6873
|
+
/**
|
|
6874
|
+
* Life event ID
|
|
6875
|
+
*/
|
|
6876
|
+
id: string;
|
|
6877
|
+
/**
|
|
6878
|
+
* Region code for tenant context (decorative for life events)
|
|
6879
|
+
*/
|
|
6880
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6881
|
+
};
|
|
6882
|
+
|
|
6883
|
+
export type EventControllerFindOneResponse = EventResponseDto;
|
|
6884
|
+
|
|
6885
|
+
export type EventControllerUpdateData = {
|
|
6886
|
+
/**
|
|
6887
|
+
* Life event ID
|
|
6888
|
+
*/
|
|
6889
|
+
id: string;
|
|
6890
|
+
/**
|
|
6891
|
+
* Region code for tenant context (decorative for life events)
|
|
6892
|
+
*/
|
|
6893
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6894
|
+
requestBody: UpdateBeanEventDto;
|
|
6895
|
+
};
|
|
6896
|
+
|
|
6897
|
+
export type EventControllerUpdateResponse = EventResponseDto;
|
|
6898
|
+
|
|
6899
|
+
export type EventControllerDeleteData = {
|
|
6900
|
+
/**
|
|
6901
|
+
* Life event ID
|
|
6902
|
+
*/
|
|
6903
|
+
id: string;
|
|
6904
|
+
/**
|
|
6905
|
+
* Region code for tenant context (decorative for life events)
|
|
6906
|
+
*/
|
|
6907
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6908
|
+
};
|
|
6909
|
+
|
|
6910
|
+
export type EventControllerDeleteResponse = void;
|
|
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
|
+
|
|
5502
6982
|
export type ExportControllerExportBeancountResponse = unknown;
|
|
5503
6983
|
|
|
5504
6984
|
export type FileImportControllerImportFileData = {
|
|
@@ -5528,13 +7008,25 @@ export type FileImportControllerIdentifyFileData = {
|
|
|
5528
7008
|
export type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
|
|
5529
7009
|
|
|
5530
7010
|
export type FileImportControllerImportBeancountData = {
|
|
7011
|
+
/**
|
|
7012
|
+
* Beancount file to import
|
|
7013
|
+
*/
|
|
7014
|
+
formData: FileImportDto;
|
|
5531
7015
|
/**
|
|
5532
7016
|
* Region code for tenant context
|
|
5533
7017
|
*/
|
|
5534
7018
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5535
7019
|
};
|
|
5536
7020
|
|
|
5537
|
-
export type FileImportControllerImportBeancountResponse =
|
|
7021
|
+
export type FileImportControllerImportBeancountResponse = {
|
|
7022
|
+
imported?: number;
|
|
7023
|
+
skipped?: number;
|
|
7024
|
+
failed?: number;
|
|
7025
|
+
accountsCreated?: number;
|
|
7026
|
+
errors?: Array<{
|
|
7027
|
+
[key: string]: unknown;
|
|
7028
|
+
}>;
|
|
7029
|
+
};
|
|
5538
7030
|
|
|
5539
7031
|
export type ImporterConfigControllerGetConfigData = {
|
|
5540
7032
|
/**
|
|
@@ -5579,81 +7071,93 @@ export type ImporterConfigControllerResetConfigData = {
|
|
|
5579
7071
|
|
|
5580
7072
|
export type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
|
|
5581
7073
|
|
|
5582
|
-
export type
|
|
5583
|
-
|
|
5584
|
-
export type PlatformControllerCreateData = {
|
|
5585
|
-
requestBody: CreatePlatformDto;
|
|
5586
|
-
};
|
|
5587
|
-
|
|
5588
|
-
export type PlatformControllerCreateResponse = unknown;
|
|
5589
|
-
|
|
5590
|
-
export type PlatformControllerGetPlatformListResponse = unknown;
|
|
5591
|
-
|
|
5592
|
-
export type PlatformControllerMatchPlatformsData = {
|
|
7074
|
+
export type ProviderSyncControllerSyncData = {
|
|
5593
7075
|
/**
|
|
5594
|
-
*
|
|
7076
|
+
* Provider name
|
|
5595
7077
|
*/
|
|
5596
|
-
|
|
7078
|
+
providerName:
|
|
7079
|
+
| 'plaid'
|
|
7080
|
+
| 'teller'
|
|
7081
|
+
| 'truelayer'
|
|
7082
|
+
| 'gocardless'
|
|
7083
|
+
| 'simplefin'
|
|
7084
|
+
| 'yodlee'
|
|
7085
|
+
| 'beancount-direct'
|
|
7086
|
+
| 'parsed-bill';
|
|
5597
7087
|
/**
|
|
5598
|
-
* Region code for
|
|
7088
|
+
* Region code for tenant context
|
|
5599
7089
|
*/
|
|
5600
|
-
region
|
|
7090
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7091
|
+
requestBody: ProviderSyncDto;
|
|
5601
7092
|
};
|
|
5602
7093
|
|
|
5603
|
-
export type
|
|
7094
|
+
export type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
|
|
5604
7095
|
|
|
5605
|
-
export type
|
|
7096
|
+
export type ProviderSyncControllerGetSupportedProvidersData = {
|
|
5606
7097
|
/**
|
|
5607
|
-
*
|
|
7098
|
+
* Region code for tenant context
|
|
5608
7099
|
*/
|
|
5609
|
-
|
|
5610
|
-
requestBody: UpdatePlatformDto;
|
|
7100
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5611
7101
|
};
|
|
5612
7102
|
|
|
5613
|
-
export type
|
|
7103
|
+
export type ProviderSyncControllerGetSupportedProvidersResponse =
|
|
7104
|
+
SupportedProvidersResponseDto;
|
|
5614
7105
|
|
|
5615
|
-
export type
|
|
7106
|
+
export type ProviderSyncControllerIsProviderSupportedData = {
|
|
5616
7107
|
/**
|
|
5617
|
-
*
|
|
7108
|
+
* Provider name to check
|
|
5618
7109
|
*/
|
|
5619
|
-
|
|
7110
|
+
providerName: string;
|
|
7111
|
+
/**
|
|
7112
|
+
* Region code for tenant context
|
|
7113
|
+
*/
|
|
7114
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5620
7115
|
};
|
|
5621
7116
|
|
|
5622
|
-
export type
|
|
7117
|
+
export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
|
|
5623
7118
|
|
|
5624
|
-
export type
|
|
5625
|
-
providerName: string;
|
|
7119
|
+
export type ExternalAccountLinkControllerCreateData = {
|
|
5626
7120
|
/**
|
|
5627
7121
|
* Region code for tenant context
|
|
5628
7122
|
*/
|
|
5629
7123
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5630
|
-
requestBody:
|
|
7124
|
+
requestBody: CreateExternalAccountLinkDto;
|
|
5631
7125
|
};
|
|
5632
7126
|
|
|
5633
|
-
export type
|
|
7127
|
+
export type ExternalAccountLinkControllerCreateResponse =
|
|
7128
|
+
ExternalAccountLinkResponseDto;
|
|
5634
7129
|
|
|
5635
|
-
export type
|
|
7130
|
+
export type ExternalAccountLinkControllerFindAllData = {
|
|
7131
|
+
provider: string;
|
|
5636
7132
|
/**
|
|
5637
7133
|
* Region code for tenant context
|
|
5638
7134
|
*/
|
|
5639
7135
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5640
7136
|
};
|
|
5641
7137
|
|
|
5642
|
-
export type
|
|
5643
|
-
|
|
7138
|
+
export type ExternalAccountLinkControllerFindAllResponse =
|
|
7139
|
+
ExternalAccountLinkListResponseDto;
|
|
5644
7140
|
|
|
5645
|
-
export type
|
|
7141
|
+
export type ExternalAccountLinkControllerFindOneData = {
|
|
7142
|
+
id: string;
|
|
5646
7143
|
/**
|
|
5647
|
-
*
|
|
7144
|
+
* Region code for tenant context
|
|
5648
7145
|
*/
|
|
5649
|
-
|
|
7146
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7147
|
+
};
|
|
7148
|
+
|
|
7149
|
+
export type ExternalAccountLinkControllerFindOneResponse =
|
|
7150
|
+
ExternalAccountLinkResponseDto;
|
|
7151
|
+
|
|
7152
|
+
export type ExternalAccountLinkControllerRemoveData = {
|
|
7153
|
+
id: string;
|
|
5650
7154
|
/**
|
|
5651
7155
|
* Region code for tenant context
|
|
5652
7156
|
*/
|
|
5653
7157
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5654
7158
|
};
|
|
5655
7159
|
|
|
5656
|
-
export type
|
|
7160
|
+
export type ExternalAccountLinkControllerRemoveResponse = void;
|
|
5657
7161
|
|
|
5658
7162
|
export type TelemetryControllerReportTelemetryData = {
|
|
5659
7163
|
/**
|
|
@@ -5693,10 +7197,13 @@ export type NlpControllerProcessNaturalLanguageData = {
|
|
|
5693
7197
|
* Region code for tenant context
|
|
5694
7198
|
*/
|
|
5695
7199
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7200
|
+
/**
|
|
7201
|
+
* Natural language transaction input with optional session ID
|
|
7202
|
+
*/
|
|
5696
7203
|
requestBody: ProcessNlpDto;
|
|
5697
7204
|
};
|
|
5698
7205
|
|
|
5699
|
-
export type NlpControllerProcessNaturalLanguageResponse =
|
|
7206
|
+
export type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
|
|
5700
7207
|
|
|
5701
7208
|
export type NlpControllerClearSessionData = {
|
|
5702
7209
|
/**
|
|
@@ -5724,6 +7231,49 @@ export type NlpControllerGetSessionData = {
|
|
|
5724
7231
|
|
|
5725
7232
|
export type NlpControllerGetSessionResponse = unknown;
|
|
5726
7233
|
|
|
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 = {
|
|
7246
|
+
/**
|
|
7247
|
+
* Search query — Chinese name, English name, or abbreviation
|
|
7248
|
+
*/
|
|
7249
|
+
q: string;
|
|
7250
|
+
/**
|
|
7251
|
+
* Region code for category override lookup
|
|
7252
|
+
*/
|
|
7253
|
+
region?: string;
|
|
7254
|
+
};
|
|
7255
|
+
|
|
7256
|
+
export type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
|
|
7257
|
+
|
|
7258
|
+
export type PlatformControllerUpdateData = {
|
|
7259
|
+
/**
|
|
7260
|
+
* Platform ID
|
|
7261
|
+
*/
|
|
7262
|
+
id: string;
|
|
7263
|
+
requestBody: UpdatePlatformDto;
|
|
7264
|
+
};
|
|
7265
|
+
|
|
7266
|
+
export type PlatformControllerUpdateResponse = unknown;
|
|
7267
|
+
|
|
7268
|
+
export type PlatformControllerDeleteData = {
|
|
7269
|
+
/**
|
|
7270
|
+
* Platform ID
|
|
7271
|
+
*/
|
|
7272
|
+
id: string;
|
|
7273
|
+
};
|
|
7274
|
+
|
|
7275
|
+
export type PlatformControllerDeleteResponse = void;
|
|
7276
|
+
|
|
5727
7277
|
export type DashboardControllerGetNetWorthData = {
|
|
5728
7278
|
/**
|
|
5729
7279
|
* Date for balance calculation (ISO 8601 format)
|
|
@@ -5778,127 +7328,70 @@ export type DashboardControllerGetCashFlowData = {
|
|
|
5778
7328
|
|
|
5779
7329
|
export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
|
|
5780
7330
|
|
|
5781
|
-
export type
|
|
5782
|
-
/**
|
|
5783
|
-
* Scope to a single account
|
|
5784
|
-
*/
|
|
5785
|
-
accountId?: string;
|
|
5786
|
-
/**
|
|
5787
|
-
* As-of date (ISO 8601), defaults to today
|
|
5788
|
-
*/
|
|
5789
|
-
asOf?: string;
|
|
5790
|
-
/**
|
|
5791
|
-
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
5792
|
-
*/
|
|
5793
|
-
method?: 'FIFO' | 'average';
|
|
5794
|
-
/**
|
|
5795
|
-
* Region code for tenant context
|
|
5796
|
-
*/
|
|
5797
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5798
|
-
};
|
|
5799
|
-
|
|
5800
|
-
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
5801
|
-
|
|
5802
|
-
export type PriceControllerCreateData = {
|
|
5803
|
-
/**
|
|
5804
|
-
* Region code for tenant context
|
|
5805
|
-
*/
|
|
5806
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5807
|
-
requestBody: CreateBeanPriceDto;
|
|
5808
|
-
};
|
|
5809
|
-
|
|
5810
|
-
export type PriceControllerCreateResponse = PriceResponseDto;
|
|
5811
|
-
|
|
5812
|
-
export type PriceControllerFindAllData = {
|
|
5813
|
-
/**
|
|
5814
|
-
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
5815
|
-
*/
|
|
5816
|
-
currency?: string;
|
|
5817
|
-
/**
|
|
5818
|
-
* Filter prices from this date (ISO 8601 format)
|
|
5819
|
-
*/
|
|
5820
|
-
dateFrom?: string;
|
|
7331
|
+
export type DashboardControllerGetExpensesData = {
|
|
5821
7332
|
/**
|
|
5822
|
-
*
|
|
5823
|
-
*/
|
|
5824
|
-
dateTo?: string;
|
|
5825
|
-
/**
|
|
5826
|
-
* Number of items per page (default: 20, max: 100)
|
|
7333
|
+
* Account root to aggregate (expense → ^Expenses:, income → ^Income:)
|
|
5827
7334
|
*/
|
|
5828
|
-
|
|
7335
|
+
flow?: 'expense' | 'income';
|
|
5829
7336
|
/**
|
|
5830
|
-
*
|
|
7337
|
+
* Grouping strategy
|
|
5831
7338
|
*/
|
|
5832
|
-
|
|
7339
|
+
groupBy?: 'category';
|
|
5833
7340
|
/**
|
|
5834
|
-
*
|
|
7341
|
+
* Time window (1m = current calendar month)
|
|
5835
7342
|
*/
|
|
5836
|
-
|
|
7343
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
5837
7344
|
/**
|
|
5838
7345
|
* Region code for tenant context
|
|
5839
7346
|
*/
|
|
5840
7347
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5841
|
-
/**
|
|
5842
|
-
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
5843
|
-
*/
|
|
5844
|
-
search?: string;
|
|
5845
7348
|
};
|
|
5846
7349
|
|
|
5847
|
-
export type
|
|
7350
|
+
export type DashboardControllerGetExpensesResponse =
|
|
7351
|
+
ExpensesByCategoryResponseDto;
|
|
5848
7352
|
|
|
5849
|
-
export type
|
|
7353
|
+
export type HoldingPnlControllerGetHoldingPnlData = {
|
|
5850
7354
|
/**
|
|
5851
|
-
*
|
|
7355
|
+
* Scope to a single account
|
|
5852
7356
|
*/
|
|
5853
|
-
|
|
7357
|
+
accountId?: string;
|
|
5854
7358
|
/**
|
|
5855
|
-
*
|
|
7359
|
+
* As-of date (ISO 8601), defaults to today
|
|
5856
7360
|
*/
|
|
5857
|
-
|
|
5858
|
-
};
|
|
5859
|
-
|
|
5860
|
-
export type PriceControllerFindOneResponse = PriceResponseDto;
|
|
5861
|
-
|
|
5862
|
-
export type PriceControllerUpdateData = {
|
|
7361
|
+
asOf?: string;
|
|
5863
7362
|
/**
|
|
5864
|
-
*
|
|
7363
|
+
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
5865
7364
|
*/
|
|
5866
|
-
|
|
7365
|
+
method?: 'FIFO' | 'average';
|
|
5867
7366
|
/**
|
|
5868
7367
|
* Region code for tenant context
|
|
5869
7368
|
*/
|
|
5870
7369
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5871
|
-
requestBody: UpdateBeanPriceDto;
|
|
5872
7370
|
};
|
|
5873
7371
|
|
|
5874
|
-
export type
|
|
7372
|
+
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
5875
7373
|
|
|
5876
|
-
export type
|
|
7374
|
+
export type ReportingControllerGetPortfolioTrendsData = {
|
|
5877
7375
|
/**
|
|
5878
|
-
*
|
|
7376
|
+
* Data granularity
|
|
5879
7377
|
*/
|
|
5880
|
-
|
|
7378
|
+
granularity?: 'day' | 'week' | 'month';
|
|
5881
7379
|
/**
|
|
5882
|
-
*
|
|
7380
|
+
* Time period
|
|
5883
7381
|
*/
|
|
5884
|
-
|
|
5885
|
-
};
|
|
5886
|
-
|
|
5887
|
-
export type PriceControllerDeleteResponse = void;
|
|
5888
|
-
|
|
5889
|
-
export type PriceControllerBulkCreateData = {
|
|
7382
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
5890
7383
|
/**
|
|
5891
7384
|
* Region code for tenant context
|
|
5892
7385
|
*/
|
|
5893
7386
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5894
|
-
requestBody: Array<string>;
|
|
5895
7387
|
};
|
|
5896
7388
|
|
|
5897
|
-
export type
|
|
7389
|
+
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
7390
|
+
PortfolioTrendsResponseDto;
|
|
5898
7391
|
|
|
5899
|
-
export type
|
|
7392
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
5900
7393
|
/**
|
|
5901
|
-
* Data granularity
|
|
7394
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
5902
7395
|
*/
|
|
5903
7396
|
granularity?: 'day' | 'week' | 'month';
|
|
5904
7397
|
/**
|
|
@@ -5911,8 +7404,8 @@ export type ReportingControllerGetPortfolioTrendsData = {
|
|
|
5911
7404
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5912
7405
|
};
|
|
5913
7406
|
|
|
5914
|
-
export type
|
|
5915
|
-
|
|
7407
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
7408
|
+
CashFlowTrendsResponseDto;
|
|
5916
7409
|
|
|
5917
7410
|
export type ReportingControllerGenerateSnapshotData = {
|
|
5918
7411
|
/**
|
|
@@ -5945,7 +7438,7 @@ export type AuthControllerAccessTokenLoginData = {
|
|
|
5945
7438
|
requestBody: AnonymousLoginDto;
|
|
5946
7439
|
};
|
|
5947
7440
|
|
|
5948
|
-
export type AuthControllerAccessTokenLoginResponse =
|
|
7441
|
+
export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
|
|
5949
7442
|
|
|
5950
7443
|
export type CacheControllerFlushCacheResponse = unknown;
|
|
5951
7444
|
|
|
@@ -5990,7 +7483,14 @@ export type $OpenApiTs = {
|
|
|
5990
7483
|
post: {
|
|
5991
7484
|
req: AccountControllerCreateData;
|
|
5992
7485
|
res: {
|
|
5993
|
-
|
|
7486
|
+
/**
|
|
7487
|
+
* Account created successfully
|
|
7488
|
+
*/
|
|
7489
|
+
201: AccountResponseDto;
|
|
7490
|
+
/**
|
|
7491
|
+
* Account already exists
|
|
7492
|
+
*/
|
|
7493
|
+
409: unknown;
|
|
5994
7494
|
};
|
|
5995
7495
|
};
|
|
5996
7496
|
get: {
|
|
@@ -6010,39 +7510,98 @@ export type $OpenApiTs = {
|
|
|
6010
7510
|
/**
|
|
6011
7511
|
* Account retrieved successfully
|
|
6012
7512
|
*/
|
|
6013
|
-
200: AccountResponseDto;
|
|
7513
|
+
200: AccountResponseDto;
|
|
7514
|
+
/**
|
|
7515
|
+
* Account not found
|
|
7516
|
+
*/
|
|
7517
|
+
404: unknown;
|
|
7518
|
+
};
|
|
7519
|
+
};
|
|
7520
|
+
put: {
|
|
7521
|
+
req: AccountControllerUpdateData;
|
|
7522
|
+
res: {
|
|
7523
|
+
/**
|
|
7524
|
+
* Account updated successfully
|
|
7525
|
+
*/
|
|
7526
|
+
200: AccountResponseDto;
|
|
7527
|
+
/**
|
|
7528
|
+
* Account not found
|
|
7529
|
+
*/
|
|
7530
|
+
404: unknown;
|
|
7531
|
+
};
|
|
7532
|
+
};
|
|
7533
|
+
delete: {
|
|
7534
|
+
req: AccountControllerDeleteData;
|
|
7535
|
+
res: {
|
|
7536
|
+
/**
|
|
7537
|
+
* Account deleted successfully
|
|
7538
|
+
*/
|
|
7539
|
+
204: void;
|
|
7540
|
+
/**
|
|
7541
|
+
* Account not found
|
|
7542
|
+
*/
|
|
7543
|
+
404: unknown;
|
|
7544
|
+
/**
|
|
7545
|
+
* Account has transactions and cannot be deleted
|
|
7546
|
+
*/
|
|
7547
|
+
409: unknown;
|
|
7548
|
+
};
|
|
7549
|
+
};
|
|
7550
|
+
};
|
|
7551
|
+
'/api/v1/{region}/bean/accounts/{id}/close': {
|
|
7552
|
+
post: {
|
|
7553
|
+
req: AccountControllerCloseData;
|
|
7554
|
+
res: {
|
|
7555
|
+
/**
|
|
7556
|
+
* Account closed successfully
|
|
7557
|
+
*/
|
|
7558
|
+
200: AccountResponseDto;
|
|
7559
|
+
/**
|
|
7560
|
+
* Account is already closed
|
|
7561
|
+
*/
|
|
7562
|
+
400: unknown;
|
|
6014
7563
|
/**
|
|
6015
7564
|
* Account not found
|
|
6016
7565
|
*/
|
|
6017
7566
|
404: unknown;
|
|
6018
7567
|
};
|
|
6019
7568
|
};
|
|
6020
|
-
put: {
|
|
6021
|
-
req: AccountControllerUpdateData;
|
|
6022
|
-
res: {
|
|
6023
|
-
200: unknown;
|
|
6024
|
-
};
|
|
6025
|
-
};
|
|
6026
|
-
delete: {
|
|
6027
|
-
req: AccountControllerDeleteData;
|
|
6028
|
-
res: {
|
|
6029
|
-
200: unknown;
|
|
6030
|
-
};
|
|
6031
|
-
};
|
|
6032
7569
|
};
|
|
6033
|
-
'/api/v1/{region}/bean/accounts/{id}/
|
|
7570
|
+
'/api/v1/{region}/bean/accounts/{id}/reopen': {
|
|
6034
7571
|
post: {
|
|
6035
|
-
req:
|
|
7572
|
+
req: AccountControllerReopenData;
|
|
6036
7573
|
res: {
|
|
6037
|
-
|
|
7574
|
+
/**
|
|
7575
|
+
* Account reopened successfully
|
|
7576
|
+
*/
|
|
7577
|
+
200: AccountResponseDto;
|
|
7578
|
+
/**
|
|
7579
|
+
* Account is not closed
|
|
7580
|
+
*/
|
|
7581
|
+
400: unknown;
|
|
7582
|
+
/**
|
|
7583
|
+
* Account not found
|
|
7584
|
+
*/
|
|
7585
|
+
404: unknown;
|
|
6038
7586
|
};
|
|
6039
7587
|
};
|
|
6040
7588
|
};
|
|
6041
|
-
'/api/v1/{region}/bean/accounts/{id}/
|
|
7589
|
+
'/api/v1/{region}/bean/accounts/{id}/opening-balance': {
|
|
6042
7590
|
post: {
|
|
6043
|
-
req:
|
|
7591
|
+
req: AccountControllerAddOpeningBalanceData;
|
|
6044
7592
|
res: {
|
|
6045
|
-
|
|
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;
|
|
6046
7605
|
};
|
|
6047
7606
|
};
|
|
6048
7607
|
};
|
|
@@ -6654,6 +8213,90 @@ export type $OpenApiTs = {
|
|
|
6654
8213
|
};
|
|
6655
8214
|
};
|
|
6656
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
|
+
};
|
|
6657
8300
|
'/api/v1/{region}/bean/recurring-rules': {
|
|
6658
8301
|
post: {
|
|
6659
8302
|
req: RecurringRuleControllerCreateData;
|
|
@@ -7141,7 +8784,7 @@ export type $OpenApiTs = {
|
|
|
7141
8784
|
/**
|
|
7142
8785
|
* User created successfully
|
|
7143
8786
|
*/
|
|
7144
|
-
201:
|
|
8787
|
+
201: SignupResponseDto;
|
|
7145
8788
|
/**
|
|
7146
8789
|
* Invalid Turnstile token (when Turnstile is enabled)
|
|
7147
8790
|
*/
|
|
@@ -7298,6 +8941,181 @@ export type $OpenApiTs = {
|
|
|
7298
8941
|
};
|
|
7299
8942
|
};
|
|
7300
8943
|
};
|
|
8944
|
+
'/api/v1/{region}/bean/events': {
|
|
8945
|
+
post: {
|
|
8946
|
+
req: EventControllerCreateData;
|
|
8947
|
+
res: {
|
|
8948
|
+
/**
|
|
8949
|
+
* Life event created successfully
|
|
8950
|
+
*/
|
|
8951
|
+
201: EventResponseDto;
|
|
8952
|
+
/**
|
|
8953
|
+
* Life event already exists for this (userId, type, date) combination
|
|
8954
|
+
*/
|
|
8955
|
+
409: unknown;
|
|
8956
|
+
};
|
|
8957
|
+
};
|
|
8958
|
+
get: {
|
|
8959
|
+
req: EventControllerFindAllData;
|
|
8960
|
+
res: {
|
|
8961
|
+
/**
|
|
8962
|
+
* Life events retrieved successfully
|
|
8963
|
+
*/
|
|
8964
|
+
200: EventListResponseDto;
|
|
8965
|
+
};
|
|
8966
|
+
};
|
|
8967
|
+
};
|
|
8968
|
+
'/api/v1/{region}/bean/events/{id}': {
|
|
8969
|
+
get: {
|
|
8970
|
+
req: EventControllerFindOneData;
|
|
8971
|
+
res: {
|
|
8972
|
+
/**
|
|
8973
|
+
* Life event retrieved successfully
|
|
8974
|
+
*/
|
|
8975
|
+
200: EventResponseDto;
|
|
8976
|
+
/**
|
|
8977
|
+
* Life event not found
|
|
8978
|
+
*/
|
|
8979
|
+
404: unknown;
|
|
8980
|
+
};
|
|
8981
|
+
};
|
|
8982
|
+
put: {
|
|
8983
|
+
req: EventControllerUpdateData;
|
|
8984
|
+
res: {
|
|
8985
|
+
/**
|
|
8986
|
+
* Life event updated successfully
|
|
8987
|
+
*/
|
|
8988
|
+
200: EventResponseDto;
|
|
8989
|
+
/**
|
|
8990
|
+
* If-Match header is not a valid ISO 8601 date
|
|
8991
|
+
*/
|
|
8992
|
+
400: unknown;
|
|
8993
|
+
/**
|
|
8994
|
+
* Life event not found
|
|
8995
|
+
*/
|
|
8996
|
+
404: unknown;
|
|
8997
|
+
/**
|
|
8998
|
+
* Updated event conflicts with an existing (userId, type, date) combination
|
|
8999
|
+
*/
|
|
9000
|
+
409: unknown;
|
|
9001
|
+
/**
|
|
9002
|
+
* If-Match precondition failed (updatedAt mismatch)
|
|
9003
|
+
*/
|
|
9004
|
+
412: unknown;
|
|
9005
|
+
};
|
|
9006
|
+
};
|
|
9007
|
+
delete: {
|
|
9008
|
+
req: EventControllerDeleteData;
|
|
9009
|
+
res: {
|
|
9010
|
+
/**
|
|
9011
|
+
* Life event deleted successfully
|
|
9012
|
+
*/
|
|
9013
|
+
204: void;
|
|
9014
|
+
/**
|
|
9015
|
+
* Life event not found
|
|
9016
|
+
*/
|
|
9017
|
+
404: unknown;
|
|
9018
|
+
};
|
|
9019
|
+
};
|
|
9020
|
+
};
|
|
9021
|
+
'/api/v1/{region}/bean/events/{id}/slice': {
|
|
9022
|
+
get: {
|
|
9023
|
+
req: EventControllerGetSliceData;
|
|
9024
|
+
res: {
|
|
9025
|
+
/**
|
|
9026
|
+
* Time-series sliced by the life event range
|
|
9027
|
+
*/
|
|
9028
|
+
200: unknown;
|
|
9029
|
+
/**
|
|
9030
|
+
* accountPattern query param is empty
|
|
9031
|
+
*/
|
|
9032
|
+
400: unknown;
|
|
9033
|
+
/**
|
|
9034
|
+
* Life event not found
|
|
9035
|
+
*/
|
|
9036
|
+
404: unknown;
|
|
9037
|
+
};
|
|
9038
|
+
};
|
|
9039
|
+
};
|
|
9040
|
+
'/api/v1/{region}/bean/onboarding': {
|
|
9041
|
+
post: {
|
|
9042
|
+
req: OnboardingControllerBootstrapData;
|
|
9043
|
+
res: {
|
|
9044
|
+
/**
|
|
9045
|
+
* Onboarding bootstrap result.
|
|
9046
|
+
*/
|
|
9047
|
+
201: unknown;
|
|
9048
|
+
/**
|
|
9049
|
+
* Invalid region/account path/duplicate paths.
|
|
9050
|
+
*/
|
|
9051
|
+
422: unknown;
|
|
9052
|
+
};
|
|
9053
|
+
};
|
|
9054
|
+
};
|
|
9055
|
+
'/api/v1/{region}/bean/reconciliations': {
|
|
9056
|
+
post: {
|
|
9057
|
+
req: ReconciliationControllerComputeData;
|
|
9058
|
+
res: {
|
|
9059
|
+
/**
|
|
9060
|
+
* Reconciliation preview
|
|
9061
|
+
*/
|
|
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
|
+
};
|
|
7301
9119
|
'/api/v1/{region}/bean/export/beancount': {
|
|
7302
9120
|
get: {
|
|
7303
9121
|
res: {
|
|
@@ -7378,7 +9196,22 @@ export type $OpenApiTs = {
|
|
|
7378
9196
|
post: {
|
|
7379
9197
|
req: FileImportControllerImportBeancountData;
|
|
7380
9198
|
res: {
|
|
7381
|
-
|
|
9199
|
+
/**
|
|
9200
|
+
* Beancount file imported successfully
|
|
9201
|
+
*/
|
|
9202
|
+
200: {
|
|
9203
|
+
imported?: number;
|
|
9204
|
+
skipped?: number;
|
|
9205
|
+
failed?: number;
|
|
9206
|
+
accountsCreated?: number;
|
|
9207
|
+
errors?: Array<{
|
|
9208
|
+
[key: string]: unknown;
|
|
9209
|
+
}>;
|
|
9210
|
+
};
|
|
9211
|
+
/**
|
|
9212
|
+
* Bad request - invalid file or no file uploaded
|
|
9213
|
+
*/
|
|
9214
|
+
400: ApiProblemResponseDto;
|
|
7382
9215
|
};
|
|
7383
9216
|
};
|
|
7384
9217
|
};
|
|
@@ -7433,113 +9266,104 @@ export type $OpenApiTs = {
|
|
|
7433
9266
|
};
|
|
7434
9267
|
};
|
|
7435
9268
|
};
|
|
7436
|
-
'/api/v1/bean/
|
|
7437
|
-
|
|
9269
|
+
'/api/v1/{region}/bean/import/provider/{providerName}/sync': {
|
|
9270
|
+
post: {
|
|
9271
|
+
req: ProviderSyncControllerSyncData;
|
|
7438
9272
|
res: {
|
|
7439
9273
|
/**
|
|
7440
|
-
*
|
|
9274
|
+
* Sync completed successfully
|
|
7441
9275
|
*/
|
|
7442
|
-
200:
|
|
7443
|
-
};
|
|
7444
|
-
};
|
|
7445
|
-
post: {
|
|
7446
|
-
req: PlatformControllerCreateData;
|
|
7447
|
-
res: {
|
|
9276
|
+
200: ProviderSyncResponseDto;
|
|
7448
9277
|
/**
|
|
7449
|
-
*
|
|
9278
|
+
* Invalid request data
|
|
7450
9279
|
*/
|
|
7451
|
-
|
|
9280
|
+
400: unknown;
|
|
7452
9281
|
/**
|
|
7453
|
-
*
|
|
9282
|
+
* Missing or invalid authentication
|
|
7454
9283
|
*/
|
|
7455
|
-
|
|
7456
|
-
};
|
|
7457
|
-
};
|
|
7458
|
-
};
|
|
7459
|
-
'/api/v1/bean/platforms/list': {
|
|
7460
|
-
get: {
|
|
7461
|
-
res: {
|
|
9284
|
+
401: unknown;
|
|
7462
9285
|
/**
|
|
7463
|
-
*
|
|
9286
|
+
* Provider not supported
|
|
7464
9287
|
*/
|
|
7465
|
-
|
|
9288
|
+
404: unknown;
|
|
7466
9289
|
};
|
|
7467
9290
|
};
|
|
7468
9291
|
};
|
|
7469
|
-
'/api/v1/bean/
|
|
9292
|
+
'/api/v1/{region}/bean/import/provider/supported': {
|
|
7470
9293
|
get: {
|
|
7471
|
-
req:
|
|
9294
|
+
req: ProviderSyncControllerGetSupportedProvidersData;
|
|
7472
9295
|
res: {
|
|
7473
9296
|
/**
|
|
7474
|
-
* List of
|
|
9297
|
+
* List of supported providers
|
|
7475
9298
|
*/
|
|
7476
|
-
200:
|
|
9299
|
+
200: SupportedProvidersResponseDto;
|
|
9300
|
+
/**
|
|
9301
|
+
* Missing or invalid authentication
|
|
9302
|
+
*/
|
|
9303
|
+
401: unknown;
|
|
7477
9304
|
};
|
|
7478
9305
|
};
|
|
7479
9306
|
};
|
|
7480
|
-
'/api/v1/bean/
|
|
7481
|
-
|
|
7482
|
-
req:
|
|
9307
|
+
'/api/v1/{region}/bean/import/provider/{providerName}/supported': {
|
|
9308
|
+
get: {
|
|
9309
|
+
req: ProviderSyncControllerIsProviderSupportedData;
|
|
7483
9310
|
res: {
|
|
7484
9311
|
/**
|
|
7485
|
-
*
|
|
9312
|
+
* Provider support status
|
|
7486
9313
|
*/
|
|
7487
9314
|
200: unknown;
|
|
7488
9315
|
/**
|
|
7489
|
-
*
|
|
9316
|
+
* Missing or invalid authentication
|
|
7490
9317
|
*/
|
|
7491
|
-
|
|
9318
|
+
401: unknown;
|
|
7492
9319
|
};
|
|
7493
9320
|
};
|
|
7494
|
-
|
|
7495
|
-
|
|
9321
|
+
};
|
|
9322
|
+
'/api/v1/{region}/bean/external-account-links': {
|
|
9323
|
+
post: {
|
|
9324
|
+
req: ExternalAccountLinkControllerCreateData;
|
|
7496
9325
|
res: {
|
|
7497
9326
|
/**
|
|
7498
|
-
*
|
|
9327
|
+
* Link created.
|
|
7499
9328
|
*/
|
|
7500
|
-
|
|
9329
|
+
201: ExternalAccountLinkResponseDto;
|
|
7501
9330
|
/**
|
|
7502
|
-
*
|
|
9331
|
+
* beanAccountId not owned, or an active link already exists.
|
|
7503
9332
|
*/
|
|
7504
|
-
|
|
9333
|
+
422: unknown;
|
|
7505
9334
|
};
|
|
7506
9335
|
};
|
|
7507
|
-
|
|
7508
|
-
|
|
7509
|
-
post: {
|
|
7510
|
-
req: ProviderSyncControllerSyncData;
|
|
9336
|
+
get: {
|
|
9337
|
+
req: ExternalAccountLinkControllerFindAllData;
|
|
7511
9338
|
res: {
|
|
7512
|
-
|
|
9339
|
+
/**
|
|
9340
|
+
* Links retrieved.
|
|
9341
|
+
*/
|
|
9342
|
+
200: ExternalAccountLinkListResponseDto;
|
|
7513
9343
|
};
|
|
7514
9344
|
};
|
|
7515
9345
|
};
|
|
7516
|
-
'/api/v1/{region}/bean/
|
|
9346
|
+
'/api/v1/{region}/bean/external-account-links/{id}': {
|
|
7517
9347
|
get: {
|
|
7518
|
-
req:
|
|
9348
|
+
req: ExternalAccountLinkControllerFindOneData;
|
|
7519
9349
|
res: {
|
|
7520
9350
|
/**
|
|
7521
|
-
*
|
|
9351
|
+
* Link retrieved.
|
|
7522
9352
|
*/
|
|
7523
|
-
200:
|
|
9353
|
+
200: ExternalAccountLinkResponseDto;
|
|
7524
9354
|
/**
|
|
7525
|
-
*
|
|
9355
|
+
* Link not found or not owned by the user.
|
|
7526
9356
|
*/
|
|
7527
|
-
|
|
9357
|
+
422: unknown;
|
|
7528
9358
|
};
|
|
7529
9359
|
};
|
|
7530
|
-
|
|
7531
|
-
|
|
7532
|
-
get: {
|
|
7533
|
-
req: ProviderSyncControllerIsProviderSupportedData;
|
|
9360
|
+
delete: {
|
|
9361
|
+
req: ExternalAccountLinkControllerRemoveData;
|
|
7534
9362
|
res: {
|
|
7535
9363
|
/**
|
|
7536
|
-
*
|
|
7537
|
-
*/
|
|
7538
|
-
200: unknown;
|
|
7539
|
-
/**
|
|
7540
|
-
* Missing or invalid authentication
|
|
9364
|
+
* Link soft-deleted; historical transactions are unaffected.
|
|
7541
9365
|
*/
|
|
7542
|
-
|
|
9366
|
+
204: void;
|
|
7543
9367
|
};
|
|
7544
9368
|
};
|
|
7545
9369
|
};
|
|
@@ -7588,7 +9412,18 @@ export type $OpenApiTs = {
|
|
|
7588
9412
|
post: {
|
|
7589
9413
|
req: NlpControllerProcessNaturalLanguageData;
|
|
7590
9414
|
res: {
|
|
7591
|
-
|
|
9415
|
+
/**
|
|
9416
|
+
* NLP processing result - either created transaction or asking for more info
|
|
9417
|
+
*/
|
|
9418
|
+
200: NlpResponseDto;
|
|
9419
|
+
/**
|
|
9420
|
+
* Invalid input
|
|
9421
|
+
*/
|
|
9422
|
+
400: unknown;
|
|
9423
|
+
/**
|
|
9424
|
+
* Unauthorized
|
|
9425
|
+
*/
|
|
9426
|
+
401: unknown;
|
|
7592
9427
|
};
|
|
7593
9428
|
};
|
|
7594
9429
|
};
|
|
@@ -7620,6 +9455,78 @@ export type $OpenApiTs = {
|
|
|
7620
9455
|
};
|
|
7621
9456
|
};
|
|
7622
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
|
+
};
|
|
7623
9530
|
'/api/v1/{region}/dashboard/net-worth': {
|
|
7624
9531
|
get: {
|
|
7625
9532
|
req: DashboardControllerGetNetWorthData;
|
|
@@ -7672,16 +9579,16 @@ export type $OpenApiTs = {
|
|
|
7672
9579
|
};
|
|
7673
9580
|
};
|
|
7674
9581
|
};
|
|
7675
|
-
'/api/v1/{region}/
|
|
9582
|
+
'/api/v1/{region}/dashboard/expenses': {
|
|
7676
9583
|
get: {
|
|
7677
|
-
req:
|
|
9584
|
+
req: DashboardControllerGetExpensesData;
|
|
7678
9585
|
res: {
|
|
7679
9586
|
/**
|
|
7680
|
-
*
|
|
9587
|
+
* Expenses retrieved successfully
|
|
7681
9588
|
*/
|
|
7682
|
-
200:
|
|
9589
|
+
200: ExpensesByCategoryResponseDto;
|
|
7683
9590
|
/**
|
|
7684
|
-
* Invalid
|
|
9591
|
+
* Invalid groupBy or period
|
|
7685
9592
|
*/
|
|
7686
9593
|
400: unknown;
|
|
7687
9594
|
/**
|
|
@@ -7691,98 +9598,48 @@ export type $OpenApiTs = {
|
|
|
7691
9598
|
};
|
|
7692
9599
|
};
|
|
7693
9600
|
};
|
|
7694
|
-
'/api/v1/{region}/
|
|
7695
|
-
|
|
7696
|
-
req:
|
|
9601
|
+
'/api/v1/{region}/investment/holdings/pnl': {
|
|
9602
|
+
get: {
|
|
9603
|
+
req: HoldingPnlControllerGetHoldingPnlData;
|
|
7697
9604
|
res: {
|
|
7698
9605
|
/**
|
|
7699
|
-
*
|
|
7700
|
-
*/
|
|
7701
|
-
201: PriceResponseDto;
|
|
7702
|
-
/**
|
|
7703
|
-
* Currency or quoteCurrency commodity not found
|
|
9606
|
+
* Holding P&L retrieved successfully
|
|
7704
9607
|
*/
|
|
7705
|
-
|
|
9608
|
+
200: HoldingPnlResponseDto;
|
|
7706
9609
|
/**
|
|
7707
|
-
*
|
|
9610
|
+
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
7708
9611
|
*/
|
|
7709
|
-
|
|
7710
|
-
};
|
|
7711
|
-
};
|
|
7712
|
-
get: {
|
|
7713
|
-
req: PriceControllerFindAllData;
|
|
7714
|
-
res: {
|
|
9612
|
+
400: unknown;
|
|
7715
9613
|
/**
|
|
7716
|
-
*
|
|
9614
|
+
* User not authenticated
|
|
7717
9615
|
*/
|
|
7718
|
-
|
|
9616
|
+
401: unknown;
|
|
7719
9617
|
};
|
|
7720
9618
|
};
|
|
7721
9619
|
};
|
|
7722
|
-
'/api/v1/{region}/
|
|
9620
|
+
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
7723
9621
|
get: {
|
|
7724
|
-
req:
|
|
7725
|
-
res: {
|
|
7726
|
-
/**
|
|
7727
|
-
* Price retrieved successfully
|
|
7728
|
-
*/
|
|
7729
|
-
200: PriceResponseDto;
|
|
7730
|
-
/**
|
|
7731
|
-
* Price not found
|
|
7732
|
-
*/
|
|
7733
|
-
404: unknown;
|
|
7734
|
-
};
|
|
7735
|
-
};
|
|
7736
|
-
put: {
|
|
7737
|
-
req: PriceControllerUpdateData;
|
|
7738
|
-
res: {
|
|
7739
|
-
/**
|
|
7740
|
-
* Price updated successfully
|
|
7741
|
-
*/
|
|
7742
|
-
200: PriceResponseDto;
|
|
7743
|
-
/**
|
|
7744
|
-
* Price not found
|
|
7745
|
-
*/
|
|
7746
|
-
404: unknown;
|
|
7747
|
-
/**
|
|
7748
|
-
* Updated price conflicts with existing price
|
|
7749
|
-
*/
|
|
7750
|
-
409: unknown;
|
|
7751
|
-
};
|
|
7752
|
-
};
|
|
7753
|
-
delete: {
|
|
7754
|
-
req: PriceControllerDeleteData;
|
|
9622
|
+
req: ReportingControllerGetPortfolioTrendsData;
|
|
7755
9623
|
res: {
|
|
7756
9624
|
/**
|
|
7757
|
-
*
|
|
7758
|
-
*/
|
|
7759
|
-
204: void;
|
|
7760
|
-
/**
|
|
7761
|
-
* Price not found
|
|
9625
|
+
* Trends retrieved successfully
|
|
7762
9626
|
*/
|
|
7763
|
-
|
|
7764
|
-
};
|
|
7765
|
-
};
|
|
7766
|
-
};
|
|
7767
|
-
'/api/v1/{region}/bean/prices/bulk': {
|
|
7768
|
-
post: {
|
|
7769
|
-
req: PriceControllerBulkCreateData;
|
|
7770
|
-
res: {
|
|
9627
|
+
200: PortfolioTrendsResponseDto;
|
|
7771
9628
|
/**
|
|
7772
|
-
*
|
|
9629
|
+
* User not authenticated
|
|
7773
9630
|
*/
|
|
7774
|
-
|
|
9631
|
+
401: unknown;
|
|
7775
9632
|
};
|
|
7776
9633
|
};
|
|
7777
9634
|
};
|
|
7778
|
-
'/api/v1/{region}/reporting/
|
|
9635
|
+
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
7779
9636
|
get: {
|
|
7780
|
-
req:
|
|
9637
|
+
req: ReportingControllerGetCashFlowTrendsData;
|
|
7781
9638
|
res: {
|
|
7782
9639
|
/**
|
|
7783
|
-
*
|
|
9640
|
+
* Cash-flow trends retrieved successfully
|
|
7784
9641
|
*/
|
|
7785
|
-
200:
|
|
9642
|
+
200: CashFlowTrendsResponseDto;
|
|
7786
9643
|
/**
|
|
7787
9644
|
* User not authenticated
|
|
7788
9645
|
*/
|
|
@@ -7853,7 +9710,7 @@ export type $OpenApiTs = {
|
|
|
7853
9710
|
/**
|
|
7854
9711
|
* Login successful
|
|
7855
9712
|
*/
|
|
7856
|
-
200:
|
|
9713
|
+
200: AnonymousLoginResponseDto;
|
|
7857
9714
|
/**
|
|
7858
9715
|
* Invalid access token
|
|
7859
9716
|
*/
|