@firela/api-types 0.0.0-canary.8c68ebbe → 0.0.0-canary.92035f3d
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 +2340 -1337
- package/dist/index.d.ts +2340 -1337
- package/dist/index.js +31 -3
- package/dist/index.mjs +31 -3
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +1971 -954
- package/src/generated/services.gen.ts +1210 -771
- package/src/generated/types.gen.ts +2437 -1276
|
@@ -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,14 +69,47 @@ 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
|
*/
|
|
87
75
|
type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
76
|
+
/**
|
|
77
|
+
* Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
|
|
78
|
+
*/
|
|
79
|
+
assetSubClass?:
|
|
80
|
+
| 'DEPOSIT'
|
|
81
|
+
| 'CASH'
|
|
82
|
+
| 'MONEY_MARKET_FUND'
|
|
83
|
+
| 'STOCK'
|
|
84
|
+
| 'ETF'
|
|
85
|
+
| 'MUTUAL_FUND'
|
|
86
|
+
| 'EQUITY_COMPENSATION'
|
|
87
|
+
| 'GOVERNMENT_BOND'
|
|
88
|
+
| 'CORPORATE_BOND'
|
|
89
|
+
| 'BOND_FUND'
|
|
90
|
+
| 'PRIMARY_RESIDENCE'
|
|
91
|
+
| 'INVESTMENT_PROPERTY'
|
|
92
|
+
| 'REIT'
|
|
93
|
+
| 'GOLD'
|
|
94
|
+
| 'SILVER'
|
|
95
|
+
| 'PRECIOUS_METAL'
|
|
96
|
+
| 'PRECIOUS_METAL_FUND'
|
|
97
|
+
| 'COMMODITY'
|
|
98
|
+
| 'COMMODITY_FUND'
|
|
99
|
+
| 'CRYPTOCURRENCY'
|
|
100
|
+
| 'RETIREMENT_ACCOUNT'
|
|
101
|
+
| 'HEALTH_ACCOUNT'
|
|
102
|
+
| 'EDUCATION_ACCOUNT'
|
|
103
|
+
| 'INSURANCE'
|
|
104
|
+
| 'PRIVATE_EQUITY'
|
|
105
|
+
| 'HEDGE_FUND'
|
|
106
|
+
| 'COLLECTIBLES'
|
|
107
|
+
| 'MORTGAGE'
|
|
108
|
+
| 'STUDENT_LOAN'
|
|
109
|
+
| 'CREDIT_CARD'
|
|
110
|
+
| 'PERSONAL_LOAN'
|
|
111
|
+
| 'OTHER'
|
|
112
|
+
| null;
|
|
88
113
|
/**
|
|
89
114
|
* Account status
|
|
90
115
|
*/
|
|
@@ -121,17 +146,17 @@ export type AccountResponseDto = {
|
|
|
121
146
|
*/
|
|
122
147
|
isCustom: boolean;
|
|
123
148
|
/**
|
|
124
|
-
*
|
|
149
|
+
* Localized display name (ADR-0114, read-time projection)
|
|
125
150
|
*/
|
|
126
|
-
|
|
151
|
+
displayName?: string;
|
|
127
152
|
/**
|
|
128
153
|
* Icon identifier
|
|
129
154
|
*/
|
|
130
155
|
icon?: string;
|
|
131
156
|
/**
|
|
132
|
-
*
|
|
157
|
+
* Open directive metadata (ADR-0115 Decision 9)
|
|
133
158
|
*/
|
|
134
|
-
|
|
159
|
+
openDirectiveMeta?: {
|
|
135
160
|
[key: string]: unknown;
|
|
136
161
|
};
|
|
137
162
|
/**
|
|
@@ -161,6 +186,43 @@ export type AccountResponseDto = {
|
|
|
161
186
|
*/
|
|
162
187
|
export type type = 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
163
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
|
|
191
|
+
*/
|
|
192
|
+
export type assetSubClass =
|
|
193
|
+
| 'DEPOSIT'
|
|
194
|
+
| 'CASH'
|
|
195
|
+
| 'MONEY_MARKET_FUND'
|
|
196
|
+
| 'STOCK'
|
|
197
|
+
| 'ETF'
|
|
198
|
+
| 'MUTUAL_FUND'
|
|
199
|
+
| 'EQUITY_COMPENSATION'
|
|
200
|
+
| 'GOVERNMENT_BOND'
|
|
201
|
+
| 'CORPORATE_BOND'
|
|
202
|
+
| 'BOND_FUND'
|
|
203
|
+
| 'PRIMARY_RESIDENCE'
|
|
204
|
+
| 'INVESTMENT_PROPERTY'
|
|
205
|
+
| 'REIT'
|
|
206
|
+
| 'GOLD'
|
|
207
|
+
| 'SILVER'
|
|
208
|
+
| 'PRECIOUS_METAL'
|
|
209
|
+
| 'PRECIOUS_METAL_FUND'
|
|
210
|
+
| 'COMMODITY'
|
|
211
|
+
| 'COMMODITY_FUND'
|
|
212
|
+
| 'CRYPTOCURRENCY'
|
|
213
|
+
| 'RETIREMENT_ACCOUNT'
|
|
214
|
+
| 'HEALTH_ACCOUNT'
|
|
215
|
+
| 'EDUCATION_ACCOUNT'
|
|
216
|
+
| 'INSURANCE'
|
|
217
|
+
| 'PRIVATE_EQUITY'
|
|
218
|
+
| 'HEDGE_FUND'
|
|
219
|
+
| 'COLLECTIBLES'
|
|
220
|
+
| 'MORTGAGE'
|
|
221
|
+
| 'STUDENT_LOAN'
|
|
222
|
+
| 'CREDIT_CARD'
|
|
223
|
+
| 'PERSONAL_LOAN'
|
|
224
|
+
| 'OTHER';
|
|
225
|
+
|
|
164
226
|
/**
|
|
165
227
|
* Account status
|
|
166
228
|
*/
|
|
@@ -178,10 +240,6 @@ export type AccountListResponseDto = {
|
|
|
178
240
|
};
|
|
179
241
|
|
|
180
242
|
export type UpdateAccountDto = {
|
|
181
|
-
/**
|
|
182
|
-
* Display name to distinguish accounts at the same path
|
|
183
|
-
*/
|
|
184
|
-
displayName?: string;
|
|
185
243
|
/**
|
|
186
244
|
* Allowed currencies (null = no restriction)
|
|
187
245
|
*/
|
|
@@ -197,18 +255,14 @@ export type UpdateAccountDto = {
|
|
|
197
255
|
| 'STRICT'
|
|
198
256
|
| 'STRICT_WITH_SIZE'
|
|
199
257
|
| 'NONE';
|
|
200
|
-
/**
|
|
201
|
-
* i18n key for display name
|
|
202
|
-
*/
|
|
203
|
-
i18nKey?: string;
|
|
204
258
|
/**
|
|
205
259
|
* Icon identifier
|
|
206
260
|
*/
|
|
207
261
|
icon?: string;
|
|
208
262
|
/**
|
|
209
|
-
*
|
|
263
|
+
* Open directive metadata (merged with existing; NOT an opening-balance amount)
|
|
210
264
|
*/
|
|
211
|
-
|
|
265
|
+
openDirectiveMeta?: {
|
|
212
266
|
[key: string]: unknown;
|
|
213
267
|
};
|
|
214
268
|
/**
|
|
@@ -237,6 +291,28 @@ export type ReopenAccountDto = {
|
|
|
237
291
|
reopenDate?: string;
|
|
238
292
|
};
|
|
239
293
|
|
|
294
|
+
export type CreateOpeningBalanceDto = {
|
|
295
|
+
/**
|
|
296
|
+
* Opening balance amount (non-negative)
|
|
297
|
+
*/
|
|
298
|
+
amount: number;
|
|
299
|
+
/**
|
|
300
|
+
* Currency code
|
|
301
|
+
*/
|
|
302
|
+
currency: string;
|
|
303
|
+
/**
|
|
304
|
+
* Opening-balance date (defaults to now)
|
|
305
|
+
*/
|
|
306
|
+
date?: string;
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
export type OpeningBalanceResultDto = {
|
|
310
|
+
/**
|
|
311
|
+
* Created opening-balance transaction id.
|
|
312
|
+
*/
|
|
313
|
+
transactionId: string;
|
|
314
|
+
};
|
|
315
|
+
|
|
240
316
|
export type AccountStandardResponseDto = {
|
|
241
317
|
/**
|
|
242
318
|
* Account path (hierarchical, colon-separated)
|
|
@@ -246,10 +322,6 @@ export type AccountStandardResponseDto = {
|
|
|
246
322
|
* Account type in Beancount hierarchy
|
|
247
323
|
*/
|
|
248
324
|
type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
249
|
-
/**
|
|
250
|
-
* i18n key for localized display name
|
|
251
|
-
*/
|
|
252
|
-
i18nKey: string;
|
|
253
325
|
/**
|
|
254
326
|
* Short localized display name
|
|
255
327
|
*/
|
|
@@ -284,10 +356,6 @@ export type AccountStandardListResponseDto = {
|
|
|
284
356
|
};
|
|
285
357
|
|
|
286
358
|
export type TemplateMetadataDto = {
|
|
287
|
-
/**
|
|
288
|
-
* Whether this path can be extended
|
|
289
|
-
*/
|
|
290
|
-
extendable: boolean;
|
|
291
359
|
/**
|
|
292
360
|
* Root account type
|
|
293
361
|
*/
|
|
@@ -848,6 +916,51 @@ export type flag2 =
|
|
|
848
916
|
*/
|
|
849
917
|
export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
850
918
|
|
|
919
|
+
export type BalanceByCurrencyDto = {
|
|
920
|
+
/**
|
|
921
|
+
* ISO 4217 currency code
|
|
922
|
+
*/
|
|
923
|
+
currency: string;
|
|
924
|
+
/**
|
|
925
|
+
* Balance amount
|
|
926
|
+
*/
|
|
927
|
+
balance: string;
|
|
928
|
+
};
|
|
929
|
+
|
|
930
|
+
export type ExchangeRateWarningDto = {
|
|
931
|
+
/**
|
|
932
|
+
* Warning type
|
|
933
|
+
*/
|
|
934
|
+
type: string;
|
|
935
|
+
/**
|
|
936
|
+
* Currency without exchange rate
|
|
937
|
+
*/
|
|
938
|
+
currency: string;
|
|
939
|
+
/**
|
|
940
|
+
* Total amount affected
|
|
941
|
+
*/
|
|
942
|
+
totalAmount: string;
|
|
943
|
+
};
|
|
944
|
+
|
|
945
|
+
export type TransactionListSummaryDto = {
|
|
946
|
+
/**
|
|
947
|
+
* 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.
|
|
948
|
+
*/
|
|
949
|
+
totalAmount: string;
|
|
950
|
+
/**
|
|
951
|
+
* Base currency (ISO 4217)
|
|
952
|
+
*/
|
|
953
|
+
currency: string;
|
|
954
|
+
/**
|
|
955
|
+
* Raw (unconverted) balance per currency
|
|
956
|
+
*/
|
|
957
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
958
|
+
/**
|
|
959
|
+
* Currencies missing an FX rate (omitted when empty)
|
|
960
|
+
*/
|
|
961
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
962
|
+
};
|
|
963
|
+
|
|
851
964
|
export type TransactionListResponseDto = {
|
|
852
965
|
/**
|
|
853
966
|
* List of transactions
|
|
@@ -865,6 +978,10 @@ export type TransactionListResponseDto = {
|
|
|
865
978
|
* Number of items skipped
|
|
866
979
|
*/
|
|
867
980
|
offset: number;
|
|
981
|
+
/**
|
|
982
|
+
* 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.
|
|
983
|
+
*/
|
|
984
|
+
summary?: TransactionListSummaryDto;
|
|
868
985
|
};
|
|
869
986
|
|
|
870
987
|
export type TagSuggestionDto = {
|
|
@@ -1917,6 +2034,108 @@ export type UpdateCommodityDto = {
|
|
|
1917
2034
|
};
|
|
1918
2035
|
};
|
|
1919
2036
|
|
|
2037
|
+
export type CreateBeanPriceDto = {
|
|
2038
|
+
/**
|
|
2039
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
2040
|
+
*/
|
|
2041
|
+
currency: string;
|
|
2042
|
+
/**
|
|
2043
|
+
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
2044
|
+
*/
|
|
2045
|
+
quoteCurrency: string;
|
|
2046
|
+
/**
|
|
2047
|
+
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
2048
|
+
*/
|
|
2049
|
+
amount: number;
|
|
2050
|
+
/**
|
|
2051
|
+
* Price date (ISO 8601 format)
|
|
2052
|
+
*/
|
|
2053
|
+
date: string;
|
|
2054
|
+
/**
|
|
2055
|
+
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
2056
|
+
*/
|
|
2057
|
+
metadata?: {
|
|
2058
|
+
[key: string]: unknown;
|
|
2059
|
+
};
|
|
2060
|
+
};
|
|
2061
|
+
|
|
2062
|
+
export type PriceResponseDto = {
|
|
2063
|
+
/**
|
|
2064
|
+
* Unique identifier
|
|
2065
|
+
*/
|
|
2066
|
+
id: string;
|
|
2067
|
+
/**
|
|
2068
|
+
* User ID (owner of the price)
|
|
2069
|
+
*/
|
|
2070
|
+
userId: string;
|
|
2071
|
+
/**
|
|
2072
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
2073
|
+
*/
|
|
2074
|
+
currency: string;
|
|
2075
|
+
/**
|
|
2076
|
+
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
2077
|
+
*/
|
|
2078
|
+
quoteCurrency: string;
|
|
2079
|
+
/**
|
|
2080
|
+
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
2081
|
+
*/
|
|
2082
|
+
amount: number;
|
|
2083
|
+
/**
|
|
2084
|
+
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
2085
|
+
*/
|
|
2086
|
+
date: string;
|
|
2087
|
+
/**
|
|
2088
|
+
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
2089
|
+
*/
|
|
2090
|
+
meta: {
|
|
2091
|
+
[key: string]: unknown;
|
|
2092
|
+
};
|
|
2093
|
+
/**
|
|
2094
|
+
* Creation timestamp
|
|
2095
|
+
*/
|
|
2096
|
+
createdAt: string;
|
|
2097
|
+
/**
|
|
2098
|
+
* Last update timestamp
|
|
2099
|
+
*/
|
|
2100
|
+
updatedAt: string;
|
|
2101
|
+
};
|
|
2102
|
+
|
|
2103
|
+
export type PriceListResponseDto = {
|
|
2104
|
+
/**
|
|
2105
|
+
* List of prices
|
|
2106
|
+
*/
|
|
2107
|
+
items: Array<PriceResponseDto>;
|
|
2108
|
+
/**
|
|
2109
|
+
* Total number of prices
|
|
2110
|
+
*/
|
|
2111
|
+
total: number;
|
|
2112
|
+
};
|
|
2113
|
+
|
|
2114
|
+
export type UpdateBeanPriceDto = {
|
|
2115
|
+
/**
|
|
2116
|
+
* Currency being priced
|
|
2117
|
+
*/
|
|
2118
|
+
currency?: string;
|
|
2119
|
+
/**
|
|
2120
|
+
* Quote currency (pricing currency)
|
|
2121
|
+
*/
|
|
2122
|
+
quoteCurrency?: string;
|
|
2123
|
+
/**
|
|
2124
|
+
* Price amount (MUST be >= 0 per Beancount spec)
|
|
2125
|
+
*/
|
|
2126
|
+
amount?: number;
|
|
2127
|
+
/**
|
|
2128
|
+
* Price date (ISO 8601 format)
|
|
2129
|
+
*/
|
|
2130
|
+
date?: string;
|
|
2131
|
+
/**
|
|
2132
|
+
* Metadata
|
|
2133
|
+
*/
|
|
2134
|
+
metadata?: {
|
|
2135
|
+
[key: string]: unknown;
|
|
2136
|
+
};
|
|
2137
|
+
};
|
|
2138
|
+
|
|
1920
2139
|
export type CreateRecurringRuleDto = {
|
|
1921
2140
|
/**
|
|
1922
2141
|
* Rule name (unique per user)
|
|
@@ -2556,68 +2775,380 @@ export type ForecastResponseDto = {
|
|
|
2556
2775
|
periodEnd: string;
|
|
2557
2776
|
};
|
|
2558
2777
|
|
|
2559
|
-
export type
|
|
2560
|
-
name: string;
|
|
2561
|
-
description?: string;
|
|
2562
|
-
narrationKeywords?: Array<unknown[]>;
|
|
2563
|
-
payeeKeywords?: Array<unknown[]>;
|
|
2564
|
-
categoryKeywords?: Array<unknown[]>;
|
|
2778
|
+
export type CurrencyBalanceDto = {
|
|
2565
2779
|
/**
|
|
2566
|
-
*
|
|
2780
|
+
* ISO 4217 currency code
|
|
2567
2781
|
*/
|
|
2568
|
-
|
|
2782
|
+
currency: string;
|
|
2569
2783
|
/**
|
|
2570
|
-
*
|
|
2784
|
+
* Balance amount
|
|
2571
2785
|
*/
|
|
2572
|
-
|
|
2573
|
-
|
|
2786
|
+
balance: string;
|
|
2787
|
+
};
|
|
2788
|
+
|
|
2789
|
+
export type TimeSeriesPointDto = {
|
|
2574
2790
|
/**
|
|
2575
|
-
*
|
|
2791
|
+
* Date in YYYY-MM-DD format
|
|
2576
2792
|
*/
|
|
2577
|
-
|
|
2793
|
+
date: string;
|
|
2578
2794
|
/**
|
|
2579
|
-
*
|
|
2795
|
+
* Value at this date (in base currency)
|
|
2580
2796
|
*/
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2797
|
+
value: string;
|
|
2798
|
+
/**
|
|
2799
|
+
* Change from previous point
|
|
2800
|
+
*/
|
|
2801
|
+
change?: {
|
|
2585
2802
|
[key: string]: unknown;
|
|
2586
2803
|
};
|
|
2587
2804
|
/**
|
|
2588
|
-
*
|
|
2805
|
+
* Total assets at this date (in base currency)
|
|
2589
2806
|
*/
|
|
2590
|
-
|
|
2591
|
-
};
|
|
2592
|
-
|
|
2593
|
-
export type matchLogic = 'OR' | 'AND';
|
|
2594
|
-
|
|
2595
|
-
export type AmountRangeDto = {
|
|
2807
|
+
assets?: string;
|
|
2596
2808
|
/**
|
|
2597
|
-
*
|
|
2809
|
+
* Total liabilities at this date (in base currency)
|
|
2598
2810
|
*/
|
|
2599
|
-
|
|
2811
|
+
liabilities?: string;
|
|
2600
2812
|
/**
|
|
2601
|
-
*
|
|
2813
|
+
* Multi-currency breakdown for this point
|
|
2602
2814
|
*/
|
|
2603
|
-
|
|
2815
|
+
byCurrency?: Array<CurrencyBalanceDto>;
|
|
2604
2816
|
};
|
|
2605
2817
|
|
|
2606
|
-
export type
|
|
2818
|
+
export type TrendSummaryDto = {
|
|
2607
2819
|
/**
|
|
2608
|
-
*
|
|
2820
|
+
* Value at start of period
|
|
2609
2821
|
*/
|
|
2610
|
-
|
|
2822
|
+
startValue: string;
|
|
2611
2823
|
/**
|
|
2612
|
-
*
|
|
2824
|
+
* Value at end of period
|
|
2613
2825
|
*/
|
|
2614
|
-
|
|
2826
|
+
endValue: string;
|
|
2615
2827
|
/**
|
|
2616
|
-
*
|
|
2828
|
+
* Total change over period
|
|
2617
2829
|
*/
|
|
2618
|
-
|
|
2830
|
+
totalChange: string;
|
|
2619
2831
|
/**
|
|
2620
|
-
*
|
|
2832
|
+
* Total change percentage
|
|
2833
|
+
*/
|
|
2834
|
+
totalChangePercentage: string;
|
|
2835
|
+
};
|
|
2836
|
+
|
|
2837
|
+
export type MultiCurrencyPointDto = {
|
|
2838
|
+
/**
|
|
2839
|
+
* Date in YYYY-MM-DD format
|
|
2840
|
+
*/
|
|
2841
|
+
date: string;
|
|
2842
|
+
/**
|
|
2843
|
+
* Balances by currency
|
|
2844
|
+
*/
|
|
2845
|
+
byCurrency: Array<CurrencyBalanceDto>;
|
|
2846
|
+
};
|
|
2847
|
+
|
|
2848
|
+
export type PortfolioTrendsResponseDto = {
|
|
2849
|
+
/**
|
|
2850
|
+
* Time series data points
|
|
2851
|
+
*/
|
|
2852
|
+
series: Array<TimeSeriesPointDto>;
|
|
2853
|
+
/**
|
|
2854
|
+
* Period summary
|
|
2855
|
+
*/
|
|
2856
|
+
summary: TrendSummaryDto;
|
|
2857
|
+
/**
|
|
2858
|
+
* Period requested
|
|
2859
|
+
*/
|
|
2860
|
+
period: string;
|
|
2861
|
+
/**
|
|
2862
|
+
* Data granularity
|
|
2863
|
+
*/
|
|
2864
|
+
granularity: string;
|
|
2865
|
+
/**
|
|
2866
|
+
* Base currency for converted values
|
|
2867
|
+
*/
|
|
2868
|
+
currency: string;
|
|
2869
|
+
/**
|
|
2870
|
+
* Multi-currency time series (each point has currency breakdown)
|
|
2871
|
+
*/
|
|
2872
|
+
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
2873
|
+
/**
|
|
2874
|
+
* Exchange rate warnings
|
|
2875
|
+
*/
|
|
2876
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2877
|
+
};
|
|
2878
|
+
|
|
2879
|
+
export type CashFlowPointDto = {
|
|
2880
|
+
/**
|
|
2881
|
+
* Month key (YYYY-MM)
|
|
2882
|
+
*/
|
|
2883
|
+
month: string;
|
|
2884
|
+
/**
|
|
2885
|
+
* Income in base currency (absolute, converted)
|
|
2886
|
+
*/
|
|
2887
|
+
income: string;
|
|
2888
|
+
/**
|
|
2889
|
+
* Expense in base currency (absolute, converted)
|
|
2890
|
+
*/
|
|
2891
|
+
expense: string;
|
|
2892
|
+
/**
|
|
2893
|
+
* netSavings = income − expense (savings positive)
|
|
2894
|
+
*/
|
|
2895
|
+
netSavings: string;
|
|
2896
|
+
};
|
|
2897
|
+
|
|
2898
|
+
export type CashFlowTrendSummaryDto = {
|
|
2899
|
+
/**
|
|
2900
|
+
* Total income across the period
|
|
2901
|
+
*/
|
|
2902
|
+
totalIncome: string;
|
|
2903
|
+
/**
|
|
2904
|
+
* Total expense across the period
|
|
2905
|
+
*/
|
|
2906
|
+
totalExpense: string;
|
|
2907
|
+
/**
|
|
2908
|
+
* income − expense across the period
|
|
2909
|
+
*/
|
|
2910
|
+
totalNetSavings: string;
|
|
2911
|
+
/**
|
|
2912
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
2913
|
+
*/
|
|
2914
|
+
averageMonthlyNetSavings: string;
|
|
2915
|
+
};
|
|
2916
|
+
|
|
2917
|
+
export type CashFlowTrendsResponseDto = {
|
|
2918
|
+
/**
|
|
2919
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
2920
|
+
*/
|
|
2921
|
+
series: Array<CashFlowPointDto>;
|
|
2922
|
+
/**
|
|
2923
|
+
* Period totals
|
|
2924
|
+
*/
|
|
2925
|
+
summary: CashFlowTrendSummaryDto;
|
|
2926
|
+
/**
|
|
2927
|
+
* Period requested
|
|
2928
|
+
*/
|
|
2929
|
+
period: string;
|
|
2930
|
+
/**
|
|
2931
|
+
* Data granularity (v1 returns month buckets)
|
|
2932
|
+
*/
|
|
2933
|
+
granularity: string;
|
|
2934
|
+
/**
|
|
2935
|
+
* Base currency for converted values
|
|
2936
|
+
*/
|
|
2937
|
+
currency: string;
|
|
2938
|
+
/**
|
|
2939
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
2940
|
+
*/
|
|
2941
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2942
|
+
};
|
|
2943
|
+
|
|
2944
|
+
export type GenerateSnapshotBody = unknown;
|
|
2945
|
+
|
|
2946
|
+
export type GenerateSnapshotResponse = unknown;
|
|
2947
|
+
|
|
2948
|
+
export type BackfillSnapshotsBody = unknown;
|
|
2949
|
+
|
|
2950
|
+
export type BackfillSnapshotsResponse = unknown;
|
|
2951
|
+
|
|
2952
|
+
export type DeleteOwnUserDto = {
|
|
2953
|
+
/**
|
|
2954
|
+
* Access token for user verification
|
|
2955
|
+
*/
|
|
2956
|
+
accessToken: string;
|
|
2957
|
+
};
|
|
2958
|
+
|
|
2959
|
+
export type SignupDto = {
|
|
2960
|
+
/**
|
|
2961
|
+
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
2962
|
+
*/
|
|
2963
|
+
turnstileToken?: string;
|
|
2964
|
+
};
|
|
2965
|
+
|
|
2966
|
+
export type SignupResponseDto = {
|
|
2967
|
+
/**
|
|
2968
|
+
* JWT auth token
|
|
2969
|
+
*/
|
|
2970
|
+
authToken: string;
|
|
2971
|
+
/**
|
|
2972
|
+
* Auto-generated access token
|
|
2973
|
+
*/
|
|
2974
|
+
accessToken: string;
|
|
2975
|
+
/**
|
|
2976
|
+
* Assigned user role
|
|
2977
|
+
*/
|
|
2978
|
+
role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2979
|
+
};
|
|
2980
|
+
|
|
2981
|
+
/**
|
|
2982
|
+
* Assigned user role
|
|
2983
|
+
*/
|
|
2984
|
+
export type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2985
|
+
|
|
2986
|
+
export type UpdateUserSettingDto = {
|
|
2987
|
+
/**
|
|
2988
|
+
* Security ID
|
|
2989
|
+
*/
|
|
2990
|
+
secId?: number;
|
|
2991
|
+
/**
|
|
2992
|
+
* Annual interest rate
|
|
2993
|
+
*/
|
|
2994
|
+
annualInterestRate?: number;
|
|
2995
|
+
/**
|
|
2996
|
+
* Currency code
|
|
2997
|
+
*/
|
|
2998
|
+
currency?: string;
|
|
2999
|
+
/**
|
|
3000
|
+
* Base currency code
|
|
3001
|
+
*/
|
|
3002
|
+
baseCurrency?: string;
|
|
3003
|
+
/**
|
|
3004
|
+
* Benchmark symbol
|
|
3005
|
+
*/
|
|
3006
|
+
benchmark?: string;
|
|
3007
|
+
/**
|
|
3008
|
+
* Color scheme
|
|
3009
|
+
*/
|
|
3010
|
+
colorScheme?: 'DARK' | 'LIGHT';
|
|
3011
|
+
/**
|
|
3012
|
+
* Date range filter
|
|
3013
|
+
*/
|
|
3014
|
+
dateRange?: string;
|
|
3015
|
+
/**
|
|
3016
|
+
* Emergency fund amount
|
|
3017
|
+
*/
|
|
3018
|
+
emergencyFund?: number;
|
|
3019
|
+
/**
|
|
3020
|
+
* Account filter IDs
|
|
3021
|
+
*/
|
|
3022
|
+
'filters.accounts'?: Array<string>;
|
|
3023
|
+
/**
|
|
3024
|
+
* Asset class filters
|
|
3025
|
+
*/
|
|
3026
|
+
'filters.assetClasses'?: Array<string>;
|
|
3027
|
+
/**
|
|
3028
|
+
* Data source filter
|
|
3029
|
+
*/
|
|
3030
|
+
'filters.dataSource'?: string;
|
|
3031
|
+
/**
|
|
3032
|
+
* Symbol filter
|
|
3033
|
+
*/
|
|
3034
|
+
'filters.symbol'?: string;
|
|
3035
|
+
/**
|
|
3036
|
+
* Tag filters
|
|
3037
|
+
*/
|
|
3038
|
+
'filters.tags'?: Array<string>;
|
|
3039
|
+
/**
|
|
3040
|
+
* Enable experimental features
|
|
3041
|
+
*/
|
|
3042
|
+
isExperimentalFeatures?: boolean;
|
|
3043
|
+
/**
|
|
3044
|
+
* Enable restricted view mode
|
|
3045
|
+
*/
|
|
3046
|
+
isRestrictedView?: boolean;
|
|
3047
|
+
/**
|
|
3048
|
+
* Language code
|
|
3049
|
+
*/
|
|
3050
|
+
language?: string;
|
|
3051
|
+
/**
|
|
3052
|
+
* Locale code
|
|
3053
|
+
*/
|
|
3054
|
+
locale?: string;
|
|
3055
|
+
/**
|
|
3056
|
+
* Projected total amount
|
|
3057
|
+
*/
|
|
3058
|
+
projectedTotalAmount?: number;
|
|
3059
|
+
/**
|
|
3060
|
+
* Retirement date in ISO 8601 format
|
|
3061
|
+
*/
|
|
3062
|
+
retirementDate?: string;
|
|
3063
|
+
/**
|
|
3064
|
+
* Savings rate percentage
|
|
3065
|
+
*/
|
|
3066
|
+
savingsRate?: number;
|
|
3067
|
+
/**
|
|
3068
|
+
* View mode
|
|
3069
|
+
*/
|
|
3070
|
+
viewMode?: 'DEFAULT' | 'ZEN';
|
|
3071
|
+
};
|
|
3072
|
+
|
|
3073
|
+
/**
|
|
3074
|
+
* Color scheme
|
|
3075
|
+
*/
|
|
3076
|
+
export type colorScheme = 'DARK' | 'LIGHT';
|
|
3077
|
+
|
|
3078
|
+
/**
|
|
3079
|
+
* View mode
|
|
3080
|
+
*/
|
|
3081
|
+
export type viewMode = 'DEFAULT' | 'ZEN';
|
|
3082
|
+
|
|
3083
|
+
export type UpdatePropertyDto = {
|
|
3084
|
+
/**
|
|
3085
|
+
* Property value
|
|
3086
|
+
*/
|
|
3087
|
+
value: string;
|
|
3088
|
+
};
|
|
3089
|
+
|
|
3090
|
+
export type CreateTransactionRuleDto = {
|
|
3091
|
+
name: string;
|
|
3092
|
+
description?: string;
|
|
3093
|
+
narrationKeywords?: Array<unknown[]>;
|
|
3094
|
+
payeeKeywords?: Array<unknown[]>;
|
|
3095
|
+
categoryKeywords?: Array<unknown[]>;
|
|
3096
|
+
/**
|
|
3097
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
3098
|
+
*/
|
|
3099
|
+
methodKeywords?: Array<unknown[]>;
|
|
3100
|
+
/**
|
|
3101
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
3102
|
+
*/
|
|
3103
|
+
categoryAccount?: string;
|
|
3104
|
+
matchLogic: 'OR' | 'AND';
|
|
3105
|
+
/**
|
|
3106
|
+
* Minimum transaction amount (inclusive)
|
|
3107
|
+
*/
|
|
3108
|
+
amountMin?: number;
|
|
3109
|
+
/**
|
|
3110
|
+
* Maximum transaction amount (inclusive)
|
|
3111
|
+
*/
|
|
3112
|
+
amountMax?: number;
|
|
3113
|
+
priority: number;
|
|
3114
|
+
additionalTags?: Array<unknown[]>;
|
|
3115
|
+
additionalMetadata?: {
|
|
3116
|
+
[key: string]: unknown;
|
|
3117
|
+
};
|
|
3118
|
+
/**
|
|
3119
|
+
* If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
|
|
3120
|
+
*/
|
|
3121
|
+
upsertByPayee?: boolean;
|
|
3122
|
+
};
|
|
3123
|
+
|
|
3124
|
+
export type matchLogic = 'OR' | 'AND';
|
|
3125
|
+
|
|
3126
|
+
export type AmountRangeDto = {
|
|
3127
|
+
/**
|
|
3128
|
+
* Minimum amount
|
|
3129
|
+
*/
|
|
3130
|
+
min?: number;
|
|
3131
|
+
/**
|
|
3132
|
+
* Maximum amount
|
|
3133
|
+
*/
|
|
3134
|
+
max?: number;
|
|
3135
|
+
};
|
|
3136
|
+
|
|
3137
|
+
export type TransactionRuleResponseDto = {
|
|
3138
|
+
/**
|
|
3139
|
+
* Rule ID
|
|
3140
|
+
*/
|
|
3141
|
+
id: string;
|
|
3142
|
+
/**
|
|
3143
|
+
* Rule name
|
|
3144
|
+
*/
|
|
3145
|
+
name: string;
|
|
3146
|
+
/**
|
|
3147
|
+
* Rule description
|
|
3148
|
+
*/
|
|
3149
|
+
description?: string;
|
|
3150
|
+
/**
|
|
3151
|
+
* Keywords to match in transaction narration
|
|
2621
3152
|
*/
|
|
2622
3153
|
narrationKeywords: Array<string>;
|
|
2623
3154
|
/**
|
|
@@ -2855,178 +3386,60 @@ export type UpdateTransactionRuleDto = {
|
|
|
2855
3386
|
payeeKeywords?: Array<unknown[]>;
|
|
2856
3387
|
categoryKeywords?: Array<unknown[]>;
|
|
2857
3388
|
/**
|
|
2858
|
-
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
2859
|
-
*/
|
|
2860
|
-
methodKeywords?: Array<unknown[]>;
|
|
2861
|
-
/**
|
|
2862
|
-
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
2863
|
-
*/
|
|
2864
|
-
categoryAccount?: string;
|
|
2865
|
-
matchLogic?: 'OR' | 'AND';
|
|
2866
|
-
/**
|
|
2867
|
-
* Minimum transaction amount (inclusive)
|
|
2868
|
-
*/
|
|
2869
|
-
amountMin?: number;
|
|
2870
|
-
/**
|
|
2871
|
-
* Maximum transaction amount (inclusive)
|
|
2872
|
-
*/
|
|
2873
|
-
amountMax?: number;
|
|
2874
|
-
priority?: number;
|
|
2875
|
-
/**
|
|
2876
|
-
* Enable or disable the rule
|
|
2877
|
-
*/
|
|
2878
|
-
enabled?: boolean;
|
|
2879
|
-
additionalTags?: Array<unknown[]>;
|
|
2880
|
-
additionalMetadata?: {
|
|
2881
|
-
[key: string]: unknown;
|
|
2882
|
-
};
|
|
2883
|
-
};
|
|
2884
|
-
|
|
2885
|
-
export type TestRuleDto = {
|
|
2886
|
-
narration: string;
|
|
2887
|
-
payee?: string;
|
|
2888
|
-
categoryAccount?: string;
|
|
2889
|
-
amount?: number;
|
|
2890
|
-
currency?: string;
|
|
2891
|
-
};
|
|
2892
|
-
|
|
2893
|
-
export type TestRuleResponseDto = {
|
|
2894
|
-
/**
|
|
2895
|
-
* Rule ID that was tested
|
|
2896
|
-
*/
|
|
2897
|
-
ruleId: string;
|
|
2898
|
-
/**
|
|
2899
|
-
* Whether the rule matched the test data
|
|
2900
|
-
*/
|
|
2901
|
-
matches: boolean;
|
|
2902
|
-
/**
|
|
2903
|
-
* Match confidence score (0-1)
|
|
2904
|
-
*/
|
|
2905
|
-
confidence: number;
|
|
2906
|
-
/**
|
|
2907
|
-
* Details of which fields matched
|
|
2908
|
-
*/
|
|
2909
|
-
matchDetails: {
|
|
2910
|
-
[key: string]: unknown;
|
|
2911
|
-
};
|
|
2912
|
-
};
|
|
2913
|
-
|
|
2914
|
-
export type DeleteOwnUserDto = {
|
|
2915
|
-
/**
|
|
2916
|
-
* Access token for user verification
|
|
2917
|
-
*/
|
|
2918
|
-
accessToken: string;
|
|
2919
|
-
};
|
|
2920
|
-
|
|
2921
|
-
export type SignupDto = {
|
|
2922
|
-
/**
|
|
2923
|
-
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
2924
|
-
*/
|
|
2925
|
-
turnstileToken?: string;
|
|
2926
|
-
};
|
|
2927
|
-
|
|
2928
|
-
export type UpdateUserSettingDto = {
|
|
2929
|
-
/**
|
|
2930
|
-
* Security ID
|
|
2931
|
-
*/
|
|
2932
|
-
secId?: number;
|
|
2933
|
-
/**
|
|
2934
|
-
* Annual interest rate
|
|
2935
|
-
*/
|
|
2936
|
-
annualInterestRate?: number;
|
|
2937
|
-
/**
|
|
2938
|
-
* Currency code
|
|
2939
|
-
*/
|
|
2940
|
-
currency?: string;
|
|
2941
|
-
/**
|
|
2942
|
-
* Base currency code
|
|
2943
|
-
*/
|
|
2944
|
-
baseCurrency?: string;
|
|
2945
|
-
/**
|
|
2946
|
-
* Benchmark symbol
|
|
2947
|
-
*/
|
|
2948
|
-
benchmark?: string;
|
|
2949
|
-
/**
|
|
2950
|
-
* Color scheme
|
|
2951
|
-
*/
|
|
2952
|
-
colorScheme?: 'DARK' | 'LIGHT';
|
|
2953
|
-
/**
|
|
2954
|
-
* Date range filter
|
|
2955
|
-
*/
|
|
2956
|
-
dateRange?: string;
|
|
2957
|
-
/**
|
|
2958
|
-
* Emergency fund amount
|
|
2959
|
-
*/
|
|
2960
|
-
emergencyFund?: number;
|
|
2961
|
-
/**
|
|
2962
|
-
* Account filter IDs
|
|
2963
|
-
*/
|
|
2964
|
-
'filters.accounts'?: Array<string>;
|
|
2965
|
-
/**
|
|
2966
|
-
* Asset class filters
|
|
2967
|
-
*/
|
|
2968
|
-
'filters.assetClasses'?: Array<string>;
|
|
2969
|
-
/**
|
|
2970
|
-
* Data source filter
|
|
2971
|
-
*/
|
|
2972
|
-
'filters.dataSource'?: string;
|
|
2973
|
-
/**
|
|
2974
|
-
* Symbol filter
|
|
2975
|
-
*/
|
|
2976
|
-
'filters.symbol'?: string;
|
|
2977
|
-
/**
|
|
2978
|
-
* Tag filters
|
|
2979
|
-
*/
|
|
2980
|
-
'filters.tags'?: Array<string>;
|
|
2981
|
-
/**
|
|
2982
|
-
* Enable experimental features
|
|
3389
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
2983
3390
|
*/
|
|
2984
|
-
|
|
3391
|
+
methodKeywords?: Array<unknown[]>;
|
|
2985
3392
|
/**
|
|
2986
|
-
*
|
|
3393
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
2987
3394
|
*/
|
|
2988
|
-
|
|
3395
|
+
categoryAccount?: string;
|
|
3396
|
+
matchLogic?: 'OR' | 'AND';
|
|
2989
3397
|
/**
|
|
2990
|
-
*
|
|
3398
|
+
* Minimum transaction amount (inclusive)
|
|
2991
3399
|
*/
|
|
2992
|
-
|
|
3400
|
+
amountMin?: number;
|
|
2993
3401
|
/**
|
|
2994
|
-
*
|
|
3402
|
+
* Maximum transaction amount (inclusive)
|
|
2995
3403
|
*/
|
|
2996
|
-
|
|
3404
|
+
amountMax?: number;
|
|
3405
|
+
priority?: number;
|
|
2997
3406
|
/**
|
|
2998
|
-
*
|
|
3407
|
+
* Enable or disable the rule
|
|
2999
3408
|
*/
|
|
3000
|
-
|
|
3409
|
+
enabled?: boolean;
|
|
3410
|
+
additionalTags?: Array<unknown[]>;
|
|
3411
|
+
additionalMetadata?: {
|
|
3412
|
+
[key: string]: unknown;
|
|
3413
|
+
};
|
|
3414
|
+
};
|
|
3415
|
+
|
|
3416
|
+
export type TestRuleDto = {
|
|
3417
|
+
narration: string;
|
|
3418
|
+
payee?: string;
|
|
3419
|
+
categoryAccount?: string;
|
|
3420
|
+
amount?: number;
|
|
3421
|
+
currency?: string;
|
|
3422
|
+
};
|
|
3423
|
+
|
|
3424
|
+
export type TestRuleResponseDto = {
|
|
3001
3425
|
/**
|
|
3002
|
-
*
|
|
3426
|
+
* Rule ID that was tested
|
|
3003
3427
|
*/
|
|
3004
|
-
|
|
3428
|
+
ruleId: string;
|
|
3005
3429
|
/**
|
|
3006
|
-
*
|
|
3430
|
+
* Whether the rule matched the test data
|
|
3007
3431
|
*/
|
|
3008
|
-
|
|
3432
|
+
matches: boolean;
|
|
3009
3433
|
/**
|
|
3010
|
-
*
|
|
3434
|
+
* Match confidence score (0-1)
|
|
3011
3435
|
*/
|
|
3012
|
-
|
|
3013
|
-
};
|
|
3014
|
-
|
|
3015
|
-
/**
|
|
3016
|
-
* Color scheme
|
|
3017
|
-
*/
|
|
3018
|
-
export type colorScheme = 'DARK' | 'LIGHT';
|
|
3019
|
-
|
|
3020
|
-
/**
|
|
3021
|
-
* View mode
|
|
3022
|
-
*/
|
|
3023
|
-
export type viewMode = 'DEFAULT' | 'ZEN';
|
|
3024
|
-
|
|
3025
|
-
export type UpdatePropertyDto = {
|
|
3436
|
+
confidence: number;
|
|
3026
3437
|
/**
|
|
3027
|
-
*
|
|
3438
|
+
* Details of which fields matched
|
|
3028
3439
|
*/
|
|
3029
|
-
|
|
3440
|
+
matchDetails: {
|
|
3441
|
+
[key: string]: unknown;
|
|
3442
|
+
};
|
|
3030
3443
|
};
|
|
3031
3444
|
|
|
3032
3445
|
export type CreateBeanEventDto = {
|
|
@@ -3119,6 +3532,160 @@ export type UpdateBeanEventDto = {
|
|
|
3119
3532
|
};
|
|
3120
3533
|
};
|
|
3121
3534
|
|
|
3535
|
+
export type OnboardingAccountDto = {
|
|
3536
|
+
/**
|
|
3537
|
+
* Account path (Assets/Liabilities only; format validated by the account service)
|
|
3538
|
+
*/
|
|
3539
|
+
path: string;
|
|
3540
|
+
/**
|
|
3541
|
+
* ISO 4217 currency code (3 letters)
|
|
3542
|
+
*/
|
|
3543
|
+
currency: string;
|
|
3544
|
+
/**
|
|
3545
|
+
* Opening balance as a non-negative Decimal string (e.g. "1000.00")
|
|
3546
|
+
*/
|
|
3547
|
+
openingBalance?: string;
|
|
3548
|
+
/**
|
|
3549
|
+
* Platform ID to bind the account to (references Platform.id); omit for unbound
|
|
3550
|
+
*/
|
|
3551
|
+
platformId?: string;
|
|
3552
|
+
};
|
|
3553
|
+
|
|
3554
|
+
export type OnboardingDto = {
|
|
3555
|
+
/**
|
|
3556
|
+
* Asset/Liability accounts to register with opening balances
|
|
3557
|
+
*/
|
|
3558
|
+
accounts?: Array<OnboardingAccountDto>;
|
|
3559
|
+
/**
|
|
3560
|
+
* Skip asset registration; only bootstrap the core account set
|
|
3561
|
+
*/
|
|
3562
|
+
skipAssetRegistration?: boolean;
|
|
3563
|
+
};
|
|
3564
|
+
|
|
3565
|
+
export type ActualBalanceDto = {
|
|
3566
|
+
/**
|
|
3567
|
+
* Actual balance amount as a decimal string (preserves precision for tolerance inference).
|
|
3568
|
+
*/
|
|
3569
|
+
amount: string;
|
|
3570
|
+
/**
|
|
3571
|
+
* Currency code (ISO 4217 or commodity ticker).
|
|
3572
|
+
*/
|
|
3573
|
+
ccy: string;
|
|
3574
|
+
};
|
|
3575
|
+
|
|
3576
|
+
export type ComputeReconciliationDto = {
|
|
3577
|
+
/**
|
|
3578
|
+
* BeanAccount id to reconcile.
|
|
3579
|
+
*/
|
|
3580
|
+
accountId: string;
|
|
3581
|
+
/**
|
|
3582
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3583
|
+
*/
|
|
3584
|
+
asOfDate: string;
|
|
3585
|
+
/**
|
|
3586
|
+
* Actual balance from the external statement.
|
|
3587
|
+
*/
|
|
3588
|
+
actualBalance: ActualBalanceDto;
|
|
3589
|
+
};
|
|
3590
|
+
|
|
3591
|
+
export type ReconciliationComputeResultDto = {
|
|
3592
|
+
accountId: string;
|
|
3593
|
+
asOfDate: string;
|
|
3594
|
+
/**
|
|
3595
|
+
* System-computed book balance (decimal string).
|
|
3596
|
+
*/
|
|
3597
|
+
bookBalance: string;
|
|
3598
|
+
/**
|
|
3599
|
+
* User-entered actual balance (decimal string).
|
|
3600
|
+
*/
|
|
3601
|
+
actualBalance: string;
|
|
3602
|
+
currency: string;
|
|
3603
|
+
/**
|
|
3604
|
+
* Diff = book − actual (decimal string).
|
|
3605
|
+
*/
|
|
3606
|
+
diff: string;
|
|
3607
|
+
/**
|
|
3608
|
+
* Applied tolerance (decimal string).
|
|
3609
|
+
*/
|
|
3610
|
+
tolerance: string;
|
|
3611
|
+
/**
|
|
3612
|
+
* true when |diff| ≤ tolerance.
|
|
3613
|
+
*/
|
|
3614
|
+
withinTolerance: boolean;
|
|
3615
|
+
/**
|
|
3616
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3617
|
+
*/
|
|
3618
|
+
suggestedAction: 'assert' | 'pad';
|
|
3619
|
+
};
|
|
3620
|
+
|
|
3621
|
+
/**
|
|
3622
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3623
|
+
*/
|
|
3624
|
+
export type suggestedAction = 'assert' | 'pad';
|
|
3625
|
+
|
|
3626
|
+
export type AssertReconciliationDto = {
|
|
3627
|
+
/**
|
|
3628
|
+
* BeanAccount id to reconcile.
|
|
3629
|
+
*/
|
|
3630
|
+
accountId: string;
|
|
3631
|
+
/**
|
|
3632
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3633
|
+
*/
|
|
3634
|
+
asOfDate: string;
|
|
3635
|
+
/**
|
|
3636
|
+
* Actual balance from the external statement.
|
|
3637
|
+
*/
|
|
3638
|
+
actualBalance: ActualBalanceDto;
|
|
3639
|
+
/**
|
|
3640
|
+
* Optional explicit tolerance override. Omit to infer from amount precision (Beancount default).
|
|
3641
|
+
*/
|
|
3642
|
+
tolerance?: string;
|
|
3643
|
+
};
|
|
3644
|
+
|
|
3645
|
+
export type ReconciliationRecordDto = {
|
|
3646
|
+
id: string;
|
|
3647
|
+
accountId: string;
|
|
3648
|
+
date: string;
|
|
3649
|
+
/**
|
|
3650
|
+
* Asserted (actual) amount.
|
|
3651
|
+
*/
|
|
3652
|
+
amount: string;
|
|
3653
|
+
currency: string;
|
|
3654
|
+
tolerance?: string;
|
|
3655
|
+
/**
|
|
3656
|
+
* book − actual.
|
|
3657
|
+
*/
|
|
3658
|
+
diffAmount?: string;
|
|
3659
|
+
diffCurrency?: string;
|
|
3660
|
+
createdAt: string;
|
|
3661
|
+
};
|
|
3662
|
+
|
|
3663
|
+
export type PadReconciliationDto = {
|
|
3664
|
+
/**
|
|
3665
|
+
* BeanAccount id to reconcile.
|
|
3666
|
+
*/
|
|
3667
|
+
accountId: string;
|
|
3668
|
+
/**
|
|
3669
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3670
|
+
*/
|
|
3671
|
+
asOfDate: string;
|
|
3672
|
+
/**
|
|
3673
|
+
* Actual balance from the external statement.
|
|
3674
|
+
*/
|
|
3675
|
+
actualBalance: ActualBalanceDto;
|
|
3676
|
+
/**
|
|
3677
|
+
* Pad source account. Defaults to Equity:Opening-Balances (official Beancount convention).
|
|
3678
|
+
*/
|
|
3679
|
+
sourceAccount?: string;
|
|
3680
|
+
};
|
|
3681
|
+
|
|
3682
|
+
export type PadResultDto = {
|
|
3683
|
+
/**
|
|
3684
|
+
* Created pad adjusting transaction id.
|
|
3685
|
+
*/
|
|
3686
|
+
transactionId: string;
|
|
3687
|
+
};
|
|
3688
|
+
|
|
3122
3689
|
export type FileImportDto = {
|
|
3123
3690
|
/**
|
|
3124
3691
|
* Bill file to import (CSV, PDF, OFX, etc.)
|
|
@@ -3409,100 +3976,12 @@ export type UpdateConfigDataDto = {
|
|
|
3409
3976
|
*/
|
|
3410
3977
|
defaults?: UpdateMapperDefaultsDto;
|
|
3411
3978
|
};
|
|
3412
|
-
|
|
3413
|
-
export type UpdateImporterConfigDto = {
|
|
3414
|
-
/**
|
|
3415
|
-
* Configuration data (v1 schema)
|
|
3416
|
-
*/
|
|
3417
|
-
data?: UpdateConfigDataDto;
|
|
3418
|
-
};
|
|
3419
|
-
|
|
3420
|
-
export type CreatePlatformDto = {
|
|
3421
|
-
/**
|
|
3422
|
-
* Platform name
|
|
3423
|
-
*/
|
|
3424
|
-
name: string;
|
|
3425
|
-
/**
|
|
3426
|
-
* Platform canonical identifier (lowercase, kebab-case)
|
|
3427
|
-
*/
|
|
3428
|
-
canonical: string;
|
|
3429
|
-
/**
|
|
3430
|
-
* Platform aliases (multi-language names for lookup)
|
|
3431
|
-
*/
|
|
3432
|
-
aliases: Array<string>;
|
|
3433
|
-
/**
|
|
3434
|
-
* Platform URL
|
|
3435
|
-
*/
|
|
3436
|
-
url: string;
|
|
3437
|
-
/**
|
|
3438
|
-
* Platform type
|
|
3439
|
-
*/
|
|
3440
|
-
type:
|
|
3441
|
-
| 'BANK'
|
|
3442
|
-
| 'BROKERAGE'
|
|
3443
|
-
| 'CRYPTO_EXCHANGE'
|
|
3444
|
-
| 'PAYMENT'
|
|
3445
|
-
| 'INVESTMENT'
|
|
3446
|
-
| 'INSURANCE'
|
|
3447
|
-
| 'OTHER';
|
|
3448
|
-
/**
|
|
3449
|
-
* Platform logo URL
|
|
3450
|
-
*/
|
|
3451
|
-
logoUrl?: string;
|
|
3452
|
-
/**
|
|
3453
|
-
* Whether the platform is active
|
|
3454
|
-
*/
|
|
3455
|
-
isActive?: boolean;
|
|
3456
|
-
};
|
|
3457
|
-
|
|
3458
|
-
/**
|
|
3459
|
-
* Platform type
|
|
3460
|
-
*/
|
|
3461
|
-
export type type3 =
|
|
3462
|
-
| 'BANK'
|
|
3463
|
-
| 'BROKERAGE'
|
|
3464
|
-
| 'CRYPTO_EXCHANGE'
|
|
3465
|
-
| 'PAYMENT'
|
|
3466
|
-
| 'INVESTMENT'
|
|
3467
|
-
| 'INSURANCE'
|
|
3468
|
-
| 'OTHER';
|
|
3469
|
-
|
|
3470
|
-
export type UpdatePlatformDto = {
|
|
3471
|
-
/**
|
|
3472
|
-
* Platform name
|
|
3473
|
-
*/
|
|
3474
|
-
name?: string;
|
|
3475
|
-
/**
|
|
3476
|
-
* Platform canonical identifier (lowercase, kebab-case)
|
|
3477
|
-
*/
|
|
3478
|
-
canonical?: string;
|
|
3479
|
-
/**
|
|
3480
|
-
* Platform aliases (multi-language names for lookup)
|
|
3481
|
-
*/
|
|
3482
|
-
aliases?: Array<string>;
|
|
3483
|
-
/**
|
|
3484
|
-
* Platform URL
|
|
3485
|
-
*/
|
|
3486
|
-
url?: string;
|
|
3487
|
-
/**
|
|
3488
|
-
* Platform type
|
|
3489
|
-
*/
|
|
3490
|
-
type?:
|
|
3491
|
-
| 'BANK'
|
|
3492
|
-
| 'BROKERAGE'
|
|
3493
|
-
| 'CRYPTO_EXCHANGE'
|
|
3494
|
-
| 'PAYMENT'
|
|
3495
|
-
| 'INVESTMENT'
|
|
3496
|
-
| 'INSURANCE'
|
|
3497
|
-
| 'OTHER';
|
|
3498
|
-
/**
|
|
3499
|
-
* Platform logo URL
|
|
3500
|
-
*/
|
|
3501
|
-
logoUrl?: string;
|
|
3979
|
+
|
|
3980
|
+
export type UpdateImporterConfigDto = {
|
|
3502
3981
|
/**
|
|
3503
|
-
*
|
|
3982
|
+
* Configuration data (v1 schema)
|
|
3504
3983
|
*/
|
|
3505
|
-
|
|
3984
|
+
data?: UpdateConfigDataDto;
|
|
3506
3985
|
};
|
|
3507
3986
|
|
|
3508
3987
|
export type ProviderSyncConfigDto = {
|
|
@@ -3526,6 +4005,10 @@ export type ProviderSyncConfigDto = {
|
|
|
3526
4005
|
* Filter pending transactions
|
|
3527
4006
|
*/
|
|
3528
4007
|
filterPending?: boolean;
|
|
4008
|
+
/**
|
|
4009
|
+
* External account ID for per-batch providers (e.g. GoCardless). Overrides sourceAccount when an ExternalAccountLink mapping exists.
|
|
4010
|
+
*/
|
|
4011
|
+
externalAccountId?: string;
|
|
3529
4012
|
};
|
|
3530
4013
|
|
|
3531
4014
|
export type ProviderSyncDto = {
|
|
@@ -3581,6 +4064,61 @@ export type SupportedProvidersResponseDto = {
|
|
|
3581
4064
|
providers: Array<string>;
|
|
3582
4065
|
};
|
|
3583
4066
|
|
|
4067
|
+
export type CreateExternalAccountLinkDto = {
|
|
4068
|
+
/**
|
|
4069
|
+
* Open Banking provider (whitelist)
|
|
4070
|
+
*/
|
|
4071
|
+
provider:
|
|
4072
|
+
| 'plaid'
|
|
4073
|
+
| 'teller'
|
|
4074
|
+
| 'truelayer'
|
|
4075
|
+
| 'gocardless'
|
|
4076
|
+
| 'simplefin'
|
|
4077
|
+
| 'yodlee'
|
|
4078
|
+
| 'beancount-direct'
|
|
4079
|
+
| 'parsed-bill';
|
|
4080
|
+
/**
|
|
4081
|
+
* External account ID from the provider
|
|
4082
|
+
*/
|
|
4083
|
+
externalAccountId: string;
|
|
4084
|
+
/**
|
|
4085
|
+
* Target BeanAccount ID (must belong to the JWT user)
|
|
4086
|
+
*/
|
|
4087
|
+
beanAccountId: string;
|
|
4088
|
+
};
|
|
4089
|
+
|
|
4090
|
+
/**
|
|
4091
|
+
* Open Banking provider (whitelist)
|
|
4092
|
+
*/
|
|
4093
|
+
export type provider =
|
|
4094
|
+
| 'plaid'
|
|
4095
|
+
| 'teller'
|
|
4096
|
+
| 'truelayer'
|
|
4097
|
+
| 'gocardless'
|
|
4098
|
+
| 'simplefin'
|
|
4099
|
+
| 'yodlee'
|
|
4100
|
+
| 'beancount-direct'
|
|
4101
|
+
| 'parsed-bill';
|
|
4102
|
+
|
|
4103
|
+
export type ExternalAccountLinkResponseDto = {
|
|
4104
|
+
id: string;
|
|
4105
|
+
provider: string;
|
|
4106
|
+
externalAccountId: string;
|
|
4107
|
+
beanAccountId: string;
|
|
4108
|
+
isActive: boolean;
|
|
4109
|
+
createdAt: string;
|
|
4110
|
+
updatedAt: string;
|
|
4111
|
+
};
|
|
4112
|
+
|
|
4113
|
+
export type ExternalAccountLinkListResponseDto = {
|
|
4114
|
+
items: Array<ExternalAccountLinkResponseDto>;
|
|
4115
|
+
total: number;
|
|
4116
|
+
/**
|
|
4117
|
+
* Filter by provider (query param)
|
|
4118
|
+
*/
|
|
4119
|
+
provider?: string;
|
|
4120
|
+
};
|
|
4121
|
+
|
|
3584
4122
|
export type ParserTelemetryReportDto = unknown;
|
|
3585
4123
|
|
|
3586
4124
|
export type UncoveredFormatMissDto = unknown;
|
|
@@ -3600,6 +4138,14 @@ export type ProcessNlpDto = {
|
|
|
3600
4138
|
parsedData?: {
|
|
3601
4139
|
[key: string]: unknown;
|
|
3602
4140
|
};
|
|
4141
|
+
/**
|
|
4142
|
+
* confirm_rule echo-back: rule id selected from the prior confirm_rule response (matchedRule.id or alternatives[i].ruleId). Applied directly when the session is confirming_rule — no NL re-parse.
|
|
4143
|
+
*/
|
|
4144
|
+
selectedRuleId?: string;
|
|
4145
|
+
/**
|
|
4146
|
+
* confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.
|
|
4147
|
+
*/
|
|
4148
|
+
selectedAccount?: string;
|
|
3603
4149
|
};
|
|
3604
4150
|
|
|
3605
4151
|
export type NlpTransactionInfoDto = {
|
|
@@ -3843,9 +4389,9 @@ export type NlpAccountConfirmationDataDto = {
|
|
|
3843
4389
|
*/
|
|
3844
4390
|
invalidAccount: string;
|
|
3845
4391
|
/**
|
|
3846
|
-
* Suggested replacement account
|
|
4392
|
+
* Suggested replacement account (omitted when no clear candidate)
|
|
3847
4393
|
*/
|
|
3848
|
-
suggestedAccount
|
|
4394
|
+
suggestedAccount?: string;
|
|
3849
4395
|
/**
|
|
3850
4396
|
* Similar accounts for user selection
|
|
3851
4397
|
*/
|
|
@@ -3973,7 +4519,7 @@ export type NlpSuggestedAccountDto = {
|
|
|
3973
4519
|
*/
|
|
3974
4520
|
account: string;
|
|
3975
4521
|
/**
|
|
3976
|
-
* Confidence score for this suggestion (0-1)
|
|
4522
|
+
* Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)
|
|
3977
4523
|
*/
|
|
3978
4524
|
confidence?: number;
|
|
3979
4525
|
};
|
|
@@ -4024,7 +4570,8 @@ export type NlpResponseDto = {
|
|
|
4024
4570
|
| 'confirm_rule'
|
|
4025
4571
|
| 'confirm_account'
|
|
4026
4572
|
| 'confirm_payee'
|
|
4027
|
-
| 'cancel'
|
|
4573
|
+
| 'cancel'
|
|
4574
|
+
| 'aborted';
|
|
4028
4575
|
/**
|
|
4029
4576
|
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4030
4577
|
*/
|
|
@@ -4113,11 +4660,11 @@ export type NlpResponseDto = {
|
|
|
4113
4660
|
*/
|
|
4114
4661
|
recurringSuggestion?: RecurringSuggestionDto;
|
|
4115
4662
|
/**
|
|
4116
|
-
* Suggested accounts for this transaction.
|
|
4663
|
+
* Suggested accounts for this transaction (#586). confirm/confirm_rule/confirm_account: predicted (source/destination carry confidence); created: actual persisted accounts (confidence omitted). confirm_account destination is the suggested replacement, never the invalid account.
|
|
4117
4664
|
*/
|
|
4118
4665
|
suggestedAccounts?: NlpSuggestedAccountsDto;
|
|
4119
4666
|
/**
|
|
4120
|
-
* Default accounts for the user/region.
|
|
4667
|
+
* Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.
|
|
4121
4668
|
*/
|
|
4122
4669
|
defaultAccounts?: NlpDefaultAccountsDto;
|
|
4123
4670
|
};
|
|
@@ -4138,7 +4685,8 @@ export type action2 =
|
|
|
4138
4685
|
| 'confirm_rule'
|
|
4139
4686
|
| 'confirm_account'
|
|
4140
4687
|
| 'confirm_payee'
|
|
4141
|
-
| 'cancel'
|
|
4688
|
+
| 'cancel'
|
|
4689
|
+
| 'aborted';
|
|
4142
4690
|
|
|
4143
4691
|
/**
|
|
4144
4692
|
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
@@ -4160,15 +4708,201 @@ export type liabilitySubType = 'borrow' | 'repay';
|
|
|
4160
4708
|
*/
|
|
4161
4709
|
export type equitySubType = 'opening' | 'adjustment';
|
|
4162
4710
|
|
|
4163
|
-
export type
|
|
4711
|
+
export type PlatformListItemDto = {
|
|
4164
4712
|
/**
|
|
4165
|
-
*
|
|
4713
|
+
* Global platform ID
|
|
4166
4714
|
*/
|
|
4167
|
-
|
|
4715
|
+
id: string;
|
|
4168
4716
|
/**
|
|
4169
|
-
*
|
|
4717
|
+
* Platform name
|
|
4170
4718
|
*/
|
|
4171
|
-
|
|
4719
|
+
name: string;
|
|
4720
|
+
/**
|
|
4721
|
+
* Platform URL
|
|
4722
|
+
*/
|
|
4723
|
+
url: string;
|
|
4724
|
+
/**
|
|
4725
|
+
* Platform type
|
|
4726
|
+
*/
|
|
4727
|
+
type:
|
|
4728
|
+
| 'BANK'
|
|
4729
|
+
| 'BROKERAGE'
|
|
4730
|
+
| 'CRYPTO_EXCHANGE'
|
|
4731
|
+
| 'PAYMENT'
|
|
4732
|
+
| 'INVESTMENT'
|
|
4733
|
+
| 'INSURANCE'
|
|
4734
|
+
| 'OTHER';
|
|
4735
|
+
/**
|
|
4736
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
4737
|
+
*/
|
|
4738
|
+
canonical: string;
|
|
4739
|
+
/**
|
|
4740
|
+
* Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
|
|
4741
|
+
*/
|
|
4742
|
+
suggestedSegment: string;
|
|
4743
|
+
/**
|
|
4744
|
+
* Logo URL
|
|
4745
|
+
*/
|
|
4746
|
+
logoUrl: string | null;
|
|
4747
|
+
/**
|
|
4748
|
+
* Whether user has accounts using this platform
|
|
4749
|
+
*/
|
|
4750
|
+
isBound: boolean;
|
|
4751
|
+
};
|
|
4752
|
+
|
|
4753
|
+
/**
|
|
4754
|
+
* Platform type
|
|
4755
|
+
*/
|
|
4756
|
+
export type type3 =
|
|
4757
|
+
| 'BANK'
|
|
4758
|
+
| 'BROKERAGE'
|
|
4759
|
+
| 'CRYPTO_EXCHANGE'
|
|
4760
|
+
| 'PAYMENT'
|
|
4761
|
+
| 'INVESTMENT'
|
|
4762
|
+
| 'INSURANCE'
|
|
4763
|
+
| 'OTHER';
|
|
4764
|
+
|
|
4765
|
+
export type PlatformMatchResultDto = {
|
|
4766
|
+
/**
|
|
4767
|
+
* Global platform ID
|
|
4768
|
+
*/
|
|
4769
|
+
id: string;
|
|
4770
|
+
/**
|
|
4771
|
+
* Platform name (e.g., "ICBC")
|
|
4772
|
+
*/
|
|
4773
|
+
name: string;
|
|
4774
|
+
/**
|
|
4775
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
4776
|
+
*/
|
|
4777
|
+
canonical: string;
|
|
4778
|
+
/**
|
|
4779
|
+
* Platform type
|
|
4780
|
+
*/
|
|
4781
|
+
type:
|
|
4782
|
+
| 'BANK'
|
|
4783
|
+
| 'BROKERAGE'
|
|
4784
|
+
| 'CRYPTO_EXCHANGE'
|
|
4785
|
+
| 'PAYMENT'
|
|
4786
|
+
| 'INVESTMENT'
|
|
4787
|
+
| 'INSURANCE'
|
|
4788
|
+
| 'OTHER';
|
|
4789
|
+
/**
|
|
4790
|
+
* Suggested path segment — canonical, already in ACCOUNT_RE format
|
|
4791
|
+
*/
|
|
4792
|
+
suggestedSegment: string;
|
|
4793
|
+
/**
|
|
4794
|
+
* Logo URL
|
|
4795
|
+
*/
|
|
4796
|
+
logoUrl: string | null;
|
|
4797
|
+
/**
|
|
4798
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4799
|
+
*/
|
|
4800
|
+
matchType: 'exact' | 'prefix' | 'substring';
|
|
4801
|
+
};
|
|
4802
|
+
|
|
4803
|
+
/**
|
|
4804
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4805
|
+
*/
|
|
4806
|
+
export type matchType = 'exact' | 'prefix' | 'substring';
|
|
4807
|
+
|
|
4808
|
+
export type PlatformMatchResponseDto = {
|
|
4809
|
+
/**
|
|
4810
|
+
* Ranked matches, best tier first (at most 10 rows)
|
|
4811
|
+
*/
|
|
4812
|
+
platforms: Array<PlatformMatchResultDto>;
|
|
4813
|
+
/**
|
|
4814
|
+
* Overall match quality — top row's tier, or 'none' when no hits
|
|
4815
|
+
*/
|
|
4816
|
+
matchType: 'none' | 'exact' | 'prefix' | 'substring';
|
|
4817
|
+
/**
|
|
4818
|
+
* Total matches before LIMIT (truncation transparency)
|
|
4819
|
+
*/
|
|
4820
|
+
total: number;
|
|
4821
|
+
/**
|
|
4822
|
+
* true when total > platforms.length (more matches exist)
|
|
4823
|
+
*/
|
|
4824
|
+
hasMore: boolean;
|
|
4825
|
+
};
|
|
4826
|
+
|
|
4827
|
+
/**
|
|
4828
|
+
* Overall match quality — top row's tier, or 'none' when no hits
|
|
4829
|
+
*/
|
|
4830
|
+
export type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
|
|
4831
|
+
|
|
4832
|
+
export type CreatePlatformDto = {
|
|
4833
|
+
/**
|
|
4834
|
+
* Platform name
|
|
4835
|
+
*/
|
|
4836
|
+
name: string;
|
|
4837
|
+
/**
|
|
4838
|
+
* Platform canonical identifier (lowercase, kebab-case)
|
|
4839
|
+
*/
|
|
4840
|
+
canonical: string;
|
|
4841
|
+
/**
|
|
4842
|
+
* Platform aliases (multi-language names for lookup)
|
|
4843
|
+
*/
|
|
4844
|
+
aliases: Array<string>;
|
|
4845
|
+
/**
|
|
4846
|
+
* Platform URL
|
|
4847
|
+
*/
|
|
4848
|
+
url: string;
|
|
4849
|
+
/**
|
|
4850
|
+
* Platform type
|
|
4851
|
+
*/
|
|
4852
|
+
type:
|
|
4853
|
+
| 'BANK'
|
|
4854
|
+
| 'BROKERAGE'
|
|
4855
|
+
| 'CRYPTO_EXCHANGE'
|
|
4856
|
+
| 'PAYMENT'
|
|
4857
|
+
| 'INVESTMENT'
|
|
4858
|
+
| 'INSURANCE'
|
|
4859
|
+
| 'OTHER';
|
|
4860
|
+
/**
|
|
4861
|
+
* Platform logo URL
|
|
4862
|
+
*/
|
|
4863
|
+
logoUrl?: string;
|
|
4864
|
+
/**
|
|
4865
|
+
* Whether the platform is active
|
|
4866
|
+
*/
|
|
4867
|
+
isActive?: boolean;
|
|
4868
|
+
};
|
|
4869
|
+
|
|
4870
|
+
export type UpdatePlatformDto = {
|
|
4871
|
+
/**
|
|
4872
|
+
* Platform name
|
|
4873
|
+
*/
|
|
4874
|
+
name?: string;
|
|
4875
|
+
/**
|
|
4876
|
+
* Platform canonical identifier (lowercase, kebab-case)
|
|
4877
|
+
*/
|
|
4878
|
+
canonical?: string;
|
|
4879
|
+
/**
|
|
4880
|
+
* Platform aliases (multi-language names for lookup)
|
|
4881
|
+
*/
|
|
4882
|
+
aliases?: Array<string>;
|
|
4883
|
+
/**
|
|
4884
|
+
* Platform URL
|
|
4885
|
+
*/
|
|
4886
|
+
url?: string;
|
|
4887
|
+
/**
|
|
4888
|
+
* Platform type
|
|
4889
|
+
*/
|
|
4890
|
+
type?:
|
|
4891
|
+
| 'BANK'
|
|
4892
|
+
| 'BROKERAGE'
|
|
4893
|
+
| 'CRYPTO_EXCHANGE'
|
|
4894
|
+
| 'PAYMENT'
|
|
4895
|
+
| 'INVESTMENT'
|
|
4896
|
+
| 'INSURANCE'
|
|
4897
|
+
| 'OTHER';
|
|
4898
|
+
/**
|
|
4899
|
+
* Platform logo URL
|
|
4900
|
+
*/
|
|
4901
|
+
logoUrl?: string;
|
|
4902
|
+
/**
|
|
4903
|
+
* Whether the platform is active
|
|
4904
|
+
*/
|
|
4905
|
+
isActive?: boolean;
|
|
4172
4906
|
};
|
|
4173
4907
|
|
|
4174
4908
|
export type NetWorthByCurrencyDto = {
|
|
@@ -4211,21 +4945,6 @@ export type ConvertedNetWorthDto = {
|
|
|
4211
4945
|
};
|
|
4212
4946
|
};
|
|
4213
4947
|
|
|
4214
|
-
export type ExchangeRateWarningDto = {
|
|
4215
|
-
/**
|
|
4216
|
-
* Warning type
|
|
4217
|
-
*/
|
|
4218
|
-
type: string;
|
|
4219
|
-
/**
|
|
4220
|
-
* Currency without exchange rate
|
|
4221
|
-
*/
|
|
4222
|
-
currency: string;
|
|
4223
|
-
/**
|
|
4224
|
-
* Total amount affected
|
|
4225
|
-
*/
|
|
4226
|
-
totalAmount: string;
|
|
4227
|
-
};
|
|
4228
|
-
|
|
4229
4948
|
export type NetWorthResponseDto = {
|
|
4230
4949
|
/**
|
|
4231
4950
|
* Total net worth (assets - liabilities, converted to base currency)
|
|
@@ -4283,32 +5002,67 @@ export type AccountItemDto = {
|
|
|
4283
5002
|
*/
|
|
4284
5003
|
displayName: string;
|
|
4285
5004
|
/**
|
|
4286
|
-
* Account balance
|
|
5005
|
+
* Account balance
|
|
5006
|
+
*/
|
|
5007
|
+
balance: string;
|
|
5008
|
+
/**
|
|
5009
|
+
* Currency code
|
|
5010
|
+
*/
|
|
5011
|
+
currency: string;
|
|
5012
|
+
/**
|
|
5013
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
5014
|
+
*/
|
|
5015
|
+
convertedBalance?: string;
|
|
5016
|
+
};
|
|
5017
|
+
|
|
5018
|
+
export type PlatformGroupDto = {
|
|
5019
|
+
/**
|
|
5020
|
+
* Platform ID
|
|
5021
|
+
*/
|
|
5022
|
+
platformId: string;
|
|
5023
|
+
/**
|
|
5024
|
+
* Platform display name
|
|
5025
|
+
*/
|
|
5026
|
+
platformName: string;
|
|
5027
|
+
/**
|
|
5028
|
+
* Accounts within this platform
|
|
5029
|
+
*/
|
|
5030
|
+
accounts: Array<AccountItemDto>;
|
|
5031
|
+
/**
|
|
5032
|
+
* FX-converted total balance in base currency
|
|
5033
|
+
*/
|
|
5034
|
+
totalBalance: string;
|
|
5035
|
+
/**
|
|
5036
|
+
* Raw (unconverted) balances grouped by currency
|
|
5037
|
+
*/
|
|
5038
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
5039
|
+
/**
|
|
5040
|
+
* Converted balance in base currency (omitted when no currency is convertible)
|
|
4287
5041
|
*/
|
|
4288
|
-
|
|
5042
|
+
convertedBalance?: string;
|
|
4289
5043
|
/**
|
|
4290
|
-
*
|
|
5044
|
+
* Share of the grand converted total (0-100); 0 when grand total is 0
|
|
4291
5045
|
*/
|
|
4292
|
-
|
|
5046
|
+
sharePct: number;
|
|
4293
5047
|
};
|
|
4294
5048
|
|
|
4295
|
-
export type
|
|
5049
|
+
export type AccountExchangeRateWarningDto = {
|
|
4296
5050
|
/**
|
|
4297
|
-
*
|
|
5051
|
+
* Warning type
|
|
4298
5052
|
*/
|
|
4299
|
-
|
|
5053
|
+
type: string;
|
|
4300
5054
|
/**
|
|
4301
|
-
*
|
|
5055
|
+
* Currency without exchange rate
|
|
4302
5056
|
*/
|
|
4303
|
-
|
|
5057
|
+
currency: string;
|
|
4304
5058
|
/**
|
|
4305
|
-
*
|
|
5059
|
+
* Affected account paths
|
|
4306
5060
|
*/
|
|
4307
|
-
accounts: Array<
|
|
5061
|
+
accounts: Array<string>;
|
|
4308
5062
|
/**
|
|
4309
|
-
* Total
|
|
5063
|
+
* Total amount in this currency
|
|
4310
5064
|
*/
|
|
4311
|
-
|
|
5065
|
+
totalAmount: string;
|
|
4312
5066
|
};
|
|
4313
5067
|
|
|
4314
5068
|
export type AccountsSummaryDto = {
|
|
@@ -4320,6 +5074,14 @@ export type AccountsSummaryDto = {
|
|
|
4320
5074
|
* Total number of platforms
|
|
4321
5075
|
*/
|
|
4322
5076
|
totalPlatforms: number;
|
|
5077
|
+
/**
|
|
5078
|
+
* Base currency for conversion
|
|
5079
|
+
*/
|
|
5080
|
+
baseCurrency: string;
|
|
5081
|
+
/**
|
|
5082
|
+
* Per-account exchange rate warnings
|
|
5083
|
+
*/
|
|
5084
|
+
warnings?: Array<AccountExchangeRateWarningDto>;
|
|
4323
5085
|
};
|
|
4324
5086
|
|
|
4325
5087
|
export type AccountsResponseDto = {
|
|
@@ -4354,6 +5116,10 @@ export type AccountItemWithAssetClassDto = {
|
|
|
4354
5116
|
* Currency code
|
|
4355
5117
|
*/
|
|
4356
5118
|
currency: string;
|
|
5119
|
+
/**
|
|
5120
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
5121
|
+
*/
|
|
5122
|
+
convertedBalance?: string;
|
|
4357
5123
|
/**
|
|
4358
5124
|
* Asset class
|
|
4359
5125
|
*/
|
|
@@ -4435,25 +5201,6 @@ export type assetClass =
|
|
|
4435
5201
|
| 'REAL_ESTATE'
|
|
4436
5202
|
| 'INDEX';
|
|
4437
5203
|
|
|
4438
|
-
export type AccountExchangeRateWarningDto = {
|
|
4439
|
-
/**
|
|
4440
|
-
* Warning type
|
|
4441
|
-
*/
|
|
4442
|
-
type: string;
|
|
4443
|
-
/**
|
|
4444
|
-
* Currency without exchange rate
|
|
4445
|
-
*/
|
|
4446
|
-
currency: string;
|
|
4447
|
-
/**
|
|
4448
|
-
* Affected account paths
|
|
4449
|
-
*/
|
|
4450
|
-
accounts: Array<string>;
|
|
4451
|
-
/**
|
|
4452
|
-
* Total amount in this currency
|
|
4453
|
-
*/
|
|
4454
|
-
totalAmount: string;
|
|
4455
|
-
};
|
|
4456
|
-
|
|
4457
5204
|
export type AssetClassSummaryDto = {
|
|
4458
5205
|
/**
|
|
4459
5206
|
* Total number of accounts
|
|
@@ -4619,6 +5366,63 @@ export type CashFlowResponseDto = {
|
|
|
4619
5366
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4620
5367
|
};
|
|
4621
5368
|
|
|
5369
|
+
export type CategoryGroupDto = {
|
|
5370
|
+
/**
|
|
5371
|
+
* Functional category (account-path Group segment); regional and universal account paths merge under it
|
|
5372
|
+
*/
|
|
5373
|
+
category: string;
|
|
5374
|
+
/**
|
|
5375
|
+
* Converted total for this category in base currency (expense amount when flow=expense, income amount when flow=income)
|
|
5376
|
+
*/
|
|
5377
|
+
totalExpense: string;
|
|
5378
|
+
/**
|
|
5379
|
+
* Share of grand total (0-100); 0 when grand total is 0
|
|
5380
|
+
*/
|
|
5381
|
+
sharePct: number;
|
|
5382
|
+
/**
|
|
5383
|
+
* Raw (unconverted) expense per currency
|
|
5384
|
+
*/
|
|
5385
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
5386
|
+
/**
|
|
5387
|
+
* Converted total in base currency (omitted when FX missing for all currencies in this category)
|
|
5388
|
+
*/
|
|
5389
|
+
convertedBalance?: string;
|
|
5390
|
+
};
|
|
5391
|
+
|
|
5392
|
+
export type ExpensesByCategorySummaryDto = {
|
|
5393
|
+
/**
|
|
5394
|
+
* Total across all categories, converted (convertible categories only); expense totals when flow=expense, income totals when flow=income
|
|
5395
|
+
*/
|
|
5396
|
+
totalExpense: string;
|
|
5397
|
+
/**
|
|
5398
|
+
* Number of categories
|
|
5399
|
+
*/
|
|
5400
|
+
categoryCount: number;
|
|
5401
|
+
};
|
|
5402
|
+
|
|
5403
|
+
export type ExpensesByCategoryResponseDto = {
|
|
5404
|
+
/**
|
|
5405
|
+
* Period requested
|
|
5406
|
+
*/
|
|
5407
|
+
period: string;
|
|
5408
|
+
/**
|
|
5409
|
+
* Base currency for converted values
|
|
5410
|
+
*/
|
|
5411
|
+
baseCurrency: string;
|
|
5412
|
+
/**
|
|
5413
|
+
* Expense groups by functional category, sorted by converted total desc
|
|
5414
|
+
*/
|
|
5415
|
+
groups: Array<CategoryGroupDto>;
|
|
5416
|
+
/**
|
|
5417
|
+
* Summary statistics
|
|
5418
|
+
*/
|
|
5419
|
+
summary: ExpensesByCategorySummaryDto;
|
|
5420
|
+
/**
|
|
5421
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
5422
|
+
*/
|
|
5423
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
5424
|
+
};
|
|
5425
|
+
|
|
4622
5426
|
export type MonetaryDto = {
|
|
4623
5427
|
/**
|
|
4624
5428
|
* Amount (Decimal string)
|
|
@@ -4814,214 +5618,146 @@ export type HoldingPnlResponseDto = {
|
|
|
4814
5618
|
*/
|
|
4815
5619
|
export type method = 'average' | 'FIFO';
|
|
4816
5620
|
|
|
4817
|
-
export type
|
|
4818
|
-
/**
|
|
4819
|
-
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4820
|
-
*/
|
|
4821
|
-
currency: string;
|
|
4822
|
-
/**
|
|
4823
|
-
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
4824
|
-
*/
|
|
4825
|
-
quoteCurrency: string;
|
|
4826
|
-
/**
|
|
4827
|
-
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
4828
|
-
*/
|
|
4829
|
-
amount: number;
|
|
4830
|
-
/**
|
|
4831
|
-
* Price date (ISO 8601 format)
|
|
4832
|
-
*/
|
|
4833
|
-
date: string;
|
|
4834
|
-
/**
|
|
4835
|
-
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
4836
|
-
*/
|
|
4837
|
-
metadata?: {
|
|
4838
|
-
[key: string]: unknown;
|
|
4839
|
-
};
|
|
4840
|
-
};
|
|
4841
|
-
|
|
4842
|
-
export type PriceResponseDto = {
|
|
4843
|
-
/**
|
|
4844
|
-
* Unique identifier
|
|
4845
|
-
*/
|
|
4846
|
-
id: string;
|
|
4847
|
-
/**
|
|
4848
|
-
* User ID (owner of the price)
|
|
4849
|
-
*/
|
|
4850
|
-
userId: string;
|
|
4851
|
-
/**
|
|
4852
|
-
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4853
|
-
*/
|
|
4854
|
-
currency: string;
|
|
4855
|
-
/**
|
|
4856
|
-
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
4857
|
-
*/
|
|
4858
|
-
quoteCurrency: string;
|
|
4859
|
-
/**
|
|
4860
|
-
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
4861
|
-
*/
|
|
4862
|
-
amount: number;
|
|
4863
|
-
/**
|
|
4864
|
-
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
4865
|
-
*/
|
|
4866
|
-
date: string;
|
|
4867
|
-
/**
|
|
4868
|
-
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
4869
|
-
*/
|
|
4870
|
-
meta: {
|
|
4871
|
-
[key: string]: unknown;
|
|
4872
|
-
};
|
|
4873
|
-
/**
|
|
4874
|
-
* Creation timestamp
|
|
4875
|
-
*/
|
|
4876
|
-
createdAt: string;
|
|
5621
|
+
export type AnonymousLoginDto = {
|
|
4877
5622
|
/**
|
|
4878
|
-
*
|
|
5623
|
+
* Access token for anonymous login
|
|
4879
5624
|
*/
|
|
4880
|
-
|
|
5625
|
+
accessToken: string;
|
|
4881
5626
|
};
|
|
4882
5627
|
|
|
4883
|
-
export type
|
|
4884
|
-
/**
|
|
4885
|
-
* List of prices
|
|
4886
|
-
*/
|
|
4887
|
-
items: Array<PriceResponseDto>;
|
|
5628
|
+
export type AnonymousLoginResponseDto = {
|
|
4888
5629
|
/**
|
|
4889
|
-
*
|
|
5630
|
+
* JWT auth token
|
|
4890
5631
|
*/
|
|
4891
|
-
|
|
5632
|
+
authToken: string;
|
|
4892
5633
|
};
|
|
4893
5634
|
|
|
4894
|
-
export type
|
|
4895
|
-
|
|
4896
|
-
|
|
4897
|
-
*/
|
|
4898
|
-
currency?: string;
|
|
4899
|
-
/**
|
|
4900
|
-
* Quote currency (pricing currency)
|
|
4901
|
-
*/
|
|
4902
|
-
quoteCurrency?: string;
|
|
4903
|
-
/**
|
|
4904
|
-
* Price amount (MUST be >= 0 per Beancount spec)
|
|
4905
|
-
*/
|
|
4906
|
-
amount?: number;
|
|
4907
|
-
/**
|
|
4908
|
-
* Price date (ISO 8601 format)
|
|
4909
|
-
*/
|
|
4910
|
-
date?: string;
|
|
4911
|
-
/**
|
|
4912
|
-
* Metadata
|
|
4913
|
-
*/
|
|
4914
|
-
metadata?: {
|
|
5635
|
+
export type SymbolSearchResultDto = {
|
|
5636
|
+
symbol: string;
|
|
5637
|
+
name?: {
|
|
4915
5638
|
[key: string]: unknown;
|
|
4916
|
-
};
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
/**
|
|
4921
|
-
* ISO 4217 currency code
|
|
4922
|
-
*/
|
|
4923
|
-
currency: string;
|
|
4924
|
-
/**
|
|
4925
|
-
* Balance amount
|
|
4926
|
-
*/
|
|
4927
|
-
balance: string;
|
|
4928
|
-
};
|
|
4929
|
-
|
|
4930
|
-
export type TimeSeriesPointDto = {
|
|
5639
|
+
} | null;
|
|
5640
|
+
exchange?: {
|
|
5641
|
+
[key: string]: unknown;
|
|
5642
|
+
} | null;
|
|
4931
5643
|
/**
|
|
4932
|
-
*
|
|
5644
|
+
* OpenBB asset_type (e.g. stock, etf)
|
|
4933
5645
|
*/
|
|
4934
|
-
|
|
5646
|
+
assetType?: {
|
|
5647
|
+
[key: string]: unknown;
|
|
5648
|
+
} | null;
|
|
4935
5649
|
/**
|
|
4936
|
-
*
|
|
5650
|
+
* IGN asset class (region.types.ts ASSET_CLASSES)
|
|
4937
5651
|
*/
|
|
4938
|
-
|
|
5652
|
+
assetClass?: {
|
|
5653
|
+
[key: string]: unknown;
|
|
5654
|
+
} | null;
|
|
4939
5655
|
/**
|
|
4940
|
-
*
|
|
5656
|
+
* IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
|
|
4941
5657
|
*/
|
|
4942
|
-
|
|
5658
|
+
assetSubClass?: {
|
|
4943
5659
|
[key: string]: unknown;
|
|
4944
|
-
};
|
|
5660
|
+
} | null;
|
|
4945
5661
|
/**
|
|
4946
|
-
*
|
|
5662
|
+
* Trading currency (extra_data or inferred from exchange)
|
|
4947
5663
|
*/
|
|
4948
|
-
|
|
5664
|
+
currency?: {
|
|
5665
|
+
[key: string]: unknown;
|
|
5666
|
+
} | null;
|
|
4949
5667
|
};
|
|
4950
5668
|
|
|
4951
|
-
export type
|
|
5669
|
+
export type SymbolQuoteDto = {
|
|
5670
|
+
symbol?: string;
|
|
5671
|
+
name?: {
|
|
5672
|
+
[key: string]: unknown;
|
|
5673
|
+
} | null;
|
|
5674
|
+
exchange?: {
|
|
5675
|
+
[key: string]: unknown;
|
|
5676
|
+
} | null;
|
|
4952
5677
|
/**
|
|
4953
|
-
*
|
|
5678
|
+
* OpenBB asset_type
|
|
4954
5679
|
*/
|
|
4955
|
-
|
|
5680
|
+
assetType?: {
|
|
5681
|
+
[key: string]: unknown;
|
|
5682
|
+
} | null;
|
|
4956
5683
|
/**
|
|
4957
|
-
*
|
|
5684
|
+
* IGN asset class
|
|
4958
5685
|
*/
|
|
4959
|
-
|
|
5686
|
+
assetClass?: {
|
|
5687
|
+
[key: string]: unknown;
|
|
5688
|
+
} | null;
|
|
4960
5689
|
/**
|
|
4961
|
-
*
|
|
5690
|
+
* IGN asset sub-class
|
|
4962
5691
|
*/
|
|
4963
|
-
|
|
5692
|
+
assetSubClass?: {
|
|
5693
|
+
[key: string]: unknown;
|
|
5694
|
+
} | null;
|
|
4964
5695
|
/**
|
|
4965
|
-
*
|
|
5696
|
+
* Trading currency (extra_data or inferred from exchange)
|
|
4966
5697
|
*/
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
export type MultiCurrencyPointDto = {
|
|
5698
|
+
currency?: {
|
|
5699
|
+
[key: string]: unknown;
|
|
5700
|
+
} | null;
|
|
4971
5701
|
/**
|
|
4972
|
-
*
|
|
5702
|
+
* Latest price (Decimal string)
|
|
4973
5703
|
*/
|
|
4974
|
-
|
|
5704
|
+
price?: {
|
|
5705
|
+
[key: string]: unknown;
|
|
5706
|
+
} | null;
|
|
4975
5707
|
/**
|
|
4976
|
-
*
|
|
5708
|
+
* Date the price was observed (ISO yyyy-MM-dd)
|
|
4977
5709
|
*/
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
export type PortfolioTrendsResponseDto = {
|
|
5710
|
+
priceDate?: {
|
|
5711
|
+
[key: string]: unknown;
|
|
5712
|
+
} | null;
|
|
4982
5713
|
/**
|
|
4983
|
-
*
|
|
5714
|
+
* Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.
|
|
4984
5715
|
*/
|
|
4985
|
-
|
|
5716
|
+
changePercent?: {
|
|
5717
|
+
[key: string]: unknown;
|
|
5718
|
+
} | null;
|
|
4986
5719
|
/**
|
|
4987
|
-
*
|
|
5720
|
+
* Previous close (Decimal string)
|
|
4988
5721
|
*/
|
|
4989
|
-
|
|
5722
|
+
prevClose?: {
|
|
5723
|
+
[key: string]: unknown;
|
|
5724
|
+
} | null;
|
|
4990
5725
|
/**
|
|
4991
|
-
*
|
|
5726
|
+
* Day open (Decimal string)
|
|
4992
5727
|
*/
|
|
4993
|
-
|
|
5728
|
+
open?: {
|
|
5729
|
+
[key: string]: unknown;
|
|
5730
|
+
} | null;
|
|
4994
5731
|
/**
|
|
4995
|
-
*
|
|
5732
|
+
* Day high (Decimal string)
|
|
4996
5733
|
*/
|
|
4997
|
-
|
|
5734
|
+
high?: {
|
|
5735
|
+
[key: string]: unknown;
|
|
5736
|
+
} | null;
|
|
4998
5737
|
/**
|
|
4999
|
-
*
|
|
5738
|
+
* Day low (Decimal string)
|
|
5000
5739
|
*/
|
|
5001
|
-
|
|
5740
|
+
low?: {
|
|
5741
|
+
[key: string]: unknown;
|
|
5742
|
+
} | null;
|
|
5002
5743
|
/**
|
|
5003
|
-
*
|
|
5744
|
+
* Day volume (Decimal string)
|
|
5004
5745
|
*/
|
|
5005
|
-
|
|
5746
|
+
volume?: {
|
|
5747
|
+
[key: string]: unknown;
|
|
5748
|
+
} | null;
|
|
5006
5749
|
/**
|
|
5007
|
-
*
|
|
5750
|
+
* 52-week high (Decimal string)
|
|
5008
5751
|
*/
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
5012
|
-
export type GenerateSnapshotBody = unknown;
|
|
5013
|
-
|
|
5014
|
-
export type GenerateSnapshotResponse = unknown;
|
|
5015
|
-
|
|
5016
|
-
export type BackfillSnapshotsBody = unknown;
|
|
5017
|
-
|
|
5018
|
-
export type BackfillSnapshotsResponse = unknown;
|
|
5019
|
-
|
|
5020
|
-
export type AnonymousLoginDto = {
|
|
5752
|
+
yearHigh?: {
|
|
5753
|
+
[key: string]: unknown;
|
|
5754
|
+
} | null;
|
|
5021
5755
|
/**
|
|
5022
|
-
*
|
|
5756
|
+
* 52-week low (Decimal string)
|
|
5023
5757
|
*/
|
|
5024
|
-
|
|
5758
|
+
yearLow?: {
|
|
5759
|
+
[key: string]: unknown;
|
|
5760
|
+
} | null;
|
|
5025
5761
|
};
|
|
5026
5762
|
|
|
5027
5763
|
export type AccountControllerCreateData = {
|
|
@@ -5052,7 +5788,7 @@ export type AccountControllerFindAllData = {
|
|
|
5052
5788
|
*/
|
|
5053
5789
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5054
5790
|
/**
|
|
5055
|
-
* Search term for path
|
|
5791
|
+
* Search term for account path
|
|
5056
5792
|
*/
|
|
5057
5793
|
search?: string;
|
|
5058
5794
|
/**
|
|
@@ -5135,6 +5871,21 @@ export type AccountControllerReopenData = {
|
|
|
5135
5871
|
|
|
5136
5872
|
export type AccountControllerReopenResponse = AccountResponseDto;
|
|
5137
5873
|
|
|
5874
|
+
export type AccountControllerAddOpeningBalanceData = {
|
|
5875
|
+
/**
|
|
5876
|
+
* Account UUID
|
|
5877
|
+
*/
|
|
5878
|
+
id: string;
|
|
5879
|
+
/**
|
|
5880
|
+
* Region code for tenant context
|
|
5881
|
+
*/
|
|
5882
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5883
|
+
requestBody: CreateOpeningBalanceDto;
|
|
5884
|
+
};
|
|
5885
|
+
|
|
5886
|
+
export type AccountControllerAddOpeningBalanceResponse =
|
|
5887
|
+
OpeningBalanceResultDto;
|
|
5888
|
+
|
|
5138
5889
|
export type AccountStandardsControllerGetTemplatesData = {
|
|
5139
5890
|
/**
|
|
5140
5891
|
* Region code (cn, us, de)
|
|
@@ -5195,6 +5946,10 @@ export type TransactionControllerListData = {
|
|
|
5195
5946
|
* Filter by account ID (transactions with postings to this account)
|
|
5196
5947
|
*/
|
|
5197
5948
|
accountId?: string;
|
|
5949
|
+
/**
|
|
5950
|
+
* Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
|
|
5951
|
+
*/
|
|
5952
|
+
category?: string;
|
|
5198
5953
|
/**
|
|
5199
5954
|
* Filter by start date (inclusive), format: YYYY-MM-DD
|
|
5200
5955
|
*/
|
|
@@ -5319,7 +6074,7 @@ export type TransactionControllerDeleteResponse = void;
|
|
|
5319
6074
|
|
|
5320
6075
|
export type BalanceControllerGetBalanceData = {
|
|
5321
6076
|
/**
|
|
5322
|
-
* Account name (e.g., "Assets:
|
|
6077
|
+
* Account name (e.g., "Assets:Checking")
|
|
5323
6078
|
*/
|
|
5324
6079
|
account: string;
|
|
5325
6080
|
/**
|
|
@@ -5721,6 +6476,103 @@ export type CommodityControllerBulkCreateData = {
|
|
|
5721
6476
|
|
|
5722
6477
|
export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
|
|
5723
6478
|
|
|
6479
|
+
export type PriceControllerCreateData = {
|
|
6480
|
+
/**
|
|
6481
|
+
* Region code for tenant context
|
|
6482
|
+
*/
|
|
6483
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6484
|
+
requestBody: CreateBeanPriceDto;
|
|
6485
|
+
};
|
|
6486
|
+
|
|
6487
|
+
export type PriceControllerCreateResponse = PriceResponseDto;
|
|
6488
|
+
|
|
6489
|
+
export type PriceControllerFindAllData = {
|
|
6490
|
+
/**
|
|
6491
|
+
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6492
|
+
*/
|
|
6493
|
+
currency?: string;
|
|
6494
|
+
/**
|
|
6495
|
+
* Filter prices from this date (ISO 8601 format)
|
|
6496
|
+
*/
|
|
6497
|
+
dateFrom?: string;
|
|
6498
|
+
/**
|
|
6499
|
+
* Filter prices to this date (ISO 8601 format)
|
|
6500
|
+
*/
|
|
6501
|
+
dateTo?: string;
|
|
6502
|
+
/**
|
|
6503
|
+
* Number of items per page (default: 20, max: 100)
|
|
6504
|
+
*/
|
|
6505
|
+
limit?: number;
|
|
6506
|
+
/**
|
|
6507
|
+
* Page number for pagination (default: 1)
|
|
6508
|
+
*/
|
|
6509
|
+
page?: number;
|
|
6510
|
+
/**
|
|
6511
|
+
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
6512
|
+
*/
|
|
6513
|
+
quoteCurrency?: string;
|
|
6514
|
+
/**
|
|
6515
|
+
* Region code for tenant context
|
|
6516
|
+
*/
|
|
6517
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6518
|
+
/**
|
|
6519
|
+
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
6520
|
+
*/
|
|
6521
|
+
search?: string;
|
|
6522
|
+
};
|
|
6523
|
+
|
|
6524
|
+
export type PriceControllerFindAllResponse = PriceListResponseDto;
|
|
6525
|
+
|
|
6526
|
+
export type PriceControllerFindOneData = {
|
|
6527
|
+
/**
|
|
6528
|
+
* Price ID
|
|
6529
|
+
*/
|
|
6530
|
+
id: string;
|
|
6531
|
+
/**
|
|
6532
|
+
* Region code for tenant context
|
|
6533
|
+
*/
|
|
6534
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6535
|
+
};
|
|
6536
|
+
|
|
6537
|
+
export type PriceControllerFindOneResponse = PriceResponseDto;
|
|
6538
|
+
|
|
6539
|
+
export type PriceControllerUpdateData = {
|
|
6540
|
+
/**
|
|
6541
|
+
* Price ID
|
|
6542
|
+
*/
|
|
6543
|
+
id: string;
|
|
6544
|
+
/**
|
|
6545
|
+
* Region code for tenant context
|
|
6546
|
+
*/
|
|
6547
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6548
|
+
requestBody: UpdateBeanPriceDto;
|
|
6549
|
+
};
|
|
6550
|
+
|
|
6551
|
+
export type PriceControllerUpdateResponse = PriceResponseDto;
|
|
6552
|
+
|
|
6553
|
+
export type PriceControllerDeleteData = {
|
|
6554
|
+
/**
|
|
6555
|
+
* Price ID
|
|
6556
|
+
*/
|
|
6557
|
+
id: string;
|
|
6558
|
+
/**
|
|
6559
|
+
* Region code for tenant context
|
|
6560
|
+
*/
|
|
6561
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6562
|
+
};
|
|
6563
|
+
|
|
6564
|
+
export type PriceControllerDeleteResponse = void;
|
|
6565
|
+
|
|
6566
|
+
export type PriceControllerBulkCreateData = {
|
|
6567
|
+
/**
|
|
6568
|
+
* Region code for tenant context
|
|
6569
|
+
*/
|
|
6570
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6571
|
+
requestBody: Array<string>;
|
|
6572
|
+
};
|
|
6573
|
+
|
|
6574
|
+
export type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
|
|
6575
|
+
|
|
5724
6576
|
export type RecurringRuleControllerCreateData = {
|
|
5725
6577
|
/**
|
|
5726
6578
|
* Region code for tenant context
|
|
@@ -5869,90 +6721,238 @@ export type ExpectedTransactionControllerFindOneData = {
|
|
|
5869
6721
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5870
6722
|
};
|
|
5871
6723
|
|
|
5872
|
-
export type ExpectedTransactionControllerFindOneResponse =
|
|
5873
|
-
ExpectedTransactionResponseDto;
|
|
6724
|
+
export type ExpectedTransactionControllerFindOneResponse =
|
|
6725
|
+
ExpectedTransactionResponseDto;
|
|
6726
|
+
|
|
6727
|
+
export type ExpectedTransactionControllerSkipData = {
|
|
6728
|
+
/**
|
|
6729
|
+
* Expected transaction ID
|
|
6730
|
+
*/
|
|
6731
|
+
id: string;
|
|
6732
|
+
/**
|
|
6733
|
+
* Region code for tenant context
|
|
6734
|
+
*/
|
|
6735
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6736
|
+
};
|
|
6737
|
+
|
|
6738
|
+
export type ExpectedTransactionControllerSkipResponse =
|
|
6739
|
+
ExpectedTransactionResponseDto;
|
|
6740
|
+
|
|
6741
|
+
export type ExpectedTransactionControllerUndoSkipData = {
|
|
6742
|
+
/**
|
|
6743
|
+
* Expected transaction ID
|
|
6744
|
+
*/
|
|
6745
|
+
id: string;
|
|
6746
|
+
/**
|
|
6747
|
+
* Region code for tenant context
|
|
6748
|
+
*/
|
|
6749
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6750
|
+
};
|
|
6751
|
+
|
|
6752
|
+
export type ExpectedTransactionControllerUndoSkipResponse =
|
|
6753
|
+
ExpectedTransactionResponseDto;
|
|
6754
|
+
|
|
6755
|
+
export type ExpectedTransactionControllerConfirmMatchData = {
|
|
6756
|
+
/**
|
|
6757
|
+
* Expected transaction ID
|
|
6758
|
+
*/
|
|
6759
|
+
id: string;
|
|
6760
|
+
/**
|
|
6761
|
+
* Region code for tenant context
|
|
6762
|
+
*/
|
|
6763
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6764
|
+
requestBody: ConfirmMatchDto;
|
|
6765
|
+
};
|
|
6766
|
+
|
|
6767
|
+
export type ExpectedTransactionControllerConfirmMatchResponse = unknown;
|
|
6768
|
+
|
|
6769
|
+
export type ExpectedTransactionControllerUnmatchData = {
|
|
6770
|
+
/**
|
|
6771
|
+
* Expected transaction ID
|
|
6772
|
+
*/
|
|
6773
|
+
id: string;
|
|
6774
|
+
/**
|
|
6775
|
+
* Region code for tenant context
|
|
6776
|
+
*/
|
|
6777
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6778
|
+
};
|
|
6779
|
+
|
|
6780
|
+
export type ExpectedTransactionControllerUnmatchResponse = unknown;
|
|
6781
|
+
|
|
6782
|
+
export type ExpectedTransactionControllerEnterNowData = {
|
|
6783
|
+
/**
|
|
6784
|
+
* Expected transaction ID
|
|
6785
|
+
*/
|
|
6786
|
+
id: string;
|
|
6787
|
+
/**
|
|
6788
|
+
* Region code for tenant context
|
|
6789
|
+
*/
|
|
6790
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6791
|
+
requestBody: EnterNowDto;
|
|
6792
|
+
};
|
|
6793
|
+
|
|
6794
|
+
export type ExpectedTransactionControllerEnterNowResponse = unknown;
|
|
6795
|
+
|
|
6796
|
+
export type ForecastControllerGetForecastData = {
|
|
6797
|
+
/**
|
|
6798
|
+
* Number of months to forecast (1-12, default 3)
|
|
6799
|
+
*/
|
|
6800
|
+
months?: number;
|
|
6801
|
+
/**
|
|
6802
|
+
* Region code for tenant context
|
|
6803
|
+
*/
|
|
6804
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6805
|
+
};
|
|
6806
|
+
|
|
6807
|
+
export type ForecastControllerGetForecastResponse = ForecastResponseDto;
|
|
6808
|
+
|
|
6809
|
+
export type ReportingControllerGetPortfolioTrendsData = {
|
|
6810
|
+
/**
|
|
6811
|
+
* Data granularity
|
|
6812
|
+
*/
|
|
6813
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6814
|
+
/**
|
|
6815
|
+
* Time period
|
|
6816
|
+
*/
|
|
6817
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
6818
|
+
/**
|
|
6819
|
+
* Region code for tenant context
|
|
6820
|
+
*/
|
|
6821
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6822
|
+
};
|
|
6823
|
+
|
|
6824
|
+
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
6825
|
+
PortfolioTrendsResponseDto;
|
|
5874
6826
|
|
|
5875
|
-
export type
|
|
6827
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
5876
6828
|
/**
|
|
5877
|
-
*
|
|
6829
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
5878
6830
|
*/
|
|
5879
|
-
|
|
6831
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6832
|
+
/**
|
|
6833
|
+
* Time period
|
|
6834
|
+
*/
|
|
6835
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
5880
6836
|
/**
|
|
5881
6837
|
* Region code for tenant context
|
|
5882
6838
|
*/
|
|
5883
6839
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5884
6840
|
};
|
|
5885
6841
|
|
|
5886
|
-
export type
|
|
5887
|
-
|
|
6842
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
6843
|
+
CashFlowTrendsResponseDto;
|
|
5888
6844
|
|
|
5889
|
-
export type
|
|
5890
|
-
/**
|
|
5891
|
-
* Expected transaction ID
|
|
5892
|
-
*/
|
|
5893
|
-
id: string;
|
|
6845
|
+
export type ReportingControllerGenerateSnapshotData = {
|
|
5894
6846
|
/**
|
|
5895
6847
|
* Region code for tenant context
|
|
5896
6848
|
*/
|
|
5897
6849
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6850
|
+
/**
|
|
6851
|
+
* Optional date (defaults to today)
|
|
6852
|
+
*/
|
|
6853
|
+
requestBody: GenerateSnapshotBody;
|
|
5898
6854
|
};
|
|
5899
6855
|
|
|
5900
|
-
export type
|
|
5901
|
-
|
|
6856
|
+
export type ReportingControllerGenerateSnapshotResponse =
|
|
6857
|
+
GenerateSnapshotResponse;
|
|
5902
6858
|
|
|
5903
|
-
export type
|
|
5904
|
-
/**
|
|
5905
|
-
* Expected transaction ID
|
|
5906
|
-
*/
|
|
5907
|
-
id: string;
|
|
6859
|
+
export type ReportingControllerBackfillSnapshotsData = {
|
|
5908
6860
|
/**
|
|
5909
6861
|
* Region code for tenant context
|
|
5910
6862
|
*/
|
|
5911
6863
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5912
|
-
requestBody:
|
|
6864
|
+
requestBody: BackfillSnapshotsBody;
|
|
5913
6865
|
};
|
|
5914
6866
|
|
|
5915
|
-
export type
|
|
6867
|
+
export type ReportingControllerBackfillSnapshotsResponse =
|
|
6868
|
+
BackfillSnapshotsResponse;
|
|
5916
6869
|
|
|
5917
|
-
export type
|
|
6870
|
+
export type UserControllerDeleteOwnUserData = {
|
|
6871
|
+
requestBody: DeleteOwnUserDto;
|
|
6872
|
+
};
|
|
6873
|
+
|
|
6874
|
+
export type UserControllerDeleteOwnUserResponse = void;
|
|
6875
|
+
|
|
6876
|
+
export type UserControllerGetUserData = {
|
|
6877
|
+
acceptLanguage: string;
|
|
6878
|
+
};
|
|
6879
|
+
|
|
6880
|
+
export type UserControllerGetUserResponse = unknown;
|
|
6881
|
+
|
|
6882
|
+
export type UserControllerSignupUserData = {
|
|
6883
|
+
requestBody: SignupDto;
|
|
6884
|
+
};
|
|
6885
|
+
|
|
6886
|
+
export type UserControllerSignupUserResponse = SignupResponseDto;
|
|
6887
|
+
|
|
6888
|
+
export type UserControllerDeleteUserData = {
|
|
5918
6889
|
/**
|
|
5919
|
-
*
|
|
6890
|
+
* User ID to delete
|
|
5920
6891
|
*/
|
|
5921
6892
|
id: string;
|
|
6893
|
+
};
|
|
6894
|
+
|
|
6895
|
+
export type UserControllerDeleteUserResponse = void;
|
|
6896
|
+
|
|
6897
|
+
export type UserControllerGetUserInfoData = {
|
|
5922
6898
|
/**
|
|
5923
|
-
*
|
|
6899
|
+
* User ID
|
|
5924
6900
|
*/
|
|
5925
|
-
|
|
6901
|
+
id: string;
|
|
5926
6902
|
};
|
|
5927
6903
|
|
|
5928
|
-
export type
|
|
6904
|
+
export type UserControllerGetUserInfoResponse = unknown;
|
|
5929
6905
|
|
|
5930
|
-
export type
|
|
6906
|
+
export type UserControllerUpdateUserSettingData = {
|
|
6907
|
+
requestBody: UpdateUserSettingDto;
|
|
6908
|
+
};
|
|
6909
|
+
|
|
6910
|
+
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
6911
|
+
|
|
6912
|
+
export type UserControllerGetAllUserSettingsByPageData = {
|
|
5931
6913
|
/**
|
|
5932
|
-
*
|
|
6914
|
+
* Page number
|
|
5933
6915
|
*/
|
|
5934
|
-
|
|
6916
|
+
pageNo: number;
|
|
5935
6917
|
/**
|
|
5936
|
-
*
|
|
6918
|
+
* Page size
|
|
5937
6919
|
*/
|
|
5938
|
-
|
|
5939
|
-
requestBody: EnterNowDto;
|
|
6920
|
+
pageSize: number;
|
|
5940
6921
|
};
|
|
5941
6922
|
|
|
5942
|
-
export type
|
|
6923
|
+
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
5943
6924
|
|
|
5944
|
-
export type
|
|
6925
|
+
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
6926
|
+
|
|
6927
|
+
export type PropertyControllerGetAllResponse = unknown;
|
|
6928
|
+
|
|
6929
|
+
export type PropertyControllerGetByKeyData = {
|
|
5945
6930
|
/**
|
|
5946
|
-
*
|
|
6931
|
+
* Property key
|
|
5947
6932
|
*/
|
|
5948
|
-
|
|
6933
|
+
key: string;
|
|
6934
|
+
};
|
|
6935
|
+
|
|
6936
|
+
export type PropertyControllerGetByKeyResponse = unknown;
|
|
6937
|
+
|
|
6938
|
+
export type PropertyControllerUpdateData = {
|
|
5949
6939
|
/**
|
|
5950
|
-
*
|
|
6940
|
+
* Property key
|
|
5951
6941
|
*/
|
|
5952
|
-
|
|
6942
|
+
key: string;
|
|
6943
|
+
requestBody: UpdatePropertyDto;
|
|
5953
6944
|
};
|
|
5954
6945
|
|
|
5955
|
-
export type
|
|
6946
|
+
export type PropertyControllerUpdateResponse = unknown;
|
|
6947
|
+
|
|
6948
|
+
export type PropertyControllerDeleteData = {
|
|
6949
|
+
/**
|
|
6950
|
+
* Property key
|
|
6951
|
+
*/
|
|
6952
|
+
key: string;
|
|
6953
|
+
};
|
|
6954
|
+
|
|
6955
|
+
export type PropertyControllerDeleteResponse = void;
|
|
5956
6956
|
|
|
5957
6957
|
export type TransactionRuleControllerCreateData = {
|
|
5958
6958
|
/**
|
|
@@ -6099,175 +7099,158 @@ export type TransactionRuleControllerTestData = {
|
|
|
6099
7099
|
|
|
6100
7100
|
export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
|
|
6101
7101
|
|
|
6102
|
-
export type
|
|
6103
|
-
requestBody: DeleteOwnUserDto;
|
|
6104
|
-
};
|
|
6105
|
-
|
|
6106
|
-
export type UserControllerDeleteOwnUserResponse = void;
|
|
6107
|
-
|
|
6108
|
-
export type UserControllerGetUserData = {
|
|
6109
|
-
acceptLanguage: string;
|
|
6110
|
-
};
|
|
6111
|
-
|
|
6112
|
-
export type UserControllerGetUserResponse = unknown;
|
|
6113
|
-
|
|
6114
|
-
export type UserControllerSignupUserData = {
|
|
6115
|
-
requestBody: SignupDto;
|
|
6116
|
-
};
|
|
6117
|
-
|
|
6118
|
-
export type UserControllerSignupUserResponse = unknown;
|
|
6119
|
-
|
|
6120
|
-
export type UserControllerDeleteUserData = {
|
|
7102
|
+
export type EventControllerCreateData = {
|
|
6121
7103
|
/**
|
|
6122
|
-
*
|
|
7104
|
+
* Region code for tenant context (decorative for life events)
|
|
6123
7105
|
*/
|
|
6124
|
-
|
|
7106
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7107
|
+
requestBody: CreateBeanEventDto;
|
|
6125
7108
|
};
|
|
6126
7109
|
|
|
6127
|
-
export type
|
|
7110
|
+
export type EventControllerCreateResponse = EventResponseDto;
|
|
6128
7111
|
|
|
6129
|
-
export type
|
|
7112
|
+
export type EventControllerFindAllData = {
|
|
6130
7113
|
/**
|
|
6131
|
-
*
|
|
7114
|
+
* Filter life events from this date (ISO 8601 format)
|
|
6132
7115
|
*/
|
|
6133
|
-
|
|
6134
|
-
};
|
|
6135
|
-
|
|
6136
|
-
export type UserControllerGetUserInfoResponse = unknown;
|
|
6137
|
-
|
|
6138
|
-
export type UserControllerUpdateUserSettingData = {
|
|
6139
|
-
requestBody: UpdateUserSettingDto;
|
|
6140
|
-
};
|
|
6141
|
-
|
|
6142
|
-
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
6143
|
-
|
|
6144
|
-
export type UserControllerGetAllUserSettingsByPageData = {
|
|
7116
|
+
from?: string;
|
|
6145
7117
|
/**
|
|
6146
|
-
*
|
|
7118
|
+
* Number of items per page (default: 20, max: 100)
|
|
6147
7119
|
*/
|
|
6148
|
-
|
|
7120
|
+
limit?: number;
|
|
6149
7121
|
/**
|
|
6150
|
-
* Page
|
|
7122
|
+
* Page number for pagination (default: 1)
|
|
6151
7123
|
*/
|
|
6152
|
-
|
|
6153
|
-
};
|
|
6154
|
-
|
|
6155
|
-
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
6156
|
-
|
|
6157
|
-
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
6158
|
-
|
|
6159
|
-
export type PropertyControllerGetAllResponse = unknown;
|
|
6160
|
-
|
|
6161
|
-
export type PropertyControllerGetByKeyData = {
|
|
7124
|
+
page?: number;
|
|
6162
7125
|
/**
|
|
6163
|
-
*
|
|
7126
|
+
* Search term for description (case-insensitive partial match)
|
|
6164
7127
|
*/
|
|
6165
|
-
|
|
6166
|
-
};
|
|
6167
|
-
|
|
6168
|
-
export type PropertyControllerGetByKeyResponse = unknown;
|
|
6169
|
-
|
|
6170
|
-
export type PropertyControllerUpdateData = {
|
|
7128
|
+
q?: string;
|
|
6171
7129
|
/**
|
|
6172
|
-
*
|
|
7130
|
+
* Region code for tenant context (decorative for life events)
|
|
6173
7131
|
*/
|
|
6174
|
-
|
|
6175
|
-
requestBody: UpdatePropertyDto;
|
|
6176
|
-
};
|
|
6177
|
-
|
|
6178
|
-
export type PropertyControllerUpdateResponse = unknown;
|
|
6179
|
-
|
|
6180
|
-
export type PropertyControllerDeleteData = {
|
|
7132
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6181
7133
|
/**
|
|
6182
|
-
*
|
|
7134
|
+
* Filter life events to this date (ISO 8601 format)
|
|
6183
7135
|
*/
|
|
6184
|
-
|
|
7136
|
+
to?: string;
|
|
7137
|
+
/**
|
|
7138
|
+
* Filter by life event type (exact match)
|
|
7139
|
+
*/
|
|
7140
|
+
type?: string;
|
|
6185
7141
|
};
|
|
6186
7142
|
|
|
6187
|
-
export type
|
|
7143
|
+
export type EventControllerFindAllResponse = EventListResponseDto;
|
|
6188
7144
|
|
|
6189
|
-
export type
|
|
7145
|
+
export type EventControllerFindOneData = {
|
|
7146
|
+
/**
|
|
7147
|
+
* Life event ID
|
|
7148
|
+
*/
|
|
7149
|
+
id: string;
|
|
6190
7150
|
/**
|
|
6191
7151
|
* Region code for tenant context (decorative for life events)
|
|
6192
7152
|
*/
|
|
6193
7153
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6194
|
-
requestBody: CreateBeanEventDto;
|
|
6195
7154
|
};
|
|
6196
7155
|
|
|
6197
|
-
export type
|
|
7156
|
+
export type EventControllerFindOneResponse = EventResponseDto;
|
|
6198
7157
|
|
|
6199
|
-
export type
|
|
6200
|
-
/**
|
|
6201
|
-
* Filter life events from this date (ISO 8601 format)
|
|
6202
|
-
*/
|
|
6203
|
-
from?: string;
|
|
7158
|
+
export type EventControllerUpdateData = {
|
|
6204
7159
|
/**
|
|
6205
|
-
*
|
|
7160
|
+
* Life event ID
|
|
6206
7161
|
*/
|
|
6207
|
-
|
|
7162
|
+
id: string;
|
|
6208
7163
|
/**
|
|
6209
|
-
*
|
|
7164
|
+
* Region code for tenant context (decorative for life events)
|
|
6210
7165
|
*/
|
|
6211
|
-
|
|
7166
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7167
|
+
requestBody: UpdateBeanEventDto;
|
|
7168
|
+
};
|
|
7169
|
+
|
|
7170
|
+
export type EventControllerUpdateResponse = EventResponseDto;
|
|
7171
|
+
|
|
7172
|
+
export type EventControllerDeleteData = {
|
|
6212
7173
|
/**
|
|
6213
|
-
*
|
|
7174
|
+
* Life event ID
|
|
6214
7175
|
*/
|
|
6215
|
-
|
|
7176
|
+
id: string;
|
|
6216
7177
|
/**
|
|
6217
7178
|
* Region code for tenant context (decorative for life events)
|
|
6218
7179
|
*/
|
|
6219
7180
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7181
|
+
};
|
|
7182
|
+
|
|
7183
|
+
export type EventControllerDeleteResponse = void;
|
|
7184
|
+
|
|
7185
|
+
export type EventControllerGetSliceData = {
|
|
7186
|
+
accountPattern: string;
|
|
7187
|
+
granularity: string;
|
|
6220
7188
|
/**
|
|
6221
|
-
*
|
|
7189
|
+
* Life event ID
|
|
6222
7190
|
*/
|
|
6223
|
-
|
|
7191
|
+
id: string;
|
|
6224
7192
|
/**
|
|
6225
|
-
*
|
|
7193
|
+
* Region code for tenant context (decorative for life events)
|
|
6226
7194
|
*/
|
|
6227
|
-
|
|
7195
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6228
7196
|
};
|
|
6229
7197
|
|
|
6230
|
-
export type
|
|
7198
|
+
export type EventControllerGetSliceResponse = unknown;
|
|
6231
7199
|
|
|
6232
|
-
export type
|
|
7200
|
+
export type OnboardingControllerBootstrapData = {
|
|
6233
7201
|
/**
|
|
6234
|
-
*
|
|
7202
|
+
* Region code for tenant context
|
|
6235
7203
|
*/
|
|
6236
|
-
|
|
7204
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7205
|
+
requestBody: OnboardingDto;
|
|
7206
|
+
};
|
|
7207
|
+
|
|
7208
|
+
export type OnboardingControllerBootstrapResponse = unknown;
|
|
7209
|
+
|
|
7210
|
+
export type ReconciliationControllerComputeData = {
|
|
6237
7211
|
/**
|
|
6238
|
-
* Region code for tenant context (decorative for
|
|
7212
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6239
7213
|
*/
|
|
6240
7214
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7215
|
+
requestBody: ComputeReconciliationDto;
|
|
6241
7216
|
};
|
|
6242
7217
|
|
|
6243
|
-
export type
|
|
7218
|
+
export type ReconciliationControllerComputeResponse =
|
|
7219
|
+
ReconciliationComputeResultDto;
|
|
6244
7220
|
|
|
6245
|
-
export type
|
|
7221
|
+
export type ReconciliationControllerAssertData = {
|
|
6246
7222
|
/**
|
|
6247
|
-
*
|
|
7223
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6248
7224
|
*/
|
|
6249
|
-
|
|
7225
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7226
|
+
requestBody: AssertReconciliationDto;
|
|
7227
|
+
};
|
|
7228
|
+
|
|
7229
|
+
export type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
|
|
7230
|
+
|
|
7231
|
+
export type ReconciliationControllerPadData = {
|
|
6250
7232
|
/**
|
|
6251
|
-
* Region code for tenant context (decorative for
|
|
7233
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6252
7234
|
*/
|
|
6253
7235
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6254
|
-
requestBody:
|
|
7236
|
+
requestBody: PadReconciliationDto;
|
|
6255
7237
|
};
|
|
6256
7238
|
|
|
6257
|
-
export type
|
|
7239
|
+
export type ReconciliationControllerPadResponse = PadResultDto;
|
|
6258
7240
|
|
|
6259
|
-
export type
|
|
7241
|
+
export type ReconciliationControllerHistoryData = {
|
|
6260
7242
|
/**
|
|
6261
|
-
*
|
|
7243
|
+
* BeanAccount id
|
|
6262
7244
|
*/
|
|
6263
|
-
|
|
7245
|
+
accountId: string;
|
|
6264
7246
|
/**
|
|
6265
|
-
* Region code for tenant context (decorative for
|
|
7247
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6266
7248
|
*/
|
|
6267
7249
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6268
7250
|
};
|
|
6269
7251
|
|
|
6270
|
-
export type
|
|
7252
|
+
export type ReconciliationControllerHistoryResponse =
|
|
7253
|
+
Array<ReconciliationRecordDto>;
|
|
6271
7254
|
|
|
6272
7255
|
export type ExportControllerExportBeancountResponse = unknown;
|
|
6273
7256
|
|
|
@@ -6361,48 +7344,6 @@ export type ImporterConfigControllerResetConfigData = {
|
|
|
6361
7344
|
|
|
6362
7345
|
export type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
|
|
6363
7346
|
|
|
6364
|
-
export type PlatformControllerFindAllResponse = unknown;
|
|
6365
|
-
|
|
6366
|
-
export type PlatformControllerCreateData = {
|
|
6367
|
-
requestBody: CreatePlatformDto;
|
|
6368
|
-
};
|
|
6369
|
-
|
|
6370
|
-
export type PlatformControllerCreateResponse = unknown;
|
|
6371
|
-
|
|
6372
|
-
export type PlatformControllerGetPlatformListResponse = unknown;
|
|
6373
|
-
|
|
6374
|
-
export type PlatformControllerMatchPlatformsData = {
|
|
6375
|
-
/**
|
|
6376
|
-
* Search query — Chinese name, English name, or abbreviation
|
|
6377
|
-
*/
|
|
6378
|
-
q: string;
|
|
6379
|
-
/**
|
|
6380
|
-
* Region code for category override lookup
|
|
6381
|
-
*/
|
|
6382
|
-
region?: string;
|
|
6383
|
-
};
|
|
6384
|
-
|
|
6385
|
-
export type PlatformControllerMatchPlatformsResponse = unknown;
|
|
6386
|
-
|
|
6387
|
-
export type PlatformControllerUpdateData = {
|
|
6388
|
-
/**
|
|
6389
|
-
* Platform ID
|
|
6390
|
-
*/
|
|
6391
|
-
id: string;
|
|
6392
|
-
requestBody: UpdatePlatformDto;
|
|
6393
|
-
};
|
|
6394
|
-
|
|
6395
|
-
export type PlatformControllerUpdateResponse = unknown;
|
|
6396
|
-
|
|
6397
|
-
export type PlatformControllerDeleteData = {
|
|
6398
|
-
/**
|
|
6399
|
-
* Platform ID
|
|
6400
|
-
*/
|
|
6401
|
-
id: string;
|
|
6402
|
-
};
|
|
6403
|
-
|
|
6404
|
-
export type PlatformControllerDeleteResponse = void;
|
|
6405
|
-
|
|
6406
7347
|
export type ProviderSyncControllerSyncData = {
|
|
6407
7348
|
/**
|
|
6408
7349
|
* Provider name
|
|
@@ -6448,6 +7389,49 @@ export type ProviderSyncControllerIsProviderSupportedData = {
|
|
|
6448
7389
|
|
|
6449
7390
|
export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
|
|
6450
7391
|
|
|
7392
|
+
export type ExternalAccountLinkControllerCreateData = {
|
|
7393
|
+
/**
|
|
7394
|
+
* Region code for tenant context
|
|
7395
|
+
*/
|
|
7396
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7397
|
+
requestBody: CreateExternalAccountLinkDto;
|
|
7398
|
+
};
|
|
7399
|
+
|
|
7400
|
+
export type ExternalAccountLinkControllerCreateResponse =
|
|
7401
|
+
ExternalAccountLinkResponseDto;
|
|
7402
|
+
|
|
7403
|
+
export type ExternalAccountLinkControllerFindAllData = {
|
|
7404
|
+
provider: string;
|
|
7405
|
+
/**
|
|
7406
|
+
* Region code for tenant context
|
|
7407
|
+
*/
|
|
7408
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7409
|
+
};
|
|
7410
|
+
|
|
7411
|
+
export type ExternalAccountLinkControllerFindAllResponse =
|
|
7412
|
+
ExternalAccountLinkListResponseDto;
|
|
7413
|
+
|
|
7414
|
+
export type ExternalAccountLinkControllerFindOneData = {
|
|
7415
|
+
id: string;
|
|
7416
|
+
/**
|
|
7417
|
+
* Region code for tenant context
|
|
7418
|
+
*/
|
|
7419
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7420
|
+
};
|
|
7421
|
+
|
|
7422
|
+
export type ExternalAccountLinkControllerFindOneResponse =
|
|
7423
|
+
ExternalAccountLinkResponseDto;
|
|
7424
|
+
|
|
7425
|
+
export type ExternalAccountLinkControllerRemoveData = {
|
|
7426
|
+
id: string;
|
|
7427
|
+
/**
|
|
7428
|
+
* Region code for tenant context
|
|
7429
|
+
*/
|
|
7430
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7431
|
+
};
|
|
7432
|
+
|
|
7433
|
+
export type ExternalAccountLinkControllerRemoveResponse = void;
|
|
7434
|
+
|
|
6451
7435
|
export type TelemetryControllerReportTelemetryData = {
|
|
6452
7436
|
/**
|
|
6453
7437
|
* Region code for tenant context
|
|
@@ -6520,185 +7504,114 @@ export type NlpControllerGetSessionData = {
|
|
|
6520
7504
|
|
|
6521
7505
|
export type NlpControllerGetSessionResponse = unknown;
|
|
6522
7506
|
|
|
6523
|
-
export type
|
|
6524
|
-
/**
|
|
6525
|
-
* Date for balance calculation (ISO 8601 format)
|
|
6526
|
-
*/
|
|
6527
|
-
date?: string;
|
|
6528
|
-
/**
|
|
6529
|
-
* Region code for tenant context
|
|
6530
|
-
*/
|
|
6531
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6532
|
-
};
|
|
6533
|
-
|
|
6534
|
-
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
7507
|
+
export type PlatformControllerFindAllResponse = unknown;
|
|
6535
7508
|
|
|
6536
|
-
export type
|
|
6537
|
-
|
|
6538
|
-
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6539
|
-
*/
|
|
6540
|
-
accountId?: string;
|
|
6541
|
-
/**
|
|
6542
|
-
* Date for balance calculation (ISO 8601 format)
|
|
6543
|
-
*/
|
|
6544
|
-
date?: string;
|
|
6545
|
-
/**
|
|
6546
|
-
* Grouping strategy
|
|
6547
|
-
*/
|
|
6548
|
-
groupBy?:
|
|
6549
|
-
| 'platform'
|
|
6550
|
-
| 'assetClass'
|
|
6551
|
-
| 'holdingAssetClass'
|
|
6552
|
-
| 'holdingAssetClassByAccount';
|
|
6553
|
-
/**
|
|
6554
|
-
* Region code for tenant context
|
|
6555
|
-
*/
|
|
6556
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7509
|
+
export type PlatformControllerCreateData = {
|
|
7510
|
+
requestBody: CreatePlatformDto;
|
|
6557
7511
|
};
|
|
6558
7512
|
|
|
6559
|
-
export type
|
|
6560
|
-
| AccountsResponseDto
|
|
6561
|
-
| AssetClassAccountsResponseDto
|
|
6562
|
-
| HoldingAssetClassCrossAccountResponseDto;
|
|
6563
|
-
|
|
6564
|
-
export type DashboardControllerGetCashFlowData = {
|
|
6565
|
-
/**
|
|
6566
|
-
* Period in YYYY-MM format
|
|
6567
|
-
*/
|
|
6568
|
-
period: string;
|
|
6569
|
-
/**
|
|
6570
|
-
* Region code for tenant context
|
|
6571
|
-
*/
|
|
6572
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6573
|
-
};
|
|
7513
|
+
export type PlatformControllerCreateResponse = unknown;
|
|
6574
7514
|
|
|
6575
|
-
export type
|
|
7515
|
+
export type PlatformControllerGetPlatformListResponse =
|
|
7516
|
+
Array<PlatformListItemDto>;
|
|
6576
7517
|
|
|
6577
|
-
export type
|
|
6578
|
-
/**
|
|
6579
|
-
* Scope to a single account
|
|
6580
|
-
*/
|
|
6581
|
-
accountId?: string;
|
|
6582
|
-
/**
|
|
6583
|
-
* As-of date (ISO 8601), defaults to today
|
|
6584
|
-
*/
|
|
6585
|
-
asOf?: string;
|
|
7518
|
+
export type PlatformControllerMatchPlatformsData = {
|
|
6586
7519
|
/**
|
|
6587
|
-
*
|
|
7520
|
+
* Search query — Chinese name, English name, or abbreviation
|
|
6588
7521
|
*/
|
|
6589
|
-
|
|
7522
|
+
q: string;
|
|
6590
7523
|
/**
|
|
6591
|
-
* Region code for
|
|
7524
|
+
* Region code for category override lookup
|
|
6592
7525
|
*/
|
|
6593
|
-
region
|
|
7526
|
+
region?: string;
|
|
6594
7527
|
};
|
|
6595
7528
|
|
|
6596
|
-
export type
|
|
7529
|
+
export type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
|
|
6597
7530
|
|
|
6598
|
-
export type
|
|
7531
|
+
export type PlatformControllerUpdateData = {
|
|
6599
7532
|
/**
|
|
6600
|
-
*
|
|
7533
|
+
* Platform ID
|
|
6601
7534
|
*/
|
|
6602
|
-
|
|
6603
|
-
requestBody:
|
|
7535
|
+
id: string;
|
|
7536
|
+
requestBody: UpdatePlatformDto;
|
|
6604
7537
|
};
|
|
6605
7538
|
|
|
6606
|
-
export type
|
|
7539
|
+
export type PlatformControllerUpdateResponse = unknown;
|
|
6607
7540
|
|
|
6608
|
-
export type
|
|
6609
|
-
/**
|
|
6610
|
-
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6611
|
-
*/
|
|
6612
|
-
currency?: string;
|
|
6613
|
-
/**
|
|
6614
|
-
* Filter prices from this date (ISO 8601 format)
|
|
6615
|
-
*/
|
|
6616
|
-
dateFrom?: string;
|
|
6617
|
-
/**
|
|
6618
|
-
* Filter prices to this date (ISO 8601 format)
|
|
6619
|
-
*/
|
|
6620
|
-
dateTo?: string;
|
|
6621
|
-
/**
|
|
6622
|
-
* Number of items per page (default: 20, max: 100)
|
|
6623
|
-
*/
|
|
6624
|
-
limit?: number;
|
|
6625
|
-
/**
|
|
6626
|
-
* Page number for pagination (default: 1)
|
|
6627
|
-
*/
|
|
6628
|
-
page?: number;
|
|
6629
|
-
/**
|
|
6630
|
-
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
6631
|
-
*/
|
|
6632
|
-
quoteCurrency?: string;
|
|
6633
|
-
/**
|
|
6634
|
-
* Region code for tenant context
|
|
6635
|
-
*/
|
|
6636
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7541
|
+
export type PlatformControllerDeleteData = {
|
|
6637
7542
|
/**
|
|
6638
|
-
*
|
|
7543
|
+
* Platform ID
|
|
6639
7544
|
*/
|
|
6640
|
-
|
|
7545
|
+
id: string;
|
|
6641
7546
|
};
|
|
6642
7547
|
|
|
6643
|
-
export type
|
|
7548
|
+
export type PlatformControllerDeleteResponse = void;
|
|
6644
7549
|
|
|
6645
|
-
export type
|
|
7550
|
+
export type DashboardControllerGetNetWorthData = {
|
|
6646
7551
|
/**
|
|
6647
|
-
*
|
|
7552
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6648
7553
|
*/
|
|
6649
|
-
|
|
7554
|
+
date?: string;
|
|
6650
7555
|
/**
|
|
6651
7556
|
* Region code for tenant context
|
|
6652
7557
|
*/
|
|
6653
7558
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6654
7559
|
};
|
|
6655
7560
|
|
|
6656
|
-
export type
|
|
7561
|
+
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
6657
7562
|
|
|
6658
|
-
export type
|
|
7563
|
+
export type DashboardControllerGetAccountsData = {
|
|
6659
7564
|
/**
|
|
6660
|
-
*
|
|
7565
|
+
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6661
7566
|
*/
|
|
6662
|
-
|
|
7567
|
+
accountId?: string;
|
|
6663
7568
|
/**
|
|
6664
|
-
*
|
|
7569
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6665
7570
|
*/
|
|
6666
|
-
|
|
6667
|
-
requestBody: UpdateBeanPriceDto;
|
|
6668
|
-
};
|
|
6669
|
-
|
|
6670
|
-
export type PriceControllerUpdateResponse = PriceResponseDto;
|
|
6671
|
-
|
|
6672
|
-
export type PriceControllerDeleteData = {
|
|
7571
|
+
date?: string;
|
|
6673
7572
|
/**
|
|
6674
|
-
*
|
|
7573
|
+
* Grouping strategy
|
|
6675
7574
|
*/
|
|
6676
|
-
|
|
7575
|
+
groupBy?:
|
|
7576
|
+
| 'platform'
|
|
7577
|
+
| 'assetClass'
|
|
7578
|
+
| 'holdingAssetClass'
|
|
7579
|
+
| 'holdingAssetClassByAccount';
|
|
6677
7580
|
/**
|
|
6678
7581
|
* Region code for tenant context
|
|
6679
7582
|
*/
|
|
6680
7583
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6681
7584
|
};
|
|
6682
7585
|
|
|
6683
|
-
export type
|
|
7586
|
+
export type DashboardControllerGetAccountsResponse =
|
|
7587
|
+
| AccountsResponseDto
|
|
7588
|
+
| AssetClassAccountsResponseDto
|
|
7589
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
6684
7590
|
|
|
6685
|
-
export type
|
|
7591
|
+
export type DashboardControllerGetCashFlowData = {
|
|
7592
|
+
/**
|
|
7593
|
+
* Period in YYYY-MM format
|
|
7594
|
+
*/
|
|
7595
|
+
period: string;
|
|
6686
7596
|
/**
|
|
6687
7597
|
* Region code for tenant context
|
|
6688
7598
|
*/
|
|
6689
7599
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6690
|
-
requestBody: Array<string>;
|
|
6691
7600
|
};
|
|
6692
7601
|
|
|
6693
|
-
export type
|
|
7602
|
+
export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
|
|
6694
7603
|
|
|
6695
|
-
export type
|
|
7604
|
+
export type DashboardControllerGetExpensesData = {
|
|
6696
7605
|
/**
|
|
6697
|
-
*
|
|
7606
|
+
* Account root to aggregate (expense → ^Expenses:, income → ^Income:)
|
|
6698
7607
|
*/
|
|
6699
|
-
|
|
7608
|
+
flow?: 'expense' | 'income';
|
|
6700
7609
|
/**
|
|
6701
|
-
*
|
|
7610
|
+
* Grouping strategy
|
|
7611
|
+
*/
|
|
7612
|
+
groupBy?: 'category';
|
|
7613
|
+
/**
|
|
7614
|
+
* Time window (1m = current calendar month)
|
|
6702
7615
|
*/
|
|
6703
7616
|
period?: '1m' | '3m' | '6m' | '1y';
|
|
6704
7617
|
/**
|
|
@@ -6707,33 +7620,29 @@ export type ReportingControllerGetPortfolioTrendsData = {
|
|
|
6707
7620
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6708
7621
|
};
|
|
6709
7622
|
|
|
6710
|
-
export type
|
|
6711
|
-
|
|
7623
|
+
export type DashboardControllerGetExpensesResponse =
|
|
7624
|
+
ExpensesByCategoryResponseDto;
|
|
6712
7625
|
|
|
6713
|
-
export type
|
|
7626
|
+
export type HoldingPnlControllerGetHoldingPnlData = {
|
|
6714
7627
|
/**
|
|
6715
|
-
*
|
|
7628
|
+
* Scope to a single account
|
|
6716
7629
|
*/
|
|
6717
|
-
|
|
7630
|
+
accountId?: string;
|
|
6718
7631
|
/**
|
|
6719
|
-
*
|
|
7632
|
+
* As-of date (ISO 8601), defaults to today
|
|
6720
7633
|
*/
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
|
|
6725
|
-
|
|
6726
|
-
|
|
6727
|
-
export type ReportingControllerBackfillSnapshotsData = {
|
|
7634
|
+
asOf?: string;
|
|
7635
|
+
/**
|
|
7636
|
+
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
7637
|
+
*/
|
|
7638
|
+
method?: 'FIFO' | 'average';
|
|
6728
7639
|
/**
|
|
6729
7640
|
* Region code for tenant context
|
|
6730
7641
|
*/
|
|
6731
7642
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6732
|
-
requestBody: BackfillSnapshotsBody;
|
|
6733
7643
|
};
|
|
6734
7644
|
|
|
6735
|
-
export type
|
|
6736
|
-
BackfillSnapshotsResponse;
|
|
7645
|
+
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
6737
7646
|
|
|
6738
7647
|
export type ApiKeysControllerCreateApiKeyResponse = unknown;
|
|
6739
7648
|
|
|
@@ -6741,7 +7650,7 @@ export type AuthControllerAccessTokenLoginData = {
|
|
|
6741
7650
|
requestBody: AnonymousLoginDto;
|
|
6742
7651
|
};
|
|
6743
7652
|
|
|
6744
|
-
export type AuthControllerAccessTokenLoginResponse =
|
|
7653
|
+
export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
|
|
6745
7654
|
|
|
6746
7655
|
export type CacheControllerFlushCacheResponse = unknown;
|
|
6747
7656
|
|
|
@@ -6781,6 +7690,33 @@ export type HealthControllerGetMetricsResponse = unknown;
|
|
|
6781
7690
|
|
|
6782
7691
|
export type InfoControllerGetInfoResponse = unknown;
|
|
6783
7692
|
|
|
7693
|
+
export type SymbolControllerSearchData = {
|
|
7694
|
+
/**
|
|
7695
|
+
* Filter by OpenBB asset_type (e.g. stock, etf)
|
|
7696
|
+
*/
|
|
7697
|
+
assetType?: string;
|
|
7698
|
+
/**
|
|
7699
|
+
* Filter by exchange code (e.g. US, HK, SS, SZ)
|
|
7700
|
+
*/
|
|
7701
|
+
exchange?: string;
|
|
7702
|
+
/**
|
|
7703
|
+
* Maximum number of results (clamped 1..50)
|
|
7704
|
+
*/
|
|
7705
|
+
limit?: number;
|
|
7706
|
+
/**
|
|
7707
|
+
* Search term — matched against symbol and instrument name. Empty string returns [].
|
|
7708
|
+
*/
|
|
7709
|
+
q: string;
|
|
7710
|
+
};
|
|
7711
|
+
|
|
7712
|
+
export type SymbolControllerSearchResponse = Array<SymbolSearchResultDto>;
|
|
7713
|
+
|
|
7714
|
+
export type SymbolControllerGetQuoteData = {
|
|
7715
|
+
symbol: string;
|
|
7716
|
+
};
|
|
7717
|
+
|
|
7718
|
+
export type SymbolControllerGetQuoteResponse = SymbolQuoteDto;
|
|
7719
|
+
|
|
6784
7720
|
export type $OpenApiTs = {
|
|
6785
7721
|
'/api/v1/{region}/bean/accounts': {
|
|
6786
7722
|
post: {
|
|
@@ -6889,6 +7825,25 @@ export type $OpenApiTs = {
|
|
|
6889
7825
|
};
|
|
6890
7826
|
};
|
|
6891
7827
|
};
|
|
7828
|
+
'/api/v1/{region}/bean/accounts/{id}/opening-balance': {
|
|
7829
|
+
post: {
|
|
7830
|
+
req: AccountControllerAddOpeningBalanceData;
|
|
7831
|
+
res: {
|
|
7832
|
+
/**
|
|
7833
|
+
* Opening-balance transaction created
|
|
7834
|
+
*/
|
|
7835
|
+
201: OpeningBalanceResultDto;
|
|
7836
|
+
/**
|
|
7837
|
+
* Account not found
|
|
7838
|
+
*/
|
|
7839
|
+
404: unknown;
|
|
7840
|
+
/**
|
|
7841
|
+
* An opening balance already exists for this account
|
|
7842
|
+
*/
|
|
7843
|
+
409: unknown;
|
|
7844
|
+
};
|
|
7845
|
+
};
|
|
7846
|
+
};
|
|
6892
7847
|
'/api/v1/{region}/bean/account-standards': {
|
|
6893
7848
|
get: {
|
|
6894
7849
|
req: AccountStandardsControllerGetTemplatesData;
|
|
@@ -7497,6 +8452,90 @@ export type $OpenApiTs = {
|
|
|
7497
8452
|
};
|
|
7498
8453
|
};
|
|
7499
8454
|
};
|
|
8455
|
+
'/api/v1/{region}/bean/prices': {
|
|
8456
|
+
post: {
|
|
8457
|
+
req: PriceControllerCreateData;
|
|
8458
|
+
res: {
|
|
8459
|
+
/**
|
|
8460
|
+
* Price created successfully
|
|
8461
|
+
*/
|
|
8462
|
+
201: PriceResponseDto;
|
|
8463
|
+
/**
|
|
8464
|
+
* Currency or quoteCurrency commodity not found
|
|
8465
|
+
*/
|
|
8466
|
+
404: unknown;
|
|
8467
|
+
/**
|
|
8468
|
+
* Price already exists for this currency pair and date
|
|
8469
|
+
*/
|
|
8470
|
+
409: unknown;
|
|
8471
|
+
};
|
|
8472
|
+
};
|
|
8473
|
+
get: {
|
|
8474
|
+
req: PriceControllerFindAllData;
|
|
8475
|
+
res: {
|
|
8476
|
+
/**
|
|
8477
|
+
* Prices retrieved successfully
|
|
8478
|
+
*/
|
|
8479
|
+
200: PriceListResponseDto;
|
|
8480
|
+
};
|
|
8481
|
+
};
|
|
8482
|
+
};
|
|
8483
|
+
'/api/v1/{region}/bean/prices/{id}': {
|
|
8484
|
+
get: {
|
|
8485
|
+
req: PriceControllerFindOneData;
|
|
8486
|
+
res: {
|
|
8487
|
+
/**
|
|
8488
|
+
* Price retrieved successfully
|
|
8489
|
+
*/
|
|
8490
|
+
200: PriceResponseDto;
|
|
8491
|
+
/**
|
|
8492
|
+
* Price not found
|
|
8493
|
+
*/
|
|
8494
|
+
404: unknown;
|
|
8495
|
+
};
|
|
8496
|
+
};
|
|
8497
|
+
put: {
|
|
8498
|
+
req: PriceControllerUpdateData;
|
|
8499
|
+
res: {
|
|
8500
|
+
/**
|
|
8501
|
+
* Price updated successfully
|
|
8502
|
+
*/
|
|
8503
|
+
200: PriceResponseDto;
|
|
8504
|
+
/**
|
|
8505
|
+
* Price not found
|
|
8506
|
+
*/
|
|
8507
|
+
404: unknown;
|
|
8508
|
+
/**
|
|
8509
|
+
* Updated price conflicts with existing price
|
|
8510
|
+
*/
|
|
8511
|
+
409: unknown;
|
|
8512
|
+
};
|
|
8513
|
+
};
|
|
8514
|
+
delete: {
|
|
8515
|
+
req: PriceControllerDeleteData;
|
|
8516
|
+
res: {
|
|
8517
|
+
/**
|
|
8518
|
+
* Price deleted successfully
|
|
8519
|
+
*/
|
|
8520
|
+
204: void;
|
|
8521
|
+
/**
|
|
8522
|
+
* Price not found
|
|
8523
|
+
*/
|
|
8524
|
+
404: unknown;
|
|
8525
|
+
};
|
|
8526
|
+
};
|
|
8527
|
+
};
|
|
8528
|
+
'/api/v1/{region}/bean/prices/bulk': {
|
|
8529
|
+
post: {
|
|
8530
|
+
req: PriceControllerBulkCreateData;
|
|
8531
|
+
res: {
|
|
8532
|
+
/**
|
|
8533
|
+
* Prices created successfully
|
|
8534
|
+
*/
|
|
8535
|
+
201: Array<PriceResponseDto>;
|
|
8536
|
+
};
|
|
8537
|
+
};
|
|
8538
|
+
};
|
|
7500
8539
|
'/api/v1/{region}/bean/recurring-rules': {
|
|
7501
8540
|
post: {
|
|
7502
8541
|
req: RecurringRuleControllerCreateData;
|
|
@@ -7747,397 +8786,469 @@ export type $OpenApiTs = {
|
|
|
7747
8786
|
};
|
|
7748
8787
|
};
|
|
7749
8788
|
};
|
|
7750
|
-
'/api/v1/{region}/
|
|
8789
|
+
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
8790
|
+
get: {
|
|
8791
|
+
req: ReportingControllerGetPortfolioTrendsData;
|
|
8792
|
+
res: {
|
|
8793
|
+
/**
|
|
8794
|
+
* Trends retrieved successfully
|
|
8795
|
+
*/
|
|
8796
|
+
200: PortfolioTrendsResponseDto;
|
|
8797
|
+
/**
|
|
8798
|
+
* User not authenticated
|
|
8799
|
+
*/
|
|
8800
|
+
401: unknown;
|
|
8801
|
+
};
|
|
8802
|
+
};
|
|
8803
|
+
};
|
|
8804
|
+
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
8805
|
+
get: {
|
|
8806
|
+
req: ReportingControllerGetCashFlowTrendsData;
|
|
8807
|
+
res: {
|
|
8808
|
+
/**
|
|
8809
|
+
* Cash-flow trends retrieved successfully
|
|
8810
|
+
*/
|
|
8811
|
+
200: CashFlowTrendsResponseDto;
|
|
8812
|
+
/**
|
|
8813
|
+
* User not authenticated
|
|
8814
|
+
*/
|
|
8815
|
+
401: unknown;
|
|
8816
|
+
};
|
|
8817
|
+
};
|
|
8818
|
+
};
|
|
8819
|
+
'/api/v1/{region}/reporting/snapshots/generate': {
|
|
7751
8820
|
post: {
|
|
7752
|
-
req:
|
|
8821
|
+
req: ReportingControllerGenerateSnapshotData;
|
|
7753
8822
|
res: {
|
|
7754
8823
|
/**
|
|
7755
|
-
*
|
|
8824
|
+
* Snapshot generated successfully
|
|
7756
8825
|
*/
|
|
7757
|
-
200:
|
|
8826
|
+
200: GenerateSnapshotResponse;
|
|
7758
8827
|
/**
|
|
7759
|
-
*
|
|
8828
|
+
* Invalid date format
|
|
7760
8829
|
*/
|
|
7761
|
-
400:
|
|
8830
|
+
400: unknown;
|
|
7762
8831
|
/**
|
|
7763
|
-
*
|
|
8832
|
+
* User not authenticated
|
|
7764
8833
|
*/
|
|
7765
|
-
401:
|
|
8834
|
+
401: unknown;
|
|
8835
|
+
};
|
|
8836
|
+
};
|
|
8837
|
+
};
|
|
8838
|
+
'/api/v1/{region}/reporting/snapshots/backfill': {
|
|
8839
|
+
post: {
|
|
8840
|
+
req: ReportingControllerBackfillSnapshotsData;
|
|
8841
|
+
res: {
|
|
7766
8842
|
/**
|
|
7767
|
-
*
|
|
8843
|
+
* Backfill completed successfully
|
|
8844
|
+
*/
|
|
8845
|
+
200: BackfillSnapshotsResponse;
|
|
8846
|
+
/**
|
|
8847
|
+
* Invalid date format or range
|
|
8848
|
+
*/
|
|
8849
|
+
400: unknown;
|
|
8850
|
+
/**
|
|
8851
|
+
* User not authenticated
|
|
8852
|
+
*/
|
|
8853
|
+
401: unknown;
|
|
8854
|
+
/**
|
|
8855
|
+
* Backfill already in progress for this user
|
|
8856
|
+
*/
|
|
8857
|
+
409: unknown;
|
|
8858
|
+
};
|
|
8859
|
+
};
|
|
8860
|
+
};
|
|
8861
|
+
'/api/v1/users': {
|
|
8862
|
+
delete: {
|
|
8863
|
+
req: UserControllerDeleteOwnUserData;
|
|
8864
|
+
res: {
|
|
8865
|
+
/**
|
|
8866
|
+
* User deleted successfully
|
|
8867
|
+
*/
|
|
8868
|
+
204: void;
|
|
8869
|
+
/**
|
|
8870
|
+
* Invalid access token
|
|
8871
|
+
*/
|
|
8872
|
+
403: unknown;
|
|
8873
|
+
};
|
|
8874
|
+
};
|
|
8875
|
+
get: {
|
|
8876
|
+
req: UserControllerGetUserData;
|
|
8877
|
+
res: {
|
|
8878
|
+
/**
|
|
8879
|
+
* User retrieved successfully
|
|
8880
|
+
*/
|
|
8881
|
+
200: unknown;
|
|
8882
|
+
};
|
|
8883
|
+
};
|
|
8884
|
+
post: {
|
|
8885
|
+
req: UserControllerSignupUserData;
|
|
8886
|
+
res: {
|
|
8887
|
+
/**
|
|
8888
|
+
* User created successfully
|
|
8889
|
+
*/
|
|
8890
|
+
201: SignupResponseDto;
|
|
8891
|
+
/**
|
|
8892
|
+
* Invalid Turnstile token (when Turnstile is enabled)
|
|
8893
|
+
*/
|
|
8894
|
+
400: unknown;
|
|
8895
|
+
/**
|
|
8896
|
+
* User signup is disabled
|
|
7768
8897
|
*/
|
|
7769
|
-
|
|
8898
|
+
403: unknown;
|
|
7770
8899
|
};
|
|
7771
8900
|
};
|
|
7772
|
-
|
|
7773
|
-
|
|
8901
|
+
};
|
|
8902
|
+
'/api/v1/users/{id}': {
|
|
8903
|
+
delete: {
|
|
8904
|
+
req: UserControllerDeleteUserData;
|
|
7774
8905
|
res: {
|
|
7775
8906
|
/**
|
|
7776
|
-
*
|
|
8907
|
+
* User deleted successfully
|
|
7777
8908
|
*/
|
|
7778
|
-
|
|
8909
|
+
204: void;
|
|
7779
8910
|
/**
|
|
7780
|
-
*
|
|
8911
|
+
* Cannot delete own account or insufficient permissions
|
|
7781
8912
|
*/
|
|
7782
|
-
|
|
8913
|
+
403: unknown;
|
|
7783
8914
|
};
|
|
7784
8915
|
};
|
|
7785
8916
|
};
|
|
7786
|
-
'/api/v1/{
|
|
7787
|
-
|
|
7788
|
-
req:
|
|
8917
|
+
'/api/v1/users/{id}/info': {
|
|
8918
|
+
get: {
|
|
8919
|
+
req: UserControllerGetUserInfoData;
|
|
7789
8920
|
res: {
|
|
7790
8921
|
/**
|
|
7791
|
-
*
|
|
7792
|
-
*/
|
|
7793
|
-
200: ValidateRuleResponseDto;
|
|
7794
|
-
/**
|
|
7795
|
-
* Validation failed
|
|
8922
|
+
* User info retrieved successfully
|
|
7796
8923
|
*/
|
|
7797
|
-
|
|
8924
|
+
200: unknown;
|
|
7798
8925
|
/**
|
|
7799
|
-
*
|
|
8926
|
+
* Cannot access other user info without admin permission
|
|
7800
8927
|
*/
|
|
7801
|
-
|
|
8928
|
+
403: unknown;
|
|
7802
8929
|
};
|
|
7803
8930
|
};
|
|
7804
8931
|
};
|
|
7805
|
-
'/api/v1/
|
|
7806
|
-
|
|
7807
|
-
req:
|
|
8932
|
+
'/api/v1/users/setting': {
|
|
8933
|
+
put: {
|
|
8934
|
+
req: UserControllerUpdateUserSettingData;
|
|
7808
8935
|
res: {
|
|
7809
8936
|
/**
|
|
7810
|
-
*
|
|
7811
|
-
*/
|
|
7812
|
-
201: BulkCreateRulesResponseDto;
|
|
7813
|
-
/**
|
|
7814
|
-
* Invalid bulk create data
|
|
8937
|
+
* Settings updated successfully
|
|
7815
8938
|
*/
|
|
7816
|
-
|
|
8939
|
+
200: unknown;
|
|
7817
8940
|
/**
|
|
7818
|
-
*
|
|
8941
|
+
* Insufficient permissions
|
|
7819
8942
|
*/
|
|
7820
|
-
|
|
8943
|
+
403: unknown;
|
|
7821
8944
|
};
|
|
7822
8945
|
};
|
|
7823
8946
|
};
|
|
7824
|
-
'/api/v1/
|
|
8947
|
+
'/api/v1/users/settings-by-page': {
|
|
7825
8948
|
get: {
|
|
7826
|
-
req:
|
|
8949
|
+
req: UserControllerGetAllUserSettingsByPageData;
|
|
7827
8950
|
res: {
|
|
7828
8951
|
/**
|
|
7829
|
-
*
|
|
7830
|
-
*/
|
|
7831
|
-
200: ExportRulesResponseDto;
|
|
7832
|
-
/**
|
|
7833
|
-
* Unsupported format
|
|
8952
|
+
* Settings list retrieved successfully
|
|
7834
8953
|
*/
|
|
7835
|
-
|
|
8954
|
+
200: unknown;
|
|
8955
|
+
};
|
|
8956
|
+
};
|
|
8957
|
+
};
|
|
8958
|
+
'/api/v1/users/asset-liability-summary': {
|
|
8959
|
+
get: {
|
|
8960
|
+
res: {
|
|
7836
8961
|
/**
|
|
7837
|
-
*
|
|
8962
|
+
* Summary retrieved successfully
|
|
7838
8963
|
*/
|
|
7839
|
-
|
|
8964
|
+
200: unknown;
|
|
7840
8965
|
};
|
|
7841
8966
|
};
|
|
7842
8967
|
};
|
|
7843
|
-
'/api/v1/
|
|
8968
|
+
'/api/v1/admin/properties': {
|
|
7844
8969
|
get: {
|
|
7845
|
-
req: TransactionRuleControllerGetStatisticsData;
|
|
7846
8970
|
res: {
|
|
7847
8971
|
/**
|
|
7848
|
-
*
|
|
8972
|
+
* Properties retrieved successfully
|
|
7849
8973
|
*/
|
|
7850
|
-
200:
|
|
8974
|
+
200: unknown;
|
|
7851
8975
|
/**
|
|
7852
8976
|
* Unauthorized
|
|
7853
8977
|
*/
|
|
7854
|
-
401:
|
|
8978
|
+
401: unknown;
|
|
8979
|
+
/**
|
|
8980
|
+
* Forbidden - insufficient permissions
|
|
8981
|
+
*/
|
|
8982
|
+
403: unknown;
|
|
7855
8983
|
};
|
|
7856
8984
|
};
|
|
7857
8985
|
};
|
|
7858
|
-
'/api/v1/
|
|
8986
|
+
'/api/v1/admin/properties/{key}': {
|
|
7859
8987
|
get: {
|
|
7860
|
-
req:
|
|
8988
|
+
req: PropertyControllerGetByKeyData;
|
|
7861
8989
|
res: {
|
|
7862
8990
|
/**
|
|
7863
|
-
*
|
|
8991
|
+
* Property retrieved successfully
|
|
7864
8992
|
*/
|
|
7865
|
-
200:
|
|
8993
|
+
200: unknown;
|
|
7866
8994
|
/**
|
|
7867
8995
|
* Unauthorized
|
|
7868
8996
|
*/
|
|
7869
|
-
401:
|
|
8997
|
+
401: unknown;
|
|
7870
8998
|
/**
|
|
7871
|
-
* Forbidden -
|
|
8999
|
+
* Forbidden - insufficient permissions
|
|
7872
9000
|
*/
|
|
7873
|
-
403:
|
|
9001
|
+
403: unknown;
|
|
7874
9002
|
/**
|
|
7875
|
-
*
|
|
9003
|
+
* Property not found
|
|
7876
9004
|
*/
|
|
7877
|
-
404:
|
|
9005
|
+
404: unknown;
|
|
7878
9006
|
};
|
|
7879
9007
|
};
|
|
7880
9008
|
put: {
|
|
7881
|
-
req:
|
|
9009
|
+
req: PropertyControllerUpdateData;
|
|
7882
9010
|
res: {
|
|
7883
9011
|
/**
|
|
7884
|
-
*
|
|
7885
|
-
*/
|
|
7886
|
-
200: TransactionRuleResponseDto;
|
|
7887
|
-
/**
|
|
7888
|
-
* Validation failed
|
|
9012
|
+
* Property updated successfully
|
|
7889
9013
|
*/
|
|
7890
|
-
|
|
9014
|
+
200: unknown;
|
|
7891
9015
|
/**
|
|
7892
9016
|
* Unauthorized
|
|
7893
9017
|
*/
|
|
7894
|
-
401:
|
|
7895
|
-
/**
|
|
7896
|
-
* Forbidden - not owner of rule
|
|
7897
|
-
*/
|
|
7898
|
-
403: ApiProblemResponseDto;
|
|
7899
|
-
/**
|
|
7900
|
-
* Rule not found
|
|
7901
|
-
*/
|
|
7902
|
-
404: ApiProblemResponseDto;
|
|
9018
|
+
401: unknown;
|
|
7903
9019
|
/**
|
|
7904
|
-
*
|
|
9020
|
+
* Forbidden - insufficient permissions
|
|
7905
9021
|
*/
|
|
7906
|
-
|
|
9022
|
+
403: unknown;
|
|
7907
9023
|
};
|
|
7908
9024
|
};
|
|
7909
9025
|
delete: {
|
|
7910
|
-
req:
|
|
9026
|
+
req: PropertyControllerDeleteData;
|
|
7911
9027
|
res: {
|
|
7912
9028
|
/**
|
|
7913
|
-
*
|
|
9029
|
+
* Property deleted successfully
|
|
7914
9030
|
*/
|
|
7915
9031
|
204: void;
|
|
7916
9032
|
/**
|
|
7917
9033
|
* Unauthorized
|
|
7918
9034
|
*/
|
|
7919
|
-
401:
|
|
7920
|
-
/**
|
|
7921
|
-
* Forbidden - not owner of rule
|
|
7922
|
-
*/
|
|
7923
|
-
403: ApiProblemResponseDto;
|
|
9035
|
+
401: unknown;
|
|
7924
9036
|
/**
|
|
7925
|
-
*
|
|
9037
|
+
* Forbidden - insufficient permissions
|
|
7926
9038
|
*/
|
|
7927
|
-
|
|
9039
|
+
403: unknown;
|
|
7928
9040
|
/**
|
|
7929
|
-
*
|
|
9041
|
+
* Property not found
|
|
7930
9042
|
*/
|
|
7931
|
-
|
|
9043
|
+
404: unknown;
|
|
7932
9044
|
};
|
|
7933
9045
|
};
|
|
7934
9046
|
};
|
|
7935
|
-
'/api/v1/{region}/bean/transaction-rules
|
|
9047
|
+
'/api/v1/{region}/bean/transaction-rules': {
|
|
7936
9048
|
post: {
|
|
7937
|
-
req:
|
|
9049
|
+
req: TransactionRuleControllerCreateData;
|
|
7938
9050
|
res: {
|
|
7939
9051
|
/**
|
|
7940
|
-
*
|
|
9052
|
+
* Rule updated successfully (upsert mode)
|
|
7941
9053
|
*/
|
|
7942
|
-
200:
|
|
9054
|
+
200: TransactionRuleResponseDto;
|
|
7943
9055
|
/**
|
|
7944
|
-
*
|
|
9056
|
+
* Validation failed
|
|
7945
9057
|
*/
|
|
7946
|
-
|
|
9058
|
+
400: ApiProblemResponseDto;
|
|
7947
9059
|
/**
|
|
7948
|
-
*
|
|
9060
|
+
* Unauthorized
|
|
7949
9061
|
*/
|
|
7950
|
-
|
|
9062
|
+
401: ApiProblemResponseDto;
|
|
7951
9063
|
/**
|
|
7952
|
-
*
|
|
9064
|
+
* Resource conflict - another process is updating this rule
|
|
7953
9065
|
*/
|
|
7954
|
-
|
|
9066
|
+
409: ApiProblemResponseDto;
|
|
7955
9067
|
};
|
|
7956
9068
|
};
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
delete: {
|
|
7960
|
-
req: UserControllerDeleteOwnUserData;
|
|
9069
|
+
get: {
|
|
9070
|
+
req: TransactionRuleControllerListData;
|
|
7961
9071
|
res: {
|
|
7962
9072
|
/**
|
|
7963
|
-
*
|
|
7964
|
-
*/
|
|
7965
|
-
204: void;
|
|
7966
|
-
/**
|
|
7967
|
-
* Invalid access token
|
|
9073
|
+
* List of rules
|
|
7968
9074
|
*/
|
|
7969
|
-
|
|
7970
|
-
};
|
|
7971
|
-
};
|
|
7972
|
-
get: {
|
|
7973
|
-
req: UserControllerGetUserData;
|
|
7974
|
-
res: {
|
|
9075
|
+
200: TransactionRuleListResponseDto;
|
|
7975
9076
|
/**
|
|
7976
|
-
*
|
|
9077
|
+
* Unauthorized
|
|
7977
9078
|
*/
|
|
7978
|
-
|
|
9079
|
+
401: ApiProblemResponseDto;
|
|
7979
9080
|
};
|
|
7980
9081
|
};
|
|
9082
|
+
};
|
|
9083
|
+
'/api/v1/{region}/bean/transaction-rules/validate': {
|
|
7981
9084
|
post: {
|
|
7982
|
-
req:
|
|
9085
|
+
req: TransactionRuleControllerValidateData;
|
|
7983
9086
|
res: {
|
|
7984
9087
|
/**
|
|
7985
|
-
*
|
|
9088
|
+
* Validation result
|
|
7986
9089
|
*/
|
|
7987
|
-
|
|
9090
|
+
200: ValidateRuleResponseDto;
|
|
7988
9091
|
/**
|
|
7989
|
-
*
|
|
9092
|
+
* Validation failed
|
|
7990
9093
|
*/
|
|
7991
|
-
400:
|
|
9094
|
+
400: ApiProblemResponseDto;
|
|
7992
9095
|
/**
|
|
7993
|
-
*
|
|
9096
|
+
* Unauthorized
|
|
7994
9097
|
*/
|
|
7995
|
-
|
|
9098
|
+
401: ApiProblemResponseDto;
|
|
7996
9099
|
};
|
|
7997
9100
|
};
|
|
7998
9101
|
};
|
|
7999
|
-
'/api/v1/
|
|
8000
|
-
|
|
8001
|
-
req:
|
|
9102
|
+
'/api/v1/{region}/bean/transaction-rules/bulk': {
|
|
9103
|
+
post: {
|
|
9104
|
+
req: TransactionRuleControllerBulkCreateData;
|
|
8002
9105
|
res: {
|
|
8003
9106
|
/**
|
|
8004
|
-
*
|
|
8005
|
-
*/
|
|
8006
|
-
204: void;
|
|
8007
|
-
/**
|
|
8008
|
-
* Cannot delete own account or insufficient permissions
|
|
9107
|
+
* Bulk create completed
|
|
8009
9108
|
*/
|
|
8010
|
-
|
|
8011
|
-
};
|
|
8012
|
-
};
|
|
8013
|
-
};
|
|
8014
|
-
'/api/v1/users/{id}/info': {
|
|
8015
|
-
get: {
|
|
8016
|
-
req: UserControllerGetUserInfoData;
|
|
8017
|
-
res: {
|
|
9109
|
+
201: BulkCreateRulesResponseDto;
|
|
8018
9110
|
/**
|
|
8019
|
-
*
|
|
9111
|
+
* Invalid bulk create data
|
|
8020
9112
|
*/
|
|
8021
|
-
|
|
9113
|
+
400: ApiProblemResponseDto;
|
|
8022
9114
|
/**
|
|
8023
|
-
*
|
|
9115
|
+
* Unauthorized
|
|
8024
9116
|
*/
|
|
8025
|
-
|
|
9117
|
+
401: ApiProblemResponseDto;
|
|
8026
9118
|
};
|
|
8027
9119
|
};
|
|
8028
9120
|
};
|
|
8029
|
-
'/api/v1/
|
|
8030
|
-
|
|
8031
|
-
req:
|
|
9121
|
+
'/api/v1/{region}/bean/transaction-rules/export/{format}': {
|
|
9122
|
+
get: {
|
|
9123
|
+
req: TransactionRuleControllerExportData;
|
|
8032
9124
|
res: {
|
|
8033
9125
|
/**
|
|
8034
|
-
*
|
|
8035
|
-
*/
|
|
8036
|
-
200: unknown;
|
|
8037
|
-
/**
|
|
8038
|
-
* Insufficient permissions
|
|
9126
|
+
* Exported rules
|
|
8039
9127
|
*/
|
|
8040
|
-
|
|
8041
|
-
};
|
|
8042
|
-
};
|
|
8043
|
-
};
|
|
8044
|
-
'/api/v1/users/settings-by-page': {
|
|
8045
|
-
get: {
|
|
8046
|
-
req: UserControllerGetAllUserSettingsByPageData;
|
|
8047
|
-
res: {
|
|
9128
|
+
200: ExportRulesResponseDto;
|
|
8048
9129
|
/**
|
|
8049
|
-
*
|
|
9130
|
+
* Unsupported format
|
|
8050
9131
|
*/
|
|
8051
|
-
|
|
9132
|
+
400: ApiProblemResponseDto;
|
|
9133
|
+
/**
|
|
9134
|
+
* Unauthorized
|
|
9135
|
+
*/
|
|
9136
|
+
401: ApiProblemResponseDto;
|
|
8052
9137
|
};
|
|
8053
9138
|
};
|
|
8054
9139
|
};
|
|
8055
|
-
'/api/v1/
|
|
9140
|
+
'/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
|
|
8056
9141
|
get: {
|
|
9142
|
+
req: TransactionRuleControllerGetStatisticsData;
|
|
8057
9143
|
res: {
|
|
8058
9144
|
/**
|
|
8059
|
-
*
|
|
9145
|
+
* Rule statistics
|
|
8060
9146
|
*/
|
|
8061
|
-
200:
|
|
9147
|
+
200: RuleStatisticsResponseDto;
|
|
9148
|
+
/**
|
|
9149
|
+
* Unauthorized
|
|
9150
|
+
*/
|
|
9151
|
+
401: ApiProblemResponseDto;
|
|
8062
9152
|
};
|
|
8063
9153
|
};
|
|
8064
9154
|
};
|
|
8065
|
-
'/api/v1/
|
|
9155
|
+
'/api/v1/{region}/bean/transaction-rules/{ruleId}': {
|
|
8066
9156
|
get: {
|
|
9157
|
+
req: TransactionRuleControllerGetDetailData;
|
|
8067
9158
|
res: {
|
|
8068
9159
|
/**
|
|
8069
|
-
*
|
|
9160
|
+
* Rule details
|
|
8070
9161
|
*/
|
|
8071
|
-
200:
|
|
9162
|
+
200: TransactionRuleResponseDto;
|
|
8072
9163
|
/**
|
|
8073
9164
|
* Unauthorized
|
|
8074
9165
|
*/
|
|
8075
|
-
401:
|
|
9166
|
+
401: ApiProblemResponseDto;
|
|
8076
9167
|
/**
|
|
8077
|
-
* Forbidden -
|
|
9168
|
+
* Forbidden - not owner of rule
|
|
8078
9169
|
*/
|
|
8079
|
-
403:
|
|
9170
|
+
403: ApiProblemResponseDto;
|
|
9171
|
+
/**
|
|
9172
|
+
* Rule not found
|
|
9173
|
+
*/
|
|
9174
|
+
404: ApiProblemResponseDto;
|
|
8080
9175
|
};
|
|
8081
9176
|
};
|
|
8082
|
-
|
|
8083
|
-
|
|
8084
|
-
get: {
|
|
8085
|
-
req: PropertyControllerGetByKeyData;
|
|
9177
|
+
put: {
|
|
9178
|
+
req: TransactionRuleControllerUpdateData;
|
|
8086
9179
|
res: {
|
|
8087
9180
|
/**
|
|
8088
|
-
*
|
|
9181
|
+
* Rule updated successfully
|
|
8089
9182
|
*/
|
|
8090
|
-
200:
|
|
9183
|
+
200: TransactionRuleResponseDto;
|
|
9184
|
+
/**
|
|
9185
|
+
* Validation failed
|
|
9186
|
+
*/
|
|
9187
|
+
400: ApiProblemResponseDto;
|
|
8091
9188
|
/**
|
|
8092
9189
|
* Unauthorized
|
|
8093
9190
|
*/
|
|
8094
|
-
401:
|
|
9191
|
+
401: ApiProblemResponseDto;
|
|
8095
9192
|
/**
|
|
8096
|
-
* Forbidden -
|
|
9193
|
+
* Forbidden - not owner of rule
|
|
8097
9194
|
*/
|
|
8098
|
-
403:
|
|
9195
|
+
403: ApiProblemResponseDto;
|
|
8099
9196
|
/**
|
|
8100
|
-
*
|
|
9197
|
+
* Rule not found
|
|
8101
9198
|
*/
|
|
8102
|
-
404:
|
|
9199
|
+
404: ApiProblemResponseDto;
|
|
9200
|
+
/**
|
|
9201
|
+
* Resource conflict - rule is being modified by another process
|
|
9202
|
+
*/
|
|
9203
|
+
409: ApiProblemResponseDto;
|
|
8103
9204
|
};
|
|
8104
9205
|
};
|
|
8105
|
-
|
|
8106
|
-
req:
|
|
9206
|
+
delete: {
|
|
9207
|
+
req: TransactionRuleControllerDeleteData;
|
|
8107
9208
|
res: {
|
|
8108
9209
|
/**
|
|
8109
|
-
*
|
|
9210
|
+
* Rule deleted successfully
|
|
8110
9211
|
*/
|
|
8111
|
-
|
|
9212
|
+
204: void;
|
|
8112
9213
|
/**
|
|
8113
9214
|
* Unauthorized
|
|
8114
9215
|
*/
|
|
8115
|
-
401:
|
|
9216
|
+
401: ApiProblemResponseDto;
|
|
8116
9217
|
/**
|
|
8117
|
-
* Forbidden -
|
|
9218
|
+
* Forbidden - not owner of rule
|
|
8118
9219
|
*/
|
|
8119
|
-
403:
|
|
9220
|
+
403: ApiProblemResponseDto;
|
|
9221
|
+
/**
|
|
9222
|
+
* Rule not found
|
|
9223
|
+
*/
|
|
9224
|
+
404: ApiProblemResponseDto;
|
|
9225
|
+
/**
|
|
9226
|
+
* Resource conflict - rule is being modified by another process
|
|
9227
|
+
*/
|
|
9228
|
+
409: ApiProblemResponseDto;
|
|
8120
9229
|
};
|
|
8121
9230
|
};
|
|
8122
|
-
|
|
8123
|
-
|
|
9231
|
+
};
|
|
9232
|
+
'/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
|
|
9233
|
+
post: {
|
|
9234
|
+
req: TransactionRuleControllerTestData;
|
|
8124
9235
|
res: {
|
|
8125
9236
|
/**
|
|
8126
|
-
*
|
|
9237
|
+
* Test result
|
|
8127
9238
|
*/
|
|
8128
|
-
|
|
9239
|
+
200: TestRuleResponseDto;
|
|
8129
9240
|
/**
|
|
8130
9241
|
* Unauthorized
|
|
8131
9242
|
*/
|
|
8132
|
-
401:
|
|
9243
|
+
401: ApiProblemResponseDto;
|
|
8133
9244
|
/**
|
|
8134
|
-
* Forbidden -
|
|
9245
|
+
* Forbidden - not owner of rule
|
|
8135
9246
|
*/
|
|
8136
|
-
403:
|
|
9247
|
+
403: ApiProblemResponseDto;
|
|
8137
9248
|
/**
|
|
8138
|
-
*
|
|
9249
|
+
* Rule not found
|
|
8139
9250
|
*/
|
|
8140
|
-
404:
|
|
9251
|
+
404: ApiProblemResponseDto;
|
|
8141
9252
|
};
|
|
8142
9253
|
};
|
|
8143
9254
|
};
|
|
@@ -8218,6 +9329,104 @@ export type $OpenApiTs = {
|
|
|
8218
9329
|
};
|
|
8219
9330
|
};
|
|
8220
9331
|
};
|
|
9332
|
+
'/api/v1/{region}/bean/events/{id}/slice': {
|
|
9333
|
+
get: {
|
|
9334
|
+
req: EventControllerGetSliceData;
|
|
9335
|
+
res: {
|
|
9336
|
+
/**
|
|
9337
|
+
* Time-series sliced by the life event range
|
|
9338
|
+
*/
|
|
9339
|
+
200: unknown;
|
|
9340
|
+
/**
|
|
9341
|
+
* accountPattern query param is empty
|
|
9342
|
+
*/
|
|
9343
|
+
400: unknown;
|
|
9344
|
+
/**
|
|
9345
|
+
* Life event not found
|
|
9346
|
+
*/
|
|
9347
|
+
404: unknown;
|
|
9348
|
+
};
|
|
9349
|
+
};
|
|
9350
|
+
};
|
|
9351
|
+
'/api/v1/{region}/bean/onboarding': {
|
|
9352
|
+
post: {
|
|
9353
|
+
req: OnboardingControllerBootstrapData;
|
|
9354
|
+
res: {
|
|
9355
|
+
/**
|
|
9356
|
+
* Onboarding bootstrap result.
|
|
9357
|
+
*/
|
|
9358
|
+
201: unknown;
|
|
9359
|
+
/**
|
|
9360
|
+
* Invalid region/account path/duplicate paths.
|
|
9361
|
+
*/
|
|
9362
|
+
422: unknown;
|
|
9363
|
+
};
|
|
9364
|
+
};
|
|
9365
|
+
};
|
|
9366
|
+
'/api/v1/{region}/bean/reconciliations': {
|
|
9367
|
+
post: {
|
|
9368
|
+
req: ReconciliationControllerComputeData;
|
|
9369
|
+
res: {
|
|
9370
|
+
/**
|
|
9371
|
+
* Reconciliation preview
|
|
9372
|
+
*/
|
|
9373
|
+
200: ReconciliationComputeResultDto;
|
|
9374
|
+
/**
|
|
9375
|
+
* Account not found
|
|
9376
|
+
*/
|
|
9377
|
+
404: unknown;
|
|
9378
|
+
};
|
|
9379
|
+
};
|
|
9380
|
+
};
|
|
9381
|
+
'/api/v1/{region}/bean/reconciliations/assert': {
|
|
9382
|
+
post: {
|
|
9383
|
+
req: ReconciliationControllerAssertData;
|
|
9384
|
+
res: {
|
|
9385
|
+
/**
|
|
9386
|
+
* Balance assertion recorded
|
|
9387
|
+
*/
|
|
9388
|
+
201: ReconciliationRecordDto;
|
|
9389
|
+
/**
|
|
9390
|
+
* Account not found
|
|
9391
|
+
*/
|
|
9392
|
+
404: unknown;
|
|
9393
|
+
};
|
|
9394
|
+
};
|
|
9395
|
+
};
|
|
9396
|
+
'/api/v1/{region}/bean/reconciliations/pad': {
|
|
9397
|
+
post: {
|
|
9398
|
+
req: ReconciliationControllerPadData;
|
|
9399
|
+
res: {
|
|
9400
|
+
/**
|
|
9401
|
+
* Pad adjusting entry generated
|
|
9402
|
+
*/
|
|
9403
|
+
201: PadResultDto;
|
|
9404
|
+
/**
|
|
9405
|
+
* Book already within tolerance — no pad needed
|
|
9406
|
+
*/
|
|
9407
|
+
400: unknown;
|
|
9408
|
+
/**
|
|
9409
|
+
* Account not found
|
|
9410
|
+
*/
|
|
9411
|
+
404: unknown;
|
|
9412
|
+
};
|
|
9413
|
+
};
|
|
9414
|
+
};
|
|
9415
|
+
'/api/v1/{region}/bean/accounts/{accountId}/reconciliations': {
|
|
9416
|
+
get: {
|
|
9417
|
+
req: ReconciliationControllerHistoryData;
|
|
9418
|
+
res: {
|
|
9419
|
+
/**
|
|
9420
|
+
* Reconciliation history
|
|
9421
|
+
*/
|
|
9422
|
+
200: Array<ReconciliationRecordDto>;
|
|
9423
|
+
/**
|
|
9424
|
+
* Account not found
|
|
9425
|
+
*/
|
|
9426
|
+
404: unknown;
|
|
9427
|
+
};
|
|
9428
|
+
};
|
|
9429
|
+
};
|
|
8221
9430
|
'/api/v1/{region}/bean/export/beancount': {
|
|
8222
9431
|
get: {
|
|
8223
9432
|
res: {
|
|
@@ -8327,116 +9536,44 @@ export type $OpenApiTs = {
|
|
|
8327
9536
|
200: ImporterConfigDto;
|
|
8328
9537
|
/**
|
|
8329
9538
|
* Invalid input - Unsupported importer
|
|
8330
|
-
*/
|
|
8331
|
-
400: ApiProblemResponseDto;
|
|
8332
|
-
/**
|
|
8333
|
-
* Unauthorized - Authentication required
|
|
8334
|
-
*/
|
|
8335
|
-
401: ApiProblemResponseDto;
|
|
8336
|
-
};
|
|
8337
|
-
};
|
|
8338
|
-
put: {
|
|
8339
|
-
req: ImporterConfigControllerUpdateConfigData;
|
|
8340
|
-
res: {
|
|
8341
|
-
/**
|
|
8342
|
-
* Configuration updated successfully
|
|
8343
|
-
*/
|
|
8344
|
-
200: ImporterConfigDto;
|
|
8345
|
-
/**
|
|
8346
|
-
* Invalid input - Validation failed
|
|
8347
|
-
*/
|
|
8348
|
-
400: ApiProblemResponseDto;
|
|
8349
|
-
/**
|
|
8350
|
-
* Configuration not found
|
|
8351
|
-
*/
|
|
8352
|
-
404: ApiProblemResponseDto;
|
|
8353
|
-
};
|
|
8354
|
-
};
|
|
8355
|
-
};
|
|
8356
|
-
'/api/v1/{region}/bean/import/config/{importerId}/reset': {
|
|
8357
|
-
post: {
|
|
8358
|
-
req: ImporterConfigControllerResetConfigData;
|
|
8359
|
-
res: {
|
|
8360
|
-
/**
|
|
8361
|
-
* Configuration reset successfully
|
|
8362
|
-
*/
|
|
8363
|
-
200: ImporterConfigDto;
|
|
8364
|
-
/**
|
|
8365
|
-
* Invalid input - Unsupported importer
|
|
8366
|
-
*/
|
|
8367
|
-
400: ApiProblemResponseDto;
|
|
8368
|
-
};
|
|
8369
|
-
};
|
|
8370
|
-
};
|
|
8371
|
-
'/api/v1/bean/platforms': {
|
|
8372
|
-
get: {
|
|
8373
|
-
res: {
|
|
8374
|
-
/**
|
|
8375
|
-
* List of platforms with binding and account counts
|
|
8376
|
-
*/
|
|
8377
|
-
200: unknown;
|
|
8378
|
-
};
|
|
8379
|
-
};
|
|
8380
|
-
post: {
|
|
8381
|
-
req: PlatformControllerCreateData;
|
|
8382
|
-
res: {
|
|
8383
|
-
/**
|
|
8384
|
-
* Platform created successfully
|
|
8385
|
-
*/
|
|
8386
|
-
201: unknown;
|
|
8387
|
-
/**
|
|
8388
|
-
* Platform already exists
|
|
8389
|
-
*/
|
|
8390
|
-
409: unknown;
|
|
8391
|
-
};
|
|
8392
|
-
};
|
|
8393
|
-
};
|
|
8394
|
-
'/api/v1/bean/platforms/list': {
|
|
8395
|
-
get: {
|
|
8396
|
-
res: {
|
|
8397
|
-
/**
|
|
8398
|
-
* List of platforms with user binding status
|
|
8399
|
-
*/
|
|
8400
|
-
200: unknown;
|
|
8401
|
-
};
|
|
8402
|
-
};
|
|
8403
|
-
};
|
|
8404
|
-
'/api/v1/bean/platforms/match': {
|
|
8405
|
-
get: {
|
|
8406
|
-
req: PlatformControllerMatchPlatformsData;
|
|
8407
|
-
res: {
|
|
9539
|
+
*/
|
|
9540
|
+
400: ApiProblemResponseDto;
|
|
8408
9541
|
/**
|
|
8409
|
-
*
|
|
9542
|
+
* Unauthorized - Authentication required
|
|
8410
9543
|
*/
|
|
8411
|
-
|
|
9544
|
+
401: ApiProblemResponseDto;
|
|
8412
9545
|
};
|
|
8413
9546
|
};
|
|
8414
|
-
};
|
|
8415
|
-
'/api/v1/bean/platforms/{id}': {
|
|
8416
9547
|
put: {
|
|
8417
|
-
req:
|
|
9548
|
+
req: ImporterConfigControllerUpdateConfigData;
|
|
8418
9549
|
res: {
|
|
8419
9550
|
/**
|
|
8420
|
-
*
|
|
9551
|
+
* Configuration updated successfully
|
|
8421
9552
|
*/
|
|
8422
|
-
200:
|
|
9553
|
+
200: ImporterConfigDto;
|
|
8423
9554
|
/**
|
|
8424
|
-
*
|
|
9555
|
+
* Invalid input - Validation failed
|
|
8425
9556
|
*/
|
|
8426
|
-
|
|
9557
|
+
400: ApiProblemResponseDto;
|
|
9558
|
+
/**
|
|
9559
|
+
* Configuration not found
|
|
9560
|
+
*/
|
|
9561
|
+
404: ApiProblemResponseDto;
|
|
8427
9562
|
};
|
|
8428
9563
|
};
|
|
8429
|
-
|
|
8430
|
-
|
|
9564
|
+
};
|
|
9565
|
+
'/api/v1/{region}/bean/import/config/{importerId}/reset': {
|
|
9566
|
+
post: {
|
|
9567
|
+
req: ImporterConfigControllerResetConfigData;
|
|
8431
9568
|
res: {
|
|
8432
9569
|
/**
|
|
8433
|
-
*
|
|
9570
|
+
* Configuration reset successfully
|
|
8434
9571
|
*/
|
|
8435
|
-
|
|
9572
|
+
200: ImporterConfigDto;
|
|
8436
9573
|
/**
|
|
8437
|
-
*
|
|
9574
|
+
* Invalid input - Unsupported importer
|
|
8438
9575
|
*/
|
|
8439
|
-
|
|
9576
|
+
400: ApiProblemResponseDto;
|
|
8440
9577
|
};
|
|
8441
9578
|
};
|
|
8442
9579
|
};
|
|
@@ -8493,6 +9630,54 @@ export type $OpenApiTs = {
|
|
|
8493
9630
|
};
|
|
8494
9631
|
};
|
|
8495
9632
|
};
|
|
9633
|
+
'/api/v1/{region}/bean/external-account-links': {
|
|
9634
|
+
post: {
|
|
9635
|
+
req: ExternalAccountLinkControllerCreateData;
|
|
9636
|
+
res: {
|
|
9637
|
+
/**
|
|
9638
|
+
* Link created.
|
|
9639
|
+
*/
|
|
9640
|
+
201: ExternalAccountLinkResponseDto;
|
|
9641
|
+
/**
|
|
9642
|
+
* beanAccountId not owned, or an active link already exists.
|
|
9643
|
+
*/
|
|
9644
|
+
422: unknown;
|
|
9645
|
+
};
|
|
9646
|
+
};
|
|
9647
|
+
get: {
|
|
9648
|
+
req: ExternalAccountLinkControllerFindAllData;
|
|
9649
|
+
res: {
|
|
9650
|
+
/**
|
|
9651
|
+
* Links retrieved.
|
|
9652
|
+
*/
|
|
9653
|
+
200: ExternalAccountLinkListResponseDto;
|
|
9654
|
+
};
|
|
9655
|
+
};
|
|
9656
|
+
};
|
|
9657
|
+
'/api/v1/{region}/bean/external-account-links/{id}': {
|
|
9658
|
+
get: {
|
|
9659
|
+
req: ExternalAccountLinkControllerFindOneData;
|
|
9660
|
+
res: {
|
|
9661
|
+
/**
|
|
9662
|
+
* Link retrieved.
|
|
9663
|
+
*/
|
|
9664
|
+
200: ExternalAccountLinkResponseDto;
|
|
9665
|
+
/**
|
|
9666
|
+
* Link not found or not owned by the user.
|
|
9667
|
+
*/
|
|
9668
|
+
422: unknown;
|
|
9669
|
+
};
|
|
9670
|
+
};
|
|
9671
|
+
delete: {
|
|
9672
|
+
req: ExternalAccountLinkControllerRemoveData;
|
|
9673
|
+
res: {
|
|
9674
|
+
/**
|
|
9675
|
+
* Link soft-deleted; historical transactions are unaffected.
|
|
9676
|
+
*/
|
|
9677
|
+
204: void;
|
|
9678
|
+
};
|
|
9679
|
+
};
|
|
9680
|
+
};
|
|
8496
9681
|
'/api/v1/{region}/bean/import/parser-telemetry': {
|
|
8497
9682
|
post: {
|
|
8498
9683
|
req: TelemetryControllerReportTelemetryData;
|
|
@@ -8581,169 +9766,123 @@ export type $OpenApiTs = {
|
|
|
8581
9766
|
};
|
|
8582
9767
|
};
|
|
8583
9768
|
};
|
|
8584
|
-
'/api/v1/
|
|
9769
|
+
'/api/v1/bean/platforms': {
|
|
8585
9770
|
get: {
|
|
8586
|
-
req: DashboardControllerGetNetWorthData;
|
|
8587
9771
|
res: {
|
|
8588
9772
|
/**
|
|
8589
|
-
*
|
|
8590
|
-
*/
|
|
8591
|
-
200: NetWorthResponseDto;
|
|
8592
|
-
/**
|
|
8593
|
-
* User not authenticated
|
|
9773
|
+
* List of platforms with binding and account counts
|
|
8594
9774
|
*/
|
|
8595
|
-
|
|
9775
|
+
200: unknown;
|
|
8596
9776
|
};
|
|
8597
9777
|
};
|
|
8598
|
-
|
|
8599
|
-
|
|
8600
|
-
get: {
|
|
8601
|
-
req: DashboardControllerGetAccountsData;
|
|
9778
|
+
post: {
|
|
9779
|
+
req: PlatformControllerCreateData;
|
|
8602
9780
|
res: {
|
|
8603
9781
|
/**
|
|
8604
|
-
*
|
|
9782
|
+
* Platform created successfully
|
|
8605
9783
|
*/
|
|
8606
|
-
|
|
8607
|
-
| AccountsResponseDto
|
|
8608
|
-
| AssetClassAccountsResponseDto
|
|
8609
|
-
| HoldingAssetClassCrossAccountResponseDto;
|
|
9784
|
+
201: unknown;
|
|
8610
9785
|
/**
|
|
8611
|
-
*
|
|
9786
|
+
* Platform already exists
|
|
8612
9787
|
*/
|
|
8613
|
-
|
|
9788
|
+
409: unknown;
|
|
8614
9789
|
};
|
|
8615
9790
|
};
|
|
8616
9791
|
};
|
|
8617
|
-
'/api/v1/
|
|
9792
|
+
'/api/v1/bean/platforms/list': {
|
|
8618
9793
|
get: {
|
|
8619
|
-
req: DashboardControllerGetCashFlowData;
|
|
8620
9794
|
res: {
|
|
8621
9795
|
/**
|
|
8622
|
-
*
|
|
8623
|
-
*/
|
|
8624
|
-
200: CashFlowResponseDto;
|
|
8625
|
-
/**
|
|
8626
|
-
* Invalid period format
|
|
8627
|
-
*/
|
|
8628
|
-
400: unknown;
|
|
8629
|
-
/**
|
|
8630
|
-
* User not authenticated
|
|
9796
|
+
* List of platforms with user binding status
|
|
8631
9797
|
*/
|
|
8632
|
-
|
|
9798
|
+
200: Array<PlatformListItemDto>;
|
|
8633
9799
|
};
|
|
8634
9800
|
};
|
|
8635
9801
|
};
|
|
8636
|
-
'/api/v1/
|
|
9802
|
+
'/api/v1/bean/platforms/match': {
|
|
8637
9803
|
get: {
|
|
8638
|
-
req:
|
|
9804
|
+
req: PlatformControllerMatchPlatformsData;
|
|
8639
9805
|
res: {
|
|
8640
9806
|
/**
|
|
8641
|
-
*
|
|
8642
|
-
*/
|
|
8643
|
-
200: HoldingPnlResponseDto;
|
|
8644
|
-
/**
|
|
8645
|
-
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
8646
|
-
*/
|
|
8647
|
-
400: unknown;
|
|
8648
|
-
/**
|
|
8649
|
-
* User not authenticated
|
|
9807
|
+
* Matching platforms with overall match type and truncation flag
|
|
8650
9808
|
*/
|
|
8651
|
-
|
|
9809
|
+
200: PlatformMatchResponseDto;
|
|
8652
9810
|
};
|
|
8653
9811
|
};
|
|
8654
9812
|
};
|
|
8655
|
-
'/api/v1/{
|
|
8656
|
-
|
|
8657
|
-
req:
|
|
9813
|
+
'/api/v1/bean/platforms/{id}': {
|
|
9814
|
+
put: {
|
|
9815
|
+
req: PlatformControllerUpdateData;
|
|
8658
9816
|
res: {
|
|
8659
9817
|
/**
|
|
8660
|
-
*
|
|
9818
|
+
* Platform updated successfully
|
|
8661
9819
|
*/
|
|
8662
|
-
|
|
9820
|
+
200: unknown;
|
|
8663
9821
|
/**
|
|
8664
|
-
*
|
|
9822
|
+
* Platform not found
|
|
8665
9823
|
*/
|
|
8666
9824
|
404: unknown;
|
|
8667
|
-
/**
|
|
8668
|
-
* Price already exists for this currency pair and date
|
|
8669
|
-
*/
|
|
8670
|
-
409: unknown;
|
|
8671
|
-
};
|
|
8672
|
-
};
|
|
8673
|
-
get: {
|
|
8674
|
-
req: PriceControllerFindAllData;
|
|
8675
|
-
res: {
|
|
8676
|
-
/**
|
|
8677
|
-
* Prices retrieved successfully
|
|
8678
|
-
*/
|
|
8679
|
-
200: PriceListResponseDto;
|
|
8680
9825
|
};
|
|
8681
9826
|
};
|
|
8682
|
-
|
|
8683
|
-
|
|
8684
|
-
get: {
|
|
8685
|
-
req: PriceControllerFindOneData;
|
|
9827
|
+
delete: {
|
|
9828
|
+
req: PlatformControllerDeleteData;
|
|
8686
9829
|
res: {
|
|
8687
9830
|
/**
|
|
8688
|
-
*
|
|
9831
|
+
* Platform deleted successfully
|
|
8689
9832
|
*/
|
|
8690
|
-
|
|
9833
|
+
204: void;
|
|
8691
9834
|
/**
|
|
8692
|
-
*
|
|
9835
|
+
* Platform not found
|
|
8693
9836
|
*/
|
|
8694
9837
|
404: unknown;
|
|
8695
9838
|
};
|
|
8696
9839
|
};
|
|
8697
|
-
|
|
8698
|
-
|
|
9840
|
+
};
|
|
9841
|
+
'/api/v1/{region}/dashboard/net-worth': {
|
|
9842
|
+
get: {
|
|
9843
|
+
req: DashboardControllerGetNetWorthData;
|
|
8699
9844
|
res: {
|
|
8700
9845
|
/**
|
|
8701
|
-
*
|
|
8702
|
-
*/
|
|
8703
|
-
200: PriceResponseDto;
|
|
8704
|
-
/**
|
|
8705
|
-
* Price not found
|
|
9846
|
+
* Net worth retrieved successfully
|
|
8706
9847
|
*/
|
|
8707
|
-
|
|
9848
|
+
200: NetWorthResponseDto;
|
|
8708
9849
|
/**
|
|
8709
|
-
*
|
|
9850
|
+
* User not authenticated
|
|
8710
9851
|
*/
|
|
8711
|
-
|
|
9852
|
+
401: unknown;
|
|
8712
9853
|
};
|
|
8713
9854
|
};
|
|
8714
|
-
|
|
8715
|
-
|
|
9855
|
+
};
|
|
9856
|
+
'/api/v1/{region}/dashboard/accounts': {
|
|
9857
|
+
get: {
|
|
9858
|
+
req: DashboardControllerGetAccountsData;
|
|
8716
9859
|
res: {
|
|
8717
9860
|
/**
|
|
8718
|
-
*
|
|
9861
|
+
* Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
8719
9862
|
*/
|
|
8720
|
-
|
|
9863
|
+
200:
|
|
9864
|
+
| AccountsResponseDto
|
|
9865
|
+
| AssetClassAccountsResponseDto
|
|
9866
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
8721
9867
|
/**
|
|
8722
|
-
*
|
|
9868
|
+
* User not authenticated
|
|
8723
9869
|
*/
|
|
8724
|
-
|
|
9870
|
+
401: unknown;
|
|
8725
9871
|
};
|
|
8726
9872
|
};
|
|
8727
9873
|
};
|
|
8728
|
-
'/api/v1/{region}/
|
|
8729
|
-
|
|
8730
|
-
req:
|
|
9874
|
+
'/api/v1/{region}/dashboard/cash-flow': {
|
|
9875
|
+
get: {
|
|
9876
|
+
req: DashboardControllerGetCashFlowData;
|
|
8731
9877
|
res: {
|
|
8732
9878
|
/**
|
|
8733
|
-
*
|
|
9879
|
+
* Cash flow retrieved successfully
|
|
8734
9880
|
*/
|
|
8735
|
-
|
|
8736
|
-
};
|
|
8737
|
-
};
|
|
8738
|
-
};
|
|
8739
|
-
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
8740
|
-
get: {
|
|
8741
|
-
req: ReportingControllerGetPortfolioTrendsData;
|
|
8742
|
-
res: {
|
|
9881
|
+
200: CashFlowResponseDto;
|
|
8743
9882
|
/**
|
|
8744
|
-
*
|
|
9883
|
+
* Invalid period format
|
|
8745
9884
|
*/
|
|
8746
|
-
|
|
9885
|
+
400: unknown;
|
|
8747
9886
|
/**
|
|
8748
9887
|
* User not authenticated
|
|
8749
9888
|
*/
|
|
@@ -8751,16 +9890,16 @@ export type $OpenApiTs = {
|
|
|
8751
9890
|
};
|
|
8752
9891
|
};
|
|
8753
9892
|
};
|
|
8754
|
-
'/api/v1/{region}/
|
|
8755
|
-
|
|
8756
|
-
req:
|
|
9893
|
+
'/api/v1/{region}/dashboard/expenses': {
|
|
9894
|
+
get: {
|
|
9895
|
+
req: DashboardControllerGetExpensesData;
|
|
8757
9896
|
res: {
|
|
8758
9897
|
/**
|
|
8759
|
-
*
|
|
9898
|
+
* Expenses retrieved successfully
|
|
8760
9899
|
*/
|
|
8761
|
-
200:
|
|
9900
|
+
200: ExpensesByCategoryResponseDto;
|
|
8762
9901
|
/**
|
|
8763
|
-
* Invalid
|
|
9902
|
+
* Invalid groupBy or period
|
|
8764
9903
|
*/
|
|
8765
9904
|
400: unknown;
|
|
8766
9905
|
/**
|
|
@@ -8770,26 +9909,22 @@ export type $OpenApiTs = {
|
|
|
8770
9909
|
};
|
|
8771
9910
|
};
|
|
8772
9911
|
};
|
|
8773
|
-
'/api/v1/{region}/
|
|
8774
|
-
|
|
8775
|
-
req:
|
|
9912
|
+
'/api/v1/{region}/investment/holdings/pnl': {
|
|
9913
|
+
get: {
|
|
9914
|
+
req: HoldingPnlControllerGetHoldingPnlData;
|
|
8776
9915
|
res: {
|
|
8777
9916
|
/**
|
|
8778
|
-
*
|
|
9917
|
+
* Holding P&L retrieved successfully
|
|
8779
9918
|
*/
|
|
8780
|
-
200:
|
|
9919
|
+
200: HoldingPnlResponseDto;
|
|
8781
9920
|
/**
|
|
8782
|
-
* Invalid date format or
|
|
9921
|
+
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
8783
9922
|
*/
|
|
8784
9923
|
400: unknown;
|
|
8785
9924
|
/**
|
|
8786
9925
|
* User not authenticated
|
|
8787
9926
|
*/
|
|
8788
9927
|
401: unknown;
|
|
8789
|
-
/**
|
|
8790
|
-
* Backfill already in progress for this user
|
|
8791
|
-
*/
|
|
8792
|
-
409: unknown;
|
|
8793
9928
|
};
|
|
8794
9929
|
};
|
|
8795
9930
|
};
|
|
@@ -8814,7 +9949,7 @@ export type $OpenApiTs = {
|
|
|
8814
9949
|
/**
|
|
8815
9950
|
* Login successful
|
|
8816
9951
|
*/
|
|
8817
|
-
200:
|
|
9952
|
+
200: AnonymousLoginResponseDto;
|
|
8818
9953
|
/**
|
|
8819
9954
|
* Invalid access token
|
|
8820
9955
|
*/
|
|
@@ -8961,4 +10096,30 @@ export type $OpenApiTs = {
|
|
|
8961
10096
|
};
|
|
8962
10097
|
};
|
|
8963
10098
|
};
|
|
10099
|
+
'/api/v1/market/symbols/search': {
|
|
10100
|
+
get: {
|
|
10101
|
+
req: SymbolControllerSearchData;
|
|
10102
|
+
res: {
|
|
10103
|
+
/**
|
|
10104
|
+
* Ranked search results
|
|
10105
|
+
*/
|
|
10106
|
+
200: Array<SymbolSearchResultDto>;
|
|
10107
|
+
};
|
|
10108
|
+
};
|
|
10109
|
+
};
|
|
10110
|
+
'/api/v1/market/symbols/{symbol}/quote': {
|
|
10111
|
+
get: {
|
|
10112
|
+
req: SymbolControllerGetQuoteData;
|
|
10113
|
+
res: {
|
|
10114
|
+
/**
|
|
10115
|
+
* Symbol quote
|
|
10116
|
+
*/
|
|
10117
|
+
200: SymbolQuoteDto;
|
|
10118
|
+
/**
|
|
10119
|
+
* Symbol not found in the openbb catalog
|
|
10120
|
+
*/
|
|
10121
|
+
404: unknown;
|
|
10122
|
+
};
|
|
10123
|
+
};
|
|
10124
|
+
};
|
|
8964
10125
|
};
|