@firela/api-types 0.0.0-canary.45a6cc23 → 0.0.0-canary.4cf7f99a
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 +2180 -1402
- package/dist/index.d.ts +2180 -1402
- package/dist/index.js +28 -2
- package/dist/index.mjs +28 -2
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +3616 -2809
- package/src/generated/services.gen.ts +1147 -814
- package/src/generated/types.gen.ts +2463 -1540
|
@@ -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,511 +2775,705 @@ 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
|
-
*
|
|
2617
|
-
*/
|
|
2618
|
-
description?: string;
|
|
2619
|
-
/**
|
|
2620
|
-
* Keywords to match in transaction narration
|
|
2621
|
-
*/
|
|
2622
|
-
narrationKeywords: Array<string>;
|
|
2623
|
-
/**
|
|
2624
|
-
* Keywords to match in payee name
|
|
2828
|
+
* Total change over period
|
|
2625
2829
|
*/
|
|
2626
|
-
|
|
2830
|
+
totalChange: string;
|
|
2627
2831
|
/**
|
|
2628
|
-
*
|
|
2832
|
+
* Total change percentage
|
|
2629
2833
|
*/
|
|
2630
|
-
|
|
2834
|
+
totalChangePercentage: string;
|
|
2835
|
+
};
|
|
2836
|
+
|
|
2837
|
+
export type MultiCurrencyPointDto = {
|
|
2631
2838
|
/**
|
|
2632
|
-
*
|
|
2839
|
+
* Date in YYYY-MM-DD format
|
|
2633
2840
|
*/
|
|
2634
|
-
|
|
2841
|
+
date: string;
|
|
2635
2842
|
/**
|
|
2636
|
-
*
|
|
2843
|
+
* Balances by currency
|
|
2637
2844
|
*/
|
|
2638
|
-
|
|
2845
|
+
byCurrency: Array<CurrencyBalanceDto>;
|
|
2846
|
+
};
|
|
2847
|
+
|
|
2848
|
+
export type PortfolioTrendsResponseDto = {
|
|
2639
2849
|
/**
|
|
2640
|
-
*
|
|
2850
|
+
* Time series data points
|
|
2641
2851
|
*/
|
|
2642
|
-
|
|
2852
|
+
series: Array<TimeSeriesPointDto>;
|
|
2643
2853
|
/**
|
|
2644
|
-
*
|
|
2854
|
+
* Period summary
|
|
2645
2855
|
*/
|
|
2646
|
-
|
|
2856
|
+
summary: TrendSummaryDto;
|
|
2647
2857
|
/**
|
|
2648
|
-
*
|
|
2858
|
+
* Period requested
|
|
2649
2859
|
*/
|
|
2650
|
-
|
|
2860
|
+
period: string;
|
|
2651
2861
|
/**
|
|
2652
|
-
*
|
|
2862
|
+
* Data granularity
|
|
2653
2863
|
*/
|
|
2654
|
-
|
|
2864
|
+
granularity: string;
|
|
2655
2865
|
/**
|
|
2656
|
-
*
|
|
2866
|
+
* Base currency for converted values
|
|
2657
2867
|
*/
|
|
2658
|
-
|
|
2868
|
+
currency: string;
|
|
2659
2869
|
/**
|
|
2660
|
-
*
|
|
2870
|
+
* Multi-currency time series (each point has currency breakdown)
|
|
2661
2871
|
*/
|
|
2662
|
-
|
|
2872
|
+
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
2663
2873
|
/**
|
|
2664
|
-
*
|
|
2874
|
+
* Exchange rate warnings
|
|
2665
2875
|
*/
|
|
2666
|
-
|
|
2876
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2877
|
+
};
|
|
2878
|
+
|
|
2879
|
+
export type CashFlowPointDto = {
|
|
2667
2880
|
/**
|
|
2668
|
-
*
|
|
2881
|
+
* Month key (YYYY-MM)
|
|
2669
2882
|
*/
|
|
2670
|
-
|
|
2883
|
+
month: string;
|
|
2671
2884
|
/**
|
|
2672
|
-
*
|
|
2885
|
+
* Income in base currency (absolute, converted)
|
|
2673
2886
|
*/
|
|
2674
|
-
|
|
2675
|
-
[key: string]: string;
|
|
2676
|
-
};
|
|
2887
|
+
income: string;
|
|
2677
2888
|
/**
|
|
2678
|
-
*
|
|
2889
|
+
* Expense in base currency (absolute, converted)
|
|
2679
2890
|
*/
|
|
2680
|
-
|
|
2891
|
+
expense: string;
|
|
2681
2892
|
/**
|
|
2682
|
-
*
|
|
2893
|
+
* netSavings = income − expense (savings positive)
|
|
2683
2894
|
*/
|
|
2684
|
-
|
|
2895
|
+
netSavings: string;
|
|
2685
2896
|
};
|
|
2686
2897
|
|
|
2687
|
-
|
|
2688
|
-
* Learning source: NLP, REVIEW_CENTER, or null for manual
|
|
2689
|
-
*/
|
|
2690
|
-
export type learningSource = 'NLP' | 'REVIEW_CENTER';
|
|
2691
|
-
|
|
2692
|
-
export type TransactionRuleListResponseDto = {
|
|
2693
|
-
data: Array<TransactionRuleResponseDto>;
|
|
2898
|
+
export type CashFlowTrendSummaryDto = {
|
|
2694
2899
|
/**
|
|
2695
|
-
* Total
|
|
2900
|
+
* Total income across the period
|
|
2696
2901
|
*/
|
|
2697
|
-
|
|
2902
|
+
totalIncome: string;
|
|
2698
2903
|
/**
|
|
2699
|
-
*
|
|
2904
|
+
* Total expense across the period
|
|
2700
2905
|
*/
|
|
2701
|
-
|
|
2906
|
+
totalExpense: string;
|
|
2702
2907
|
/**
|
|
2703
|
-
*
|
|
2908
|
+
* income − expense across the period
|
|
2704
2909
|
*/
|
|
2705
|
-
|
|
2910
|
+
totalNetSavings: string;
|
|
2911
|
+
/**
|
|
2912
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
2913
|
+
*/
|
|
2914
|
+
averageMonthlyNetSavings: string;
|
|
2706
2915
|
};
|
|
2707
2916
|
|
|
2708
|
-
export type
|
|
2709
|
-
name: string;
|
|
2710
|
-
description?: string;
|
|
2711
|
-
narrationKeywords?: Array<unknown[]>;
|
|
2712
|
-
payeeKeywords?: Array<unknown[]>;
|
|
2713
|
-
categoryKeywords?: Array<unknown[]>;
|
|
2917
|
+
export type CashFlowTrendsResponseDto = {
|
|
2714
2918
|
/**
|
|
2715
|
-
*
|
|
2919
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
2716
2920
|
*/
|
|
2717
|
-
|
|
2921
|
+
series: Array<CashFlowPointDto>;
|
|
2718
2922
|
/**
|
|
2719
|
-
*
|
|
2923
|
+
* Period totals
|
|
2720
2924
|
*/
|
|
2721
|
-
|
|
2722
|
-
matchLogic: 'OR' | 'AND';
|
|
2925
|
+
summary: CashFlowTrendSummaryDto;
|
|
2723
2926
|
/**
|
|
2724
|
-
*
|
|
2927
|
+
* Period requested
|
|
2725
2928
|
*/
|
|
2726
|
-
|
|
2929
|
+
period: string;
|
|
2727
2930
|
/**
|
|
2728
|
-
*
|
|
2931
|
+
* Data granularity (v1 returns month buckets)
|
|
2729
2932
|
*/
|
|
2730
|
-
|
|
2731
|
-
priority: number;
|
|
2732
|
-
additionalTags?: Array<unknown[]>;
|
|
2733
|
-
additionalMetadata?: {
|
|
2734
|
-
[key: string]: unknown;
|
|
2735
|
-
};
|
|
2933
|
+
granularity: string;
|
|
2736
2934
|
/**
|
|
2737
|
-
*
|
|
2935
|
+
* Base currency for converted values
|
|
2738
2936
|
*/
|
|
2739
|
-
|
|
2740
|
-
};
|
|
2741
|
-
|
|
2742
|
-
export type ValidateRuleResponseDto = {
|
|
2937
|
+
currency: string;
|
|
2743
2938
|
/**
|
|
2744
|
-
*
|
|
2939
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
2745
2940
|
*/
|
|
2746
|
-
|
|
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 = {
|
|
2747
2953
|
/**
|
|
2748
|
-
*
|
|
2954
|
+
* Access token for user verification
|
|
2749
2955
|
*/
|
|
2750
|
-
|
|
2956
|
+
accessToken: string;
|
|
2957
|
+
};
|
|
2958
|
+
|
|
2959
|
+
export type SignupDto = {
|
|
2751
2960
|
/**
|
|
2752
|
-
*
|
|
2961
|
+
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
2753
2962
|
*/
|
|
2754
|
-
|
|
2963
|
+
turnstileToken?: string;
|
|
2755
2964
|
};
|
|
2756
2965
|
|
|
2757
|
-
export type
|
|
2966
|
+
export type SignupResponseDto = {
|
|
2758
2967
|
/**
|
|
2759
|
-
*
|
|
2968
|
+
* JWT auth token
|
|
2760
2969
|
*/
|
|
2761
|
-
|
|
2970
|
+
authToken: string;
|
|
2762
2971
|
/**
|
|
2763
|
-
*
|
|
2972
|
+
* Auto-generated access token
|
|
2764
2973
|
*/
|
|
2765
|
-
|
|
2974
|
+
accessToken: string;
|
|
2975
|
+
/**
|
|
2976
|
+
* Assigned user role
|
|
2977
|
+
*/
|
|
2978
|
+
role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2766
2979
|
};
|
|
2767
2980
|
|
|
2768
2981
|
/**
|
|
2769
|
-
*
|
|
2982
|
+
* Assigned user role
|
|
2770
2983
|
*/
|
|
2771
|
-
export type
|
|
2984
|
+
export type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2772
2985
|
|
|
2773
|
-
export type
|
|
2986
|
+
export type UpdateUserSettingDto = {
|
|
2774
2987
|
/**
|
|
2775
|
-
*
|
|
2988
|
+
* Security ID
|
|
2776
2989
|
*/
|
|
2777
|
-
|
|
2990
|
+
secId?: number;
|
|
2778
2991
|
/**
|
|
2779
|
-
*
|
|
2992
|
+
* Annual interest rate
|
|
2780
2993
|
*/
|
|
2781
|
-
|
|
2994
|
+
annualInterestRate?: number;
|
|
2782
2995
|
/**
|
|
2783
|
-
*
|
|
2996
|
+
* Currency code
|
|
2784
2997
|
*/
|
|
2785
|
-
|
|
2786
|
-
index?: number;
|
|
2787
|
-
message?: string;
|
|
2788
|
-
}>;
|
|
2998
|
+
currency?: string;
|
|
2789
2999
|
/**
|
|
2790
|
-
*
|
|
3000
|
+
* Base currency code
|
|
2791
3001
|
*/
|
|
2792
|
-
|
|
2793
|
-
};
|
|
2794
|
-
|
|
2795
|
-
export type ExportRulesResponseDto = {
|
|
3002
|
+
baseCurrency?: string;
|
|
2796
3003
|
/**
|
|
2797
|
-
*
|
|
3004
|
+
* Benchmark symbol
|
|
2798
3005
|
*/
|
|
2799
|
-
|
|
3006
|
+
benchmark?: string;
|
|
2800
3007
|
/**
|
|
2801
|
-
*
|
|
3008
|
+
* Color scheme
|
|
2802
3009
|
*/
|
|
2803
|
-
|
|
3010
|
+
colorScheme?: 'DARK' | 'LIGHT';
|
|
2804
3011
|
/**
|
|
2805
|
-
*
|
|
3012
|
+
* Date range filter
|
|
2806
3013
|
*/
|
|
2807
|
-
|
|
3014
|
+
dateRange?: string;
|
|
2808
3015
|
/**
|
|
2809
|
-
*
|
|
3016
|
+
* Emergency fund amount
|
|
2810
3017
|
*/
|
|
2811
|
-
|
|
2812
|
-
};
|
|
2813
|
-
|
|
2814
|
-
export type RuleStatisticsResponseDto = {
|
|
3018
|
+
emergencyFund?: number;
|
|
2815
3019
|
/**
|
|
2816
|
-
*
|
|
3020
|
+
* Account filter IDs
|
|
2817
3021
|
*/
|
|
2818
|
-
|
|
3022
|
+
'filters.accounts'?: Array<string>;
|
|
2819
3023
|
/**
|
|
2820
|
-
*
|
|
3024
|
+
* Asset class filters
|
|
2821
3025
|
*/
|
|
2822
|
-
|
|
3026
|
+
'filters.assetClasses'?: Array<string>;
|
|
2823
3027
|
/**
|
|
2824
|
-
*
|
|
3028
|
+
* Data source filter
|
|
2825
3029
|
*/
|
|
2826
|
-
|
|
3030
|
+
'filters.dataSource'?: string;
|
|
2827
3031
|
/**
|
|
2828
|
-
*
|
|
3032
|
+
* Symbol filter
|
|
2829
3033
|
*/
|
|
2830
|
-
|
|
3034
|
+
'filters.symbol'?: string;
|
|
2831
3035
|
/**
|
|
2832
|
-
*
|
|
3036
|
+
* Tag filters
|
|
2833
3037
|
*/
|
|
2834
|
-
|
|
3038
|
+
'filters.tags'?: Array<string>;
|
|
2835
3039
|
/**
|
|
2836
|
-
*
|
|
3040
|
+
* Enable experimental features
|
|
2837
3041
|
*/
|
|
2838
|
-
|
|
2839
|
-
ruleId?: string;
|
|
2840
|
-
ruleName?: string;
|
|
2841
|
-
matchCount?: number;
|
|
2842
|
-
averageConfidence?: number;
|
|
2843
|
-
}>;
|
|
2844
|
-
};
|
|
2845
|
-
|
|
2846
|
-
/**
|
|
2847
|
-
* Statistics time period
|
|
2848
|
-
*/
|
|
2849
|
-
export type period = '7d' | '30d' | '90d';
|
|
2850
|
-
|
|
2851
|
-
export type UpdateTransactionRuleDto = {
|
|
2852
|
-
name?: string;
|
|
2853
|
-
description?: string;
|
|
2854
|
-
narrationKeywords?: Array<unknown[]>;
|
|
2855
|
-
payeeKeywords?: Array<unknown[]>;
|
|
2856
|
-
categoryKeywords?: Array<unknown[]>;
|
|
3042
|
+
isExperimentalFeatures?: boolean;
|
|
2857
3043
|
/**
|
|
2858
|
-
*
|
|
3044
|
+
* Enable restricted view mode
|
|
2859
3045
|
*/
|
|
2860
|
-
|
|
3046
|
+
isRestrictedView?: boolean;
|
|
2861
3047
|
/**
|
|
2862
|
-
*
|
|
3048
|
+
* Language code
|
|
2863
3049
|
*/
|
|
2864
|
-
|
|
2865
|
-
matchLogic?: 'OR' | 'AND';
|
|
3050
|
+
language?: string;
|
|
2866
3051
|
/**
|
|
2867
|
-
*
|
|
3052
|
+
* Locale code
|
|
2868
3053
|
*/
|
|
2869
|
-
|
|
3054
|
+
locale?: string;
|
|
2870
3055
|
/**
|
|
2871
|
-
*
|
|
3056
|
+
* Projected total amount
|
|
2872
3057
|
*/
|
|
2873
|
-
|
|
2874
|
-
priority?: number;
|
|
3058
|
+
projectedTotalAmount?: number;
|
|
2875
3059
|
/**
|
|
2876
|
-
*
|
|
3060
|
+
* Retirement date in ISO 8601 format
|
|
2877
3061
|
*/
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
3062
|
+
retirementDate?: string;
|
|
3063
|
+
/**
|
|
3064
|
+
* Savings rate percentage
|
|
3065
|
+
*/
|
|
3066
|
+
savingsRate?: number;
|
|
3067
|
+
/**
|
|
3068
|
+
* View mode
|
|
3069
|
+
*/
|
|
3070
|
+
viewMode?: 'DEFAULT' | 'ZEN';
|
|
2883
3071
|
};
|
|
2884
3072
|
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
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;
|
|
2891
3088
|
};
|
|
2892
3089
|
|
|
2893
|
-
export type
|
|
3090
|
+
export type CreateTransactionRuleDto = {
|
|
3091
|
+
name: string;
|
|
3092
|
+
description?: string;
|
|
3093
|
+
narrationKeywords?: Array<unknown[]>;
|
|
3094
|
+
payeeKeywords?: Array<unknown[]>;
|
|
3095
|
+
categoryKeywords?: Array<unknown[]>;
|
|
2894
3096
|
/**
|
|
2895
|
-
*
|
|
3097
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
2896
3098
|
*/
|
|
2897
|
-
|
|
3099
|
+
methodKeywords?: Array<unknown[]>;
|
|
2898
3100
|
/**
|
|
2899
|
-
*
|
|
3101
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
2900
3102
|
*/
|
|
2901
|
-
|
|
3103
|
+
categoryAccount?: string;
|
|
3104
|
+
matchLogic: 'OR' | 'AND';
|
|
2902
3105
|
/**
|
|
2903
|
-
*
|
|
3106
|
+
* Minimum transaction amount (inclusive)
|
|
2904
3107
|
*/
|
|
2905
|
-
|
|
3108
|
+
amountMin?: number;
|
|
2906
3109
|
/**
|
|
2907
|
-
*
|
|
3110
|
+
* Maximum transaction amount (inclusive)
|
|
2908
3111
|
*/
|
|
2909
|
-
|
|
3112
|
+
amountMax?: number;
|
|
3113
|
+
priority: number;
|
|
3114
|
+
additionalTags?: Array<unknown[]>;
|
|
3115
|
+
additionalMetadata?: {
|
|
2910
3116
|
[key: string]: unknown;
|
|
2911
3117
|
};
|
|
2912
|
-
};
|
|
2913
|
-
|
|
2914
|
-
export type DeleteOwnUserDto = {
|
|
2915
3118
|
/**
|
|
2916
|
-
*
|
|
3119
|
+
* If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
|
|
2917
3120
|
*/
|
|
2918
|
-
|
|
3121
|
+
upsertByPayee?: boolean;
|
|
2919
3122
|
};
|
|
2920
3123
|
|
|
2921
|
-
export type
|
|
2922
|
-
/**
|
|
2923
|
-
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
2924
|
-
*/
|
|
2925
|
-
turnstileToken?: string;
|
|
2926
|
-
};
|
|
3124
|
+
export type matchLogic = 'OR' | 'AND';
|
|
2927
3125
|
|
|
2928
|
-
export type
|
|
3126
|
+
export type AmountRangeDto = {
|
|
2929
3127
|
/**
|
|
2930
|
-
*
|
|
3128
|
+
* Minimum amount
|
|
2931
3129
|
*/
|
|
2932
|
-
|
|
3130
|
+
min?: number;
|
|
2933
3131
|
/**
|
|
2934
|
-
*
|
|
3132
|
+
* Maximum amount
|
|
2935
3133
|
*/
|
|
2936
|
-
|
|
3134
|
+
max?: number;
|
|
3135
|
+
};
|
|
3136
|
+
|
|
3137
|
+
export type TransactionRuleResponseDto = {
|
|
2937
3138
|
/**
|
|
2938
|
-
*
|
|
3139
|
+
* Rule ID
|
|
2939
3140
|
*/
|
|
2940
|
-
|
|
3141
|
+
id: string;
|
|
2941
3142
|
/**
|
|
2942
|
-
*
|
|
3143
|
+
* Rule name
|
|
2943
3144
|
*/
|
|
2944
|
-
|
|
3145
|
+
name: string;
|
|
2945
3146
|
/**
|
|
2946
|
-
*
|
|
3147
|
+
* Rule description
|
|
2947
3148
|
*/
|
|
2948
|
-
|
|
3149
|
+
description?: string;
|
|
2949
3150
|
/**
|
|
2950
|
-
*
|
|
3151
|
+
* Keywords to match in transaction narration
|
|
2951
3152
|
*/
|
|
2952
|
-
|
|
3153
|
+
narrationKeywords: Array<string>;
|
|
2953
3154
|
/**
|
|
2954
|
-
*
|
|
3155
|
+
* Keywords to match in payee name
|
|
2955
3156
|
*/
|
|
2956
|
-
|
|
3157
|
+
payeeKeywords: Array<string>;
|
|
2957
3158
|
/**
|
|
2958
|
-
*
|
|
3159
|
+
* Keywords to match in category
|
|
2959
3160
|
*/
|
|
2960
|
-
|
|
3161
|
+
categoryKeywords: Array<string>;
|
|
2961
3162
|
/**
|
|
2962
|
-
*
|
|
3163
|
+
* Keywords to match in payment method
|
|
2963
3164
|
*/
|
|
2964
|
-
|
|
3165
|
+
methodKeywords: Array<string>;
|
|
2965
3166
|
/**
|
|
2966
|
-
*
|
|
3167
|
+
* Destination account for categorization
|
|
2967
3168
|
*/
|
|
2968
|
-
|
|
3169
|
+
categoryAccount?: string;
|
|
2969
3170
|
/**
|
|
2970
|
-
*
|
|
3171
|
+
* Keyword matching logic
|
|
2971
3172
|
*/
|
|
2972
|
-
'
|
|
3173
|
+
matchLogic: 'OR' | 'AND';
|
|
2973
3174
|
/**
|
|
2974
|
-
*
|
|
3175
|
+
* Amount range for matching
|
|
2975
3176
|
*/
|
|
2976
|
-
|
|
3177
|
+
amountRange?: AmountRangeDto;
|
|
2977
3178
|
/**
|
|
2978
|
-
*
|
|
3179
|
+
* Rule priority (0-1000, higher = first match)
|
|
2979
3180
|
*/
|
|
2980
|
-
|
|
3181
|
+
priority: number;
|
|
2981
3182
|
/**
|
|
2982
|
-
*
|
|
3183
|
+
* Whether the rule is enabled
|
|
2983
3184
|
*/
|
|
2984
|
-
|
|
3185
|
+
enabled: boolean;
|
|
2985
3186
|
/**
|
|
2986
|
-
*
|
|
3187
|
+
* Learning source: NLP, REVIEW_CENTER, or null for manual
|
|
2987
3188
|
*/
|
|
2988
|
-
|
|
3189
|
+
learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
|
|
2989
3190
|
/**
|
|
2990
|
-
*
|
|
3191
|
+
* Whether auto-apply is enabled for this rule
|
|
2991
3192
|
*/
|
|
2992
|
-
|
|
3193
|
+
autoApplyEnabled: boolean;
|
|
2993
3194
|
/**
|
|
2994
|
-
*
|
|
3195
|
+
* Number of confirmations for NLP-learned rules
|
|
2995
3196
|
*/
|
|
2996
|
-
|
|
3197
|
+
confirmationCount: number;
|
|
2997
3198
|
/**
|
|
2998
|
-
*
|
|
3199
|
+
* Additional tags
|
|
2999
3200
|
*/
|
|
3000
|
-
|
|
3201
|
+
additionalTags: Array<string>;
|
|
3001
3202
|
/**
|
|
3002
|
-
*
|
|
3203
|
+
* Additional metadata
|
|
3003
3204
|
*/
|
|
3004
|
-
|
|
3205
|
+
additionalMetadata?: {
|
|
3206
|
+
[key: string]: string;
|
|
3207
|
+
};
|
|
3005
3208
|
/**
|
|
3006
|
-
*
|
|
3209
|
+
* Created timestamp
|
|
3007
3210
|
*/
|
|
3008
|
-
|
|
3211
|
+
createdAt: string;
|
|
3009
3212
|
/**
|
|
3010
|
-
*
|
|
3213
|
+
* Updated timestamp
|
|
3011
3214
|
*/
|
|
3012
|
-
|
|
3215
|
+
updatedAt: string;
|
|
3013
3216
|
};
|
|
3014
3217
|
|
|
3015
3218
|
/**
|
|
3016
|
-
*
|
|
3017
|
-
*/
|
|
3018
|
-
export type colorScheme = 'DARK' | 'LIGHT';
|
|
3019
|
-
|
|
3020
|
-
/**
|
|
3021
|
-
* View mode
|
|
3219
|
+
* Learning source: NLP, REVIEW_CENTER, or null for manual
|
|
3022
3220
|
*/
|
|
3023
|
-
export type
|
|
3221
|
+
export type learningSource = 'NLP' | 'REVIEW_CENTER';
|
|
3024
3222
|
|
|
3025
|
-
export type
|
|
3223
|
+
export type TransactionRuleListResponseDto = {
|
|
3224
|
+
data: Array<TransactionRuleResponseDto>;
|
|
3026
3225
|
/**
|
|
3027
|
-
*
|
|
3226
|
+
* Total count of rules
|
|
3028
3227
|
*/
|
|
3029
|
-
|
|
3228
|
+
total: number;
|
|
3229
|
+
/**
|
|
3230
|
+
* Results per page
|
|
3231
|
+
*/
|
|
3232
|
+
limit: number;
|
|
3233
|
+
/**
|
|
3234
|
+
* Pagination offset
|
|
3235
|
+
*/
|
|
3236
|
+
offset: number;
|
|
3030
3237
|
};
|
|
3031
3238
|
|
|
3032
|
-
export type
|
|
3239
|
+
export type ValidateRuleDto = {
|
|
3240
|
+
name: string;
|
|
3241
|
+
description?: string;
|
|
3242
|
+
narrationKeywords?: Array<unknown[]>;
|
|
3243
|
+
payeeKeywords?: Array<unknown[]>;
|
|
3244
|
+
categoryKeywords?: Array<unknown[]>;
|
|
3033
3245
|
/**
|
|
3034
|
-
*
|
|
3246
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
3035
3247
|
*/
|
|
3036
|
-
|
|
3248
|
+
methodKeywords?: Array<unknown[]>;
|
|
3037
3249
|
/**
|
|
3038
|
-
*
|
|
3250
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
3039
3251
|
*/
|
|
3040
|
-
|
|
3252
|
+
categoryAccount?: string;
|
|
3253
|
+
matchLogic: 'OR' | 'AND';
|
|
3041
3254
|
/**
|
|
3042
|
-
*
|
|
3255
|
+
* Minimum transaction amount (inclusive)
|
|
3043
3256
|
*/
|
|
3044
|
-
|
|
3257
|
+
amountMin?: number;
|
|
3045
3258
|
/**
|
|
3046
|
-
*
|
|
3259
|
+
* Maximum transaction amount (inclusive)
|
|
3047
3260
|
*/
|
|
3048
|
-
|
|
3261
|
+
amountMax?: number;
|
|
3262
|
+
priority: number;
|
|
3263
|
+
additionalTags?: Array<unknown[]>;
|
|
3264
|
+
additionalMetadata?: {
|
|
3049
3265
|
[key: string]: unknown;
|
|
3050
3266
|
};
|
|
3267
|
+
/**
|
|
3268
|
+
* If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
|
|
3269
|
+
*/
|
|
3270
|
+
upsertByPayee?: boolean;
|
|
3051
3271
|
};
|
|
3052
3272
|
|
|
3053
|
-
export type
|
|
3273
|
+
export type ValidateRuleResponseDto = {
|
|
3054
3274
|
/**
|
|
3055
|
-
*
|
|
3275
|
+
* Whether the rule configuration is valid
|
|
3056
3276
|
*/
|
|
3057
|
-
|
|
3277
|
+
valid: boolean;
|
|
3058
3278
|
/**
|
|
3059
|
-
*
|
|
3279
|
+
* List of validation errors (empty if valid)
|
|
3060
3280
|
*/
|
|
3061
|
-
|
|
3281
|
+
errors: Array<unknown[]>;
|
|
3062
3282
|
/**
|
|
3063
|
-
*
|
|
3283
|
+
* List of validation warnings (non-blocking issues)
|
|
3284
|
+
*/
|
|
3285
|
+
warnings: Array<unknown[]>;
|
|
3286
|
+
};
|
|
3287
|
+
|
|
3288
|
+
export type BulkCreateRulesDto = {
|
|
3289
|
+
/**
|
|
3290
|
+
* Array of rules to import
|
|
3291
|
+
*/
|
|
3292
|
+
rules: Array<unknown[]>;
|
|
3293
|
+
/**
|
|
3294
|
+
* Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
|
|
3295
|
+
*/
|
|
3296
|
+
conflictStrategy: 'replace' | 'skip';
|
|
3297
|
+
};
|
|
3298
|
+
|
|
3299
|
+
/**
|
|
3300
|
+
* Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
|
|
3301
|
+
*/
|
|
3302
|
+
export type conflictStrategy = 'replace' | 'skip';
|
|
3303
|
+
|
|
3304
|
+
export type BulkCreateRulesResponseDto = {
|
|
3305
|
+
/**
|
|
3306
|
+
* Number of successfully created rules
|
|
3307
|
+
*/
|
|
3308
|
+
successCount: number;
|
|
3309
|
+
/**
|
|
3310
|
+
* Number of failed rules
|
|
3311
|
+
*/
|
|
3312
|
+
failureCount: number;
|
|
3313
|
+
/**
|
|
3314
|
+
* Error details for failed rules
|
|
3315
|
+
*/
|
|
3316
|
+
errors: Array<{
|
|
3317
|
+
index?: number;
|
|
3318
|
+
message?: string;
|
|
3319
|
+
}>;
|
|
3320
|
+
/**
|
|
3321
|
+
* IDs of successfully created rules
|
|
3322
|
+
*/
|
|
3323
|
+
createdRuleIds: Array<string>;
|
|
3324
|
+
};
|
|
3325
|
+
|
|
3326
|
+
export type ExportRulesResponseDto = {
|
|
3327
|
+
/**
|
|
3328
|
+
* Export timestamp
|
|
3329
|
+
*/
|
|
3330
|
+
exportedAt: string;
|
|
3331
|
+
/**
|
|
3332
|
+
* User ID
|
|
3333
|
+
*/
|
|
3334
|
+
userId: string;
|
|
3335
|
+
/**
|
|
3336
|
+
* Number of exported rules
|
|
3337
|
+
*/
|
|
3338
|
+
ruleCount: number;
|
|
3339
|
+
/**
|
|
3340
|
+
* Exported rules
|
|
3341
|
+
*/
|
|
3342
|
+
rules: unknown[];
|
|
3343
|
+
};
|
|
3344
|
+
|
|
3345
|
+
export type RuleStatisticsResponseDto = {
|
|
3346
|
+
/**
|
|
3347
|
+
* Statistics time period
|
|
3348
|
+
*/
|
|
3349
|
+
period: '7d' | '30d' | '90d';
|
|
3350
|
+
/**
|
|
3351
|
+
* Total number of rules
|
|
3352
|
+
*/
|
|
3353
|
+
totalRules: number;
|
|
3354
|
+
/**
|
|
3355
|
+
* Number of rules with at least one match
|
|
3356
|
+
*/
|
|
3357
|
+
rulesWithMatches: number;
|
|
3358
|
+
/**
|
|
3359
|
+
* Total number of matches across all rules
|
|
3360
|
+
*/
|
|
3361
|
+
totalMatches: number;
|
|
3362
|
+
/**
|
|
3363
|
+
* Average confidence score across all matches
|
|
3364
|
+
*/
|
|
3365
|
+
averageConfidence: number;
|
|
3366
|
+
/**
|
|
3367
|
+
* Per-rule statistics
|
|
3368
|
+
*/
|
|
3369
|
+
ruleStats: Array<{
|
|
3370
|
+
ruleId?: string;
|
|
3371
|
+
ruleName?: string;
|
|
3372
|
+
matchCount?: number;
|
|
3373
|
+
averageConfidence?: number;
|
|
3374
|
+
}>;
|
|
3375
|
+
};
|
|
3376
|
+
|
|
3377
|
+
/**
|
|
3378
|
+
* Statistics time period
|
|
3379
|
+
*/
|
|
3380
|
+
export type period = '7d' | '30d' | '90d';
|
|
3381
|
+
|
|
3382
|
+
export type UpdateTransactionRuleDto = {
|
|
3383
|
+
name?: string;
|
|
3384
|
+
description?: string;
|
|
3385
|
+
narrationKeywords?: Array<unknown[]>;
|
|
3386
|
+
payeeKeywords?: Array<unknown[]>;
|
|
3387
|
+
categoryKeywords?: Array<unknown[]>;
|
|
3388
|
+
/**
|
|
3389
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
3390
|
+
*/
|
|
3391
|
+
methodKeywords?: Array<unknown[]>;
|
|
3392
|
+
/**
|
|
3393
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
3394
|
+
*/
|
|
3395
|
+
categoryAccount?: string;
|
|
3396
|
+
matchLogic?: 'OR' | 'AND';
|
|
3397
|
+
/**
|
|
3398
|
+
* Minimum transaction amount (inclusive)
|
|
3399
|
+
*/
|
|
3400
|
+
amountMin?: number;
|
|
3401
|
+
/**
|
|
3402
|
+
* Maximum transaction amount (inclusive)
|
|
3403
|
+
*/
|
|
3404
|
+
amountMax?: number;
|
|
3405
|
+
priority?: number;
|
|
3406
|
+
/**
|
|
3407
|
+
* Enable or disable the rule
|
|
3408
|
+
*/
|
|
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 = {
|
|
3425
|
+
/**
|
|
3426
|
+
* Rule ID that was tested
|
|
3427
|
+
*/
|
|
3428
|
+
ruleId: string;
|
|
3429
|
+
/**
|
|
3430
|
+
* Whether the rule matched the test data
|
|
3431
|
+
*/
|
|
3432
|
+
matches: boolean;
|
|
3433
|
+
/**
|
|
3434
|
+
* Match confidence score (0-1)
|
|
3435
|
+
*/
|
|
3436
|
+
confidence: number;
|
|
3437
|
+
/**
|
|
3438
|
+
* Details of which fields matched
|
|
3439
|
+
*/
|
|
3440
|
+
matchDetails: {
|
|
3441
|
+
[key: string]: unknown;
|
|
3442
|
+
};
|
|
3443
|
+
};
|
|
3444
|
+
|
|
3445
|
+
export type CreateBeanEventDto = {
|
|
3446
|
+
/**
|
|
3447
|
+
* Life event date (ISO 8601)
|
|
3448
|
+
*/
|
|
3449
|
+
date: string;
|
|
3450
|
+
/**
|
|
3451
|
+
* Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
|
|
3452
|
+
*/
|
|
3453
|
+
type: string;
|
|
3454
|
+
/**
|
|
3455
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3456
|
+
*/
|
|
3457
|
+
description: string;
|
|
3458
|
+
/**
|
|
3459
|
+
* Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
|
|
3460
|
+
*/
|
|
3461
|
+
meta?: {
|
|
3462
|
+
[key: string]: unknown;
|
|
3463
|
+
};
|
|
3464
|
+
};
|
|
3465
|
+
|
|
3466
|
+
export type EventResponseDto = {
|
|
3467
|
+
/**
|
|
3468
|
+
* Unique identifier
|
|
3469
|
+
*/
|
|
3470
|
+
id: string;
|
|
3471
|
+
/**
|
|
3472
|
+
* User ID (owner of the life event)
|
|
3473
|
+
*/
|
|
3474
|
+
userId: string;
|
|
3475
|
+
/**
|
|
3476
|
+
* Life event date (ISO 8601 format)
|
|
3064
3477
|
*/
|
|
3065
3478
|
date: string;
|
|
3066
3479
|
/**
|
|
@@ -3119,81 +3532,235 @@ export type UpdateBeanEventDto = {
|
|
|
3119
3532
|
};
|
|
3120
3533
|
};
|
|
3121
3534
|
|
|
3122
|
-
export type
|
|
3535
|
+
export type OnboardingAccountDto = {
|
|
3123
3536
|
/**
|
|
3124
|
-
*
|
|
3537
|
+
* Account path (Assets/Liabilities only; format validated by the account service)
|
|
3125
3538
|
*/
|
|
3126
|
-
|
|
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;
|
|
3127
3552
|
};
|
|
3128
3553
|
|
|
3129
|
-
export type
|
|
3554
|
+
export type OnboardingDto = {
|
|
3130
3555
|
/**
|
|
3131
|
-
*
|
|
3556
|
+
* Asset/Liability accounts to register with opening balances
|
|
3132
3557
|
*/
|
|
3133
|
-
|
|
3558
|
+
accounts?: Array<OnboardingAccountDto>;
|
|
3134
3559
|
/**
|
|
3135
|
-
*
|
|
3560
|
+
* Skip asset registration; only bootstrap the core account set
|
|
3136
3561
|
*/
|
|
3137
|
-
|
|
3562
|
+
skipAssetRegistration?: boolean;
|
|
3138
3563
|
};
|
|
3139
3564
|
|
|
3140
|
-
export type
|
|
3565
|
+
export type ActualBalanceDto = {
|
|
3141
3566
|
/**
|
|
3142
|
-
*
|
|
3567
|
+
* Actual balance amount as a decimal string (preserves precision for tolerance inference).
|
|
3143
3568
|
*/
|
|
3144
|
-
|
|
3569
|
+
amount: string;
|
|
3145
3570
|
/**
|
|
3146
|
-
*
|
|
3571
|
+
* Currency code (ISO 4217 or commodity ticker).
|
|
3147
3572
|
*/
|
|
3148
|
-
|
|
3573
|
+
ccy: string;
|
|
3574
|
+
};
|
|
3575
|
+
|
|
3576
|
+
export type ComputeReconciliationDto = {
|
|
3149
3577
|
/**
|
|
3150
|
-
*
|
|
3578
|
+
* BeanAccount id to reconcile.
|
|
3151
3579
|
*/
|
|
3152
|
-
|
|
3580
|
+
accountId: string;
|
|
3153
3581
|
/**
|
|
3154
|
-
*
|
|
3582
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3155
3583
|
*/
|
|
3156
|
-
|
|
3584
|
+
asOfDate: string;
|
|
3157
3585
|
/**
|
|
3158
|
-
*
|
|
3586
|
+
* Actual balance from the external statement.
|
|
3159
3587
|
*/
|
|
3160
|
-
|
|
3588
|
+
actualBalance: ActualBalanceDto;
|
|
3589
|
+
};
|
|
3590
|
+
|
|
3591
|
+
export type ReconciliationComputeResultDto = {
|
|
3592
|
+
accountId: string;
|
|
3593
|
+
asOfDate: string;
|
|
3161
3594
|
/**
|
|
3162
|
-
*
|
|
3595
|
+
* System-computed book balance (decimal string).
|
|
3163
3596
|
*/
|
|
3164
|
-
|
|
3597
|
+
bookBalance: string;
|
|
3165
3598
|
/**
|
|
3166
|
-
*
|
|
3599
|
+
* User-entered actual balance (decimal string).
|
|
3167
3600
|
*/
|
|
3168
|
-
|
|
3601
|
+
actualBalance: string;
|
|
3602
|
+
currency: string;
|
|
3169
3603
|
/**
|
|
3170
|
-
*
|
|
3604
|
+
* Diff = book − actual (decimal string).
|
|
3171
3605
|
*/
|
|
3172
|
-
|
|
3606
|
+
diff: string;
|
|
3173
3607
|
/**
|
|
3174
|
-
*
|
|
3608
|
+
* Applied tolerance (decimal string).
|
|
3175
3609
|
*/
|
|
3176
|
-
|
|
3177
|
-
| 'DUPLICATE'
|
|
3178
|
-
| 'PAYEE_MATCH'
|
|
3179
|
-
| 'RULE_MATCH'
|
|
3180
|
-
| 'ACCOUNT_VALIDATION'
|
|
3181
|
-
| 'PIPELINE_ERROR';
|
|
3610
|
+
tolerance: string;
|
|
3182
3611
|
/**
|
|
3183
|
-
*
|
|
3612
|
+
* true when |diff| ≤ tolerance.
|
|
3184
3613
|
*/
|
|
3185
|
-
|
|
3614
|
+
withinTolerance: boolean;
|
|
3615
|
+
/**
|
|
3616
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3617
|
+
*/
|
|
3618
|
+
suggestedAction: 'assert' | 'pad';
|
|
3186
3619
|
};
|
|
3187
3620
|
|
|
3188
3621
|
/**
|
|
3189
|
-
*
|
|
3622
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3190
3623
|
*/
|
|
3191
|
-
export type
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
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
|
+
|
|
3689
|
+
export type FileImportDto = {
|
|
3690
|
+
/**
|
|
3691
|
+
* Bill file to import (CSV, PDF, OFX, etc.)
|
|
3692
|
+
*/
|
|
3693
|
+
file: Blob | File;
|
|
3694
|
+
};
|
|
3695
|
+
|
|
3696
|
+
export type ImportErrorDto = {
|
|
3697
|
+
/**
|
|
3698
|
+
* Index of failed transaction in the file
|
|
3699
|
+
*/
|
|
3700
|
+
index: number;
|
|
3701
|
+
/**
|
|
3702
|
+
* Error message
|
|
3703
|
+
*/
|
|
3704
|
+
error: string;
|
|
3705
|
+
};
|
|
3706
|
+
|
|
3707
|
+
export type ReviewItemPreviewDto = {
|
|
3708
|
+
/**
|
|
3709
|
+
* Index in the import batch (for tracking)
|
|
3710
|
+
*/
|
|
3711
|
+
index: number;
|
|
3712
|
+
/**
|
|
3713
|
+
* Transaction date (ISO format)
|
|
3714
|
+
*/
|
|
3715
|
+
date: string;
|
|
3716
|
+
/**
|
|
3717
|
+
* Transaction amount (absolute value)
|
|
3718
|
+
*/
|
|
3719
|
+
amount?: number;
|
|
3720
|
+
/**
|
|
3721
|
+
* Currency code
|
|
3722
|
+
*/
|
|
3723
|
+
currency?: string;
|
|
3724
|
+
/**
|
|
3725
|
+
* Transaction narration/description
|
|
3726
|
+
*/
|
|
3727
|
+
narration: string;
|
|
3728
|
+
/**
|
|
3729
|
+
* Payee name
|
|
3730
|
+
*/
|
|
3731
|
+
payee?: string;
|
|
3732
|
+
/**
|
|
3733
|
+
* Inferred category from rule matching
|
|
3734
|
+
*/
|
|
3735
|
+
category?: string;
|
|
3736
|
+
/**
|
|
3737
|
+
* Confidence score for the match (0-1)
|
|
3738
|
+
*/
|
|
3739
|
+
confidence?: number;
|
|
3740
|
+
/**
|
|
3741
|
+
* Type of branch requiring review
|
|
3742
|
+
*/
|
|
3743
|
+
branchType?:
|
|
3744
|
+
| 'DUPLICATE'
|
|
3745
|
+
| 'PAYEE_MATCH'
|
|
3746
|
+
| 'RULE_MATCH'
|
|
3747
|
+
| 'ACCOUNT_VALIDATION'
|
|
3748
|
+
| 'PIPELINE_ERROR';
|
|
3749
|
+
/**
|
|
3750
|
+
* Human-readable reasons for requiring review
|
|
3751
|
+
*/
|
|
3752
|
+
reasons?: Array<string>;
|
|
3753
|
+
};
|
|
3754
|
+
|
|
3755
|
+
/**
|
|
3756
|
+
* Type of branch requiring review
|
|
3757
|
+
*/
|
|
3758
|
+
export type branchType =
|
|
3759
|
+
| 'DUPLICATE'
|
|
3760
|
+
| 'PAYEE_MATCH'
|
|
3761
|
+
| 'RULE_MATCH'
|
|
3762
|
+
| 'ACCOUNT_VALIDATION'
|
|
3763
|
+
| 'PIPELINE_ERROR';
|
|
3197
3764
|
|
|
3198
3765
|
export type ImportResultDto = {
|
|
3199
3766
|
/**
|
|
@@ -3417,94 +3984,6 @@ export type UpdateImporterConfigDto = {
|
|
|
3417
3984
|
data?: UpdateConfigDataDto;
|
|
3418
3985
|
};
|
|
3419
3986
|
|
|
3420
|
-
export type CreatePlatformDto = {
|
|
3421
|
-
/**
|
|
3422
|
-
* Platform name
|
|
3423
|
-
*/
|
|
3424
|
-
name: string;
|
|
3425
|
-
/**
|
|
3426
|
-
* Platform canonical identifier (lowercase, kebab-case)
|
|
3427
|
-
*/
|
|
3428
|
-
canonical: string;
|
|
3429
|
-
/**
|
|
3430
|
-
* Platform aliases (multi-language names for lookup)
|
|
3431
|
-
*/
|
|
3432
|
-
aliases: Array<string>;
|
|
3433
|
-
/**
|
|
3434
|
-
* Platform URL
|
|
3435
|
-
*/
|
|
3436
|
-
url: string;
|
|
3437
|
-
/**
|
|
3438
|
-
* Platform type
|
|
3439
|
-
*/
|
|
3440
|
-
type:
|
|
3441
|
-
| 'BANK'
|
|
3442
|
-
| 'BROKERAGE'
|
|
3443
|
-
| 'CRYPTO_EXCHANGE'
|
|
3444
|
-
| 'PAYMENT'
|
|
3445
|
-
| 'INVESTMENT'
|
|
3446
|
-
| 'INSURANCE'
|
|
3447
|
-
| 'OTHER';
|
|
3448
|
-
/**
|
|
3449
|
-
* Platform logo URL
|
|
3450
|
-
*/
|
|
3451
|
-
logoUrl?: string;
|
|
3452
|
-
/**
|
|
3453
|
-
* Whether the platform is active
|
|
3454
|
-
*/
|
|
3455
|
-
isActive?: boolean;
|
|
3456
|
-
};
|
|
3457
|
-
|
|
3458
|
-
/**
|
|
3459
|
-
* Platform type
|
|
3460
|
-
*/
|
|
3461
|
-
export type type3 =
|
|
3462
|
-
| 'BANK'
|
|
3463
|
-
| 'BROKERAGE'
|
|
3464
|
-
| 'CRYPTO_EXCHANGE'
|
|
3465
|
-
| 'PAYMENT'
|
|
3466
|
-
| 'INVESTMENT'
|
|
3467
|
-
| 'INSURANCE'
|
|
3468
|
-
| 'OTHER';
|
|
3469
|
-
|
|
3470
|
-
export type UpdatePlatformDto = {
|
|
3471
|
-
/**
|
|
3472
|
-
* Platform name
|
|
3473
|
-
*/
|
|
3474
|
-
name?: string;
|
|
3475
|
-
/**
|
|
3476
|
-
* Platform canonical identifier (lowercase, kebab-case)
|
|
3477
|
-
*/
|
|
3478
|
-
canonical?: string;
|
|
3479
|
-
/**
|
|
3480
|
-
* Platform aliases (multi-language names for lookup)
|
|
3481
|
-
*/
|
|
3482
|
-
aliases?: Array<string>;
|
|
3483
|
-
/**
|
|
3484
|
-
* Platform URL
|
|
3485
|
-
*/
|
|
3486
|
-
url?: string;
|
|
3487
|
-
/**
|
|
3488
|
-
* Platform type
|
|
3489
|
-
*/
|
|
3490
|
-
type?:
|
|
3491
|
-
| 'BANK'
|
|
3492
|
-
| 'BROKERAGE'
|
|
3493
|
-
| 'CRYPTO_EXCHANGE'
|
|
3494
|
-
| 'PAYMENT'
|
|
3495
|
-
| 'INVESTMENT'
|
|
3496
|
-
| 'INSURANCE'
|
|
3497
|
-
| 'OTHER';
|
|
3498
|
-
/**
|
|
3499
|
-
* Platform logo URL
|
|
3500
|
-
*/
|
|
3501
|
-
logoUrl?: string;
|
|
3502
|
-
/**
|
|
3503
|
-
* Whether the platform is active
|
|
3504
|
-
*/
|
|
3505
|
-
isActive?: boolean;
|
|
3506
|
-
};
|
|
3507
|
-
|
|
3508
3987
|
export type ProviderSyncConfigDto = {
|
|
3509
3988
|
/**
|
|
3510
3989
|
* Source account for the first posting
|
|
@@ -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
|
*/
|
|
@@ -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
|
*/
|
|
@@ -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,22 +4708,208 @@ 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
|
-
|
|
4172
|
-
};
|
|
4173
|
-
|
|
4174
|
-
export type NetWorthByCurrencyDto = {
|
|
4719
|
+
name: string;
|
|
4175
4720
|
/**
|
|
4176
|
-
*
|
|
4721
|
+
* Platform URL
|
|
4177
4722
|
*/
|
|
4178
|
-
|
|
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;
|
|
4906
|
+
};
|
|
4907
|
+
|
|
4908
|
+
export type NetWorthByCurrencyDto = {
|
|
4909
|
+
/**
|
|
4910
|
+
* Net worth by currency
|
|
4911
|
+
*/
|
|
4912
|
+
netWorth: Array<BalanceByCurrencyDto>;
|
|
4179
4913
|
/**
|
|
4180
4914
|
* Assets by currency
|
|
4181
4915
|
*/
|
|
@@ -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)
|
|
@@ -4290,6 +5009,10 @@ export type AccountItemDto = {
|
|
|
4290
5009
|
* Currency code
|
|
4291
5010
|
*/
|
|
4292
5011
|
currency: string;
|
|
5012
|
+
/**
|
|
5013
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
5014
|
+
*/
|
|
5015
|
+
convertedBalance?: string;
|
|
4293
5016
|
};
|
|
4294
5017
|
|
|
4295
5018
|
export type PlatformGroupDto = {
|
|
@@ -4306,9 +5029,40 @@ export type PlatformGroupDto = {
|
|
|
4306
5029
|
*/
|
|
4307
5030
|
accounts: Array<AccountItemDto>;
|
|
4308
5031
|
/**
|
|
4309
|
-
*
|
|
5032
|
+
* FX-converted total balance in base currency
|
|
4310
5033
|
*/
|
|
4311
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)
|
|
5041
|
+
*/
|
|
5042
|
+
convertedBalance?: string;
|
|
5043
|
+
/**
|
|
5044
|
+
* Share of the grand converted total (0-100); 0 when grand total is 0
|
|
5045
|
+
*/
|
|
5046
|
+
sharePct: number;
|
|
5047
|
+
};
|
|
5048
|
+
|
|
5049
|
+
export type AccountExchangeRateWarningDto = {
|
|
5050
|
+
/**
|
|
5051
|
+
* Warning type
|
|
5052
|
+
*/
|
|
5053
|
+
type: string;
|
|
5054
|
+
/**
|
|
5055
|
+
* Currency without exchange rate
|
|
5056
|
+
*/
|
|
5057
|
+
currency: string;
|
|
5058
|
+
/**
|
|
5059
|
+
* Affected account paths
|
|
5060
|
+
*/
|
|
5061
|
+
accounts: Array<string>;
|
|
5062
|
+
/**
|
|
5063
|
+
* Total amount in this currency
|
|
5064
|
+
*/
|
|
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
|
|
@@ -4625,7 +5372,7 @@ export type CategoryGroupDto = {
|
|
|
4625
5372
|
*/
|
|
4626
5373
|
category: string;
|
|
4627
5374
|
/**
|
|
4628
|
-
* Converted total
|
|
5375
|
+
* Converted total for this category in base currency (expense amount when flow=expense, income amount when flow=income)
|
|
4629
5376
|
*/
|
|
4630
5377
|
totalExpense: string;
|
|
4631
5378
|
/**
|
|
@@ -4644,7 +5391,7 @@ export type CategoryGroupDto = {
|
|
|
4644
5391
|
|
|
4645
5392
|
export type ExpensesByCategorySummaryDto = {
|
|
4646
5393
|
/**
|
|
4647
|
-
* Total
|
|
5394
|
+
* Total across all categories, converted (convertible categories only); expense totals when flow=expense, income totals when flow=income
|
|
4648
5395
|
*/
|
|
4649
5396
|
totalExpense: string;
|
|
4650
5397
|
/**
|
|
@@ -4871,287 +5618,146 @@ export type HoldingPnlResponseDto = {
|
|
|
4871
5618
|
*/
|
|
4872
5619
|
export type method = 'average' | 'FIFO';
|
|
4873
5620
|
|
|
4874
|
-
export type
|
|
5621
|
+
export type AnonymousLoginDto = {
|
|
4875
5622
|
/**
|
|
4876
|
-
*
|
|
5623
|
+
* Access token for anonymous login
|
|
4877
5624
|
*/
|
|
4878
|
-
|
|
5625
|
+
accessToken: string;
|
|
5626
|
+
};
|
|
5627
|
+
|
|
5628
|
+
export type AnonymousLoginResponseDto = {
|
|
4879
5629
|
/**
|
|
4880
|
-
*
|
|
5630
|
+
* JWT auth token
|
|
4881
5631
|
*/
|
|
4882
|
-
|
|
5632
|
+
authToken: string;
|
|
5633
|
+
};
|
|
5634
|
+
|
|
5635
|
+
export type SymbolSearchResultDto = {
|
|
5636
|
+
symbol: string;
|
|
5637
|
+
name?: {
|
|
5638
|
+
[key: string]: unknown;
|
|
5639
|
+
} | null;
|
|
5640
|
+
exchange?: {
|
|
5641
|
+
[key: string]: unknown;
|
|
5642
|
+
} | null;
|
|
4883
5643
|
/**
|
|
4884
|
-
*
|
|
4885
|
-
*/
|
|
4886
|
-
amount: number;
|
|
4887
|
-
/**
|
|
4888
|
-
* Price date (ISO 8601 format)
|
|
4889
|
-
*/
|
|
4890
|
-
date: string;
|
|
4891
|
-
/**
|
|
4892
|
-
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
5644
|
+
* OpenBB asset_type (e.g. stock, etf)
|
|
4893
5645
|
*/
|
|
4894
|
-
|
|
5646
|
+
assetType?: {
|
|
4895
5647
|
[key: string]: unknown;
|
|
4896
|
-
};
|
|
4897
|
-
};
|
|
4898
|
-
|
|
4899
|
-
export type PriceResponseDto = {
|
|
4900
|
-
/**
|
|
4901
|
-
* Unique identifier
|
|
4902
|
-
*/
|
|
4903
|
-
id: string;
|
|
4904
|
-
/**
|
|
4905
|
-
* User ID (owner of the price)
|
|
4906
|
-
*/
|
|
4907
|
-
userId: string;
|
|
4908
|
-
/**
|
|
4909
|
-
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4910
|
-
*/
|
|
4911
|
-
currency: string;
|
|
4912
|
-
/**
|
|
4913
|
-
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
4914
|
-
*/
|
|
4915
|
-
quoteCurrency: string;
|
|
4916
|
-
/**
|
|
4917
|
-
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
4918
|
-
*/
|
|
4919
|
-
amount: number;
|
|
5648
|
+
} | null;
|
|
4920
5649
|
/**
|
|
4921
|
-
*
|
|
5650
|
+
* IGN asset class (region.types.ts ASSET_CLASSES)
|
|
4922
5651
|
*/
|
|
4923
|
-
|
|
4924
|
-
/**
|
|
4925
|
-
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
4926
|
-
*/
|
|
4927
|
-
meta: {
|
|
5652
|
+
assetClass?: {
|
|
4928
5653
|
[key: string]: unknown;
|
|
4929
|
-
};
|
|
4930
|
-
/**
|
|
4931
|
-
* Creation timestamp
|
|
4932
|
-
*/
|
|
4933
|
-
createdAt: string;
|
|
4934
|
-
/**
|
|
4935
|
-
* Last update timestamp
|
|
4936
|
-
*/
|
|
4937
|
-
updatedAt: string;
|
|
4938
|
-
};
|
|
4939
|
-
|
|
4940
|
-
export type PriceListResponseDto = {
|
|
4941
|
-
/**
|
|
4942
|
-
* List of prices
|
|
4943
|
-
*/
|
|
4944
|
-
items: Array<PriceResponseDto>;
|
|
4945
|
-
/**
|
|
4946
|
-
* Total number of prices
|
|
4947
|
-
*/
|
|
4948
|
-
total: number;
|
|
4949
|
-
};
|
|
4950
|
-
|
|
4951
|
-
export type UpdateBeanPriceDto = {
|
|
4952
|
-
/**
|
|
4953
|
-
* Currency being priced
|
|
4954
|
-
*/
|
|
4955
|
-
currency?: string;
|
|
4956
|
-
/**
|
|
4957
|
-
* Quote currency (pricing currency)
|
|
4958
|
-
*/
|
|
4959
|
-
quoteCurrency?: string;
|
|
4960
|
-
/**
|
|
4961
|
-
* Price amount (MUST be >= 0 per Beancount spec)
|
|
4962
|
-
*/
|
|
4963
|
-
amount?: number;
|
|
4964
|
-
/**
|
|
4965
|
-
* Price date (ISO 8601 format)
|
|
4966
|
-
*/
|
|
4967
|
-
date?: string;
|
|
5654
|
+
} | null;
|
|
4968
5655
|
/**
|
|
4969
|
-
*
|
|
5656
|
+
* IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
|
|
4970
5657
|
*/
|
|
4971
|
-
|
|
5658
|
+
assetSubClass?: {
|
|
4972
5659
|
[key: string]: unknown;
|
|
4973
|
-
};
|
|
4974
|
-
};
|
|
4975
|
-
|
|
4976
|
-
export type CurrencyBalanceDto = {
|
|
4977
|
-
/**
|
|
4978
|
-
* ISO 4217 currency code
|
|
4979
|
-
*/
|
|
4980
|
-
currency: string;
|
|
4981
|
-
/**
|
|
4982
|
-
* Balance amount
|
|
4983
|
-
*/
|
|
4984
|
-
balance: string;
|
|
4985
|
-
};
|
|
4986
|
-
|
|
4987
|
-
export type TimeSeriesPointDto = {
|
|
4988
|
-
/**
|
|
4989
|
-
* Date in YYYY-MM-DD format
|
|
4990
|
-
*/
|
|
4991
|
-
date: string;
|
|
4992
|
-
/**
|
|
4993
|
-
* Value at this date (in base currency)
|
|
4994
|
-
*/
|
|
4995
|
-
value: string;
|
|
5660
|
+
} | null;
|
|
4996
5661
|
/**
|
|
4997
|
-
*
|
|
5662
|
+
* Trading currency (extra_data or inferred from exchange)
|
|
4998
5663
|
*/
|
|
4999
|
-
|
|
5664
|
+
currency?: {
|
|
5000
5665
|
[key: string]: unknown;
|
|
5001
|
-
};
|
|
5002
|
-
/**
|
|
5003
|
-
* Total assets at this date (in base currency)
|
|
5004
|
-
*/
|
|
5005
|
-
assets?: string;
|
|
5006
|
-
/**
|
|
5007
|
-
* Total liabilities at this date (in base currency)
|
|
5008
|
-
*/
|
|
5009
|
-
liabilities?: string;
|
|
5010
|
-
/**
|
|
5011
|
-
* Multi-currency breakdown for this point
|
|
5012
|
-
*/
|
|
5013
|
-
byCurrency?: Array<CurrencyBalanceDto>;
|
|
5014
|
-
};
|
|
5015
|
-
|
|
5016
|
-
export type TrendSummaryDto = {
|
|
5017
|
-
/**
|
|
5018
|
-
* Value at start of period
|
|
5019
|
-
*/
|
|
5020
|
-
startValue: string;
|
|
5021
|
-
/**
|
|
5022
|
-
* Value at end of period
|
|
5023
|
-
*/
|
|
5024
|
-
endValue: string;
|
|
5025
|
-
/**
|
|
5026
|
-
* Total change over period
|
|
5027
|
-
*/
|
|
5028
|
-
totalChange: string;
|
|
5029
|
-
/**
|
|
5030
|
-
* Total change percentage
|
|
5031
|
-
*/
|
|
5032
|
-
totalChangePercentage: string;
|
|
5033
|
-
};
|
|
5034
|
-
|
|
5035
|
-
export type MultiCurrencyPointDto = {
|
|
5036
|
-
/**
|
|
5037
|
-
* Date in YYYY-MM-DD format
|
|
5038
|
-
*/
|
|
5039
|
-
date: string;
|
|
5040
|
-
/**
|
|
5041
|
-
* Balances by currency
|
|
5042
|
-
*/
|
|
5043
|
-
byCurrency: Array<CurrencyBalanceDto>;
|
|
5044
|
-
};
|
|
5045
|
-
|
|
5046
|
-
export type PortfolioTrendsResponseDto = {
|
|
5047
|
-
/**
|
|
5048
|
-
* Time series data points
|
|
5049
|
-
*/
|
|
5050
|
-
series: Array<TimeSeriesPointDto>;
|
|
5051
|
-
/**
|
|
5052
|
-
* Period summary
|
|
5053
|
-
*/
|
|
5054
|
-
summary: TrendSummaryDto;
|
|
5055
|
-
/**
|
|
5056
|
-
* Period requested
|
|
5057
|
-
*/
|
|
5058
|
-
period: string;
|
|
5059
|
-
/**
|
|
5060
|
-
* Data granularity
|
|
5061
|
-
*/
|
|
5062
|
-
granularity: string;
|
|
5063
|
-
/**
|
|
5064
|
-
* Base currency for converted values
|
|
5065
|
-
*/
|
|
5066
|
-
currency: string;
|
|
5067
|
-
/**
|
|
5068
|
-
* Multi-currency time series (each point has currency breakdown)
|
|
5069
|
-
*/
|
|
5070
|
-
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
5071
|
-
/**
|
|
5072
|
-
* Exchange rate warnings
|
|
5073
|
-
*/
|
|
5074
|
-
warnings?: Array<ExchangeRateWarningDto>;
|
|
5075
|
-
};
|
|
5076
|
-
|
|
5077
|
-
export type CashFlowPointDto = {
|
|
5078
|
-
/**
|
|
5079
|
-
* Month key (YYYY-MM)
|
|
5080
|
-
*/
|
|
5081
|
-
month: string;
|
|
5082
|
-
/**
|
|
5083
|
-
* Income in base currency (absolute, converted)
|
|
5084
|
-
*/
|
|
5085
|
-
income: string;
|
|
5086
|
-
/**
|
|
5087
|
-
* Expense in base currency (absolute, converted)
|
|
5088
|
-
*/
|
|
5089
|
-
expense: string;
|
|
5090
|
-
/**
|
|
5091
|
-
* netSavings = income − expense (savings positive)
|
|
5092
|
-
*/
|
|
5093
|
-
netSavings: string;
|
|
5666
|
+
} | null;
|
|
5094
5667
|
};
|
|
5095
5668
|
|
|
5096
|
-
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;
|
|
5097
5677
|
/**
|
|
5098
|
-
*
|
|
5678
|
+
* OpenBB asset_type
|
|
5099
5679
|
*/
|
|
5100
|
-
|
|
5680
|
+
assetType?: {
|
|
5681
|
+
[key: string]: unknown;
|
|
5682
|
+
} | null;
|
|
5101
5683
|
/**
|
|
5102
|
-
*
|
|
5684
|
+
* IGN asset class
|
|
5103
5685
|
*/
|
|
5104
|
-
|
|
5686
|
+
assetClass?: {
|
|
5687
|
+
[key: string]: unknown;
|
|
5688
|
+
} | null;
|
|
5105
5689
|
/**
|
|
5106
|
-
*
|
|
5690
|
+
* IGN asset sub-class
|
|
5107
5691
|
*/
|
|
5108
|
-
|
|
5692
|
+
assetSubClass?: {
|
|
5693
|
+
[key: string]: unknown;
|
|
5694
|
+
} | null;
|
|
5109
5695
|
/**
|
|
5110
|
-
*
|
|
5696
|
+
* Trading currency (extra_data or inferred from exchange)
|
|
5111
5697
|
*/
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
export type CashFlowTrendsResponseDto = {
|
|
5698
|
+
currency?: {
|
|
5699
|
+
[key: string]: unknown;
|
|
5700
|
+
} | null;
|
|
5116
5701
|
/**
|
|
5117
|
-
*
|
|
5702
|
+
* Latest price (Decimal string)
|
|
5118
5703
|
*/
|
|
5119
|
-
|
|
5704
|
+
price?: {
|
|
5705
|
+
[key: string]: unknown;
|
|
5706
|
+
} | null;
|
|
5120
5707
|
/**
|
|
5121
|
-
*
|
|
5708
|
+
* Date the price was observed (ISO yyyy-MM-dd)
|
|
5122
5709
|
*/
|
|
5123
|
-
|
|
5710
|
+
priceDate?: {
|
|
5711
|
+
[key: string]: unknown;
|
|
5712
|
+
} | null;
|
|
5124
5713
|
/**
|
|
5125
|
-
*
|
|
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.
|
|
5126
5715
|
*/
|
|
5127
|
-
|
|
5716
|
+
changePercent?: {
|
|
5717
|
+
[key: string]: unknown;
|
|
5718
|
+
} | null;
|
|
5128
5719
|
/**
|
|
5129
|
-
*
|
|
5720
|
+
* Previous close (Decimal string)
|
|
5130
5721
|
*/
|
|
5131
|
-
|
|
5722
|
+
prevClose?: {
|
|
5723
|
+
[key: string]: unknown;
|
|
5724
|
+
} | null;
|
|
5132
5725
|
/**
|
|
5133
|
-
*
|
|
5726
|
+
* Day open (Decimal string)
|
|
5134
5727
|
*/
|
|
5135
|
-
|
|
5728
|
+
open?: {
|
|
5729
|
+
[key: string]: unknown;
|
|
5730
|
+
} | null;
|
|
5136
5731
|
/**
|
|
5137
|
-
*
|
|
5732
|
+
* Day high (Decimal string)
|
|
5138
5733
|
*/
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
export type GenerateSnapshotBody = unknown;
|
|
5143
|
-
|
|
5144
|
-
export type GenerateSnapshotResponse = unknown;
|
|
5145
|
-
|
|
5146
|
-
export type BackfillSnapshotsBody = unknown;
|
|
5147
|
-
|
|
5148
|
-
export type BackfillSnapshotsResponse = unknown;
|
|
5149
|
-
|
|
5150
|
-
export type AnonymousLoginDto = {
|
|
5734
|
+
high?: {
|
|
5735
|
+
[key: string]: unknown;
|
|
5736
|
+
} | null;
|
|
5151
5737
|
/**
|
|
5152
|
-
*
|
|
5738
|
+
* Day low (Decimal string)
|
|
5153
5739
|
*/
|
|
5154
|
-
|
|
5740
|
+
low?: {
|
|
5741
|
+
[key: string]: unknown;
|
|
5742
|
+
} | null;
|
|
5743
|
+
/**
|
|
5744
|
+
* Day volume (Decimal string)
|
|
5745
|
+
*/
|
|
5746
|
+
volume?: {
|
|
5747
|
+
[key: string]: unknown;
|
|
5748
|
+
} | null;
|
|
5749
|
+
/**
|
|
5750
|
+
* 52-week high (Decimal string)
|
|
5751
|
+
*/
|
|
5752
|
+
yearHigh?: {
|
|
5753
|
+
[key: string]: unknown;
|
|
5754
|
+
} | null;
|
|
5755
|
+
/**
|
|
5756
|
+
* 52-week low (Decimal string)
|
|
5757
|
+
*/
|
|
5758
|
+
yearLow?: {
|
|
5759
|
+
[key: string]: unknown;
|
|
5760
|
+
} | null;
|
|
5155
5761
|
};
|
|
5156
5762
|
|
|
5157
5763
|
export type AccountControllerCreateData = {
|
|
@@ -5182,7 +5788,7 @@ export type AccountControllerFindAllData = {
|
|
|
5182
5788
|
*/
|
|
5183
5789
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5184
5790
|
/**
|
|
5185
|
-
* Search term for path
|
|
5791
|
+
* Search term for account path
|
|
5186
5792
|
*/
|
|
5187
5793
|
search?: string;
|
|
5188
5794
|
/**
|
|
@@ -5265,6 +5871,21 @@ export type AccountControllerReopenData = {
|
|
|
5265
5871
|
|
|
5266
5872
|
export type AccountControllerReopenResponse = AccountResponseDto;
|
|
5267
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
|
+
|
|
5268
5889
|
export type AccountStandardsControllerGetTemplatesData = {
|
|
5269
5890
|
/**
|
|
5270
5891
|
* Region code (cn, us, de)
|
|
@@ -5453,7 +6074,7 @@ export type TransactionControllerDeleteResponse = void;
|
|
|
5453
6074
|
|
|
5454
6075
|
export type BalanceControllerGetBalanceData = {
|
|
5455
6076
|
/**
|
|
5456
|
-
* Account name (e.g., "Assets:
|
|
6077
|
+
* Account name (e.g., "Assets:Checking")
|
|
5457
6078
|
*/
|
|
5458
6079
|
account: string;
|
|
5459
6080
|
/**
|
|
@@ -5855,6 +6476,103 @@ export type CommodityControllerBulkCreateData = {
|
|
|
5855
6476
|
|
|
5856
6477
|
export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
|
|
5857
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
|
+
|
|
5858
6576
|
export type RecurringRuleControllerCreateData = {
|
|
5859
6577
|
/**
|
|
5860
6578
|
* Region code for tenant context
|
|
@@ -5989,104 +6707,252 @@ export type ExpectedTransactionControllerFindOverdueData = {
|
|
|
5989
6707
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5990
6708
|
};
|
|
5991
6709
|
|
|
5992
|
-
export type ExpectedTransactionControllerFindOverdueResponse =
|
|
5993
|
-
ExpectedTransactionListResponseDto;
|
|
6710
|
+
export type ExpectedTransactionControllerFindOverdueResponse =
|
|
6711
|
+
ExpectedTransactionListResponseDto;
|
|
6712
|
+
|
|
6713
|
+
export type ExpectedTransactionControllerFindOneData = {
|
|
6714
|
+
/**
|
|
6715
|
+
* Expected transaction ID
|
|
6716
|
+
*/
|
|
6717
|
+
id: string;
|
|
6718
|
+
/**
|
|
6719
|
+
* Region code for tenant context
|
|
6720
|
+
*/
|
|
6721
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6722
|
+
};
|
|
6723
|
+
|
|
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;
|
|
6826
|
+
|
|
6827
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
6828
|
+
/**
|
|
6829
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
6830
|
+
*/
|
|
6831
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6832
|
+
/**
|
|
6833
|
+
* Time period
|
|
6834
|
+
*/
|
|
6835
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
6836
|
+
/**
|
|
6837
|
+
* Region code for tenant context
|
|
6838
|
+
*/
|
|
6839
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6840
|
+
};
|
|
6841
|
+
|
|
6842
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
6843
|
+
CashFlowTrendsResponseDto;
|
|
5994
6844
|
|
|
5995
|
-
export type
|
|
5996
|
-
/**
|
|
5997
|
-
* Expected transaction ID
|
|
5998
|
-
*/
|
|
5999
|
-
id: string;
|
|
6845
|
+
export type ReportingControllerGenerateSnapshotData = {
|
|
6000
6846
|
/**
|
|
6001
6847
|
* Region code for tenant context
|
|
6002
6848
|
*/
|
|
6003
6849
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6850
|
+
/**
|
|
6851
|
+
* Optional date (defaults to today)
|
|
6852
|
+
*/
|
|
6853
|
+
requestBody: GenerateSnapshotBody;
|
|
6004
6854
|
};
|
|
6005
6855
|
|
|
6006
|
-
export type
|
|
6007
|
-
|
|
6856
|
+
export type ReportingControllerGenerateSnapshotResponse =
|
|
6857
|
+
GenerateSnapshotResponse;
|
|
6008
6858
|
|
|
6009
|
-
export type
|
|
6010
|
-
/**
|
|
6011
|
-
* Expected transaction ID
|
|
6012
|
-
*/
|
|
6013
|
-
id: string;
|
|
6859
|
+
export type ReportingControllerBackfillSnapshotsData = {
|
|
6014
6860
|
/**
|
|
6015
6861
|
* Region code for tenant context
|
|
6016
6862
|
*/
|
|
6017
6863
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6864
|
+
requestBody: BackfillSnapshotsBody;
|
|
6018
6865
|
};
|
|
6019
6866
|
|
|
6020
|
-
export type
|
|
6021
|
-
|
|
6867
|
+
export type ReportingControllerBackfillSnapshotsResponse =
|
|
6868
|
+
BackfillSnapshotsResponse;
|
|
6022
6869
|
|
|
6023
|
-
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 = {
|
|
6024
6889
|
/**
|
|
6025
|
-
*
|
|
6890
|
+
* User ID to delete
|
|
6026
6891
|
*/
|
|
6027
6892
|
id: string;
|
|
6028
|
-
/**
|
|
6029
|
-
* Region code for tenant context
|
|
6030
|
-
*/
|
|
6031
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6032
6893
|
};
|
|
6033
6894
|
|
|
6034
|
-
export type
|
|
6035
|
-
ExpectedTransactionResponseDto;
|
|
6895
|
+
export type UserControllerDeleteUserResponse = void;
|
|
6036
6896
|
|
|
6037
|
-
export type
|
|
6897
|
+
export type UserControllerGetUserInfoData = {
|
|
6038
6898
|
/**
|
|
6039
|
-
*
|
|
6899
|
+
* User ID
|
|
6040
6900
|
*/
|
|
6041
6901
|
id: string;
|
|
6042
|
-
/**
|
|
6043
|
-
* Region code for tenant context
|
|
6044
|
-
*/
|
|
6045
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6046
|
-
requestBody: ConfirmMatchDto;
|
|
6047
6902
|
};
|
|
6048
6903
|
|
|
6049
|
-
export type
|
|
6904
|
+
export type UserControllerGetUserInfoResponse = unknown;
|
|
6050
6905
|
|
|
6051
|
-
export type
|
|
6906
|
+
export type UserControllerUpdateUserSettingData = {
|
|
6907
|
+
requestBody: UpdateUserSettingDto;
|
|
6908
|
+
};
|
|
6909
|
+
|
|
6910
|
+
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
6911
|
+
|
|
6912
|
+
export type UserControllerGetAllUserSettingsByPageData = {
|
|
6052
6913
|
/**
|
|
6053
|
-
*
|
|
6914
|
+
* Page number
|
|
6054
6915
|
*/
|
|
6055
|
-
|
|
6916
|
+
pageNo: number;
|
|
6056
6917
|
/**
|
|
6057
|
-
*
|
|
6918
|
+
* Page size
|
|
6058
6919
|
*/
|
|
6059
|
-
|
|
6920
|
+
pageSize: number;
|
|
6060
6921
|
};
|
|
6061
6922
|
|
|
6062
|
-
export type
|
|
6923
|
+
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
6063
6924
|
|
|
6064
|
-
export type
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6925
|
+
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
6926
|
+
|
|
6927
|
+
export type PropertyControllerGetAllResponse = unknown;
|
|
6928
|
+
|
|
6929
|
+
export type PropertyControllerGetByKeyData = {
|
|
6069
6930
|
/**
|
|
6070
|
-
*
|
|
6931
|
+
* Property key
|
|
6071
6932
|
*/
|
|
6072
|
-
|
|
6073
|
-
requestBody: EnterNowDto;
|
|
6933
|
+
key: string;
|
|
6074
6934
|
};
|
|
6075
6935
|
|
|
6076
|
-
export type
|
|
6936
|
+
export type PropertyControllerGetByKeyResponse = unknown;
|
|
6077
6937
|
|
|
6078
|
-
export type
|
|
6938
|
+
export type PropertyControllerUpdateData = {
|
|
6079
6939
|
/**
|
|
6080
|
-
*
|
|
6940
|
+
* Property key
|
|
6081
6941
|
*/
|
|
6082
|
-
|
|
6942
|
+
key: string;
|
|
6943
|
+
requestBody: UpdatePropertyDto;
|
|
6944
|
+
};
|
|
6945
|
+
|
|
6946
|
+
export type PropertyControllerUpdateResponse = unknown;
|
|
6947
|
+
|
|
6948
|
+
export type PropertyControllerDeleteData = {
|
|
6083
6949
|
/**
|
|
6084
|
-
*
|
|
6950
|
+
* Property key
|
|
6085
6951
|
*/
|
|
6086
|
-
|
|
6952
|
+
key: string;
|
|
6087
6953
|
};
|
|
6088
6954
|
|
|
6089
|
-
export type
|
|
6955
|
+
export type PropertyControllerDeleteResponse = void;
|
|
6090
6956
|
|
|
6091
6957
|
export type TransactionRuleControllerCreateData = {
|
|
6092
6958
|
/**
|
|
@@ -6233,93 +7099,6 @@ export type TransactionRuleControllerTestData = {
|
|
|
6233
7099
|
|
|
6234
7100
|
export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
|
|
6235
7101
|
|
|
6236
|
-
export type UserControllerDeleteOwnUserData = {
|
|
6237
|
-
requestBody: DeleteOwnUserDto;
|
|
6238
|
-
};
|
|
6239
|
-
|
|
6240
|
-
export type UserControllerDeleteOwnUserResponse = void;
|
|
6241
|
-
|
|
6242
|
-
export type UserControllerGetUserData = {
|
|
6243
|
-
acceptLanguage: string;
|
|
6244
|
-
};
|
|
6245
|
-
|
|
6246
|
-
export type UserControllerGetUserResponse = unknown;
|
|
6247
|
-
|
|
6248
|
-
export type UserControllerSignupUserData = {
|
|
6249
|
-
requestBody: SignupDto;
|
|
6250
|
-
};
|
|
6251
|
-
|
|
6252
|
-
export type UserControllerSignupUserResponse = unknown;
|
|
6253
|
-
|
|
6254
|
-
export type UserControllerDeleteUserData = {
|
|
6255
|
-
/**
|
|
6256
|
-
* User ID to delete
|
|
6257
|
-
*/
|
|
6258
|
-
id: string;
|
|
6259
|
-
};
|
|
6260
|
-
|
|
6261
|
-
export type UserControllerDeleteUserResponse = void;
|
|
6262
|
-
|
|
6263
|
-
export type UserControllerGetUserInfoData = {
|
|
6264
|
-
/**
|
|
6265
|
-
* User ID
|
|
6266
|
-
*/
|
|
6267
|
-
id: string;
|
|
6268
|
-
};
|
|
6269
|
-
|
|
6270
|
-
export type UserControllerGetUserInfoResponse = unknown;
|
|
6271
|
-
|
|
6272
|
-
export type UserControllerUpdateUserSettingData = {
|
|
6273
|
-
requestBody: UpdateUserSettingDto;
|
|
6274
|
-
};
|
|
6275
|
-
|
|
6276
|
-
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
6277
|
-
|
|
6278
|
-
export type UserControllerGetAllUserSettingsByPageData = {
|
|
6279
|
-
/**
|
|
6280
|
-
* Page number
|
|
6281
|
-
*/
|
|
6282
|
-
pageNo: number;
|
|
6283
|
-
/**
|
|
6284
|
-
* Page size
|
|
6285
|
-
*/
|
|
6286
|
-
pageSize: number;
|
|
6287
|
-
};
|
|
6288
|
-
|
|
6289
|
-
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
6290
|
-
|
|
6291
|
-
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
6292
|
-
|
|
6293
|
-
export type PropertyControllerGetAllResponse = unknown;
|
|
6294
|
-
|
|
6295
|
-
export type PropertyControllerGetByKeyData = {
|
|
6296
|
-
/**
|
|
6297
|
-
* Property key
|
|
6298
|
-
*/
|
|
6299
|
-
key: string;
|
|
6300
|
-
};
|
|
6301
|
-
|
|
6302
|
-
export type PropertyControllerGetByKeyResponse = unknown;
|
|
6303
|
-
|
|
6304
|
-
export type PropertyControllerUpdateData = {
|
|
6305
|
-
/**
|
|
6306
|
-
* Property key
|
|
6307
|
-
*/
|
|
6308
|
-
key: string;
|
|
6309
|
-
requestBody: UpdatePropertyDto;
|
|
6310
|
-
};
|
|
6311
|
-
|
|
6312
|
-
export type PropertyControllerUpdateResponse = unknown;
|
|
6313
|
-
|
|
6314
|
-
export type PropertyControllerDeleteData = {
|
|
6315
|
-
/**
|
|
6316
|
-
* Property key
|
|
6317
|
-
*/
|
|
6318
|
-
key: string;
|
|
6319
|
-
};
|
|
6320
|
-
|
|
6321
|
-
export type PropertyControllerDeleteResponse = void;
|
|
6322
|
-
|
|
6323
7102
|
export type EventControllerCreateData = {
|
|
6324
7103
|
/**
|
|
6325
7104
|
* Region code for tenant context (decorative for life events)
|
|
@@ -6388,35 +7167,90 @@ export type EventControllerUpdateData = {
|
|
|
6388
7167
|
requestBody: UpdateBeanEventDto;
|
|
6389
7168
|
};
|
|
6390
7169
|
|
|
6391
|
-
export type EventControllerUpdateResponse = EventResponseDto;
|
|
7170
|
+
export type EventControllerUpdateResponse = EventResponseDto;
|
|
7171
|
+
|
|
7172
|
+
export type EventControllerDeleteData = {
|
|
7173
|
+
/**
|
|
7174
|
+
* Life event ID
|
|
7175
|
+
*/
|
|
7176
|
+
id: string;
|
|
7177
|
+
/**
|
|
7178
|
+
* Region code for tenant context (decorative for life events)
|
|
7179
|
+
*/
|
|
7180
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7181
|
+
};
|
|
7182
|
+
|
|
7183
|
+
export type EventControllerDeleteResponse = void;
|
|
7184
|
+
|
|
7185
|
+
export type EventControllerGetSliceData = {
|
|
7186
|
+
accountPattern: string;
|
|
7187
|
+
granularity: string;
|
|
7188
|
+
/**
|
|
7189
|
+
* Life event ID
|
|
7190
|
+
*/
|
|
7191
|
+
id: string;
|
|
7192
|
+
/**
|
|
7193
|
+
* Region code for tenant context (decorative for life events)
|
|
7194
|
+
*/
|
|
7195
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7196
|
+
};
|
|
7197
|
+
|
|
7198
|
+
export type EventControllerGetSliceResponse = unknown;
|
|
7199
|
+
|
|
7200
|
+
export type OnboardingControllerBootstrapData = {
|
|
7201
|
+
/**
|
|
7202
|
+
* Region code for tenant context
|
|
7203
|
+
*/
|
|
7204
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7205
|
+
requestBody: OnboardingDto;
|
|
7206
|
+
};
|
|
7207
|
+
|
|
7208
|
+
export type OnboardingControllerBootstrapResponse = unknown;
|
|
7209
|
+
|
|
7210
|
+
export type ReconciliationControllerComputeData = {
|
|
7211
|
+
/**
|
|
7212
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
7213
|
+
*/
|
|
7214
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7215
|
+
requestBody: ComputeReconciliationDto;
|
|
7216
|
+
};
|
|
7217
|
+
|
|
7218
|
+
export type ReconciliationControllerComputeResponse =
|
|
7219
|
+
ReconciliationComputeResultDto;
|
|
7220
|
+
|
|
7221
|
+
export type ReconciliationControllerAssertData = {
|
|
7222
|
+
/**
|
|
7223
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
7224
|
+
*/
|
|
7225
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7226
|
+
requestBody: AssertReconciliationDto;
|
|
7227
|
+
};
|
|
7228
|
+
|
|
7229
|
+
export type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
|
|
6392
7230
|
|
|
6393
|
-
export type
|
|
6394
|
-
/**
|
|
6395
|
-
* Life event ID
|
|
6396
|
-
*/
|
|
6397
|
-
id: string;
|
|
7231
|
+
export type ReconciliationControllerPadData = {
|
|
6398
7232
|
/**
|
|
6399
|
-
* Region code for tenant context (decorative for
|
|
7233
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6400
7234
|
*/
|
|
6401
7235
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7236
|
+
requestBody: PadReconciliationDto;
|
|
6402
7237
|
};
|
|
6403
7238
|
|
|
6404
|
-
export type
|
|
7239
|
+
export type ReconciliationControllerPadResponse = PadResultDto;
|
|
6405
7240
|
|
|
6406
|
-
export type
|
|
6407
|
-
accountPattern: string;
|
|
6408
|
-
granularity: string;
|
|
7241
|
+
export type ReconciliationControllerHistoryData = {
|
|
6409
7242
|
/**
|
|
6410
|
-
*
|
|
7243
|
+
* BeanAccount id
|
|
6411
7244
|
*/
|
|
6412
|
-
|
|
7245
|
+
accountId: string;
|
|
6413
7246
|
/**
|
|
6414
|
-
* Region code for tenant context (decorative for
|
|
7247
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6415
7248
|
*/
|
|
6416
7249
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6417
7250
|
};
|
|
6418
7251
|
|
|
6419
|
-
export type
|
|
7252
|
+
export type ReconciliationControllerHistoryResponse =
|
|
7253
|
+
Array<ReconciliationRecordDto>;
|
|
6420
7254
|
|
|
6421
7255
|
export type ExportControllerExportBeancountResponse = unknown;
|
|
6422
7256
|
|
|
@@ -6510,48 +7344,6 @@ export type ImporterConfigControllerResetConfigData = {
|
|
|
6510
7344
|
|
|
6511
7345
|
export type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
|
|
6512
7346
|
|
|
6513
|
-
export type PlatformControllerFindAllResponse = unknown;
|
|
6514
|
-
|
|
6515
|
-
export type PlatformControllerCreateData = {
|
|
6516
|
-
requestBody: CreatePlatformDto;
|
|
6517
|
-
};
|
|
6518
|
-
|
|
6519
|
-
export type PlatformControllerCreateResponse = unknown;
|
|
6520
|
-
|
|
6521
|
-
export type PlatformControllerGetPlatformListResponse = unknown;
|
|
6522
|
-
|
|
6523
|
-
export type PlatformControllerMatchPlatformsData = {
|
|
6524
|
-
/**
|
|
6525
|
-
* Search query — Chinese name, English name, or abbreviation
|
|
6526
|
-
*/
|
|
6527
|
-
q: string;
|
|
6528
|
-
/**
|
|
6529
|
-
* Region code for category override lookup
|
|
6530
|
-
*/
|
|
6531
|
-
region?: string;
|
|
6532
|
-
};
|
|
6533
|
-
|
|
6534
|
-
export type PlatformControllerMatchPlatformsResponse = unknown;
|
|
6535
|
-
|
|
6536
|
-
export type PlatformControllerUpdateData = {
|
|
6537
|
-
/**
|
|
6538
|
-
* Platform ID
|
|
6539
|
-
*/
|
|
6540
|
-
id: string;
|
|
6541
|
-
requestBody: UpdatePlatformDto;
|
|
6542
|
-
};
|
|
6543
|
-
|
|
6544
|
-
export type PlatformControllerUpdateResponse = unknown;
|
|
6545
|
-
|
|
6546
|
-
export type PlatformControllerDeleteData = {
|
|
6547
|
-
/**
|
|
6548
|
-
* Platform ID
|
|
6549
|
-
*/
|
|
6550
|
-
id: string;
|
|
6551
|
-
};
|
|
6552
|
-
|
|
6553
|
-
export type PlatformControllerDeleteResponse = void;
|
|
6554
|
-
|
|
6555
7347
|
export type ProviderSyncControllerSyncData = {
|
|
6556
7348
|
/**
|
|
6557
7349
|
* Provider name
|
|
@@ -6597,6 +7389,49 @@ export type ProviderSyncControllerIsProviderSupportedData = {
|
|
|
6597
7389
|
|
|
6598
7390
|
export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
|
|
6599
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
|
+
|
|
6600
7435
|
export type TelemetryControllerReportTelemetryData = {
|
|
6601
7436
|
/**
|
|
6602
7437
|
* Region code for tenant context
|
|
@@ -6669,221 +7504,114 @@ export type NlpControllerGetSessionData = {
|
|
|
6669
7504
|
|
|
6670
7505
|
export type NlpControllerGetSessionResponse = unknown;
|
|
6671
7506
|
|
|
6672
|
-
export type
|
|
6673
|
-
/**
|
|
6674
|
-
* Date for balance calculation (ISO 8601 format)
|
|
6675
|
-
*/
|
|
6676
|
-
date?: string;
|
|
6677
|
-
/**
|
|
6678
|
-
* Region code for tenant context
|
|
6679
|
-
*/
|
|
6680
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6681
|
-
};
|
|
6682
|
-
|
|
6683
|
-
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
6684
|
-
|
|
6685
|
-
export type DashboardControllerGetAccountsData = {
|
|
6686
|
-
/**
|
|
6687
|
-
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6688
|
-
*/
|
|
6689
|
-
accountId?: string;
|
|
6690
|
-
/**
|
|
6691
|
-
* Date for balance calculation (ISO 8601 format)
|
|
6692
|
-
*/
|
|
6693
|
-
date?: string;
|
|
6694
|
-
/**
|
|
6695
|
-
* Grouping strategy
|
|
6696
|
-
*/
|
|
6697
|
-
groupBy?:
|
|
6698
|
-
| 'platform'
|
|
6699
|
-
| 'assetClass'
|
|
6700
|
-
| 'holdingAssetClass'
|
|
6701
|
-
| 'holdingAssetClassByAccount';
|
|
6702
|
-
/**
|
|
6703
|
-
* Region code for tenant context
|
|
6704
|
-
*/
|
|
6705
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6706
|
-
};
|
|
6707
|
-
|
|
6708
|
-
export type DashboardControllerGetAccountsResponse =
|
|
6709
|
-
| AccountsResponseDto
|
|
6710
|
-
| AssetClassAccountsResponseDto
|
|
6711
|
-
| HoldingAssetClassCrossAccountResponseDto;
|
|
7507
|
+
export type PlatformControllerFindAllResponse = unknown;
|
|
6712
7508
|
|
|
6713
|
-
export type
|
|
6714
|
-
|
|
6715
|
-
* Period in YYYY-MM format
|
|
6716
|
-
*/
|
|
6717
|
-
period: string;
|
|
6718
|
-
/**
|
|
6719
|
-
* Region code for tenant context
|
|
6720
|
-
*/
|
|
6721
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7509
|
+
export type PlatformControllerCreateData = {
|
|
7510
|
+
requestBody: CreatePlatformDto;
|
|
6722
7511
|
};
|
|
6723
7512
|
|
|
6724
|
-
export type
|
|
6725
|
-
|
|
6726
|
-
export type DashboardControllerGetExpensesData = {
|
|
6727
|
-
/**
|
|
6728
|
-
* Grouping strategy
|
|
6729
|
-
*/
|
|
6730
|
-
groupBy?: 'category';
|
|
6731
|
-
/**
|
|
6732
|
-
* Time window (1m = current calendar month)
|
|
6733
|
-
*/
|
|
6734
|
-
period?: '1m' | '3m' | '6m' | '1y';
|
|
6735
|
-
/**
|
|
6736
|
-
* Region code for tenant context
|
|
6737
|
-
*/
|
|
6738
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6739
|
-
};
|
|
7513
|
+
export type PlatformControllerCreateResponse = unknown;
|
|
6740
7514
|
|
|
6741
|
-
export type
|
|
6742
|
-
|
|
7515
|
+
export type PlatformControllerGetPlatformListResponse =
|
|
7516
|
+
Array<PlatformListItemDto>;
|
|
6743
7517
|
|
|
6744
|
-
export type
|
|
6745
|
-
/**
|
|
6746
|
-
* Scope to a single account
|
|
6747
|
-
*/
|
|
6748
|
-
accountId?: string;
|
|
6749
|
-
/**
|
|
6750
|
-
* As-of date (ISO 8601), defaults to today
|
|
6751
|
-
*/
|
|
6752
|
-
asOf?: string;
|
|
6753
|
-
/**
|
|
6754
|
-
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
6755
|
-
*/
|
|
6756
|
-
method?: 'FIFO' | 'average';
|
|
7518
|
+
export type PlatformControllerMatchPlatformsData = {
|
|
6757
7519
|
/**
|
|
6758
|
-
*
|
|
7520
|
+
* Search query — Chinese name, English name, or abbreviation
|
|
6759
7521
|
*/
|
|
6760
|
-
|
|
6761
|
-
};
|
|
6762
|
-
|
|
6763
|
-
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
6764
|
-
|
|
6765
|
-
export type PriceControllerCreateData = {
|
|
7522
|
+
q: string;
|
|
6766
7523
|
/**
|
|
6767
|
-
* Region code for
|
|
7524
|
+
* Region code for category override lookup
|
|
6768
7525
|
*/
|
|
6769
|
-
region
|
|
6770
|
-
requestBody: CreateBeanPriceDto;
|
|
7526
|
+
region?: string;
|
|
6771
7527
|
};
|
|
6772
7528
|
|
|
6773
|
-
export type
|
|
7529
|
+
export type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
|
|
6774
7530
|
|
|
6775
|
-
export type
|
|
6776
|
-
/**
|
|
6777
|
-
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6778
|
-
*/
|
|
6779
|
-
currency?: string;
|
|
6780
|
-
/**
|
|
6781
|
-
* Filter prices from this date (ISO 8601 format)
|
|
6782
|
-
*/
|
|
6783
|
-
dateFrom?: string;
|
|
6784
|
-
/**
|
|
6785
|
-
* Filter prices to this date (ISO 8601 format)
|
|
6786
|
-
*/
|
|
6787
|
-
dateTo?: string;
|
|
6788
|
-
/**
|
|
6789
|
-
* Number of items per page (default: 20, max: 100)
|
|
6790
|
-
*/
|
|
6791
|
-
limit?: number;
|
|
6792
|
-
/**
|
|
6793
|
-
* Page number for pagination (default: 1)
|
|
6794
|
-
*/
|
|
6795
|
-
page?: number;
|
|
6796
|
-
/**
|
|
6797
|
-
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
6798
|
-
*/
|
|
6799
|
-
quoteCurrency?: string;
|
|
6800
|
-
/**
|
|
6801
|
-
* Region code for tenant context
|
|
6802
|
-
*/
|
|
6803
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7531
|
+
export type PlatformControllerUpdateData = {
|
|
6804
7532
|
/**
|
|
6805
|
-
*
|
|
7533
|
+
* Platform ID
|
|
6806
7534
|
*/
|
|
6807
|
-
|
|
7535
|
+
id: string;
|
|
7536
|
+
requestBody: UpdatePlatformDto;
|
|
6808
7537
|
};
|
|
6809
7538
|
|
|
6810
|
-
export type
|
|
7539
|
+
export type PlatformControllerUpdateResponse = unknown;
|
|
6811
7540
|
|
|
6812
|
-
export type
|
|
7541
|
+
export type PlatformControllerDeleteData = {
|
|
6813
7542
|
/**
|
|
6814
|
-
*
|
|
7543
|
+
* Platform ID
|
|
6815
7544
|
*/
|
|
6816
7545
|
id: string;
|
|
6817
|
-
/**
|
|
6818
|
-
* Region code for tenant context
|
|
6819
|
-
*/
|
|
6820
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6821
7546
|
};
|
|
6822
7547
|
|
|
6823
|
-
export type
|
|
7548
|
+
export type PlatformControllerDeleteResponse = void;
|
|
6824
7549
|
|
|
6825
|
-
export type
|
|
7550
|
+
export type DashboardControllerGetNetWorthData = {
|
|
6826
7551
|
/**
|
|
6827
|
-
*
|
|
7552
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6828
7553
|
*/
|
|
6829
|
-
|
|
7554
|
+
date?: string;
|
|
6830
7555
|
/**
|
|
6831
7556
|
* Region code for tenant context
|
|
6832
7557
|
*/
|
|
6833
7558
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6834
|
-
requestBody: UpdateBeanPriceDto;
|
|
6835
7559
|
};
|
|
6836
7560
|
|
|
6837
|
-
export type
|
|
7561
|
+
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
6838
7562
|
|
|
6839
|
-
export type
|
|
7563
|
+
export type DashboardControllerGetAccountsData = {
|
|
6840
7564
|
/**
|
|
6841
|
-
*
|
|
7565
|
+
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6842
7566
|
*/
|
|
6843
|
-
|
|
7567
|
+
accountId?: string;
|
|
6844
7568
|
/**
|
|
6845
|
-
*
|
|
7569
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6846
7570
|
*/
|
|
6847
|
-
|
|
6848
|
-
|
|
6849
|
-
|
|
6850
|
-
|
|
6851
|
-
|
|
6852
|
-
|
|
7571
|
+
date?: string;
|
|
7572
|
+
/**
|
|
7573
|
+
* Grouping strategy
|
|
7574
|
+
*/
|
|
7575
|
+
groupBy?:
|
|
7576
|
+
| 'platform'
|
|
7577
|
+
| 'assetClass'
|
|
7578
|
+
| 'holdingAssetClass'
|
|
7579
|
+
| 'holdingAssetClassByAccount';
|
|
6853
7580
|
/**
|
|
6854
7581
|
* Region code for tenant context
|
|
6855
7582
|
*/
|
|
6856
7583
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6857
|
-
requestBody: Array<string>;
|
|
6858
7584
|
};
|
|
6859
7585
|
|
|
6860
|
-
export type
|
|
7586
|
+
export type DashboardControllerGetAccountsResponse =
|
|
7587
|
+
| AccountsResponseDto
|
|
7588
|
+
| AssetClassAccountsResponseDto
|
|
7589
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
6861
7590
|
|
|
6862
|
-
export type
|
|
6863
|
-
/**
|
|
6864
|
-
* Data granularity
|
|
6865
|
-
*/
|
|
6866
|
-
granularity?: 'day' | 'week' | 'month';
|
|
7591
|
+
export type DashboardControllerGetCashFlowData = {
|
|
6867
7592
|
/**
|
|
6868
|
-
*
|
|
7593
|
+
* Period in YYYY-MM format
|
|
6869
7594
|
*/
|
|
6870
|
-
period
|
|
7595
|
+
period: string;
|
|
6871
7596
|
/**
|
|
6872
7597
|
* Region code for tenant context
|
|
6873
7598
|
*/
|
|
6874
7599
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6875
7600
|
};
|
|
6876
7601
|
|
|
6877
|
-
export type
|
|
6878
|
-
PortfolioTrendsResponseDto;
|
|
7602
|
+
export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
|
|
6879
7603
|
|
|
6880
|
-
export type
|
|
7604
|
+
export type DashboardControllerGetExpensesData = {
|
|
6881
7605
|
/**
|
|
6882
|
-
*
|
|
7606
|
+
* Account root to aggregate (expense → ^Expenses:, income → ^Income:)
|
|
6883
7607
|
*/
|
|
6884
|
-
|
|
7608
|
+
flow?: 'expense' | 'income';
|
|
6885
7609
|
/**
|
|
6886
|
-
*
|
|
7610
|
+
* Grouping strategy
|
|
7611
|
+
*/
|
|
7612
|
+
groupBy?: 'category';
|
|
7613
|
+
/**
|
|
7614
|
+
* Time window (1m = current calendar month)
|
|
6887
7615
|
*/
|
|
6888
7616
|
period?: '1m' | '3m' | '6m' | '1y';
|
|
6889
7617
|
/**
|
|
@@ -6892,33 +7620,29 @@ export type ReportingControllerGetCashFlowTrendsData = {
|
|
|
6892
7620
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6893
7621
|
};
|
|
6894
7622
|
|
|
6895
|
-
export type
|
|
6896
|
-
|
|
7623
|
+
export type DashboardControllerGetExpensesResponse =
|
|
7624
|
+
ExpensesByCategoryResponseDto;
|
|
6897
7625
|
|
|
6898
|
-
export type
|
|
7626
|
+
export type HoldingPnlControllerGetHoldingPnlData = {
|
|
6899
7627
|
/**
|
|
6900
|
-
*
|
|
7628
|
+
* Scope to a single account
|
|
6901
7629
|
*/
|
|
6902
|
-
|
|
7630
|
+
accountId?: string;
|
|
6903
7631
|
/**
|
|
6904
|
-
*
|
|
7632
|
+
* As-of date (ISO 8601), defaults to today
|
|
6905
7633
|
*/
|
|
6906
|
-
|
|
6907
|
-
|
|
6908
|
-
|
|
6909
|
-
|
|
6910
|
-
|
|
6911
|
-
|
|
6912
|
-
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';
|
|
6913
7639
|
/**
|
|
6914
7640
|
* Region code for tenant context
|
|
6915
7641
|
*/
|
|
6916
7642
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6917
|
-
requestBody: BackfillSnapshotsBody;
|
|
6918
7643
|
};
|
|
6919
7644
|
|
|
6920
|
-
export type
|
|
6921
|
-
BackfillSnapshotsResponse;
|
|
7645
|
+
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
6922
7646
|
|
|
6923
7647
|
export type ApiKeysControllerCreateApiKeyResponse = unknown;
|
|
6924
7648
|
|
|
@@ -6926,7 +7650,7 @@ export type AuthControllerAccessTokenLoginData = {
|
|
|
6926
7650
|
requestBody: AnonymousLoginDto;
|
|
6927
7651
|
};
|
|
6928
7652
|
|
|
6929
|
-
export type AuthControllerAccessTokenLoginResponse =
|
|
7653
|
+
export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
|
|
6930
7654
|
|
|
6931
7655
|
export type CacheControllerFlushCacheResponse = unknown;
|
|
6932
7656
|
|
|
@@ -6966,6 +7690,33 @@ export type HealthControllerGetMetricsResponse = unknown;
|
|
|
6966
7690
|
|
|
6967
7691
|
export type InfoControllerGetInfoResponse = unknown;
|
|
6968
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
|
+
|
|
6969
7720
|
export type $OpenApiTs = {
|
|
6970
7721
|
'/api/v1/{region}/bean/accounts': {
|
|
6971
7722
|
post: {
|
|
@@ -7074,6 +7825,25 @@ export type $OpenApiTs = {
|
|
|
7074
7825
|
};
|
|
7075
7826
|
};
|
|
7076
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
|
+
};
|
|
7077
7847
|
'/api/v1/{region}/bean/account-standards': {
|
|
7078
7848
|
get: {
|
|
7079
7849
|
req: AccountStandardsControllerGetTemplatesData;
|
|
@@ -7682,6 +8452,90 @@ export type $OpenApiTs = {
|
|
|
7682
8452
|
};
|
|
7683
8453
|
};
|
|
7684
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
|
+
};
|
|
7685
8539
|
'/api/v1/{region}/bean/recurring-rules': {
|
|
7686
8540
|
post: {
|
|
7687
8541
|
req: RecurringRuleControllerCreateData;
|
|
@@ -7932,397 +8786,469 @@ export type $OpenApiTs = {
|
|
|
7932
8786
|
};
|
|
7933
8787
|
};
|
|
7934
8788
|
};
|
|
7935
|
-
'/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': {
|
|
7936
8820
|
post: {
|
|
7937
|
-
req:
|
|
8821
|
+
req: ReportingControllerGenerateSnapshotData;
|
|
7938
8822
|
res: {
|
|
7939
8823
|
/**
|
|
7940
|
-
*
|
|
8824
|
+
* Snapshot generated successfully
|
|
7941
8825
|
*/
|
|
7942
|
-
200:
|
|
8826
|
+
200: GenerateSnapshotResponse;
|
|
7943
8827
|
/**
|
|
7944
|
-
*
|
|
8828
|
+
* Invalid date format
|
|
7945
8829
|
*/
|
|
7946
|
-
400:
|
|
8830
|
+
400: unknown;
|
|
8831
|
+
/**
|
|
8832
|
+
* User not authenticated
|
|
8833
|
+
*/
|
|
8834
|
+
401: unknown;
|
|
8835
|
+
};
|
|
8836
|
+
};
|
|
8837
|
+
};
|
|
8838
|
+
'/api/v1/{region}/reporting/snapshots/backfill': {
|
|
8839
|
+
post: {
|
|
8840
|
+
req: ReportingControllerBackfillSnapshotsData;
|
|
8841
|
+
res: {
|
|
8842
|
+
/**
|
|
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: {
|
|
7947
8865
|
/**
|
|
7948
|
-
*
|
|
8866
|
+
* User deleted successfully
|
|
7949
8867
|
*/
|
|
7950
|
-
|
|
8868
|
+
204: void;
|
|
7951
8869
|
/**
|
|
7952
|
-
*
|
|
8870
|
+
* Invalid access token
|
|
7953
8871
|
*/
|
|
7954
|
-
|
|
8872
|
+
403: unknown;
|
|
7955
8873
|
};
|
|
7956
8874
|
};
|
|
7957
8875
|
get: {
|
|
7958
|
-
req:
|
|
8876
|
+
req: UserControllerGetUserData;
|
|
7959
8877
|
res: {
|
|
7960
8878
|
/**
|
|
7961
|
-
*
|
|
7962
|
-
*/
|
|
7963
|
-
200: TransactionRuleListResponseDto;
|
|
7964
|
-
/**
|
|
7965
|
-
* Unauthorized
|
|
8879
|
+
* User retrieved successfully
|
|
7966
8880
|
*/
|
|
7967
|
-
|
|
8881
|
+
200: unknown;
|
|
7968
8882
|
};
|
|
7969
8883
|
};
|
|
7970
|
-
};
|
|
7971
|
-
'/api/v1/{region}/bean/transaction-rules/validate': {
|
|
7972
8884
|
post: {
|
|
7973
|
-
req:
|
|
8885
|
+
req: UserControllerSignupUserData;
|
|
7974
8886
|
res: {
|
|
7975
8887
|
/**
|
|
7976
|
-
*
|
|
8888
|
+
* User created successfully
|
|
7977
8889
|
*/
|
|
7978
|
-
|
|
8890
|
+
201: SignupResponseDto;
|
|
7979
8891
|
/**
|
|
7980
|
-
*
|
|
8892
|
+
* Invalid Turnstile token (when Turnstile is enabled)
|
|
7981
8893
|
*/
|
|
7982
|
-
400:
|
|
8894
|
+
400: unknown;
|
|
7983
8895
|
/**
|
|
7984
|
-
*
|
|
8896
|
+
* User signup is disabled
|
|
7985
8897
|
*/
|
|
7986
|
-
|
|
8898
|
+
403: unknown;
|
|
7987
8899
|
};
|
|
7988
8900
|
};
|
|
7989
8901
|
};
|
|
7990
|
-
'/api/v1/{
|
|
7991
|
-
|
|
7992
|
-
req:
|
|
8902
|
+
'/api/v1/users/{id}': {
|
|
8903
|
+
delete: {
|
|
8904
|
+
req: UserControllerDeleteUserData;
|
|
7993
8905
|
res: {
|
|
7994
8906
|
/**
|
|
7995
|
-
*
|
|
7996
|
-
*/
|
|
7997
|
-
201: BulkCreateRulesResponseDto;
|
|
7998
|
-
/**
|
|
7999
|
-
* Invalid bulk create data
|
|
8907
|
+
* User deleted successfully
|
|
8000
8908
|
*/
|
|
8001
|
-
|
|
8909
|
+
204: void;
|
|
8002
8910
|
/**
|
|
8003
|
-
*
|
|
8911
|
+
* Cannot delete own account or insufficient permissions
|
|
8004
8912
|
*/
|
|
8005
|
-
|
|
8913
|
+
403: unknown;
|
|
8006
8914
|
};
|
|
8007
8915
|
};
|
|
8008
8916
|
};
|
|
8009
|
-
'/api/v1/{
|
|
8917
|
+
'/api/v1/users/{id}/info': {
|
|
8010
8918
|
get: {
|
|
8011
|
-
req:
|
|
8919
|
+
req: UserControllerGetUserInfoData;
|
|
8012
8920
|
res: {
|
|
8013
8921
|
/**
|
|
8014
|
-
*
|
|
8015
|
-
*/
|
|
8016
|
-
200: ExportRulesResponseDto;
|
|
8017
|
-
/**
|
|
8018
|
-
* Unsupported format
|
|
8922
|
+
* User info retrieved successfully
|
|
8019
8923
|
*/
|
|
8020
|
-
|
|
8924
|
+
200: unknown;
|
|
8021
8925
|
/**
|
|
8022
|
-
*
|
|
8926
|
+
* Cannot access other user info without admin permission
|
|
8023
8927
|
*/
|
|
8024
|
-
|
|
8928
|
+
403: unknown;
|
|
8025
8929
|
};
|
|
8026
8930
|
};
|
|
8027
8931
|
};
|
|
8028
|
-
'/api/v1/
|
|
8029
|
-
|
|
8030
|
-
req:
|
|
8932
|
+
'/api/v1/users/setting': {
|
|
8933
|
+
put: {
|
|
8934
|
+
req: UserControllerUpdateUserSettingData;
|
|
8031
8935
|
res: {
|
|
8032
8936
|
/**
|
|
8033
|
-
*
|
|
8937
|
+
* Settings updated successfully
|
|
8034
8938
|
*/
|
|
8035
|
-
200:
|
|
8939
|
+
200: unknown;
|
|
8036
8940
|
/**
|
|
8037
|
-
*
|
|
8941
|
+
* Insufficient permissions
|
|
8038
8942
|
*/
|
|
8039
|
-
|
|
8943
|
+
403: unknown;
|
|
8040
8944
|
};
|
|
8041
8945
|
};
|
|
8042
8946
|
};
|
|
8043
|
-
'/api/v1/
|
|
8947
|
+
'/api/v1/users/settings-by-page': {
|
|
8044
8948
|
get: {
|
|
8045
|
-
req:
|
|
8949
|
+
req: UserControllerGetAllUserSettingsByPageData;
|
|
8046
8950
|
res: {
|
|
8047
8951
|
/**
|
|
8048
|
-
*
|
|
8049
|
-
*/
|
|
8050
|
-
200: TransactionRuleResponseDto;
|
|
8051
|
-
/**
|
|
8052
|
-
* Unauthorized
|
|
8053
|
-
*/
|
|
8054
|
-
401: ApiProblemResponseDto;
|
|
8055
|
-
/**
|
|
8056
|
-
* Forbidden - not owner of rule
|
|
8057
|
-
*/
|
|
8058
|
-
403: ApiProblemResponseDto;
|
|
8059
|
-
/**
|
|
8060
|
-
* Rule not found
|
|
8952
|
+
* Settings list retrieved successfully
|
|
8061
8953
|
*/
|
|
8062
|
-
|
|
8954
|
+
200: unknown;
|
|
8063
8955
|
};
|
|
8064
8956
|
};
|
|
8065
|
-
|
|
8066
|
-
|
|
8957
|
+
};
|
|
8958
|
+
'/api/v1/users/asset-liability-summary': {
|
|
8959
|
+
get: {
|
|
8067
8960
|
res: {
|
|
8068
8961
|
/**
|
|
8069
|
-
*
|
|
8962
|
+
* Summary retrieved successfully
|
|
8070
8963
|
*/
|
|
8071
|
-
200:
|
|
8964
|
+
200: unknown;
|
|
8965
|
+
};
|
|
8966
|
+
};
|
|
8967
|
+
};
|
|
8968
|
+
'/api/v1/admin/properties': {
|
|
8969
|
+
get: {
|
|
8970
|
+
res: {
|
|
8072
8971
|
/**
|
|
8073
|
-
*
|
|
8972
|
+
* Properties retrieved successfully
|
|
8074
8973
|
*/
|
|
8075
|
-
|
|
8974
|
+
200: unknown;
|
|
8076
8975
|
/**
|
|
8077
8976
|
* Unauthorized
|
|
8078
8977
|
*/
|
|
8079
|
-
401:
|
|
8080
|
-
/**
|
|
8081
|
-
* Forbidden - not owner of rule
|
|
8082
|
-
*/
|
|
8083
|
-
403: ApiProblemResponseDto;
|
|
8084
|
-
/**
|
|
8085
|
-
* Rule not found
|
|
8086
|
-
*/
|
|
8087
|
-
404: ApiProblemResponseDto;
|
|
8978
|
+
401: unknown;
|
|
8088
8979
|
/**
|
|
8089
|
-
*
|
|
8980
|
+
* Forbidden - insufficient permissions
|
|
8090
8981
|
*/
|
|
8091
|
-
|
|
8982
|
+
403: unknown;
|
|
8092
8983
|
};
|
|
8093
8984
|
};
|
|
8094
|
-
|
|
8095
|
-
|
|
8985
|
+
};
|
|
8986
|
+
'/api/v1/admin/properties/{key}': {
|
|
8987
|
+
get: {
|
|
8988
|
+
req: PropertyControllerGetByKeyData;
|
|
8096
8989
|
res: {
|
|
8097
8990
|
/**
|
|
8098
|
-
*
|
|
8991
|
+
* Property retrieved successfully
|
|
8099
8992
|
*/
|
|
8100
|
-
|
|
8993
|
+
200: unknown;
|
|
8101
8994
|
/**
|
|
8102
8995
|
* Unauthorized
|
|
8103
8996
|
*/
|
|
8104
|
-
401:
|
|
8105
|
-
/**
|
|
8106
|
-
* Forbidden - not owner of rule
|
|
8107
|
-
*/
|
|
8108
|
-
403: ApiProblemResponseDto;
|
|
8997
|
+
401: unknown;
|
|
8109
8998
|
/**
|
|
8110
|
-
*
|
|
8999
|
+
* Forbidden - insufficient permissions
|
|
8111
9000
|
*/
|
|
8112
|
-
|
|
9001
|
+
403: unknown;
|
|
8113
9002
|
/**
|
|
8114
|
-
*
|
|
9003
|
+
* Property not found
|
|
8115
9004
|
*/
|
|
8116
|
-
|
|
9005
|
+
404: unknown;
|
|
8117
9006
|
};
|
|
8118
9007
|
};
|
|
8119
|
-
|
|
8120
|
-
|
|
8121
|
-
post: {
|
|
8122
|
-
req: TransactionRuleControllerTestData;
|
|
9008
|
+
put: {
|
|
9009
|
+
req: PropertyControllerUpdateData;
|
|
8123
9010
|
res: {
|
|
8124
9011
|
/**
|
|
8125
|
-
*
|
|
9012
|
+
* Property updated successfully
|
|
8126
9013
|
*/
|
|
8127
|
-
200:
|
|
9014
|
+
200: unknown;
|
|
8128
9015
|
/**
|
|
8129
9016
|
* Unauthorized
|
|
8130
9017
|
*/
|
|
8131
|
-
401:
|
|
8132
|
-
/**
|
|
8133
|
-
* Forbidden - not owner of rule
|
|
8134
|
-
*/
|
|
8135
|
-
403: ApiProblemResponseDto;
|
|
9018
|
+
401: unknown;
|
|
8136
9019
|
/**
|
|
8137
|
-
*
|
|
9020
|
+
* Forbidden - insufficient permissions
|
|
8138
9021
|
*/
|
|
8139
|
-
|
|
9022
|
+
403: unknown;
|
|
8140
9023
|
};
|
|
8141
9024
|
};
|
|
8142
|
-
};
|
|
8143
|
-
'/api/v1/users': {
|
|
8144
9025
|
delete: {
|
|
8145
|
-
req:
|
|
9026
|
+
req: PropertyControllerDeleteData;
|
|
8146
9027
|
res: {
|
|
8147
9028
|
/**
|
|
8148
|
-
*
|
|
9029
|
+
* Property deleted successfully
|
|
8149
9030
|
*/
|
|
8150
9031
|
204: void;
|
|
8151
9032
|
/**
|
|
8152
|
-
*
|
|
9033
|
+
* Unauthorized
|
|
9034
|
+
*/
|
|
9035
|
+
401: unknown;
|
|
9036
|
+
/**
|
|
9037
|
+
* Forbidden - insufficient permissions
|
|
8153
9038
|
*/
|
|
8154
9039
|
403: unknown;
|
|
8155
|
-
};
|
|
8156
|
-
};
|
|
8157
|
-
get: {
|
|
8158
|
-
req: UserControllerGetUserData;
|
|
8159
|
-
res: {
|
|
8160
9040
|
/**
|
|
8161
|
-
*
|
|
9041
|
+
* Property not found
|
|
8162
9042
|
*/
|
|
8163
|
-
|
|
9043
|
+
404: unknown;
|
|
8164
9044
|
};
|
|
8165
9045
|
};
|
|
9046
|
+
};
|
|
9047
|
+
'/api/v1/{region}/bean/transaction-rules': {
|
|
8166
9048
|
post: {
|
|
8167
|
-
req:
|
|
9049
|
+
req: TransactionRuleControllerCreateData;
|
|
8168
9050
|
res: {
|
|
8169
9051
|
/**
|
|
8170
|
-
*
|
|
9052
|
+
* Rule updated successfully (upsert mode)
|
|
8171
9053
|
*/
|
|
8172
|
-
|
|
9054
|
+
200: TransactionRuleResponseDto;
|
|
8173
9055
|
/**
|
|
8174
|
-
*
|
|
9056
|
+
* Validation failed
|
|
8175
9057
|
*/
|
|
8176
|
-
400:
|
|
9058
|
+
400: ApiProblemResponseDto;
|
|
8177
9059
|
/**
|
|
8178
|
-
*
|
|
9060
|
+
* Unauthorized
|
|
8179
9061
|
*/
|
|
8180
|
-
|
|
9062
|
+
401: ApiProblemResponseDto;
|
|
9063
|
+
/**
|
|
9064
|
+
* Resource conflict - another process is updating this rule
|
|
9065
|
+
*/
|
|
9066
|
+
409: ApiProblemResponseDto;
|
|
8181
9067
|
};
|
|
8182
9068
|
};
|
|
8183
|
-
|
|
8184
|
-
|
|
8185
|
-
delete: {
|
|
8186
|
-
req: UserControllerDeleteUserData;
|
|
9069
|
+
get: {
|
|
9070
|
+
req: TransactionRuleControllerListData;
|
|
8187
9071
|
res: {
|
|
8188
9072
|
/**
|
|
8189
|
-
*
|
|
9073
|
+
* List of rules
|
|
8190
9074
|
*/
|
|
8191
|
-
|
|
9075
|
+
200: TransactionRuleListResponseDto;
|
|
8192
9076
|
/**
|
|
8193
|
-
*
|
|
9077
|
+
* Unauthorized
|
|
8194
9078
|
*/
|
|
8195
|
-
|
|
9079
|
+
401: ApiProblemResponseDto;
|
|
8196
9080
|
};
|
|
8197
9081
|
};
|
|
8198
9082
|
};
|
|
8199
|
-
'/api/v1/
|
|
8200
|
-
|
|
8201
|
-
req:
|
|
9083
|
+
'/api/v1/{region}/bean/transaction-rules/validate': {
|
|
9084
|
+
post: {
|
|
9085
|
+
req: TransactionRuleControllerValidateData;
|
|
8202
9086
|
res: {
|
|
8203
9087
|
/**
|
|
8204
|
-
*
|
|
9088
|
+
* Validation result
|
|
8205
9089
|
*/
|
|
8206
|
-
200:
|
|
9090
|
+
200: ValidateRuleResponseDto;
|
|
8207
9091
|
/**
|
|
8208
|
-
*
|
|
9092
|
+
* Validation failed
|
|
8209
9093
|
*/
|
|
8210
|
-
|
|
9094
|
+
400: ApiProblemResponseDto;
|
|
9095
|
+
/**
|
|
9096
|
+
* Unauthorized
|
|
9097
|
+
*/
|
|
9098
|
+
401: ApiProblemResponseDto;
|
|
8211
9099
|
};
|
|
8212
9100
|
};
|
|
8213
9101
|
};
|
|
8214
|
-
'/api/v1/
|
|
8215
|
-
|
|
8216
|
-
req:
|
|
9102
|
+
'/api/v1/{region}/bean/transaction-rules/bulk': {
|
|
9103
|
+
post: {
|
|
9104
|
+
req: TransactionRuleControllerBulkCreateData;
|
|
8217
9105
|
res: {
|
|
8218
9106
|
/**
|
|
8219
|
-
*
|
|
9107
|
+
* Bulk create completed
|
|
8220
9108
|
*/
|
|
8221
|
-
|
|
9109
|
+
201: BulkCreateRulesResponseDto;
|
|
8222
9110
|
/**
|
|
8223
|
-
*
|
|
9111
|
+
* Invalid bulk create data
|
|
8224
9112
|
*/
|
|
8225
|
-
|
|
9113
|
+
400: ApiProblemResponseDto;
|
|
9114
|
+
/**
|
|
9115
|
+
* Unauthorized
|
|
9116
|
+
*/
|
|
9117
|
+
401: ApiProblemResponseDto;
|
|
8226
9118
|
};
|
|
8227
9119
|
};
|
|
8228
9120
|
};
|
|
8229
|
-
'/api/v1/
|
|
9121
|
+
'/api/v1/{region}/bean/transaction-rules/export/{format}': {
|
|
8230
9122
|
get: {
|
|
8231
|
-
req:
|
|
9123
|
+
req: TransactionRuleControllerExportData;
|
|
8232
9124
|
res: {
|
|
8233
9125
|
/**
|
|
8234
|
-
*
|
|
9126
|
+
* Exported rules
|
|
8235
9127
|
*/
|
|
8236
|
-
200:
|
|
9128
|
+
200: ExportRulesResponseDto;
|
|
9129
|
+
/**
|
|
9130
|
+
* Unsupported format
|
|
9131
|
+
*/
|
|
9132
|
+
400: ApiProblemResponseDto;
|
|
9133
|
+
/**
|
|
9134
|
+
* Unauthorized
|
|
9135
|
+
*/
|
|
9136
|
+
401: ApiProblemResponseDto;
|
|
8237
9137
|
};
|
|
8238
9138
|
};
|
|
8239
9139
|
};
|
|
8240
|
-
'/api/v1/
|
|
9140
|
+
'/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
|
|
8241
9141
|
get: {
|
|
9142
|
+
req: TransactionRuleControllerGetStatisticsData;
|
|
8242
9143
|
res: {
|
|
8243
9144
|
/**
|
|
8244
|
-
*
|
|
9145
|
+
* Rule statistics
|
|
8245
9146
|
*/
|
|
8246
|
-
200:
|
|
9147
|
+
200: RuleStatisticsResponseDto;
|
|
9148
|
+
/**
|
|
9149
|
+
* Unauthorized
|
|
9150
|
+
*/
|
|
9151
|
+
401: ApiProblemResponseDto;
|
|
8247
9152
|
};
|
|
8248
9153
|
};
|
|
8249
9154
|
};
|
|
8250
|
-
'/api/v1/
|
|
9155
|
+
'/api/v1/{region}/bean/transaction-rules/{ruleId}': {
|
|
8251
9156
|
get: {
|
|
9157
|
+
req: TransactionRuleControllerGetDetailData;
|
|
8252
9158
|
res: {
|
|
8253
9159
|
/**
|
|
8254
|
-
*
|
|
9160
|
+
* Rule details
|
|
8255
9161
|
*/
|
|
8256
|
-
200:
|
|
9162
|
+
200: TransactionRuleResponseDto;
|
|
8257
9163
|
/**
|
|
8258
9164
|
* Unauthorized
|
|
8259
9165
|
*/
|
|
8260
|
-
401:
|
|
9166
|
+
401: ApiProblemResponseDto;
|
|
8261
9167
|
/**
|
|
8262
|
-
* Forbidden -
|
|
9168
|
+
* Forbidden - not owner of rule
|
|
8263
9169
|
*/
|
|
8264
|
-
403:
|
|
9170
|
+
403: ApiProblemResponseDto;
|
|
9171
|
+
/**
|
|
9172
|
+
* Rule not found
|
|
9173
|
+
*/
|
|
9174
|
+
404: ApiProblemResponseDto;
|
|
8265
9175
|
};
|
|
8266
9176
|
};
|
|
8267
|
-
|
|
8268
|
-
|
|
8269
|
-
get: {
|
|
8270
|
-
req: PropertyControllerGetByKeyData;
|
|
9177
|
+
put: {
|
|
9178
|
+
req: TransactionRuleControllerUpdateData;
|
|
8271
9179
|
res: {
|
|
8272
9180
|
/**
|
|
8273
|
-
*
|
|
9181
|
+
* Rule updated successfully
|
|
8274
9182
|
*/
|
|
8275
|
-
200:
|
|
9183
|
+
200: TransactionRuleResponseDto;
|
|
9184
|
+
/**
|
|
9185
|
+
* Validation failed
|
|
9186
|
+
*/
|
|
9187
|
+
400: ApiProblemResponseDto;
|
|
8276
9188
|
/**
|
|
8277
9189
|
* Unauthorized
|
|
8278
9190
|
*/
|
|
8279
|
-
401:
|
|
9191
|
+
401: ApiProblemResponseDto;
|
|
8280
9192
|
/**
|
|
8281
|
-
* Forbidden -
|
|
9193
|
+
* Forbidden - not owner of rule
|
|
8282
9194
|
*/
|
|
8283
|
-
403:
|
|
9195
|
+
403: ApiProblemResponseDto;
|
|
8284
9196
|
/**
|
|
8285
|
-
*
|
|
9197
|
+
* Rule not found
|
|
8286
9198
|
*/
|
|
8287
|
-
404:
|
|
9199
|
+
404: ApiProblemResponseDto;
|
|
9200
|
+
/**
|
|
9201
|
+
* Resource conflict - rule is being modified by another process
|
|
9202
|
+
*/
|
|
9203
|
+
409: ApiProblemResponseDto;
|
|
8288
9204
|
};
|
|
8289
9205
|
};
|
|
8290
|
-
|
|
8291
|
-
req:
|
|
9206
|
+
delete: {
|
|
9207
|
+
req: TransactionRuleControllerDeleteData;
|
|
8292
9208
|
res: {
|
|
8293
9209
|
/**
|
|
8294
|
-
*
|
|
9210
|
+
* Rule deleted successfully
|
|
8295
9211
|
*/
|
|
8296
|
-
|
|
9212
|
+
204: void;
|
|
8297
9213
|
/**
|
|
8298
9214
|
* Unauthorized
|
|
8299
9215
|
*/
|
|
8300
|
-
401:
|
|
9216
|
+
401: ApiProblemResponseDto;
|
|
8301
9217
|
/**
|
|
8302
|
-
* Forbidden -
|
|
9218
|
+
* Forbidden - not owner of rule
|
|
8303
9219
|
*/
|
|
8304
|
-
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;
|
|
8305
9229
|
};
|
|
8306
9230
|
};
|
|
8307
|
-
|
|
8308
|
-
|
|
9231
|
+
};
|
|
9232
|
+
'/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
|
|
9233
|
+
post: {
|
|
9234
|
+
req: TransactionRuleControllerTestData;
|
|
8309
9235
|
res: {
|
|
8310
9236
|
/**
|
|
8311
|
-
*
|
|
9237
|
+
* Test result
|
|
8312
9238
|
*/
|
|
8313
|
-
|
|
9239
|
+
200: TestRuleResponseDto;
|
|
8314
9240
|
/**
|
|
8315
9241
|
* Unauthorized
|
|
8316
9242
|
*/
|
|
8317
|
-
401:
|
|
9243
|
+
401: ApiProblemResponseDto;
|
|
8318
9244
|
/**
|
|
8319
|
-
* Forbidden -
|
|
9245
|
+
* Forbidden - not owner of rule
|
|
8320
9246
|
*/
|
|
8321
|
-
403:
|
|
9247
|
+
403: ApiProblemResponseDto;
|
|
8322
9248
|
/**
|
|
8323
|
-
*
|
|
9249
|
+
* Rule not found
|
|
8324
9250
|
*/
|
|
8325
|
-
404:
|
|
9251
|
+
404: ApiProblemResponseDto;
|
|
8326
9252
|
};
|
|
8327
9253
|
};
|
|
8328
9254
|
};
|
|
@@ -8422,6 +9348,85 @@ export type $OpenApiTs = {
|
|
|
8422
9348
|
};
|
|
8423
9349
|
};
|
|
8424
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
|
+
};
|
|
8425
9430
|
'/api/v1/{region}/bean/export/beancount': {
|
|
8426
9431
|
get: {
|
|
8427
9432
|
res: {
|
|
@@ -8564,83 +9569,11 @@ export type $OpenApiTs = {
|
|
|
8564
9569
|
/**
|
|
8565
9570
|
* Configuration reset successfully
|
|
8566
9571
|
*/
|
|
8567
|
-
200: ImporterConfigDto;
|
|
8568
|
-
/**
|
|
8569
|
-
* Invalid input - Unsupported importer
|
|
8570
|
-
*/
|
|
8571
|
-
400: ApiProblemResponseDto;
|
|
8572
|
-
};
|
|
8573
|
-
};
|
|
8574
|
-
};
|
|
8575
|
-
'/api/v1/bean/platforms': {
|
|
8576
|
-
get: {
|
|
8577
|
-
res: {
|
|
8578
|
-
/**
|
|
8579
|
-
* List of platforms with binding and account counts
|
|
8580
|
-
*/
|
|
8581
|
-
200: unknown;
|
|
8582
|
-
};
|
|
8583
|
-
};
|
|
8584
|
-
post: {
|
|
8585
|
-
req: PlatformControllerCreateData;
|
|
8586
|
-
res: {
|
|
8587
|
-
/**
|
|
8588
|
-
* Platform created successfully
|
|
8589
|
-
*/
|
|
8590
|
-
201: unknown;
|
|
8591
|
-
/**
|
|
8592
|
-
* Platform already exists
|
|
8593
|
-
*/
|
|
8594
|
-
409: unknown;
|
|
8595
|
-
};
|
|
8596
|
-
};
|
|
8597
|
-
};
|
|
8598
|
-
'/api/v1/bean/platforms/list': {
|
|
8599
|
-
get: {
|
|
8600
|
-
res: {
|
|
8601
|
-
/**
|
|
8602
|
-
* List of platforms with user binding status
|
|
8603
|
-
*/
|
|
8604
|
-
200: unknown;
|
|
8605
|
-
};
|
|
8606
|
-
};
|
|
8607
|
-
};
|
|
8608
|
-
'/api/v1/bean/platforms/match': {
|
|
8609
|
-
get: {
|
|
8610
|
-
req: PlatformControllerMatchPlatformsData;
|
|
8611
|
-
res: {
|
|
8612
|
-
/**
|
|
8613
|
-
* List of matching platforms with suggested segment names
|
|
8614
|
-
*/
|
|
8615
|
-
200: unknown;
|
|
8616
|
-
};
|
|
8617
|
-
};
|
|
8618
|
-
};
|
|
8619
|
-
'/api/v1/bean/platforms/{id}': {
|
|
8620
|
-
put: {
|
|
8621
|
-
req: PlatformControllerUpdateData;
|
|
8622
|
-
res: {
|
|
8623
|
-
/**
|
|
8624
|
-
* Platform updated successfully
|
|
8625
|
-
*/
|
|
8626
|
-
200: unknown;
|
|
8627
|
-
/**
|
|
8628
|
-
* Platform not found
|
|
8629
|
-
*/
|
|
8630
|
-
404: unknown;
|
|
8631
|
-
};
|
|
8632
|
-
};
|
|
8633
|
-
delete: {
|
|
8634
|
-
req: PlatformControllerDeleteData;
|
|
8635
|
-
res: {
|
|
8636
|
-
/**
|
|
8637
|
-
* Platform deleted successfully
|
|
8638
|
-
*/
|
|
8639
|
-
204: void;
|
|
9572
|
+
200: ImporterConfigDto;
|
|
8640
9573
|
/**
|
|
8641
|
-
*
|
|
9574
|
+
* Invalid input - Unsupported importer
|
|
8642
9575
|
*/
|
|
8643
|
-
|
|
9576
|
+
400: ApiProblemResponseDto;
|
|
8644
9577
|
};
|
|
8645
9578
|
};
|
|
8646
9579
|
};
|
|
@@ -8697,6 +9630,54 @@ export type $OpenApiTs = {
|
|
|
8697
9630
|
};
|
|
8698
9631
|
};
|
|
8699
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
|
+
};
|
|
8700
9681
|
'/api/v1/{region}/bean/import/parser-telemetry': {
|
|
8701
9682
|
post: {
|
|
8702
9683
|
req: TelemetryControllerReportTelemetryData;
|
|
@@ -8785,188 +9766,104 @@ export type $OpenApiTs = {
|
|
|
8785
9766
|
};
|
|
8786
9767
|
};
|
|
8787
9768
|
};
|
|
8788
|
-
'/api/v1/
|
|
8789
|
-
get: {
|
|
8790
|
-
req: DashboardControllerGetNetWorthData;
|
|
8791
|
-
res: {
|
|
8792
|
-
/**
|
|
8793
|
-
* Net worth retrieved successfully
|
|
8794
|
-
*/
|
|
8795
|
-
200: NetWorthResponseDto;
|
|
8796
|
-
/**
|
|
8797
|
-
* User not authenticated
|
|
8798
|
-
*/
|
|
8799
|
-
401: unknown;
|
|
8800
|
-
};
|
|
8801
|
-
};
|
|
8802
|
-
};
|
|
8803
|
-
'/api/v1/{region}/dashboard/accounts': {
|
|
8804
|
-
get: {
|
|
8805
|
-
req: DashboardControllerGetAccountsData;
|
|
8806
|
-
res: {
|
|
8807
|
-
/**
|
|
8808
|
-
* Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
8809
|
-
*/
|
|
8810
|
-
200:
|
|
8811
|
-
| AccountsResponseDto
|
|
8812
|
-
| AssetClassAccountsResponseDto
|
|
8813
|
-
| HoldingAssetClassCrossAccountResponseDto;
|
|
8814
|
-
/**
|
|
8815
|
-
* User not authenticated
|
|
8816
|
-
*/
|
|
8817
|
-
401: unknown;
|
|
8818
|
-
};
|
|
8819
|
-
};
|
|
8820
|
-
};
|
|
8821
|
-
'/api/v1/{region}/dashboard/cash-flow': {
|
|
8822
|
-
get: {
|
|
8823
|
-
req: DashboardControllerGetCashFlowData;
|
|
8824
|
-
res: {
|
|
8825
|
-
/**
|
|
8826
|
-
* Cash flow retrieved successfully
|
|
8827
|
-
*/
|
|
8828
|
-
200: CashFlowResponseDto;
|
|
8829
|
-
/**
|
|
8830
|
-
* Invalid period format
|
|
8831
|
-
*/
|
|
8832
|
-
400: unknown;
|
|
8833
|
-
/**
|
|
8834
|
-
* User not authenticated
|
|
8835
|
-
*/
|
|
8836
|
-
401: unknown;
|
|
8837
|
-
};
|
|
8838
|
-
};
|
|
8839
|
-
};
|
|
8840
|
-
'/api/v1/{region}/dashboard/expenses': {
|
|
8841
|
-
get: {
|
|
8842
|
-
req: DashboardControllerGetExpensesData;
|
|
8843
|
-
res: {
|
|
8844
|
-
/**
|
|
8845
|
-
* Expenses retrieved successfully
|
|
8846
|
-
*/
|
|
8847
|
-
200: ExpensesByCategoryResponseDto;
|
|
8848
|
-
/**
|
|
8849
|
-
* Invalid groupBy or period
|
|
8850
|
-
*/
|
|
8851
|
-
400: unknown;
|
|
8852
|
-
/**
|
|
8853
|
-
* User not authenticated
|
|
8854
|
-
*/
|
|
8855
|
-
401: unknown;
|
|
8856
|
-
};
|
|
8857
|
-
};
|
|
8858
|
-
};
|
|
8859
|
-
'/api/v1/{region}/investment/holdings/pnl': {
|
|
9769
|
+
'/api/v1/bean/platforms': {
|
|
8860
9770
|
get: {
|
|
8861
|
-
req: HoldingPnlControllerGetHoldingPnlData;
|
|
8862
9771
|
res: {
|
|
8863
9772
|
/**
|
|
8864
|
-
*
|
|
8865
|
-
*/
|
|
8866
|
-
200: HoldingPnlResponseDto;
|
|
8867
|
-
/**
|
|
8868
|
-
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
8869
|
-
*/
|
|
8870
|
-
400: unknown;
|
|
8871
|
-
/**
|
|
8872
|
-
* User not authenticated
|
|
9773
|
+
* List of platforms with binding and account counts
|
|
8873
9774
|
*/
|
|
8874
|
-
|
|
9775
|
+
200: unknown;
|
|
8875
9776
|
};
|
|
8876
9777
|
};
|
|
8877
|
-
};
|
|
8878
|
-
'/api/v1/{region}/bean/prices': {
|
|
8879
9778
|
post: {
|
|
8880
|
-
req:
|
|
9779
|
+
req: PlatformControllerCreateData;
|
|
8881
9780
|
res: {
|
|
8882
9781
|
/**
|
|
8883
|
-
*
|
|
8884
|
-
*/
|
|
8885
|
-
201: PriceResponseDto;
|
|
8886
|
-
/**
|
|
8887
|
-
* Currency or quoteCurrency commodity not found
|
|
9782
|
+
* Platform created successfully
|
|
8888
9783
|
*/
|
|
8889
|
-
|
|
9784
|
+
201: unknown;
|
|
8890
9785
|
/**
|
|
8891
|
-
*
|
|
9786
|
+
* Platform already exists
|
|
8892
9787
|
*/
|
|
8893
9788
|
409: unknown;
|
|
8894
9789
|
};
|
|
8895
9790
|
};
|
|
9791
|
+
};
|
|
9792
|
+
'/api/v1/bean/platforms/list': {
|
|
8896
9793
|
get: {
|
|
8897
|
-
req: PriceControllerFindAllData;
|
|
8898
9794
|
res: {
|
|
8899
9795
|
/**
|
|
8900
|
-
*
|
|
9796
|
+
* List of platforms with user binding status
|
|
8901
9797
|
*/
|
|
8902
|
-
200:
|
|
9798
|
+
200: Array<PlatformListItemDto>;
|
|
8903
9799
|
};
|
|
8904
9800
|
};
|
|
8905
9801
|
};
|
|
8906
|
-
'/api/v1/
|
|
9802
|
+
'/api/v1/bean/platforms/match': {
|
|
8907
9803
|
get: {
|
|
8908
|
-
req:
|
|
9804
|
+
req: PlatformControllerMatchPlatformsData;
|
|
8909
9805
|
res: {
|
|
8910
9806
|
/**
|
|
8911
|
-
*
|
|
8912
|
-
*/
|
|
8913
|
-
200: PriceResponseDto;
|
|
8914
|
-
/**
|
|
8915
|
-
* Price not found
|
|
9807
|
+
* Matching platforms with overall match type and truncation flag
|
|
8916
9808
|
*/
|
|
8917
|
-
|
|
9809
|
+
200: PlatformMatchResponseDto;
|
|
8918
9810
|
};
|
|
8919
9811
|
};
|
|
9812
|
+
};
|
|
9813
|
+
'/api/v1/bean/platforms/{id}': {
|
|
8920
9814
|
put: {
|
|
8921
|
-
req:
|
|
9815
|
+
req: PlatformControllerUpdateData;
|
|
8922
9816
|
res: {
|
|
8923
9817
|
/**
|
|
8924
|
-
*
|
|
9818
|
+
* Platform updated successfully
|
|
8925
9819
|
*/
|
|
8926
|
-
200:
|
|
9820
|
+
200: unknown;
|
|
8927
9821
|
/**
|
|
8928
|
-
*
|
|
9822
|
+
* Platform not found
|
|
8929
9823
|
*/
|
|
8930
9824
|
404: unknown;
|
|
8931
|
-
/**
|
|
8932
|
-
* Updated price conflicts with existing price
|
|
8933
|
-
*/
|
|
8934
|
-
409: unknown;
|
|
8935
9825
|
};
|
|
8936
9826
|
};
|
|
8937
9827
|
delete: {
|
|
8938
|
-
req:
|
|
9828
|
+
req: PlatformControllerDeleteData;
|
|
8939
9829
|
res: {
|
|
8940
9830
|
/**
|
|
8941
|
-
*
|
|
9831
|
+
* Platform deleted successfully
|
|
8942
9832
|
*/
|
|
8943
9833
|
204: void;
|
|
8944
9834
|
/**
|
|
8945
|
-
*
|
|
9835
|
+
* Platform not found
|
|
8946
9836
|
*/
|
|
8947
9837
|
404: unknown;
|
|
8948
9838
|
};
|
|
8949
9839
|
};
|
|
8950
9840
|
};
|
|
8951
|
-
'/api/v1/{region}/
|
|
8952
|
-
|
|
8953
|
-
req:
|
|
9841
|
+
'/api/v1/{region}/dashboard/net-worth': {
|
|
9842
|
+
get: {
|
|
9843
|
+
req: DashboardControllerGetNetWorthData;
|
|
8954
9844
|
res: {
|
|
8955
9845
|
/**
|
|
8956
|
-
*
|
|
9846
|
+
* Net worth retrieved successfully
|
|
8957
9847
|
*/
|
|
8958
|
-
|
|
9848
|
+
200: NetWorthResponseDto;
|
|
9849
|
+
/**
|
|
9850
|
+
* User not authenticated
|
|
9851
|
+
*/
|
|
9852
|
+
401: unknown;
|
|
8959
9853
|
};
|
|
8960
9854
|
};
|
|
8961
9855
|
};
|
|
8962
|
-
'/api/v1/{region}/
|
|
9856
|
+
'/api/v1/{region}/dashboard/accounts': {
|
|
8963
9857
|
get: {
|
|
8964
|
-
req:
|
|
9858
|
+
req: DashboardControllerGetAccountsData;
|
|
8965
9859
|
res: {
|
|
8966
9860
|
/**
|
|
8967
|
-
*
|
|
9861
|
+
* Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
8968
9862
|
*/
|
|
8969
|
-
200:
|
|
9863
|
+
200:
|
|
9864
|
+
| AccountsResponseDto
|
|
9865
|
+
| AssetClassAccountsResponseDto
|
|
9866
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
8970
9867
|
/**
|
|
8971
9868
|
* User not authenticated
|
|
8972
9869
|
*/
|
|
@@ -8974,14 +9871,18 @@ export type $OpenApiTs = {
|
|
|
8974
9871
|
};
|
|
8975
9872
|
};
|
|
8976
9873
|
};
|
|
8977
|
-
'/api/v1/{region}/
|
|
9874
|
+
'/api/v1/{region}/dashboard/cash-flow': {
|
|
8978
9875
|
get: {
|
|
8979
|
-
req:
|
|
9876
|
+
req: DashboardControllerGetCashFlowData;
|
|
8980
9877
|
res: {
|
|
8981
9878
|
/**
|
|
8982
|
-
* Cash
|
|
9879
|
+
* Cash flow retrieved successfully
|
|
8983
9880
|
*/
|
|
8984
|
-
200:
|
|
9881
|
+
200: CashFlowResponseDto;
|
|
9882
|
+
/**
|
|
9883
|
+
* Invalid period format
|
|
9884
|
+
*/
|
|
9885
|
+
400: unknown;
|
|
8985
9886
|
/**
|
|
8986
9887
|
* User not authenticated
|
|
8987
9888
|
*/
|
|
@@ -8989,16 +9890,16 @@ export type $OpenApiTs = {
|
|
|
8989
9890
|
};
|
|
8990
9891
|
};
|
|
8991
9892
|
};
|
|
8992
|
-
'/api/v1/{region}/
|
|
8993
|
-
|
|
8994
|
-
req:
|
|
9893
|
+
'/api/v1/{region}/dashboard/expenses': {
|
|
9894
|
+
get: {
|
|
9895
|
+
req: DashboardControllerGetExpensesData;
|
|
8995
9896
|
res: {
|
|
8996
9897
|
/**
|
|
8997
|
-
*
|
|
9898
|
+
* Expenses retrieved successfully
|
|
8998
9899
|
*/
|
|
8999
|
-
200:
|
|
9900
|
+
200: ExpensesByCategoryResponseDto;
|
|
9000
9901
|
/**
|
|
9001
|
-
* Invalid
|
|
9902
|
+
* Invalid groupBy or period
|
|
9002
9903
|
*/
|
|
9003
9904
|
400: unknown;
|
|
9004
9905
|
/**
|
|
@@ -9008,26 +9909,22 @@ export type $OpenApiTs = {
|
|
|
9008
9909
|
};
|
|
9009
9910
|
};
|
|
9010
9911
|
};
|
|
9011
|
-
'/api/v1/{region}/
|
|
9012
|
-
|
|
9013
|
-
req:
|
|
9912
|
+
'/api/v1/{region}/investment/holdings/pnl': {
|
|
9913
|
+
get: {
|
|
9914
|
+
req: HoldingPnlControllerGetHoldingPnlData;
|
|
9014
9915
|
res: {
|
|
9015
9916
|
/**
|
|
9016
|
-
*
|
|
9917
|
+
* Holding P&L retrieved successfully
|
|
9017
9918
|
*/
|
|
9018
|
-
200:
|
|
9919
|
+
200: HoldingPnlResponseDto;
|
|
9019
9920
|
/**
|
|
9020
|
-
* Invalid date format or
|
|
9921
|
+
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
9021
9922
|
*/
|
|
9022
9923
|
400: unknown;
|
|
9023
9924
|
/**
|
|
9024
9925
|
* User not authenticated
|
|
9025
9926
|
*/
|
|
9026
9927
|
401: unknown;
|
|
9027
|
-
/**
|
|
9028
|
-
* Backfill already in progress for this user
|
|
9029
|
-
*/
|
|
9030
|
-
409: unknown;
|
|
9031
9928
|
};
|
|
9032
9929
|
};
|
|
9033
9930
|
};
|
|
@@ -9052,7 +9949,7 @@ export type $OpenApiTs = {
|
|
|
9052
9949
|
/**
|
|
9053
9950
|
* Login successful
|
|
9054
9951
|
*/
|
|
9055
|
-
200:
|
|
9952
|
+
200: AnonymousLoginResponseDto;
|
|
9056
9953
|
/**
|
|
9057
9954
|
* Invalid access token
|
|
9058
9955
|
*/
|
|
@@ -9199,4 +10096,30 @@ export type $OpenApiTs = {
|
|
|
9199
10096
|
};
|
|
9200
10097
|
};
|
|
9201
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
|
+
};
|
|
9202
10125
|
};
|