@firela/api-types 0.0.0-canary.7b647d33 → 0.0.0-canary.824fea47
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 +2242 -1363
- package/dist/index.d.ts +2242 -1363
- package/dist/index.js +31 -3
- package/dist/index.mjs +31 -3
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +2422 -1511
- package/src/generated/services.gen.ts +1147 -780
- package/src/generated/types.gen.ts +2487 -1458
|
@@ -6,13 +6,9 @@ export type CreateAccountDto = {
|
|
|
6
6
|
*/
|
|
7
7
|
path: string;
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Account open date (server defaults to today)
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Account open date
|
|
14
|
-
*/
|
|
15
|
-
openDate: string;
|
|
11
|
+
openDate?: string;
|
|
16
12
|
/**
|
|
17
13
|
* Allowed currencies (null = no restriction)
|
|
18
14
|
*/
|
|
@@ -36,18 +32,14 @@ export type CreateAccountDto = {
|
|
|
36
32
|
* Whether this is a custom (user-created) account
|
|
37
33
|
*/
|
|
38
34
|
isCustom?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* i18n key for display name (overrides template)
|
|
41
|
-
*/
|
|
42
|
-
i18nKey?: string;
|
|
43
35
|
/**
|
|
44
36
|
* Icon identifier (overrides template)
|
|
45
37
|
*/
|
|
46
38
|
icon?: string;
|
|
47
39
|
/**
|
|
48
|
-
*
|
|
40
|
+
* Open directive metadata (NOT an opening-balance amount — use the opening-balance endpoint)
|
|
49
41
|
*/
|
|
50
|
-
|
|
42
|
+
openDirectiveMeta?: {
|
|
51
43
|
[key: string]: unknown;
|
|
52
44
|
};
|
|
53
45
|
/**
|
|
@@ -77,14 +69,47 @@ export type AccountResponseDto = {
|
|
|
77
69
|
* Account path (hierarchical, colon-separated)
|
|
78
70
|
*/
|
|
79
71
|
path: string;
|
|
80
|
-
/**
|
|
81
|
-
* Display name distinguishing multiple accounts at the same path
|
|
82
|
-
*/
|
|
83
|
-
displayName: string;
|
|
84
72
|
/**
|
|
85
73
|
* Account type (root segment)
|
|
86
74
|
*/
|
|
87
75
|
type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
76
|
+
/**
|
|
77
|
+
* Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
|
|
78
|
+
*/
|
|
79
|
+
assetSubClass?:
|
|
80
|
+
| 'DEPOSIT'
|
|
81
|
+
| 'CASH'
|
|
82
|
+
| 'MONEY_MARKET_FUND'
|
|
83
|
+
| 'STOCK'
|
|
84
|
+
| 'ETF'
|
|
85
|
+
| 'MUTUAL_FUND'
|
|
86
|
+
| 'EQUITY_COMPENSATION'
|
|
87
|
+
| 'GOVERNMENT_BOND'
|
|
88
|
+
| 'CORPORATE_BOND'
|
|
89
|
+
| 'BOND_FUND'
|
|
90
|
+
| 'PRIMARY_RESIDENCE'
|
|
91
|
+
| 'INVESTMENT_PROPERTY'
|
|
92
|
+
| 'REIT'
|
|
93
|
+
| 'GOLD'
|
|
94
|
+
| 'SILVER'
|
|
95
|
+
| 'PRECIOUS_METAL'
|
|
96
|
+
| 'PRECIOUS_METAL_FUND'
|
|
97
|
+
| 'COMMODITY'
|
|
98
|
+
| 'COMMODITY_FUND'
|
|
99
|
+
| 'CRYPTOCURRENCY'
|
|
100
|
+
| 'RETIREMENT_ACCOUNT'
|
|
101
|
+
| 'HEALTH_ACCOUNT'
|
|
102
|
+
| 'EDUCATION_ACCOUNT'
|
|
103
|
+
| 'INSURANCE'
|
|
104
|
+
| 'PRIVATE_EQUITY'
|
|
105
|
+
| 'HEDGE_FUND'
|
|
106
|
+
| 'COLLECTIBLES'
|
|
107
|
+
| 'MORTGAGE'
|
|
108
|
+
| 'STUDENT_LOAN'
|
|
109
|
+
| 'CREDIT_CARD'
|
|
110
|
+
| 'PERSONAL_LOAN'
|
|
111
|
+
| 'OTHER'
|
|
112
|
+
| null;
|
|
88
113
|
/**
|
|
89
114
|
* Account status
|
|
90
115
|
*/
|
|
@@ -121,17 +146,17 @@ export type AccountResponseDto = {
|
|
|
121
146
|
*/
|
|
122
147
|
isCustom: boolean;
|
|
123
148
|
/**
|
|
124
|
-
*
|
|
149
|
+
* Localized display name (ADR-0114, read-time projection)
|
|
125
150
|
*/
|
|
126
|
-
|
|
151
|
+
displayName?: string;
|
|
127
152
|
/**
|
|
128
153
|
* Icon identifier
|
|
129
154
|
*/
|
|
130
155
|
icon?: string;
|
|
131
156
|
/**
|
|
132
|
-
*
|
|
157
|
+
* Open directive metadata (ADR-0115 Decision 9)
|
|
133
158
|
*/
|
|
134
|
-
|
|
159
|
+
openDirectiveMeta?: {
|
|
135
160
|
[key: string]: unknown;
|
|
136
161
|
};
|
|
137
162
|
/**
|
|
@@ -161,6 +186,43 @@ export type AccountResponseDto = {
|
|
|
161
186
|
*/
|
|
162
187
|
export type type = 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
163
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
|
|
191
|
+
*/
|
|
192
|
+
export type assetSubClass =
|
|
193
|
+
| 'DEPOSIT'
|
|
194
|
+
| 'CASH'
|
|
195
|
+
| 'MONEY_MARKET_FUND'
|
|
196
|
+
| 'STOCK'
|
|
197
|
+
| 'ETF'
|
|
198
|
+
| 'MUTUAL_FUND'
|
|
199
|
+
| 'EQUITY_COMPENSATION'
|
|
200
|
+
| 'GOVERNMENT_BOND'
|
|
201
|
+
| 'CORPORATE_BOND'
|
|
202
|
+
| 'BOND_FUND'
|
|
203
|
+
| 'PRIMARY_RESIDENCE'
|
|
204
|
+
| 'INVESTMENT_PROPERTY'
|
|
205
|
+
| 'REIT'
|
|
206
|
+
| 'GOLD'
|
|
207
|
+
| 'SILVER'
|
|
208
|
+
| 'PRECIOUS_METAL'
|
|
209
|
+
| 'PRECIOUS_METAL_FUND'
|
|
210
|
+
| 'COMMODITY'
|
|
211
|
+
| 'COMMODITY_FUND'
|
|
212
|
+
| 'CRYPTOCURRENCY'
|
|
213
|
+
| 'RETIREMENT_ACCOUNT'
|
|
214
|
+
| 'HEALTH_ACCOUNT'
|
|
215
|
+
| 'EDUCATION_ACCOUNT'
|
|
216
|
+
| 'INSURANCE'
|
|
217
|
+
| 'PRIVATE_EQUITY'
|
|
218
|
+
| 'HEDGE_FUND'
|
|
219
|
+
| 'COLLECTIBLES'
|
|
220
|
+
| 'MORTGAGE'
|
|
221
|
+
| 'STUDENT_LOAN'
|
|
222
|
+
| 'CREDIT_CARD'
|
|
223
|
+
| 'PERSONAL_LOAN'
|
|
224
|
+
| 'OTHER';
|
|
225
|
+
|
|
164
226
|
/**
|
|
165
227
|
* Account status
|
|
166
228
|
*/
|
|
@@ -178,10 +240,6 @@ export type AccountListResponseDto = {
|
|
|
178
240
|
};
|
|
179
241
|
|
|
180
242
|
export type UpdateAccountDto = {
|
|
181
|
-
/**
|
|
182
|
-
* Display name to distinguish accounts at the same path
|
|
183
|
-
*/
|
|
184
|
-
displayName?: string;
|
|
185
243
|
/**
|
|
186
244
|
* Allowed currencies (null = no restriction)
|
|
187
245
|
*/
|
|
@@ -197,18 +255,14 @@ export type UpdateAccountDto = {
|
|
|
197
255
|
| 'STRICT'
|
|
198
256
|
| 'STRICT_WITH_SIZE'
|
|
199
257
|
| 'NONE';
|
|
200
|
-
/**
|
|
201
|
-
* i18n key for display name
|
|
202
|
-
*/
|
|
203
|
-
i18nKey?: string;
|
|
204
258
|
/**
|
|
205
259
|
* Icon identifier
|
|
206
260
|
*/
|
|
207
261
|
icon?: string;
|
|
208
262
|
/**
|
|
209
|
-
*
|
|
263
|
+
* Open directive metadata (merged with existing; NOT an opening-balance amount)
|
|
210
264
|
*/
|
|
211
|
-
|
|
265
|
+
openDirectiveMeta?: {
|
|
212
266
|
[key: string]: unknown;
|
|
213
267
|
};
|
|
214
268
|
/**
|
|
@@ -237,6 +291,28 @@ export type ReopenAccountDto = {
|
|
|
237
291
|
reopenDate?: string;
|
|
238
292
|
};
|
|
239
293
|
|
|
294
|
+
export type CreateOpeningBalanceDto = {
|
|
295
|
+
/**
|
|
296
|
+
* Opening balance amount (non-negative)
|
|
297
|
+
*/
|
|
298
|
+
amount: number;
|
|
299
|
+
/**
|
|
300
|
+
* Currency code
|
|
301
|
+
*/
|
|
302
|
+
currency: string;
|
|
303
|
+
/**
|
|
304
|
+
* Opening-balance date (defaults to now)
|
|
305
|
+
*/
|
|
306
|
+
date?: string;
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
export type OpeningBalanceResultDto = {
|
|
310
|
+
/**
|
|
311
|
+
* Created opening-balance transaction id.
|
|
312
|
+
*/
|
|
313
|
+
transactionId: string;
|
|
314
|
+
};
|
|
315
|
+
|
|
240
316
|
export type AccountStandardResponseDto = {
|
|
241
317
|
/**
|
|
242
318
|
* Account path (hierarchical, colon-separated)
|
|
@@ -246,10 +322,6 @@ export type AccountStandardResponseDto = {
|
|
|
246
322
|
* Account type in Beancount hierarchy
|
|
247
323
|
*/
|
|
248
324
|
type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
249
|
-
/**
|
|
250
|
-
* i18n key for localized display name
|
|
251
|
-
*/
|
|
252
|
-
i18nKey: string;
|
|
253
325
|
/**
|
|
254
326
|
* Short localized display name
|
|
255
327
|
*/
|
|
@@ -284,10 +356,6 @@ export type AccountStandardListResponseDto = {
|
|
|
284
356
|
};
|
|
285
357
|
|
|
286
358
|
export type TemplateMetadataDto = {
|
|
287
|
-
/**
|
|
288
|
-
* Whether this path can be extended
|
|
289
|
-
*/
|
|
290
|
-
extendable: boolean;
|
|
291
359
|
/**
|
|
292
360
|
* Root account type
|
|
293
361
|
*/
|
|
@@ -848,6 +916,51 @@ export type flag2 =
|
|
|
848
916
|
*/
|
|
849
917
|
export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
850
918
|
|
|
919
|
+
export type BalanceByCurrencyDto = {
|
|
920
|
+
/**
|
|
921
|
+
* ISO 4217 currency code
|
|
922
|
+
*/
|
|
923
|
+
currency: string;
|
|
924
|
+
/**
|
|
925
|
+
* Balance amount
|
|
926
|
+
*/
|
|
927
|
+
balance: string;
|
|
928
|
+
};
|
|
929
|
+
|
|
930
|
+
export type ExchangeRateWarningDto = {
|
|
931
|
+
/**
|
|
932
|
+
* Warning type
|
|
933
|
+
*/
|
|
934
|
+
type: string;
|
|
935
|
+
/**
|
|
936
|
+
* Currency without exchange rate
|
|
937
|
+
*/
|
|
938
|
+
currency: string;
|
|
939
|
+
/**
|
|
940
|
+
* Total amount affected
|
|
941
|
+
*/
|
|
942
|
+
totalAmount: string;
|
|
943
|
+
};
|
|
944
|
+
|
|
945
|
+
export type TransactionListSummaryDto = {
|
|
946
|
+
/**
|
|
947
|
+
* Partial converted total in base currency (rated currencies only, raw Beancount sign). When warnings is non-empty this excludes currencies missing an FX rate; may be "0.00" if ALL non-base currencies lack a rate. Converted at the dateTo (or current) available rate.
|
|
948
|
+
*/
|
|
949
|
+
totalAmount: string;
|
|
950
|
+
/**
|
|
951
|
+
* Base currency (ISO 4217)
|
|
952
|
+
*/
|
|
953
|
+
currency: string;
|
|
954
|
+
/**
|
|
955
|
+
* Raw (unconverted) balance per currency
|
|
956
|
+
*/
|
|
957
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
958
|
+
/**
|
|
959
|
+
* Currencies missing an FX rate (omitted when empty)
|
|
960
|
+
*/
|
|
961
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
962
|
+
};
|
|
963
|
+
|
|
851
964
|
export type TransactionListResponseDto = {
|
|
852
965
|
/**
|
|
853
966
|
* List of transactions
|
|
@@ -865,6 +978,10 @@ export type TransactionListResponseDto = {
|
|
|
865
978
|
* Number of items skipped
|
|
866
979
|
*/
|
|
867
980
|
offset: number;
|
|
981
|
+
/**
|
|
982
|
+
* Amount summary for the full filtered set (#514). Present only when the request has a single account OR category viewpoint; omitted for search-only / plain-list / dual-perspective requests.
|
|
983
|
+
*/
|
|
984
|
+
summary?: TransactionListSummaryDto;
|
|
868
985
|
};
|
|
869
986
|
|
|
870
987
|
export type TagSuggestionDto = {
|
|
@@ -1917,6 +2034,108 @@ export type UpdateCommodityDto = {
|
|
|
1917
2034
|
};
|
|
1918
2035
|
};
|
|
1919
2036
|
|
|
2037
|
+
export type CreateBeanPriceDto = {
|
|
2038
|
+
/**
|
|
2039
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
2040
|
+
*/
|
|
2041
|
+
currency: string;
|
|
2042
|
+
/**
|
|
2043
|
+
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
2044
|
+
*/
|
|
2045
|
+
quoteCurrency: string;
|
|
2046
|
+
/**
|
|
2047
|
+
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
2048
|
+
*/
|
|
2049
|
+
amount: number;
|
|
2050
|
+
/**
|
|
2051
|
+
* Price date (ISO 8601 format)
|
|
2052
|
+
*/
|
|
2053
|
+
date: string;
|
|
2054
|
+
/**
|
|
2055
|
+
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
2056
|
+
*/
|
|
2057
|
+
metadata?: {
|
|
2058
|
+
[key: string]: unknown;
|
|
2059
|
+
};
|
|
2060
|
+
};
|
|
2061
|
+
|
|
2062
|
+
export type PriceResponseDto = {
|
|
2063
|
+
/**
|
|
2064
|
+
* Unique identifier
|
|
2065
|
+
*/
|
|
2066
|
+
id: string;
|
|
2067
|
+
/**
|
|
2068
|
+
* User ID (owner of the price)
|
|
2069
|
+
*/
|
|
2070
|
+
userId: string;
|
|
2071
|
+
/**
|
|
2072
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
2073
|
+
*/
|
|
2074
|
+
currency: string;
|
|
2075
|
+
/**
|
|
2076
|
+
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
2077
|
+
*/
|
|
2078
|
+
quoteCurrency: string;
|
|
2079
|
+
/**
|
|
2080
|
+
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
2081
|
+
*/
|
|
2082
|
+
amount: number;
|
|
2083
|
+
/**
|
|
2084
|
+
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
2085
|
+
*/
|
|
2086
|
+
date: string;
|
|
2087
|
+
/**
|
|
2088
|
+
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
2089
|
+
*/
|
|
2090
|
+
meta: {
|
|
2091
|
+
[key: string]: unknown;
|
|
2092
|
+
};
|
|
2093
|
+
/**
|
|
2094
|
+
* Creation timestamp
|
|
2095
|
+
*/
|
|
2096
|
+
createdAt: string;
|
|
2097
|
+
/**
|
|
2098
|
+
* Last update timestamp
|
|
2099
|
+
*/
|
|
2100
|
+
updatedAt: string;
|
|
2101
|
+
};
|
|
2102
|
+
|
|
2103
|
+
export type PriceListResponseDto = {
|
|
2104
|
+
/**
|
|
2105
|
+
* List of prices
|
|
2106
|
+
*/
|
|
2107
|
+
items: Array<PriceResponseDto>;
|
|
2108
|
+
/**
|
|
2109
|
+
* Total number of prices
|
|
2110
|
+
*/
|
|
2111
|
+
total: number;
|
|
2112
|
+
};
|
|
2113
|
+
|
|
2114
|
+
export type UpdateBeanPriceDto = {
|
|
2115
|
+
/**
|
|
2116
|
+
* Currency being priced
|
|
2117
|
+
*/
|
|
2118
|
+
currency?: string;
|
|
2119
|
+
/**
|
|
2120
|
+
* Quote currency (pricing currency)
|
|
2121
|
+
*/
|
|
2122
|
+
quoteCurrency?: string;
|
|
2123
|
+
/**
|
|
2124
|
+
* Price amount (MUST be >= 0 per Beancount spec)
|
|
2125
|
+
*/
|
|
2126
|
+
amount?: number;
|
|
2127
|
+
/**
|
|
2128
|
+
* Price date (ISO 8601 format)
|
|
2129
|
+
*/
|
|
2130
|
+
date?: string;
|
|
2131
|
+
/**
|
|
2132
|
+
* Metadata
|
|
2133
|
+
*/
|
|
2134
|
+
metadata?: {
|
|
2135
|
+
[key: string]: unknown;
|
|
2136
|
+
};
|
|
2137
|
+
};
|
|
2138
|
+
|
|
1920
2139
|
export type CreateRecurringRuleDto = {
|
|
1921
2140
|
/**
|
|
1922
2141
|
* Rule name (unique per user)
|
|
@@ -2556,68 +2775,380 @@ export type ForecastResponseDto = {
|
|
|
2556
2775
|
periodEnd: string;
|
|
2557
2776
|
};
|
|
2558
2777
|
|
|
2559
|
-
export type
|
|
2560
|
-
name: string;
|
|
2561
|
-
description?: string;
|
|
2562
|
-
narrationKeywords?: Array<unknown[]>;
|
|
2563
|
-
payeeKeywords?: Array<unknown[]>;
|
|
2564
|
-
categoryKeywords?: Array<unknown[]>;
|
|
2778
|
+
export type CurrencyBalanceDto = {
|
|
2565
2779
|
/**
|
|
2566
|
-
*
|
|
2780
|
+
* ISO 4217 currency code
|
|
2567
2781
|
*/
|
|
2568
|
-
|
|
2782
|
+
currency: string;
|
|
2569
2783
|
/**
|
|
2570
|
-
*
|
|
2784
|
+
* Balance amount
|
|
2571
2785
|
*/
|
|
2572
|
-
|
|
2573
|
-
|
|
2786
|
+
balance: string;
|
|
2787
|
+
};
|
|
2788
|
+
|
|
2789
|
+
export type TimeSeriesPointDto = {
|
|
2574
2790
|
/**
|
|
2575
|
-
*
|
|
2791
|
+
* Date in YYYY-MM-DD format
|
|
2576
2792
|
*/
|
|
2577
|
-
|
|
2793
|
+
date: string;
|
|
2578
2794
|
/**
|
|
2579
|
-
*
|
|
2795
|
+
* Value at this date (in base currency)
|
|
2580
2796
|
*/
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2797
|
+
value: string;
|
|
2798
|
+
/**
|
|
2799
|
+
* Change from previous point
|
|
2800
|
+
*/
|
|
2801
|
+
change?: {
|
|
2585
2802
|
[key: string]: unknown;
|
|
2586
2803
|
};
|
|
2587
2804
|
/**
|
|
2588
|
-
*
|
|
2805
|
+
* Total assets at this date (in base currency)
|
|
2589
2806
|
*/
|
|
2590
|
-
|
|
2591
|
-
};
|
|
2592
|
-
|
|
2593
|
-
export type matchLogic = 'OR' | 'AND';
|
|
2594
|
-
|
|
2595
|
-
export type AmountRangeDto = {
|
|
2807
|
+
assets?: string;
|
|
2596
2808
|
/**
|
|
2597
|
-
*
|
|
2809
|
+
* Total liabilities at this date (in base currency)
|
|
2598
2810
|
*/
|
|
2599
|
-
|
|
2811
|
+
liabilities?: string;
|
|
2600
2812
|
/**
|
|
2601
|
-
*
|
|
2813
|
+
* Multi-currency breakdown for this point
|
|
2602
2814
|
*/
|
|
2603
|
-
|
|
2815
|
+
byCurrency?: Array<CurrencyBalanceDto>;
|
|
2604
2816
|
};
|
|
2605
2817
|
|
|
2606
|
-
export type
|
|
2818
|
+
export type TrendSummaryDto = {
|
|
2607
2819
|
/**
|
|
2608
|
-
*
|
|
2820
|
+
* Value at start of period
|
|
2609
2821
|
*/
|
|
2610
|
-
|
|
2822
|
+
startValue: string;
|
|
2611
2823
|
/**
|
|
2612
|
-
*
|
|
2824
|
+
* Value at end of period
|
|
2613
2825
|
*/
|
|
2614
|
-
|
|
2826
|
+
endValue: string;
|
|
2615
2827
|
/**
|
|
2616
|
-
*
|
|
2828
|
+
* Total change over period
|
|
2617
2829
|
*/
|
|
2618
|
-
|
|
2830
|
+
totalChange: string;
|
|
2619
2831
|
/**
|
|
2620
|
-
*
|
|
2832
|
+
* Total change percentage
|
|
2833
|
+
*/
|
|
2834
|
+
totalChangePercentage: string;
|
|
2835
|
+
};
|
|
2836
|
+
|
|
2837
|
+
export type MultiCurrencyPointDto = {
|
|
2838
|
+
/**
|
|
2839
|
+
* Date in YYYY-MM-DD format
|
|
2840
|
+
*/
|
|
2841
|
+
date: string;
|
|
2842
|
+
/**
|
|
2843
|
+
* Balances by currency
|
|
2844
|
+
*/
|
|
2845
|
+
byCurrency: Array<CurrencyBalanceDto>;
|
|
2846
|
+
};
|
|
2847
|
+
|
|
2848
|
+
export type PortfolioTrendsResponseDto = {
|
|
2849
|
+
/**
|
|
2850
|
+
* Time series data points
|
|
2851
|
+
*/
|
|
2852
|
+
series: Array<TimeSeriesPointDto>;
|
|
2853
|
+
/**
|
|
2854
|
+
* Period summary
|
|
2855
|
+
*/
|
|
2856
|
+
summary: TrendSummaryDto;
|
|
2857
|
+
/**
|
|
2858
|
+
* Period requested
|
|
2859
|
+
*/
|
|
2860
|
+
period: string;
|
|
2861
|
+
/**
|
|
2862
|
+
* Data granularity
|
|
2863
|
+
*/
|
|
2864
|
+
granularity: string;
|
|
2865
|
+
/**
|
|
2866
|
+
* Base currency for converted values
|
|
2867
|
+
*/
|
|
2868
|
+
currency: string;
|
|
2869
|
+
/**
|
|
2870
|
+
* Multi-currency time series (each point has currency breakdown)
|
|
2871
|
+
*/
|
|
2872
|
+
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
2873
|
+
/**
|
|
2874
|
+
* Exchange rate warnings
|
|
2875
|
+
*/
|
|
2876
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2877
|
+
};
|
|
2878
|
+
|
|
2879
|
+
export type CashFlowPointDto = {
|
|
2880
|
+
/**
|
|
2881
|
+
* Month key (YYYY-MM)
|
|
2882
|
+
*/
|
|
2883
|
+
month: string;
|
|
2884
|
+
/**
|
|
2885
|
+
* Income in base currency (absolute, converted)
|
|
2886
|
+
*/
|
|
2887
|
+
income: string;
|
|
2888
|
+
/**
|
|
2889
|
+
* Expense in base currency (absolute, converted)
|
|
2890
|
+
*/
|
|
2891
|
+
expense: string;
|
|
2892
|
+
/**
|
|
2893
|
+
* netSavings = income − expense (savings positive)
|
|
2894
|
+
*/
|
|
2895
|
+
netSavings: string;
|
|
2896
|
+
};
|
|
2897
|
+
|
|
2898
|
+
export type CashFlowTrendSummaryDto = {
|
|
2899
|
+
/**
|
|
2900
|
+
* Total income across the period
|
|
2901
|
+
*/
|
|
2902
|
+
totalIncome: string;
|
|
2903
|
+
/**
|
|
2904
|
+
* Total expense across the period
|
|
2905
|
+
*/
|
|
2906
|
+
totalExpense: string;
|
|
2907
|
+
/**
|
|
2908
|
+
* income − expense across the period
|
|
2909
|
+
*/
|
|
2910
|
+
totalNetSavings: string;
|
|
2911
|
+
/**
|
|
2912
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
2913
|
+
*/
|
|
2914
|
+
averageMonthlyNetSavings: string;
|
|
2915
|
+
};
|
|
2916
|
+
|
|
2917
|
+
export type CashFlowTrendsResponseDto = {
|
|
2918
|
+
/**
|
|
2919
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
2920
|
+
*/
|
|
2921
|
+
series: Array<CashFlowPointDto>;
|
|
2922
|
+
/**
|
|
2923
|
+
* Period totals
|
|
2924
|
+
*/
|
|
2925
|
+
summary: CashFlowTrendSummaryDto;
|
|
2926
|
+
/**
|
|
2927
|
+
* Period requested
|
|
2928
|
+
*/
|
|
2929
|
+
period: string;
|
|
2930
|
+
/**
|
|
2931
|
+
* Data granularity (v1 returns month buckets)
|
|
2932
|
+
*/
|
|
2933
|
+
granularity: string;
|
|
2934
|
+
/**
|
|
2935
|
+
* Base currency for converted values
|
|
2936
|
+
*/
|
|
2937
|
+
currency: string;
|
|
2938
|
+
/**
|
|
2939
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
2940
|
+
*/
|
|
2941
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2942
|
+
};
|
|
2943
|
+
|
|
2944
|
+
export type GenerateSnapshotBody = unknown;
|
|
2945
|
+
|
|
2946
|
+
export type GenerateSnapshotResponse = unknown;
|
|
2947
|
+
|
|
2948
|
+
export type BackfillSnapshotsBody = unknown;
|
|
2949
|
+
|
|
2950
|
+
export type BackfillSnapshotsResponse = unknown;
|
|
2951
|
+
|
|
2952
|
+
export type DeleteOwnUserDto = {
|
|
2953
|
+
/**
|
|
2954
|
+
* Access token for user verification
|
|
2955
|
+
*/
|
|
2956
|
+
accessToken: string;
|
|
2957
|
+
};
|
|
2958
|
+
|
|
2959
|
+
export type SignupDto = {
|
|
2960
|
+
/**
|
|
2961
|
+
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
2962
|
+
*/
|
|
2963
|
+
turnstileToken?: string;
|
|
2964
|
+
};
|
|
2965
|
+
|
|
2966
|
+
export type SignupResponseDto = {
|
|
2967
|
+
/**
|
|
2968
|
+
* JWT auth token
|
|
2969
|
+
*/
|
|
2970
|
+
authToken: string;
|
|
2971
|
+
/**
|
|
2972
|
+
* Auto-generated access token
|
|
2973
|
+
*/
|
|
2974
|
+
accessToken: string;
|
|
2975
|
+
/**
|
|
2976
|
+
* Assigned user role
|
|
2977
|
+
*/
|
|
2978
|
+
role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2979
|
+
};
|
|
2980
|
+
|
|
2981
|
+
/**
|
|
2982
|
+
* Assigned user role
|
|
2983
|
+
*/
|
|
2984
|
+
export type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2985
|
+
|
|
2986
|
+
export type UpdateUserSettingDto = {
|
|
2987
|
+
/**
|
|
2988
|
+
* Security ID
|
|
2989
|
+
*/
|
|
2990
|
+
secId?: number;
|
|
2991
|
+
/**
|
|
2992
|
+
* Annual interest rate
|
|
2993
|
+
*/
|
|
2994
|
+
annualInterestRate?: number;
|
|
2995
|
+
/**
|
|
2996
|
+
* Currency code
|
|
2997
|
+
*/
|
|
2998
|
+
currency?: string;
|
|
2999
|
+
/**
|
|
3000
|
+
* Base currency code
|
|
3001
|
+
*/
|
|
3002
|
+
baseCurrency?: string;
|
|
3003
|
+
/**
|
|
3004
|
+
* Benchmark symbol
|
|
3005
|
+
*/
|
|
3006
|
+
benchmark?: string;
|
|
3007
|
+
/**
|
|
3008
|
+
* Color scheme
|
|
3009
|
+
*/
|
|
3010
|
+
colorScheme?: 'DARK' | 'LIGHT';
|
|
3011
|
+
/**
|
|
3012
|
+
* Date range filter
|
|
3013
|
+
*/
|
|
3014
|
+
dateRange?: string;
|
|
3015
|
+
/**
|
|
3016
|
+
* Emergency fund amount
|
|
3017
|
+
*/
|
|
3018
|
+
emergencyFund?: number;
|
|
3019
|
+
/**
|
|
3020
|
+
* Account filter IDs
|
|
3021
|
+
*/
|
|
3022
|
+
'filters.accounts'?: Array<string>;
|
|
3023
|
+
/**
|
|
3024
|
+
* Asset class filters
|
|
3025
|
+
*/
|
|
3026
|
+
'filters.assetClasses'?: Array<string>;
|
|
3027
|
+
/**
|
|
3028
|
+
* Data source filter
|
|
3029
|
+
*/
|
|
3030
|
+
'filters.dataSource'?: string;
|
|
3031
|
+
/**
|
|
3032
|
+
* Symbol filter
|
|
3033
|
+
*/
|
|
3034
|
+
'filters.symbol'?: string;
|
|
3035
|
+
/**
|
|
3036
|
+
* Tag filters
|
|
3037
|
+
*/
|
|
3038
|
+
'filters.tags'?: Array<string>;
|
|
3039
|
+
/**
|
|
3040
|
+
* Enable experimental features
|
|
3041
|
+
*/
|
|
3042
|
+
isExperimentalFeatures?: boolean;
|
|
3043
|
+
/**
|
|
3044
|
+
* Enable restricted view mode
|
|
3045
|
+
*/
|
|
3046
|
+
isRestrictedView?: boolean;
|
|
3047
|
+
/**
|
|
3048
|
+
* Language code
|
|
3049
|
+
*/
|
|
3050
|
+
language?: string;
|
|
3051
|
+
/**
|
|
3052
|
+
* Locale code
|
|
3053
|
+
*/
|
|
3054
|
+
locale?: string;
|
|
3055
|
+
/**
|
|
3056
|
+
* Projected total amount
|
|
3057
|
+
*/
|
|
3058
|
+
projectedTotalAmount?: number;
|
|
3059
|
+
/**
|
|
3060
|
+
* Retirement date in ISO 8601 format
|
|
3061
|
+
*/
|
|
3062
|
+
retirementDate?: string;
|
|
3063
|
+
/**
|
|
3064
|
+
* Savings rate percentage
|
|
3065
|
+
*/
|
|
3066
|
+
savingsRate?: number;
|
|
3067
|
+
/**
|
|
3068
|
+
* View mode
|
|
3069
|
+
*/
|
|
3070
|
+
viewMode?: 'DEFAULT' | 'ZEN';
|
|
3071
|
+
};
|
|
3072
|
+
|
|
3073
|
+
/**
|
|
3074
|
+
* Color scheme
|
|
3075
|
+
*/
|
|
3076
|
+
export type colorScheme = 'DARK' | 'LIGHT';
|
|
3077
|
+
|
|
3078
|
+
/**
|
|
3079
|
+
* View mode
|
|
3080
|
+
*/
|
|
3081
|
+
export type viewMode = 'DEFAULT' | 'ZEN';
|
|
3082
|
+
|
|
3083
|
+
export type UpdatePropertyDto = {
|
|
3084
|
+
/**
|
|
3085
|
+
* Property value
|
|
3086
|
+
*/
|
|
3087
|
+
value: string;
|
|
3088
|
+
};
|
|
3089
|
+
|
|
3090
|
+
export type CreateTransactionRuleDto = {
|
|
3091
|
+
name: string;
|
|
3092
|
+
description?: string;
|
|
3093
|
+
narrationKeywords?: Array<unknown[]>;
|
|
3094
|
+
payeeKeywords?: Array<unknown[]>;
|
|
3095
|
+
categoryKeywords?: Array<unknown[]>;
|
|
3096
|
+
/**
|
|
3097
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
3098
|
+
*/
|
|
3099
|
+
methodKeywords?: Array<unknown[]>;
|
|
3100
|
+
/**
|
|
3101
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
3102
|
+
*/
|
|
3103
|
+
categoryAccount?: string;
|
|
3104
|
+
matchLogic: 'OR' | 'AND';
|
|
3105
|
+
/**
|
|
3106
|
+
* Minimum transaction amount (inclusive)
|
|
3107
|
+
*/
|
|
3108
|
+
amountMin?: number;
|
|
3109
|
+
/**
|
|
3110
|
+
* Maximum transaction amount (inclusive)
|
|
3111
|
+
*/
|
|
3112
|
+
amountMax?: number;
|
|
3113
|
+
priority: number;
|
|
3114
|
+
additionalTags?: Array<unknown[]>;
|
|
3115
|
+
additionalMetadata?: {
|
|
3116
|
+
[key: string]: unknown;
|
|
3117
|
+
};
|
|
3118
|
+
/**
|
|
3119
|
+
* If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
|
|
3120
|
+
*/
|
|
3121
|
+
upsertByPayee?: boolean;
|
|
3122
|
+
};
|
|
3123
|
+
|
|
3124
|
+
export type matchLogic = 'OR' | 'AND';
|
|
3125
|
+
|
|
3126
|
+
export type AmountRangeDto = {
|
|
3127
|
+
/**
|
|
3128
|
+
* Minimum amount
|
|
3129
|
+
*/
|
|
3130
|
+
min?: number;
|
|
3131
|
+
/**
|
|
3132
|
+
* Maximum amount
|
|
3133
|
+
*/
|
|
3134
|
+
max?: number;
|
|
3135
|
+
};
|
|
3136
|
+
|
|
3137
|
+
export type TransactionRuleResponseDto = {
|
|
3138
|
+
/**
|
|
3139
|
+
* Rule ID
|
|
3140
|
+
*/
|
|
3141
|
+
id: string;
|
|
3142
|
+
/**
|
|
3143
|
+
* Rule name
|
|
3144
|
+
*/
|
|
3145
|
+
name: string;
|
|
3146
|
+
/**
|
|
3147
|
+
* Rule description
|
|
3148
|
+
*/
|
|
3149
|
+
description?: string;
|
|
3150
|
+
/**
|
|
3151
|
+
* Keywords to match in transaction narration
|
|
2621
3152
|
*/
|
|
2622
3153
|
narrationKeywords: Array<string>;
|
|
2623
3154
|
/**
|
|
@@ -2855,178 +3386,60 @@ export type UpdateTransactionRuleDto = {
|
|
|
2855
3386
|
payeeKeywords?: Array<unknown[]>;
|
|
2856
3387
|
categoryKeywords?: Array<unknown[]>;
|
|
2857
3388
|
/**
|
|
2858
|
-
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
2859
|
-
*/
|
|
2860
|
-
methodKeywords?: Array<unknown[]>;
|
|
2861
|
-
/**
|
|
2862
|
-
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
2863
|
-
*/
|
|
2864
|
-
categoryAccount?: string;
|
|
2865
|
-
matchLogic?: 'OR' | 'AND';
|
|
2866
|
-
/**
|
|
2867
|
-
* Minimum transaction amount (inclusive)
|
|
2868
|
-
*/
|
|
2869
|
-
amountMin?: number;
|
|
2870
|
-
/**
|
|
2871
|
-
* Maximum transaction amount (inclusive)
|
|
2872
|
-
*/
|
|
2873
|
-
amountMax?: number;
|
|
2874
|
-
priority?: number;
|
|
2875
|
-
/**
|
|
2876
|
-
* Enable or disable the rule
|
|
2877
|
-
*/
|
|
2878
|
-
enabled?: boolean;
|
|
2879
|
-
additionalTags?: Array<unknown[]>;
|
|
2880
|
-
additionalMetadata?: {
|
|
2881
|
-
[key: string]: unknown;
|
|
2882
|
-
};
|
|
2883
|
-
};
|
|
2884
|
-
|
|
2885
|
-
export type TestRuleDto = {
|
|
2886
|
-
narration: string;
|
|
2887
|
-
payee?: string;
|
|
2888
|
-
categoryAccount?: string;
|
|
2889
|
-
amount?: number;
|
|
2890
|
-
currency?: string;
|
|
2891
|
-
};
|
|
2892
|
-
|
|
2893
|
-
export type TestRuleResponseDto = {
|
|
2894
|
-
/**
|
|
2895
|
-
* Rule ID that was tested
|
|
2896
|
-
*/
|
|
2897
|
-
ruleId: string;
|
|
2898
|
-
/**
|
|
2899
|
-
* Whether the rule matched the test data
|
|
2900
|
-
*/
|
|
2901
|
-
matches: boolean;
|
|
2902
|
-
/**
|
|
2903
|
-
* Match confidence score (0-1)
|
|
2904
|
-
*/
|
|
2905
|
-
confidence: number;
|
|
2906
|
-
/**
|
|
2907
|
-
* Details of which fields matched
|
|
2908
|
-
*/
|
|
2909
|
-
matchDetails: {
|
|
2910
|
-
[key: string]: unknown;
|
|
2911
|
-
};
|
|
2912
|
-
};
|
|
2913
|
-
|
|
2914
|
-
export type DeleteOwnUserDto = {
|
|
2915
|
-
/**
|
|
2916
|
-
* Access token for user verification
|
|
2917
|
-
*/
|
|
2918
|
-
accessToken: string;
|
|
2919
|
-
};
|
|
2920
|
-
|
|
2921
|
-
export type SignupDto = {
|
|
2922
|
-
/**
|
|
2923
|
-
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
2924
|
-
*/
|
|
2925
|
-
turnstileToken?: string;
|
|
2926
|
-
};
|
|
2927
|
-
|
|
2928
|
-
export type UpdateUserSettingDto = {
|
|
2929
|
-
/**
|
|
2930
|
-
* Security ID
|
|
2931
|
-
*/
|
|
2932
|
-
secId?: number;
|
|
2933
|
-
/**
|
|
2934
|
-
* Annual interest rate
|
|
2935
|
-
*/
|
|
2936
|
-
annualInterestRate?: number;
|
|
2937
|
-
/**
|
|
2938
|
-
* Currency code
|
|
2939
|
-
*/
|
|
2940
|
-
currency?: string;
|
|
2941
|
-
/**
|
|
2942
|
-
* Base currency code
|
|
2943
|
-
*/
|
|
2944
|
-
baseCurrency?: string;
|
|
2945
|
-
/**
|
|
2946
|
-
* Benchmark symbol
|
|
2947
|
-
*/
|
|
2948
|
-
benchmark?: string;
|
|
2949
|
-
/**
|
|
2950
|
-
* Color scheme
|
|
2951
|
-
*/
|
|
2952
|
-
colorScheme?: 'DARK' | 'LIGHT';
|
|
2953
|
-
/**
|
|
2954
|
-
* Date range filter
|
|
2955
|
-
*/
|
|
2956
|
-
dateRange?: string;
|
|
2957
|
-
/**
|
|
2958
|
-
* Emergency fund amount
|
|
2959
|
-
*/
|
|
2960
|
-
emergencyFund?: number;
|
|
2961
|
-
/**
|
|
2962
|
-
* Account filter IDs
|
|
2963
|
-
*/
|
|
2964
|
-
'filters.accounts'?: Array<string>;
|
|
2965
|
-
/**
|
|
2966
|
-
* Asset class filters
|
|
2967
|
-
*/
|
|
2968
|
-
'filters.assetClasses'?: Array<string>;
|
|
2969
|
-
/**
|
|
2970
|
-
* Data source filter
|
|
2971
|
-
*/
|
|
2972
|
-
'filters.dataSource'?: string;
|
|
2973
|
-
/**
|
|
2974
|
-
* Symbol filter
|
|
2975
|
-
*/
|
|
2976
|
-
'filters.symbol'?: string;
|
|
2977
|
-
/**
|
|
2978
|
-
* Tag filters
|
|
2979
|
-
*/
|
|
2980
|
-
'filters.tags'?: Array<string>;
|
|
2981
|
-
/**
|
|
2982
|
-
* Enable experimental features
|
|
3389
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
2983
3390
|
*/
|
|
2984
|
-
|
|
3391
|
+
methodKeywords?: Array<unknown[]>;
|
|
2985
3392
|
/**
|
|
2986
|
-
*
|
|
3393
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
2987
3394
|
*/
|
|
2988
|
-
|
|
3395
|
+
categoryAccount?: string;
|
|
3396
|
+
matchLogic?: 'OR' | 'AND';
|
|
2989
3397
|
/**
|
|
2990
|
-
*
|
|
3398
|
+
* Minimum transaction amount (inclusive)
|
|
2991
3399
|
*/
|
|
2992
|
-
|
|
3400
|
+
amountMin?: number;
|
|
2993
3401
|
/**
|
|
2994
|
-
*
|
|
3402
|
+
* Maximum transaction amount (inclusive)
|
|
2995
3403
|
*/
|
|
2996
|
-
|
|
3404
|
+
amountMax?: number;
|
|
3405
|
+
priority?: number;
|
|
2997
3406
|
/**
|
|
2998
|
-
*
|
|
3407
|
+
* Enable or disable the rule
|
|
2999
3408
|
*/
|
|
3000
|
-
|
|
3409
|
+
enabled?: boolean;
|
|
3410
|
+
additionalTags?: Array<unknown[]>;
|
|
3411
|
+
additionalMetadata?: {
|
|
3412
|
+
[key: string]: unknown;
|
|
3413
|
+
};
|
|
3414
|
+
};
|
|
3415
|
+
|
|
3416
|
+
export type TestRuleDto = {
|
|
3417
|
+
narration: string;
|
|
3418
|
+
payee?: string;
|
|
3419
|
+
categoryAccount?: string;
|
|
3420
|
+
amount?: number;
|
|
3421
|
+
currency?: string;
|
|
3422
|
+
};
|
|
3423
|
+
|
|
3424
|
+
export type TestRuleResponseDto = {
|
|
3001
3425
|
/**
|
|
3002
|
-
*
|
|
3426
|
+
* Rule ID that was tested
|
|
3003
3427
|
*/
|
|
3004
|
-
|
|
3428
|
+
ruleId: string;
|
|
3005
3429
|
/**
|
|
3006
|
-
*
|
|
3430
|
+
* Whether the rule matched the test data
|
|
3007
3431
|
*/
|
|
3008
|
-
|
|
3432
|
+
matches: boolean;
|
|
3009
3433
|
/**
|
|
3010
|
-
*
|
|
3434
|
+
* Match confidence score (0-1)
|
|
3011
3435
|
*/
|
|
3012
|
-
|
|
3013
|
-
};
|
|
3014
|
-
|
|
3015
|
-
/**
|
|
3016
|
-
* Color scheme
|
|
3017
|
-
*/
|
|
3018
|
-
export type colorScheme = 'DARK' | 'LIGHT';
|
|
3019
|
-
|
|
3020
|
-
/**
|
|
3021
|
-
* View mode
|
|
3022
|
-
*/
|
|
3023
|
-
export type viewMode = 'DEFAULT' | 'ZEN';
|
|
3024
|
-
|
|
3025
|
-
export type UpdatePropertyDto = {
|
|
3436
|
+
confidence: number;
|
|
3026
3437
|
/**
|
|
3027
|
-
*
|
|
3438
|
+
* Details of which fields matched
|
|
3028
3439
|
*/
|
|
3029
|
-
|
|
3440
|
+
matchDetails: {
|
|
3441
|
+
[key: string]: unknown;
|
|
3442
|
+
};
|
|
3030
3443
|
};
|
|
3031
3444
|
|
|
3032
3445
|
export type CreateBeanEventDto = {
|
|
@@ -3119,6 +3532,160 @@ export type UpdateBeanEventDto = {
|
|
|
3119
3532
|
};
|
|
3120
3533
|
};
|
|
3121
3534
|
|
|
3535
|
+
export type OnboardingAccountDto = {
|
|
3536
|
+
/**
|
|
3537
|
+
* Account path (Assets/Liabilities only; format validated by the account service)
|
|
3538
|
+
*/
|
|
3539
|
+
path: string;
|
|
3540
|
+
/**
|
|
3541
|
+
* ISO 4217 currency code (3 letters)
|
|
3542
|
+
*/
|
|
3543
|
+
currency: string;
|
|
3544
|
+
/**
|
|
3545
|
+
* Opening balance as a non-negative Decimal string (e.g. "1000.00")
|
|
3546
|
+
*/
|
|
3547
|
+
openingBalance?: string;
|
|
3548
|
+
/**
|
|
3549
|
+
* Platform ID to bind the account to (references Platform.id); omit for unbound
|
|
3550
|
+
*/
|
|
3551
|
+
platformId?: string;
|
|
3552
|
+
};
|
|
3553
|
+
|
|
3554
|
+
export type OnboardingDto = {
|
|
3555
|
+
/**
|
|
3556
|
+
* Asset/Liability accounts to register with opening balances
|
|
3557
|
+
*/
|
|
3558
|
+
accounts?: Array<OnboardingAccountDto>;
|
|
3559
|
+
/**
|
|
3560
|
+
* Skip asset registration; only bootstrap the core account set
|
|
3561
|
+
*/
|
|
3562
|
+
skipAssetRegistration?: boolean;
|
|
3563
|
+
};
|
|
3564
|
+
|
|
3565
|
+
export type ActualBalanceDto = {
|
|
3566
|
+
/**
|
|
3567
|
+
* Actual balance amount as a decimal string (preserves precision for tolerance inference).
|
|
3568
|
+
*/
|
|
3569
|
+
amount: string;
|
|
3570
|
+
/**
|
|
3571
|
+
* Currency code (ISO 4217 or commodity ticker).
|
|
3572
|
+
*/
|
|
3573
|
+
ccy: string;
|
|
3574
|
+
};
|
|
3575
|
+
|
|
3576
|
+
export type ComputeReconciliationDto = {
|
|
3577
|
+
/**
|
|
3578
|
+
* BeanAccount id to reconcile.
|
|
3579
|
+
*/
|
|
3580
|
+
accountId: string;
|
|
3581
|
+
/**
|
|
3582
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3583
|
+
*/
|
|
3584
|
+
asOfDate: string;
|
|
3585
|
+
/**
|
|
3586
|
+
* Actual balance from the external statement.
|
|
3587
|
+
*/
|
|
3588
|
+
actualBalance: ActualBalanceDto;
|
|
3589
|
+
};
|
|
3590
|
+
|
|
3591
|
+
export type ReconciliationComputeResultDto = {
|
|
3592
|
+
accountId: string;
|
|
3593
|
+
asOfDate: string;
|
|
3594
|
+
/**
|
|
3595
|
+
* System-computed book balance (decimal string).
|
|
3596
|
+
*/
|
|
3597
|
+
bookBalance: string;
|
|
3598
|
+
/**
|
|
3599
|
+
* User-entered actual balance (decimal string).
|
|
3600
|
+
*/
|
|
3601
|
+
actualBalance: string;
|
|
3602
|
+
currency: string;
|
|
3603
|
+
/**
|
|
3604
|
+
* Diff = book − actual (decimal string).
|
|
3605
|
+
*/
|
|
3606
|
+
diff: string;
|
|
3607
|
+
/**
|
|
3608
|
+
* Applied tolerance (decimal string).
|
|
3609
|
+
*/
|
|
3610
|
+
tolerance: string;
|
|
3611
|
+
/**
|
|
3612
|
+
* true when |diff| ≤ tolerance.
|
|
3613
|
+
*/
|
|
3614
|
+
withinTolerance: boolean;
|
|
3615
|
+
/**
|
|
3616
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3617
|
+
*/
|
|
3618
|
+
suggestedAction: 'assert' | 'pad';
|
|
3619
|
+
};
|
|
3620
|
+
|
|
3621
|
+
/**
|
|
3622
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3623
|
+
*/
|
|
3624
|
+
export type suggestedAction = 'assert' | 'pad';
|
|
3625
|
+
|
|
3626
|
+
export type AssertReconciliationDto = {
|
|
3627
|
+
/**
|
|
3628
|
+
* BeanAccount id to reconcile.
|
|
3629
|
+
*/
|
|
3630
|
+
accountId: string;
|
|
3631
|
+
/**
|
|
3632
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3633
|
+
*/
|
|
3634
|
+
asOfDate: string;
|
|
3635
|
+
/**
|
|
3636
|
+
* Actual balance from the external statement.
|
|
3637
|
+
*/
|
|
3638
|
+
actualBalance: ActualBalanceDto;
|
|
3639
|
+
/**
|
|
3640
|
+
* Optional explicit tolerance override. Omit to infer from amount precision (Beancount default).
|
|
3641
|
+
*/
|
|
3642
|
+
tolerance?: string;
|
|
3643
|
+
};
|
|
3644
|
+
|
|
3645
|
+
export type ReconciliationRecordDto = {
|
|
3646
|
+
id: string;
|
|
3647
|
+
accountId: string;
|
|
3648
|
+
date: string;
|
|
3649
|
+
/**
|
|
3650
|
+
* Asserted (actual) amount.
|
|
3651
|
+
*/
|
|
3652
|
+
amount: string;
|
|
3653
|
+
currency: string;
|
|
3654
|
+
tolerance?: string;
|
|
3655
|
+
/**
|
|
3656
|
+
* book − actual.
|
|
3657
|
+
*/
|
|
3658
|
+
diffAmount?: string;
|
|
3659
|
+
diffCurrency?: string;
|
|
3660
|
+
createdAt: string;
|
|
3661
|
+
};
|
|
3662
|
+
|
|
3663
|
+
export type PadReconciliationDto = {
|
|
3664
|
+
/**
|
|
3665
|
+
* BeanAccount id to reconcile.
|
|
3666
|
+
*/
|
|
3667
|
+
accountId: string;
|
|
3668
|
+
/**
|
|
3669
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3670
|
+
*/
|
|
3671
|
+
asOfDate: string;
|
|
3672
|
+
/**
|
|
3673
|
+
* Actual balance from the external statement.
|
|
3674
|
+
*/
|
|
3675
|
+
actualBalance: ActualBalanceDto;
|
|
3676
|
+
/**
|
|
3677
|
+
* Pad source account. Defaults to Equity:Opening-Balances (official Beancount convention).
|
|
3678
|
+
*/
|
|
3679
|
+
sourceAccount?: string;
|
|
3680
|
+
};
|
|
3681
|
+
|
|
3682
|
+
export type PadResultDto = {
|
|
3683
|
+
/**
|
|
3684
|
+
* Created pad adjusting transaction id.
|
|
3685
|
+
*/
|
|
3686
|
+
transactionId: string;
|
|
3687
|
+
};
|
|
3688
|
+
|
|
3122
3689
|
export type FileImportDto = {
|
|
3123
3690
|
/**
|
|
3124
3691
|
* Bill file to import (CSV, PDF, OFX, etc.)
|
|
@@ -3380,129 +3947,41 @@ export type importerId =
|
|
|
3380
3947
|
|
|
3381
3948
|
export type UpdateMapperDefaultsDto = {
|
|
3382
3949
|
/**
|
|
3383
|
-
* Source account for transactions (Beancount format)
|
|
3384
|
-
*/
|
|
3385
|
-
sourceAccount?: string;
|
|
3386
|
-
/**
|
|
3387
|
-
* Default currency (ISO 4217 code)
|
|
3388
|
-
*/
|
|
3389
|
-
currency?: string;
|
|
3390
|
-
/**
|
|
3391
|
-
* Default expense account (optional)
|
|
3392
|
-
*/
|
|
3393
|
-
expenseAccount?: string;
|
|
3394
|
-
/**
|
|
3395
|
-
* Default income account (optional)
|
|
3396
|
-
*/
|
|
3397
|
-
incomeAccount?: string;
|
|
3398
|
-
/**
|
|
3399
|
-
* Payment method to source account mapping. Maps payment method keywords to Beancount account paths. Used by Alipay/WeChat importers to determine sourceAccount based on payment method (e.g., HuaBei, CreditCard).
|
|
3400
|
-
*/
|
|
3401
|
-
methodAccountMapping?: {
|
|
3402
|
-
[key: string]: unknown;
|
|
3403
|
-
};
|
|
3404
|
-
};
|
|
3405
|
-
|
|
3406
|
-
export type UpdateConfigDataDto = {
|
|
3407
|
-
/**
|
|
3408
|
-
* Mapper defaults configuration
|
|
3409
|
-
*/
|
|
3410
|
-
defaults?: UpdateMapperDefaultsDto;
|
|
3411
|
-
};
|
|
3412
|
-
|
|
3413
|
-
export type UpdateImporterConfigDto = {
|
|
3414
|
-
/**
|
|
3415
|
-
* Configuration data (v1 schema)
|
|
3416
|
-
*/
|
|
3417
|
-
data?: UpdateConfigDataDto;
|
|
3418
|
-
};
|
|
3419
|
-
|
|
3420
|
-
export type CreatePlatformDto = {
|
|
3421
|
-
/**
|
|
3422
|
-
* Platform name
|
|
3423
|
-
*/
|
|
3424
|
-
name: string;
|
|
3425
|
-
/**
|
|
3426
|
-
* Platform canonical identifier (lowercase, kebab-case)
|
|
3427
|
-
*/
|
|
3428
|
-
canonical: string;
|
|
3429
|
-
/**
|
|
3430
|
-
* Platform aliases (multi-language names for lookup)
|
|
3431
|
-
*/
|
|
3432
|
-
aliases: Array<string>;
|
|
3433
|
-
/**
|
|
3434
|
-
* Platform URL
|
|
3435
|
-
*/
|
|
3436
|
-
url: string;
|
|
3437
|
-
/**
|
|
3438
|
-
* Platform type
|
|
3439
|
-
*/
|
|
3440
|
-
type:
|
|
3441
|
-
| 'BANK'
|
|
3442
|
-
| 'BROKERAGE'
|
|
3443
|
-
| 'CRYPTO_EXCHANGE'
|
|
3444
|
-
| 'PAYMENT'
|
|
3445
|
-
| 'INVESTMENT'
|
|
3446
|
-
| 'INSURANCE'
|
|
3447
|
-
| 'OTHER';
|
|
3448
|
-
/**
|
|
3449
|
-
* Platform logo URL
|
|
3450
|
-
*/
|
|
3451
|
-
logoUrl?: string;
|
|
3452
|
-
/**
|
|
3453
|
-
* Whether the platform is active
|
|
3454
|
-
*/
|
|
3455
|
-
isActive?: boolean;
|
|
3456
|
-
};
|
|
3457
|
-
|
|
3458
|
-
/**
|
|
3459
|
-
* Platform type
|
|
3460
|
-
*/
|
|
3461
|
-
export type type3 =
|
|
3462
|
-
| 'BANK'
|
|
3463
|
-
| 'BROKERAGE'
|
|
3464
|
-
| 'CRYPTO_EXCHANGE'
|
|
3465
|
-
| 'PAYMENT'
|
|
3466
|
-
| 'INVESTMENT'
|
|
3467
|
-
| 'INSURANCE'
|
|
3468
|
-
| 'OTHER';
|
|
3469
|
-
|
|
3470
|
-
export type UpdatePlatformDto = {
|
|
3471
|
-
/**
|
|
3472
|
-
* Platform name
|
|
3950
|
+
* Source account for transactions (Beancount format)
|
|
3473
3951
|
*/
|
|
3474
|
-
|
|
3952
|
+
sourceAccount?: string;
|
|
3475
3953
|
/**
|
|
3476
|
-
*
|
|
3954
|
+
* Default currency (ISO 4217 code)
|
|
3477
3955
|
*/
|
|
3478
|
-
|
|
3956
|
+
currency?: string;
|
|
3479
3957
|
/**
|
|
3480
|
-
*
|
|
3958
|
+
* Default expense account (optional)
|
|
3481
3959
|
*/
|
|
3482
|
-
|
|
3960
|
+
expenseAccount?: string;
|
|
3483
3961
|
/**
|
|
3484
|
-
*
|
|
3962
|
+
* Default income account (optional)
|
|
3485
3963
|
*/
|
|
3486
|
-
|
|
3964
|
+
incomeAccount?: string;
|
|
3487
3965
|
/**
|
|
3488
|
-
*
|
|
3966
|
+
* Payment method to source account mapping. Maps payment method keywords to Beancount account paths. Used by Alipay/WeChat importers to determine sourceAccount based on payment method (e.g., HuaBei, CreditCard).
|
|
3489
3967
|
*/
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
|
|
3496
|
-
| 'INSURANCE'
|
|
3497
|
-
| 'OTHER';
|
|
3968
|
+
methodAccountMapping?: {
|
|
3969
|
+
[key: string]: unknown;
|
|
3970
|
+
};
|
|
3971
|
+
};
|
|
3972
|
+
|
|
3973
|
+
export type UpdateConfigDataDto = {
|
|
3498
3974
|
/**
|
|
3499
|
-
*
|
|
3975
|
+
* Mapper defaults configuration
|
|
3500
3976
|
*/
|
|
3501
|
-
|
|
3977
|
+
defaults?: UpdateMapperDefaultsDto;
|
|
3978
|
+
};
|
|
3979
|
+
|
|
3980
|
+
export type UpdateImporterConfigDto = {
|
|
3502
3981
|
/**
|
|
3503
|
-
*
|
|
3982
|
+
* Configuration data (v1 schema)
|
|
3504
3983
|
*/
|
|
3505
|
-
|
|
3984
|
+
data?: UpdateConfigDataDto;
|
|
3506
3985
|
};
|
|
3507
3986
|
|
|
3508
3987
|
export type ProviderSyncConfigDto = {
|
|
@@ -3526,6 +4005,10 @@ export type ProviderSyncConfigDto = {
|
|
|
3526
4005
|
* Filter pending transactions
|
|
3527
4006
|
*/
|
|
3528
4007
|
filterPending?: boolean;
|
|
4008
|
+
/**
|
|
4009
|
+
* External account ID for per-batch providers (e.g. GoCardless). Overrides sourceAccount when an ExternalAccountLink mapping exists.
|
|
4010
|
+
*/
|
|
4011
|
+
externalAccountId?: string;
|
|
3529
4012
|
};
|
|
3530
4013
|
|
|
3531
4014
|
export type ProviderSyncDto = {
|
|
@@ -3581,6 +4064,61 @@ export type SupportedProvidersResponseDto = {
|
|
|
3581
4064
|
providers: Array<string>;
|
|
3582
4065
|
};
|
|
3583
4066
|
|
|
4067
|
+
export type CreateExternalAccountLinkDto = {
|
|
4068
|
+
/**
|
|
4069
|
+
* Open Banking provider (whitelist)
|
|
4070
|
+
*/
|
|
4071
|
+
provider:
|
|
4072
|
+
| 'plaid'
|
|
4073
|
+
| 'teller'
|
|
4074
|
+
| 'truelayer'
|
|
4075
|
+
| 'gocardless'
|
|
4076
|
+
| 'simplefin'
|
|
4077
|
+
| 'yodlee'
|
|
4078
|
+
| 'beancount-direct'
|
|
4079
|
+
| 'parsed-bill';
|
|
4080
|
+
/**
|
|
4081
|
+
* External account ID from the provider
|
|
4082
|
+
*/
|
|
4083
|
+
externalAccountId: string;
|
|
4084
|
+
/**
|
|
4085
|
+
* Target BeanAccount ID (must belong to the JWT user)
|
|
4086
|
+
*/
|
|
4087
|
+
beanAccountId: string;
|
|
4088
|
+
};
|
|
4089
|
+
|
|
4090
|
+
/**
|
|
4091
|
+
* Open Banking provider (whitelist)
|
|
4092
|
+
*/
|
|
4093
|
+
export type provider =
|
|
4094
|
+
| 'plaid'
|
|
4095
|
+
| 'teller'
|
|
4096
|
+
| 'truelayer'
|
|
4097
|
+
| 'gocardless'
|
|
4098
|
+
| 'simplefin'
|
|
4099
|
+
| 'yodlee'
|
|
4100
|
+
| 'beancount-direct'
|
|
4101
|
+
| 'parsed-bill';
|
|
4102
|
+
|
|
4103
|
+
export type ExternalAccountLinkResponseDto = {
|
|
4104
|
+
id: string;
|
|
4105
|
+
provider: string;
|
|
4106
|
+
externalAccountId: string;
|
|
4107
|
+
beanAccountId: string;
|
|
4108
|
+
isActive: boolean;
|
|
4109
|
+
createdAt: string;
|
|
4110
|
+
updatedAt: string;
|
|
4111
|
+
};
|
|
4112
|
+
|
|
4113
|
+
export type ExternalAccountLinkListResponseDto = {
|
|
4114
|
+
items: Array<ExternalAccountLinkResponseDto>;
|
|
4115
|
+
total: number;
|
|
4116
|
+
/**
|
|
4117
|
+
* Filter by provider (query param)
|
|
4118
|
+
*/
|
|
4119
|
+
provider?: string;
|
|
4120
|
+
};
|
|
4121
|
+
|
|
3584
4122
|
export type ParserTelemetryReportDto = unknown;
|
|
3585
4123
|
|
|
3586
4124
|
export type UncoveredFormatMissDto = unknown;
|
|
@@ -3600,6 +4138,14 @@ export type ProcessNlpDto = {
|
|
|
3600
4138
|
parsedData?: {
|
|
3601
4139
|
[key: string]: unknown;
|
|
3602
4140
|
};
|
|
4141
|
+
/**
|
|
4142
|
+
* confirm_rule echo-back: rule id selected from the prior confirm_rule response (matchedRule.id or alternatives[i].ruleId). Applied directly when the session is confirming_rule — no NL re-parse.
|
|
4143
|
+
*/
|
|
4144
|
+
selectedRuleId?: string;
|
|
4145
|
+
/**
|
|
4146
|
+
* confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.
|
|
4147
|
+
*/
|
|
4148
|
+
selectedAccount?: string;
|
|
3603
4149
|
};
|
|
3604
4150
|
|
|
3605
4151
|
export type NlpTransactionInfoDto = {
|
|
@@ -3843,9 +4389,9 @@ export type NlpAccountConfirmationDataDto = {
|
|
|
3843
4389
|
*/
|
|
3844
4390
|
invalidAccount: string;
|
|
3845
4391
|
/**
|
|
3846
|
-
* Suggested replacement account
|
|
4392
|
+
* Suggested replacement account (omitted when no clear candidate)
|
|
3847
4393
|
*/
|
|
3848
|
-
suggestedAccount
|
|
4394
|
+
suggestedAccount?: string;
|
|
3849
4395
|
/**
|
|
3850
4396
|
* Similar accounts for user selection
|
|
3851
4397
|
*/
|
|
@@ -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
|
*/
|
|
@@ -4053,122 +4600,309 @@ export type NlpResponseDto = {
|
|
|
4053
4600
|
* Human-readable message (for ask or error actions). Deprecated: Use messageKey for i18n support.
|
|
4054
4601
|
* @deprecated
|
|
4055
4602
|
*/
|
|
4056
|
-
message?: string;
|
|
4603
|
+
message?: string;
|
|
4604
|
+
/**
|
|
4605
|
+
* i18n message key for frontend translation. Use this instead of message for internationalization support.
|
|
4606
|
+
*/
|
|
4607
|
+
messageKey?: string;
|
|
4608
|
+
/**
|
|
4609
|
+
* Parameters for message interpolation. Used with messageKey for dynamic values in translated messages.
|
|
4610
|
+
*/
|
|
4611
|
+
messageParams?: {
|
|
4612
|
+
[key: string]: unknown;
|
|
4613
|
+
};
|
|
4614
|
+
/**
|
|
4615
|
+
* Session ID for multi-turn dialogue. Must be included in subsequent requests to continue the conversation.
|
|
4616
|
+
*/
|
|
4617
|
+
sessionId?: string;
|
|
4618
|
+
/**
|
|
4619
|
+
* Which slot is waiting for user input
|
|
4620
|
+
*/
|
|
4621
|
+
waitingFor?: string;
|
|
4622
|
+
/**
|
|
4623
|
+
* Created transaction info (for created action)
|
|
4624
|
+
*/
|
|
4625
|
+
transaction?: NlpTransactionInfoDto;
|
|
4626
|
+
/**
|
|
4627
|
+
* Parsed data for confirmation (when action is "confirm"). Contains extracted fields that user should verify before transaction creation.
|
|
4628
|
+
*/
|
|
4629
|
+
parsedData?: NlpParsedDataDto;
|
|
4630
|
+
/**
|
|
4631
|
+
* Duplicate detection data (when action is "confirm_duplicate"). Contains information about potential duplicate transaction for user confirmation.
|
|
4632
|
+
*/
|
|
4633
|
+
duplicateData?: NlpDuplicateConfirmationDataDto;
|
|
4634
|
+
/**
|
|
4635
|
+
* Rule match data (when action is "confirm_rule"). Contains information about medium-confidence rule match for user confirmation.
|
|
4636
|
+
*/
|
|
4637
|
+
ruleData?: NlpRuleConfirmationDataDto;
|
|
4638
|
+
/**
|
|
4639
|
+
* Account validation data (when action is "confirm_account"). Contains information about invalid account for user correction.
|
|
4640
|
+
*/
|
|
4641
|
+
accountData?: NlpAccountConfirmationDataDto;
|
|
4642
|
+
/**
|
|
4643
|
+
* Payee confirmation data (when action is "confirm_payee"). Contains information about medium/low confidence payee match for user confirmation.
|
|
4644
|
+
*/
|
|
4645
|
+
payeeData?: NlpPayeeConfirmationDataDto;
|
|
4646
|
+
/**
|
|
4647
|
+
* Overall confidence score (0-1)
|
|
4648
|
+
*/
|
|
4649
|
+
confidence?: number;
|
|
4650
|
+
/**
|
|
4651
|
+
* Confidence threshold for automatic creation (default: 0.75). When confidence < threshold, action will be "confirm" requiring user verification.
|
|
4652
|
+
*/
|
|
4653
|
+
confidenceThreshold?: number;
|
|
4654
|
+
/**
|
|
4655
|
+
* Recurring transaction match info (when action is "created"). Contains match details when transaction matches a pending expected transaction.
|
|
4656
|
+
*/
|
|
4657
|
+
recurringMatch?: RecurringMatchInfoDto;
|
|
4658
|
+
/**
|
|
4659
|
+
* Recurring rule creation suggestion (when action is "created"). Contains suggestion to create a recurring rule based on detected patterns. Only present when no existing rule matched and similar historical transactions were found.
|
|
4660
|
+
*/
|
|
4661
|
+
recurringSuggestion?: RecurringSuggestionDto;
|
|
4662
|
+
/**
|
|
4663
|
+
* Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
|
|
4664
|
+
*/
|
|
4665
|
+
suggestedAccounts?: NlpSuggestedAccountsDto;
|
|
4666
|
+
/**
|
|
4667
|
+
* Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
|
|
4668
|
+
*/
|
|
4669
|
+
defaultAccounts?: NlpDefaultAccountsDto;
|
|
4670
|
+
};
|
|
4671
|
+
|
|
4672
|
+
/**
|
|
4673
|
+
* Response status
|
|
4674
|
+
*/
|
|
4675
|
+
export type status4 = 'success' | 'pending' | 'error';
|
|
4676
|
+
|
|
4677
|
+
/**
|
|
4678
|
+
* Action taken or requested
|
|
4679
|
+
*/
|
|
4680
|
+
export type action2 =
|
|
4681
|
+
| 'created'
|
|
4682
|
+
| 'ask'
|
|
4683
|
+
| 'confirm'
|
|
4684
|
+
| 'confirm_duplicate'
|
|
4685
|
+
| 'confirm_rule'
|
|
4686
|
+
| 'confirm_account'
|
|
4687
|
+
| 'confirm_payee'
|
|
4688
|
+
| 'cancel'
|
|
4689
|
+
| 'aborted';
|
|
4690
|
+
|
|
4691
|
+
/**
|
|
4692
|
+
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4693
|
+
*/
|
|
4694
|
+
export type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
4695
|
+
|
|
4696
|
+
/**
|
|
4697
|
+
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4698
|
+
*/
|
|
4699
|
+
export type assetSubType = 'transfer' | 'banking' | 'investment';
|
|
4700
|
+
|
|
4701
|
+
/**
|
|
4702
|
+
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4703
|
+
*/
|
|
4704
|
+
export type liabilitySubType = 'borrow' | 'repay';
|
|
4705
|
+
|
|
4706
|
+
/**
|
|
4707
|
+
* Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
|
|
4708
|
+
*/
|
|
4709
|
+
export type equitySubType = 'opening' | 'adjustment';
|
|
4710
|
+
|
|
4711
|
+
export type PlatformListItemDto = {
|
|
4712
|
+
/**
|
|
4713
|
+
* Global platform ID
|
|
4714
|
+
*/
|
|
4715
|
+
id: string;
|
|
4716
|
+
/**
|
|
4717
|
+
* Platform name
|
|
4718
|
+
*/
|
|
4719
|
+
name: string;
|
|
4720
|
+
/**
|
|
4721
|
+
* Platform URL
|
|
4722
|
+
*/
|
|
4723
|
+
url: string;
|
|
4724
|
+
/**
|
|
4725
|
+
* Platform type
|
|
4726
|
+
*/
|
|
4727
|
+
type:
|
|
4728
|
+
| 'BANK'
|
|
4729
|
+
| 'BROKERAGE'
|
|
4730
|
+
| 'CRYPTO_EXCHANGE'
|
|
4731
|
+
| 'PAYMENT'
|
|
4732
|
+
| 'INVESTMENT'
|
|
4733
|
+
| 'INSURANCE'
|
|
4734
|
+
| 'OTHER';
|
|
4735
|
+
/**
|
|
4736
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
4737
|
+
*/
|
|
4738
|
+
canonical: string;
|
|
4739
|
+
/**
|
|
4740
|
+
* Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
|
|
4741
|
+
*/
|
|
4742
|
+
suggestedSegment: string;
|
|
4743
|
+
/**
|
|
4744
|
+
* Logo URL
|
|
4745
|
+
*/
|
|
4746
|
+
logoUrl: string | null;
|
|
4747
|
+
/**
|
|
4748
|
+
* Whether user has accounts using this platform
|
|
4749
|
+
*/
|
|
4750
|
+
isBound: boolean;
|
|
4751
|
+
};
|
|
4752
|
+
|
|
4753
|
+
/**
|
|
4754
|
+
* Platform type
|
|
4755
|
+
*/
|
|
4756
|
+
export type type3 =
|
|
4757
|
+
| 'BANK'
|
|
4758
|
+
| 'BROKERAGE'
|
|
4759
|
+
| 'CRYPTO_EXCHANGE'
|
|
4760
|
+
| 'PAYMENT'
|
|
4761
|
+
| 'INVESTMENT'
|
|
4762
|
+
| 'INSURANCE'
|
|
4763
|
+
| 'OTHER';
|
|
4764
|
+
|
|
4765
|
+
export type PlatformMatchResultDto = {
|
|
4766
|
+
/**
|
|
4767
|
+
* Global platform ID
|
|
4768
|
+
*/
|
|
4769
|
+
id: string;
|
|
4770
|
+
/**
|
|
4771
|
+
* Platform name (e.g., "ICBC")
|
|
4772
|
+
*/
|
|
4773
|
+
name: string;
|
|
4774
|
+
/**
|
|
4775
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
4776
|
+
*/
|
|
4777
|
+
canonical: string;
|
|
4778
|
+
/**
|
|
4779
|
+
* Platform type
|
|
4780
|
+
*/
|
|
4781
|
+
type:
|
|
4782
|
+
| 'BANK'
|
|
4783
|
+
| 'BROKERAGE'
|
|
4784
|
+
| 'CRYPTO_EXCHANGE'
|
|
4785
|
+
| 'PAYMENT'
|
|
4786
|
+
| 'INVESTMENT'
|
|
4787
|
+
| 'INSURANCE'
|
|
4788
|
+
| 'OTHER';
|
|
4789
|
+
/**
|
|
4790
|
+
* Suggested path segment — canonical, already in ACCOUNT_RE format
|
|
4791
|
+
*/
|
|
4792
|
+
suggestedSegment: string;
|
|
4793
|
+
/**
|
|
4794
|
+
* Logo URL
|
|
4795
|
+
*/
|
|
4796
|
+
logoUrl: string | null;
|
|
4797
|
+
/**
|
|
4798
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4799
|
+
*/
|
|
4800
|
+
matchType: 'exact' | 'prefix' | 'substring';
|
|
4801
|
+
};
|
|
4802
|
+
|
|
4803
|
+
/**
|
|
4804
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4805
|
+
*/
|
|
4806
|
+
export type matchType = 'exact' | 'prefix' | 'substring';
|
|
4807
|
+
|
|
4808
|
+
export type PlatformMatchResponseDto = {
|
|
4057
4809
|
/**
|
|
4058
|
-
*
|
|
4810
|
+
* Ranked matches, best tier first (at most 10 rows)
|
|
4059
4811
|
*/
|
|
4060
|
-
|
|
4812
|
+
platforms: Array<PlatformMatchResultDto>;
|
|
4061
4813
|
/**
|
|
4062
|
-
*
|
|
4814
|
+
* Overall match quality — top row's tier, or 'none' when no hits
|
|
4063
4815
|
*/
|
|
4064
|
-
|
|
4065
|
-
[key: string]: unknown;
|
|
4066
|
-
};
|
|
4816
|
+
matchType: 'none' | 'exact' | 'prefix' | 'substring';
|
|
4067
4817
|
/**
|
|
4068
|
-
*
|
|
4818
|
+
* Total matches before LIMIT (truncation transparency)
|
|
4069
4819
|
*/
|
|
4070
|
-
|
|
4820
|
+
total: number;
|
|
4071
4821
|
/**
|
|
4072
|
-
*
|
|
4822
|
+
* true when total > platforms.length (more matches exist)
|
|
4073
4823
|
*/
|
|
4074
|
-
|
|
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 = {
|
|
4075
4833
|
/**
|
|
4076
|
-
*
|
|
4834
|
+
* Platform name
|
|
4077
4835
|
*/
|
|
4078
|
-
|
|
4836
|
+
name: string;
|
|
4079
4837
|
/**
|
|
4080
|
-
*
|
|
4838
|
+
* Platform canonical identifier (lowercase, kebab-case)
|
|
4081
4839
|
*/
|
|
4082
|
-
|
|
4840
|
+
canonical: string;
|
|
4083
4841
|
/**
|
|
4084
|
-
*
|
|
4842
|
+
* Platform aliases (multi-language names for lookup)
|
|
4085
4843
|
*/
|
|
4086
|
-
|
|
4844
|
+
aliases: Array<string>;
|
|
4087
4845
|
/**
|
|
4088
|
-
*
|
|
4846
|
+
* Platform URL
|
|
4089
4847
|
*/
|
|
4090
|
-
|
|
4848
|
+
url: string;
|
|
4091
4849
|
/**
|
|
4092
|
-
*
|
|
4850
|
+
* Platform type
|
|
4093
4851
|
*/
|
|
4094
|
-
|
|
4852
|
+
type:
|
|
4853
|
+
| 'BANK'
|
|
4854
|
+
| 'BROKERAGE'
|
|
4855
|
+
| 'CRYPTO_EXCHANGE'
|
|
4856
|
+
| 'PAYMENT'
|
|
4857
|
+
| 'INVESTMENT'
|
|
4858
|
+
| 'INSURANCE'
|
|
4859
|
+
| 'OTHER';
|
|
4095
4860
|
/**
|
|
4096
|
-
*
|
|
4861
|
+
* Platform logo URL
|
|
4097
4862
|
*/
|
|
4098
|
-
|
|
4863
|
+
logoUrl?: string;
|
|
4099
4864
|
/**
|
|
4100
|
-
*
|
|
4865
|
+
* Whether the platform is active
|
|
4101
4866
|
*/
|
|
4102
|
-
|
|
4867
|
+
isActive?: boolean;
|
|
4868
|
+
};
|
|
4869
|
+
|
|
4870
|
+
export type UpdatePlatformDto = {
|
|
4103
4871
|
/**
|
|
4104
|
-
*
|
|
4872
|
+
* Platform name
|
|
4105
4873
|
*/
|
|
4106
|
-
|
|
4874
|
+
name?: string;
|
|
4107
4875
|
/**
|
|
4108
|
-
*
|
|
4876
|
+
* Platform canonical identifier (lowercase, kebab-case)
|
|
4109
4877
|
*/
|
|
4110
|
-
|
|
4878
|
+
canonical?: string;
|
|
4111
4879
|
/**
|
|
4112
|
-
*
|
|
4880
|
+
* Platform aliases (multi-language names for lookup)
|
|
4113
4881
|
*/
|
|
4114
|
-
|
|
4882
|
+
aliases?: Array<string>;
|
|
4115
4883
|
/**
|
|
4116
|
-
*
|
|
4884
|
+
* Platform URL
|
|
4117
4885
|
*/
|
|
4118
|
-
|
|
4886
|
+
url?: string;
|
|
4119
4887
|
/**
|
|
4120
|
-
*
|
|
4888
|
+
* Platform type
|
|
4121
4889
|
*/
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
/**
|
|
4131
|
-
* Action taken or requested
|
|
4132
|
-
*/
|
|
4133
|
-
export type action2 =
|
|
4134
|
-
| 'created'
|
|
4135
|
-
| 'ask'
|
|
4136
|
-
| 'confirm'
|
|
4137
|
-
| 'confirm_duplicate'
|
|
4138
|
-
| 'confirm_rule'
|
|
4139
|
-
| 'confirm_account'
|
|
4140
|
-
| 'confirm_payee'
|
|
4141
|
-
| 'cancel';
|
|
4142
|
-
|
|
4143
|
-
/**
|
|
4144
|
-
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4145
|
-
*/
|
|
4146
|
-
export type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
4147
|
-
|
|
4148
|
-
/**
|
|
4149
|
-
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4150
|
-
*/
|
|
4151
|
-
export type assetSubType = 'transfer' | 'banking' | 'investment';
|
|
4152
|
-
|
|
4153
|
-
/**
|
|
4154
|
-
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4155
|
-
*/
|
|
4156
|
-
export type liabilitySubType = 'borrow' | 'repay';
|
|
4157
|
-
|
|
4158
|
-
/**
|
|
4159
|
-
* Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
|
|
4160
|
-
*/
|
|
4161
|
-
export type equitySubType = 'opening' | 'adjustment';
|
|
4162
|
-
|
|
4163
|
-
export type BalanceByCurrencyDto = {
|
|
4890
|
+
type?:
|
|
4891
|
+
| 'BANK'
|
|
4892
|
+
| 'BROKERAGE'
|
|
4893
|
+
| 'CRYPTO_EXCHANGE'
|
|
4894
|
+
| 'PAYMENT'
|
|
4895
|
+
| 'INVESTMENT'
|
|
4896
|
+
| 'INSURANCE'
|
|
4897
|
+
| 'OTHER';
|
|
4164
4898
|
/**
|
|
4165
|
-
*
|
|
4899
|
+
* Platform logo URL
|
|
4166
4900
|
*/
|
|
4167
|
-
|
|
4901
|
+
logoUrl?: string;
|
|
4168
4902
|
/**
|
|
4169
|
-
*
|
|
4903
|
+
* Whether the platform is active
|
|
4170
4904
|
*/
|
|
4171
|
-
|
|
4905
|
+
isActive?: boolean;
|
|
4172
4906
|
};
|
|
4173
4907
|
|
|
4174
4908
|
export type NetWorthByCurrencyDto = {
|
|
@@ -4211,21 +4945,6 @@ export type ConvertedNetWorthDto = {
|
|
|
4211
4945
|
};
|
|
4212
4946
|
};
|
|
4213
4947
|
|
|
4214
|
-
export type ExchangeRateWarningDto = {
|
|
4215
|
-
/**
|
|
4216
|
-
* Warning type
|
|
4217
|
-
*/
|
|
4218
|
-
type: string;
|
|
4219
|
-
/**
|
|
4220
|
-
* Currency without exchange rate
|
|
4221
|
-
*/
|
|
4222
|
-
currency: string;
|
|
4223
|
-
/**
|
|
4224
|
-
* Total amount affected
|
|
4225
|
-
*/
|
|
4226
|
-
totalAmount: string;
|
|
4227
|
-
};
|
|
4228
|
-
|
|
4229
4948
|
export type NetWorthResponseDto = {
|
|
4230
4949
|
/**
|
|
4231
4950
|
* Total net worth (assets - liabilities, converted to base currency)
|
|
@@ -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
|
|
@@ -4600,21 +5347,78 @@ export type CashFlowResponseDto = {
|
|
|
4600
5347
|
/**
|
|
4601
5348
|
* Savings rate percentage (netSavings / income * 100)
|
|
4602
5349
|
*/
|
|
4603
|
-
savingsRate: string;
|
|
5350
|
+
savingsRate: string;
|
|
5351
|
+
/**
|
|
5352
|
+
* Base currency code
|
|
5353
|
+
*/
|
|
5354
|
+
currency: string;
|
|
5355
|
+
/**
|
|
5356
|
+
* Cash flow grouped by original currency
|
|
5357
|
+
*/
|
|
5358
|
+
byCurrency?: CashFlowByCurrencyDto;
|
|
5359
|
+
/**
|
|
5360
|
+
* Converted values in base currency
|
|
5361
|
+
*/
|
|
5362
|
+
converted?: ConvertedCashFlowDto;
|
|
5363
|
+
/**
|
|
5364
|
+
* Exchange rate warnings
|
|
5365
|
+
*/
|
|
5366
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
5367
|
+
};
|
|
5368
|
+
|
|
5369
|
+
export type CategoryGroupDto = {
|
|
5370
|
+
/**
|
|
5371
|
+
* Functional category (account-path Group segment); regional and universal account paths merge under it
|
|
5372
|
+
*/
|
|
5373
|
+
category: string;
|
|
5374
|
+
/**
|
|
5375
|
+
* Converted total for this category in base currency (expense amount when flow=expense, income amount when flow=income)
|
|
5376
|
+
*/
|
|
5377
|
+
totalExpense: string;
|
|
5378
|
+
/**
|
|
5379
|
+
* Share of grand total (0-100); 0 when grand total is 0
|
|
5380
|
+
*/
|
|
5381
|
+
sharePct: number;
|
|
5382
|
+
/**
|
|
5383
|
+
* Raw (unconverted) expense per currency
|
|
5384
|
+
*/
|
|
5385
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
5386
|
+
/**
|
|
5387
|
+
* Converted total in base currency (omitted when FX missing for all currencies in this category)
|
|
5388
|
+
*/
|
|
5389
|
+
convertedBalance?: string;
|
|
5390
|
+
};
|
|
5391
|
+
|
|
5392
|
+
export type ExpensesByCategorySummaryDto = {
|
|
5393
|
+
/**
|
|
5394
|
+
* Total across all categories, converted (convertible categories only); expense totals when flow=expense, income totals when flow=income
|
|
5395
|
+
*/
|
|
5396
|
+
totalExpense: string;
|
|
5397
|
+
/**
|
|
5398
|
+
* Number of categories
|
|
5399
|
+
*/
|
|
5400
|
+
categoryCount: number;
|
|
5401
|
+
};
|
|
5402
|
+
|
|
5403
|
+
export type ExpensesByCategoryResponseDto = {
|
|
5404
|
+
/**
|
|
5405
|
+
* Period requested
|
|
5406
|
+
*/
|
|
5407
|
+
period: string;
|
|
4604
5408
|
/**
|
|
4605
|
-
* Base currency
|
|
5409
|
+
* Base currency for converted values
|
|
4606
5410
|
*/
|
|
4607
|
-
|
|
5411
|
+
baseCurrency: string;
|
|
4608
5412
|
/**
|
|
4609
|
-
*
|
|
5413
|
+
* Expense groups by functional category, sorted by converted total desc
|
|
4610
5414
|
*/
|
|
4611
|
-
|
|
5415
|
+
groups: Array<CategoryGroupDto>;
|
|
4612
5416
|
/**
|
|
4613
|
-
*
|
|
5417
|
+
* Summary statistics
|
|
4614
5418
|
*/
|
|
4615
|
-
|
|
5419
|
+
summary: ExpensesByCategorySummaryDto;
|
|
4616
5420
|
/**
|
|
4617
|
-
* Exchange rate warnings
|
|
5421
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
4618
5422
|
*/
|
|
4619
5423
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4620
5424
|
};
|
|
@@ -4814,279 +5618,146 @@ export type HoldingPnlResponseDto = {
|
|
|
4814
5618
|
*/
|
|
4815
5619
|
export type method = 'average' | 'FIFO';
|
|
4816
5620
|
|
|
4817
|
-
export type
|
|
4818
|
-
/**
|
|
4819
|
-
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4820
|
-
*/
|
|
4821
|
-
currency: string;
|
|
4822
|
-
/**
|
|
4823
|
-
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
4824
|
-
*/
|
|
4825
|
-
quoteCurrency: string;
|
|
4826
|
-
/**
|
|
4827
|
-
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
4828
|
-
*/
|
|
4829
|
-
amount: number;
|
|
4830
|
-
/**
|
|
4831
|
-
* Price date (ISO 8601 format)
|
|
4832
|
-
*/
|
|
4833
|
-
date: string;
|
|
4834
|
-
/**
|
|
4835
|
-
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
4836
|
-
*/
|
|
4837
|
-
metadata?: {
|
|
4838
|
-
[key: string]: unknown;
|
|
4839
|
-
};
|
|
4840
|
-
};
|
|
4841
|
-
|
|
4842
|
-
export type PriceResponseDto = {
|
|
4843
|
-
/**
|
|
4844
|
-
* Unique identifier
|
|
4845
|
-
*/
|
|
4846
|
-
id: string;
|
|
4847
|
-
/**
|
|
4848
|
-
* User ID (owner of the price)
|
|
4849
|
-
*/
|
|
4850
|
-
userId: string;
|
|
4851
|
-
/**
|
|
4852
|
-
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4853
|
-
*/
|
|
4854
|
-
currency: string;
|
|
4855
|
-
/**
|
|
4856
|
-
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
4857
|
-
*/
|
|
4858
|
-
quoteCurrency: string;
|
|
4859
|
-
/**
|
|
4860
|
-
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
4861
|
-
*/
|
|
4862
|
-
amount: number;
|
|
4863
|
-
/**
|
|
4864
|
-
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
4865
|
-
*/
|
|
4866
|
-
date: string;
|
|
4867
|
-
/**
|
|
4868
|
-
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
4869
|
-
*/
|
|
4870
|
-
meta: {
|
|
4871
|
-
[key: string]: unknown;
|
|
4872
|
-
};
|
|
4873
|
-
/**
|
|
4874
|
-
* Creation timestamp
|
|
4875
|
-
*/
|
|
4876
|
-
createdAt: string;
|
|
5621
|
+
export type AnonymousLoginDto = {
|
|
4877
5622
|
/**
|
|
4878
|
-
*
|
|
5623
|
+
* Access token for anonymous login
|
|
4879
5624
|
*/
|
|
4880
|
-
|
|
5625
|
+
accessToken: string;
|
|
4881
5626
|
};
|
|
4882
5627
|
|
|
4883
|
-
export type
|
|
4884
|
-
/**
|
|
4885
|
-
* List of prices
|
|
4886
|
-
*/
|
|
4887
|
-
items: Array<PriceResponseDto>;
|
|
5628
|
+
export type AnonymousLoginResponseDto = {
|
|
4888
5629
|
/**
|
|
4889
|
-
*
|
|
5630
|
+
* JWT auth token
|
|
4890
5631
|
*/
|
|
4891
|
-
|
|
5632
|
+
authToken: string;
|
|
4892
5633
|
};
|
|
4893
5634
|
|
|
4894
|
-
export type
|
|
4895
|
-
|
|
4896
|
-
|
|
4897
|
-
*/
|
|
4898
|
-
currency?: string;
|
|
4899
|
-
/**
|
|
4900
|
-
* Quote currency (pricing currency)
|
|
4901
|
-
*/
|
|
4902
|
-
quoteCurrency?: string;
|
|
4903
|
-
/**
|
|
4904
|
-
* Price amount (MUST be >= 0 per Beancount spec)
|
|
4905
|
-
*/
|
|
4906
|
-
amount?: number;
|
|
4907
|
-
/**
|
|
4908
|
-
* Price date (ISO 8601 format)
|
|
4909
|
-
*/
|
|
4910
|
-
date?: string;
|
|
4911
|
-
/**
|
|
4912
|
-
* Metadata
|
|
4913
|
-
*/
|
|
4914
|
-
metadata?: {
|
|
5635
|
+
export type SymbolSearchResultDto = {
|
|
5636
|
+
symbol: string;
|
|
5637
|
+
name?: {
|
|
4915
5638
|
[key: string]: unknown;
|
|
4916
|
-
};
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
export type CurrencyBalanceDto = {
|
|
4920
|
-
/**
|
|
4921
|
-
* ISO 4217 currency code
|
|
4922
|
-
*/
|
|
4923
|
-
currency: string;
|
|
4924
|
-
/**
|
|
4925
|
-
* Balance amount
|
|
4926
|
-
*/
|
|
4927
|
-
balance: string;
|
|
4928
|
-
};
|
|
4929
|
-
|
|
4930
|
-
export type TimeSeriesPointDto = {
|
|
4931
|
-
/**
|
|
4932
|
-
* Date in YYYY-MM-DD format
|
|
4933
|
-
*/
|
|
4934
|
-
date: string;
|
|
4935
|
-
/**
|
|
4936
|
-
* Value at this date (in base currency)
|
|
4937
|
-
*/
|
|
4938
|
-
value: string;
|
|
4939
|
-
/**
|
|
4940
|
-
* Change from previous point
|
|
4941
|
-
*/
|
|
4942
|
-
change?: {
|
|
5639
|
+
} | null;
|
|
5640
|
+
exchange?: {
|
|
4943
5641
|
[key: string]: unknown;
|
|
4944
|
-
};
|
|
4945
|
-
/**
|
|
4946
|
-
* Multi-currency breakdown for this point
|
|
4947
|
-
*/
|
|
4948
|
-
byCurrency?: Array<CurrencyBalanceDto>;
|
|
4949
|
-
};
|
|
4950
|
-
|
|
4951
|
-
export type TrendSummaryDto = {
|
|
4952
|
-
/**
|
|
4953
|
-
* Value at start of period
|
|
4954
|
-
*/
|
|
4955
|
-
startValue: string;
|
|
4956
|
-
/**
|
|
4957
|
-
* Value at end of period
|
|
4958
|
-
*/
|
|
4959
|
-
endValue: string;
|
|
4960
|
-
/**
|
|
4961
|
-
* Total change over period
|
|
4962
|
-
*/
|
|
4963
|
-
totalChange: string;
|
|
4964
|
-
/**
|
|
4965
|
-
* Total change percentage
|
|
4966
|
-
*/
|
|
4967
|
-
totalChangePercentage: string;
|
|
4968
|
-
};
|
|
4969
|
-
|
|
4970
|
-
export type MultiCurrencyPointDto = {
|
|
4971
|
-
/**
|
|
4972
|
-
* Date in YYYY-MM-DD format
|
|
4973
|
-
*/
|
|
4974
|
-
date: string;
|
|
4975
|
-
/**
|
|
4976
|
-
* Balances by currency
|
|
4977
|
-
*/
|
|
4978
|
-
byCurrency: Array<CurrencyBalanceDto>;
|
|
4979
|
-
};
|
|
4980
|
-
|
|
4981
|
-
export type PortfolioTrendsResponseDto = {
|
|
4982
|
-
/**
|
|
4983
|
-
* Time series data points
|
|
4984
|
-
*/
|
|
4985
|
-
series: Array<TimeSeriesPointDto>;
|
|
4986
|
-
/**
|
|
4987
|
-
* Period summary
|
|
4988
|
-
*/
|
|
4989
|
-
summary: TrendSummaryDto;
|
|
4990
|
-
/**
|
|
4991
|
-
* Period requested
|
|
4992
|
-
*/
|
|
4993
|
-
period: string;
|
|
5642
|
+
} | null;
|
|
4994
5643
|
/**
|
|
4995
|
-
*
|
|
5644
|
+
* OpenBB asset_type (e.g. stock, etf)
|
|
4996
5645
|
*/
|
|
4997
|
-
|
|
5646
|
+
assetType?: {
|
|
5647
|
+
[key: string]: unknown;
|
|
5648
|
+
} | null;
|
|
4998
5649
|
/**
|
|
4999
|
-
*
|
|
5650
|
+
* IGN asset class (region.types.ts ASSET_CLASSES)
|
|
5000
5651
|
*/
|
|
5001
|
-
|
|
5652
|
+
assetClass?: {
|
|
5653
|
+
[key: string]: unknown;
|
|
5654
|
+
} | null;
|
|
5002
5655
|
/**
|
|
5003
|
-
*
|
|
5656
|
+
* IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
|
|
5004
5657
|
*/
|
|
5005
|
-
|
|
5658
|
+
assetSubClass?: {
|
|
5659
|
+
[key: string]: unknown;
|
|
5660
|
+
} | null;
|
|
5006
5661
|
/**
|
|
5007
|
-
*
|
|
5662
|
+
* Trading currency (extra_data or inferred from exchange)
|
|
5008
5663
|
*/
|
|
5009
|
-
|
|
5664
|
+
currency?: {
|
|
5665
|
+
[key: string]: unknown;
|
|
5666
|
+
} | null;
|
|
5010
5667
|
};
|
|
5011
5668
|
|
|
5012
|
-
export type
|
|
5013
|
-
|
|
5014
|
-
|
|
5015
|
-
|
|
5016
|
-
|
|
5669
|
+
export type SymbolQuoteDto = {
|
|
5670
|
+
symbol?: string;
|
|
5671
|
+
name?: {
|
|
5672
|
+
[key: string]: unknown;
|
|
5673
|
+
} | null;
|
|
5674
|
+
exchange?: {
|
|
5675
|
+
[key: string]: unknown;
|
|
5676
|
+
} | null;
|
|
5017
5677
|
/**
|
|
5018
|
-
*
|
|
5678
|
+
* OpenBB asset_type
|
|
5019
5679
|
*/
|
|
5020
|
-
|
|
5680
|
+
assetType?: {
|
|
5681
|
+
[key: string]: unknown;
|
|
5682
|
+
} | null;
|
|
5021
5683
|
/**
|
|
5022
|
-
*
|
|
5684
|
+
* IGN asset class
|
|
5023
5685
|
*/
|
|
5024
|
-
|
|
5686
|
+
assetClass?: {
|
|
5687
|
+
[key: string]: unknown;
|
|
5688
|
+
} | null;
|
|
5025
5689
|
/**
|
|
5026
|
-
*
|
|
5690
|
+
* IGN asset sub-class
|
|
5027
5691
|
*/
|
|
5028
|
-
|
|
5029
|
-
|
|
5030
|
-
|
|
5031
|
-
export type CashFlowTrendSummaryDto = {
|
|
5692
|
+
assetSubClass?: {
|
|
5693
|
+
[key: string]: unknown;
|
|
5694
|
+
} | null;
|
|
5032
5695
|
/**
|
|
5033
|
-
*
|
|
5696
|
+
* Trading currency (extra_data or inferred from exchange)
|
|
5034
5697
|
*/
|
|
5035
|
-
|
|
5698
|
+
currency?: {
|
|
5699
|
+
[key: string]: unknown;
|
|
5700
|
+
} | null;
|
|
5036
5701
|
/**
|
|
5037
|
-
*
|
|
5702
|
+
* Latest price (Decimal string)
|
|
5038
5703
|
*/
|
|
5039
|
-
|
|
5704
|
+
price?: {
|
|
5705
|
+
[key: string]: unknown;
|
|
5706
|
+
} | null;
|
|
5040
5707
|
/**
|
|
5041
|
-
*
|
|
5708
|
+
* Date the price was observed (ISO yyyy-MM-dd)
|
|
5042
5709
|
*/
|
|
5043
|
-
|
|
5710
|
+
priceDate?: {
|
|
5711
|
+
[key: string]: unknown;
|
|
5712
|
+
} | null;
|
|
5044
5713
|
/**
|
|
5045
|
-
*
|
|
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.
|
|
5046
5715
|
*/
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
export type CashFlowTrendsResponseDto = {
|
|
5716
|
+
changePercent?: {
|
|
5717
|
+
[key: string]: unknown;
|
|
5718
|
+
} | null;
|
|
5051
5719
|
/**
|
|
5052
|
-
*
|
|
5720
|
+
* Previous close (Decimal string)
|
|
5053
5721
|
*/
|
|
5054
|
-
|
|
5722
|
+
prevClose?: {
|
|
5723
|
+
[key: string]: unknown;
|
|
5724
|
+
} | null;
|
|
5055
5725
|
/**
|
|
5056
|
-
*
|
|
5726
|
+
* Day open (Decimal string)
|
|
5057
5727
|
*/
|
|
5058
|
-
|
|
5728
|
+
open?: {
|
|
5729
|
+
[key: string]: unknown;
|
|
5730
|
+
} | null;
|
|
5059
5731
|
/**
|
|
5060
|
-
*
|
|
5732
|
+
* Day high (Decimal string)
|
|
5061
5733
|
*/
|
|
5062
|
-
|
|
5734
|
+
high?: {
|
|
5735
|
+
[key: string]: unknown;
|
|
5736
|
+
} | null;
|
|
5063
5737
|
/**
|
|
5064
|
-
*
|
|
5738
|
+
* Day low (Decimal string)
|
|
5065
5739
|
*/
|
|
5066
|
-
|
|
5740
|
+
low?: {
|
|
5741
|
+
[key: string]: unknown;
|
|
5742
|
+
} | null;
|
|
5067
5743
|
/**
|
|
5068
|
-
*
|
|
5744
|
+
* Day volume (Decimal string)
|
|
5069
5745
|
*/
|
|
5070
|
-
|
|
5746
|
+
volume?: {
|
|
5747
|
+
[key: string]: unknown;
|
|
5748
|
+
} | null;
|
|
5071
5749
|
/**
|
|
5072
|
-
*
|
|
5750
|
+
* 52-week high (Decimal string)
|
|
5073
5751
|
*/
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
export type GenerateSnapshotBody = unknown;
|
|
5078
|
-
|
|
5079
|
-
export type GenerateSnapshotResponse = unknown;
|
|
5080
|
-
|
|
5081
|
-
export type BackfillSnapshotsBody = unknown;
|
|
5082
|
-
|
|
5083
|
-
export type BackfillSnapshotsResponse = unknown;
|
|
5084
|
-
|
|
5085
|
-
export type AnonymousLoginDto = {
|
|
5752
|
+
yearHigh?: {
|
|
5753
|
+
[key: string]: unknown;
|
|
5754
|
+
} | null;
|
|
5086
5755
|
/**
|
|
5087
|
-
*
|
|
5756
|
+
* 52-week low (Decimal string)
|
|
5088
5757
|
*/
|
|
5089
|
-
|
|
5758
|
+
yearLow?: {
|
|
5759
|
+
[key: string]: unknown;
|
|
5760
|
+
} | null;
|
|
5090
5761
|
};
|
|
5091
5762
|
|
|
5092
5763
|
export type AccountControllerCreateData = {
|
|
@@ -5117,7 +5788,7 @@ export type AccountControllerFindAllData = {
|
|
|
5117
5788
|
*/
|
|
5118
5789
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5119
5790
|
/**
|
|
5120
|
-
* Search term for path
|
|
5791
|
+
* Search term for account path
|
|
5121
5792
|
*/
|
|
5122
5793
|
search?: string;
|
|
5123
5794
|
/**
|
|
@@ -5200,6 +5871,21 @@ export type AccountControllerReopenData = {
|
|
|
5200
5871
|
|
|
5201
5872
|
export type AccountControllerReopenResponse = AccountResponseDto;
|
|
5202
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
|
+
|
|
5203
5889
|
export type AccountStandardsControllerGetTemplatesData = {
|
|
5204
5890
|
/**
|
|
5205
5891
|
* Region code (cn, us, de)
|
|
@@ -5260,6 +5946,10 @@ export type TransactionControllerListData = {
|
|
|
5260
5946
|
* Filter by account ID (transactions with postings to this account)
|
|
5261
5947
|
*/
|
|
5262
5948
|
accountId?: string;
|
|
5949
|
+
/**
|
|
5950
|
+
* Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
|
|
5951
|
+
*/
|
|
5952
|
+
category?: string;
|
|
5263
5953
|
/**
|
|
5264
5954
|
* Filter by start date (inclusive), format: YYYY-MM-DD
|
|
5265
5955
|
*/
|
|
@@ -5384,7 +6074,7 @@ export type TransactionControllerDeleteResponse = void;
|
|
|
5384
6074
|
|
|
5385
6075
|
export type BalanceControllerGetBalanceData = {
|
|
5386
6076
|
/**
|
|
5387
|
-
* Account name (e.g., "Assets:
|
|
6077
|
+
* Account name (e.g., "Assets:Checking")
|
|
5388
6078
|
*/
|
|
5389
6079
|
account: string;
|
|
5390
6080
|
/**
|
|
@@ -5786,6 +6476,103 @@ export type CommodityControllerBulkCreateData = {
|
|
|
5786
6476
|
|
|
5787
6477
|
export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
|
|
5788
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
|
+
|
|
5789
6576
|
export type RecurringRuleControllerCreateData = {
|
|
5790
6577
|
/**
|
|
5791
6578
|
* Region code for tenant context
|
|
@@ -5920,104 +6707,252 @@ export type ExpectedTransactionControllerFindOverdueData = {
|
|
|
5920
6707
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5921
6708
|
};
|
|
5922
6709
|
|
|
5923
|
-
export type ExpectedTransactionControllerFindOverdueResponse =
|
|
5924
|
-
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;
|
|
5925
6826
|
|
|
5926
|
-
export type
|
|
6827
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
5927
6828
|
/**
|
|
5928
|
-
*
|
|
6829
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
5929
6830
|
*/
|
|
5930
|
-
|
|
6831
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6832
|
+
/**
|
|
6833
|
+
* Time period
|
|
6834
|
+
*/
|
|
6835
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
5931
6836
|
/**
|
|
5932
6837
|
* Region code for tenant context
|
|
5933
6838
|
*/
|
|
5934
6839
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5935
6840
|
};
|
|
5936
6841
|
|
|
5937
|
-
export type
|
|
5938
|
-
|
|
6842
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
6843
|
+
CashFlowTrendsResponseDto;
|
|
5939
6844
|
|
|
5940
|
-
export type
|
|
5941
|
-
/**
|
|
5942
|
-
* Expected transaction ID
|
|
5943
|
-
*/
|
|
5944
|
-
id: string;
|
|
6845
|
+
export type ReportingControllerGenerateSnapshotData = {
|
|
5945
6846
|
/**
|
|
5946
6847
|
* Region code for tenant context
|
|
5947
6848
|
*/
|
|
5948
6849
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6850
|
+
/**
|
|
6851
|
+
* Optional date (defaults to today)
|
|
6852
|
+
*/
|
|
6853
|
+
requestBody: GenerateSnapshotBody;
|
|
5949
6854
|
};
|
|
5950
6855
|
|
|
5951
|
-
export type
|
|
5952
|
-
|
|
6856
|
+
export type ReportingControllerGenerateSnapshotResponse =
|
|
6857
|
+
GenerateSnapshotResponse;
|
|
5953
6858
|
|
|
5954
|
-
export type
|
|
5955
|
-
/**
|
|
5956
|
-
* Expected transaction ID
|
|
5957
|
-
*/
|
|
5958
|
-
id: string;
|
|
6859
|
+
export type ReportingControllerBackfillSnapshotsData = {
|
|
5959
6860
|
/**
|
|
5960
6861
|
* Region code for tenant context
|
|
5961
6862
|
*/
|
|
5962
6863
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6864
|
+
requestBody: BackfillSnapshotsBody;
|
|
5963
6865
|
};
|
|
5964
6866
|
|
|
5965
|
-
export type
|
|
5966
|
-
|
|
6867
|
+
export type ReportingControllerBackfillSnapshotsResponse =
|
|
6868
|
+
BackfillSnapshotsResponse;
|
|
5967
6869
|
|
|
5968
|
-
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 = {
|
|
5969
6889
|
/**
|
|
5970
|
-
*
|
|
6890
|
+
* User ID to delete
|
|
5971
6891
|
*/
|
|
5972
6892
|
id: string;
|
|
6893
|
+
};
|
|
6894
|
+
|
|
6895
|
+
export type UserControllerDeleteUserResponse = void;
|
|
6896
|
+
|
|
6897
|
+
export type UserControllerGetUserInfoData = {
|
|
5973
6898
|
/**
|
|
5974
|
-
*
|
|
6899
|
+
* User ID
|
|
5975
6900
|
*/
|
|
5976
|
-
|
|
5977
|
-
requestBody: ConfirmMatchDto;
|
|
6901
|
+
id: string;
|
|
5978
6902
|
};
|
|
5979
6903
|
|
|
5980
|
-
export type
|
|
6904
|
+
export type UserControllerGetUserInfoResponse = unknown;
|
|
5981
6905
|
|
|
5982
|
-
export type
|
|
6906
|
+
export type UserControllerUpdateUserSettingData = {
|
|
6907
|
+
requestBody: UpdateUserSettingDto;
|
|
6908
|
+
};
|
|
6909
|
+
|
|
6910
|
+
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
6911
|
+
|
|
6912
|
+
export type UserControllerGetAllUserSettingsByPageData = {
|
|
5983
6913
|
/**
|
|
5984
|
-
*
|
|
6914
|
+
* Page number
|
|
5985
6915
|
*/
|
|
5986
|
-
|
|
6916
|
+
pageNo: number;
|
|
5987
6917
|
/**
|
|
5988
|
-
*
|
|
6918
|
+
* Page size
|
|
5989
6919
|
*/
|
|
5990
|
-
|
|
6920
|
+
pageSize: number;
|
|
5991
6921
|
};
|
|
5992
6922
|
|
|
5993
|
-
export type
|
|
6923
|
+
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
5994
6924
|
|
|
5995
|
-
export type
|
|
5996
|
-
|
|
5997
|
-
|
|
5998
|
-
|
|
5999
|
-
|
|
6925
|
+
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
6926
|
+
|
|
6927
|
+
export type PropertyControllerGetAllResponse = unknown;
|
|
6928
|
+
|
|
6929
|
+
export type PropertyControllerGetByKeyData = {
|
|
6000
6930
|
/**
|
|
6001
|
-
*
|
|
6931
|
+
* Property key
|
|
6002
6932
|
*/
|
|
6003
|
-
|
|
6004
|
-
requestBody: EnterNowDto;
|
|
6933
|
+
key: string;
|
|
6005
6934
|
};
|
|
6006
6935
|
|
|
6007
|
-
export type
|
|
6936
|
+
export type PropertyControllerGetByKeyResponse = unknown;
|
|
6008
6937
|
|
|
6009
|
-
export type
|
|
6938
|
+
export type PropertyControllerUpdateData = {
|
|
6010
6939
|
/**
|
|
6011
|
-
*
|
|
6940
|
+
* Property key
|
|
6012
6941
|
*/
|
|
6013
|
-
|
|
6942
|
+
key: string;
|
|
6943
|
+
requestBody: UpdatePropertyDto;
|
|
6944
|
+
};
|
|
6945
|
+
|
|
6946
|
+
export type PropertyControllerUpdateResponse = unknown;
|
|
6947
|
+
|
|
6948
|
+
export type PropertyControllerDeleteData = {
|
|
6014
6949
|
/**
|
|
6015
|
-
*
|
|
6950
|
+
* Property key
|
|
6016
6951
|
*/
|
|
6017
|
-
|
|
6952
|
+
key: string;
|
|
6018
6953
|
};
|
|
6019
6954
|
|
|
6020
|
-
export type
|
|
6955
|
+
export type PropertyControllerDeleteResponse = void;
|
|
6021
6956
|
|
|
6022
6957
|
export type TransactionRuleControllerCreateData = {
|
|
6023
6958
|
/**
|
|
@@ -6164,93 +7099,6 @@ export type TransactionRuleControllerTestData = {
|
|
|
6164
7099
|
|
|
6165
7100
|
export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
|
|
6166
7101
|
|
|
6167
|
-
export type UserControllerDeleteOwnUserData = {
|
|
6168
|
-
requestBody: DeleteOwnUserDto;
|
|
6169
|
-
};
|
|
6170
|
-
|
|
6171
|
-
export type UserControllerDeleteOwnUserResponse = void;
|
|
6172
|
-
|
|
6173
|
-
export type UserControllerGetUserData = {
|
|
6174
|
-
acceptLanguage: string;
|
|
6175
|
-
};
|
|
6176
|
-
|
|
6177
|
-
export type UserControllerGetUserResponse = unknown;
|
|
6178
|
-
|
|
6179
|
-
export type UserControllerSignupUserData = {
|
|
6180
|
-
requestBody: SignupDto;
|
|
6181
|
-
};
|
|
6182
|
-
|
|
6183
|
-
export type UserControllerSignupUserResponse = unknown;
|
|
6184
|
-
|
|
6185
|
-
export type UserControllerDeleteUserData = {
|
|
6186
|
-
/**
|
|
6187
|
-
* User ID to delete
|
|
6188
|
-
*/
|
|
6189
|
-
id: string;
|
|
6190
|
-
};
|
|
6191
|
-
|
|
6192
|
-
export type UserControllerDeleteUserResponse = void;
|
|
6193
|
-
|
|
6194
|
-
export type UserControllerGetUserInfoData = {
|
|
6195
|
-
/**
|
|
6196
|
-
* User ID
|
|
6197
|
-
*/
|
|
6198
|
-
id: string;
|
|
6199
|
-
};
|
|
6200
|
-
|
|
6201
|
-
export type UserControllerGetUserInfoResponse = unknown;
|
|
6202
|
-
|
|
6203
|
-
export type UserControllerUpdateUserSettingData = {
|
|
6204
|
-
requestBody: UpdateUserSettingDto;
|
|
6205
|
-
};
|
|
6206
|
-
|
|
6207
|
-
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
6208
|
-
|
|
6209
|
-
export type UserControllerGetAllUserSettingsByPageData = {
|
|
6210
|
-
/**
|
|
6211
|
-
* Page number
|
|
6212
|
-
*/
|
|
6213
|
-
pageNo: number;
|
|
6214
|
-
/**
|
|
6215
|
-
* Page size
|
|
6216
|
-
*/
|
|
6217
|
-
pageSize: number;
|
|
6218
|
-
};
|
|
6219
|
-
|
|
6220
|
-
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
6221
|
-
|
|
6222
|
-
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
6223
|
-
|
|
6224
|
-
export type PropertyControllerGetAllResponse = unknown;
|
|
6225
|
-
|
|
6226
|
-
export type PropertyControllerGetByKeyData = {
|
|
6227
|
-
/**
|
|
6228
|
-
* Property key
|
|
6229
|
-
*/
|
|
6230
|
-
key: string;
|
|
6231
|
-
};
|
|
6232
|
-
|
|
6233
|
-
export type PropertyControllerGetByKeyResponse = unknown;
|
|
6234
|
-
|
|
6235
|
-
export type PropertyControllerUpdateData = {
|
|
6236
|
-
/**
|
|
6237
|
-
* Property key
|
|
6238
|
-
*/
|
|
6239
|
-
key: string;
|
|
6240
|
-
requestBody: UpdatePropertyDto;
|
|
6241
|
-
};
|
|
6242
|
-
|
|
6243
|
-
export type PropertyControllerUpdateResponse = unknown;
|
|
6244
|
-
|
|
6245
|
-
export type PropertyControllerDeleteData = {
|
|
6246
|
-
/**
|
|
6247
|
-
* Property key
|
|
6248
|
-
*/
|
|
6249
|
-
key: string;
|
|
6250
|
-
};
|
|
6251
|
-
|
|
6252
|
-
export type PropertyControllerDeleteResponse = void;
|
|
6253
|
-
|
|
6254
7102
|
export type EventControllerCreateData = {
|
|
6255
7103
|
/**
|
|
6256
7104
|
* Region code for tenant context (decorative for life events)
|
|
@@ -6305,49 +7153,104 @@ export type EventControllerFindOneData = {
|
|
|
6305
7153
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6306
7154
|
};
|
|
6307
7155
|
|
|
6308
|
-
export type EventControllerFindOneResponse = EventResponseDto;
|
|
7156
|
+
export type EventControllerFindOneResponse = EventResponseDto;
|
|
7157
|
+
|
|
7158
|
+
export type EventControllerUpdateData = {
|
|
7159
|
+
/**
|
|
7160
|
+
* Life event ID
|
|
7161
|
+
*/
|
|
7162
|
+
id: string;
|
|
7163
|
+
/**
|
|
7164
|
+
* Region code for tenant context (decorative for life events)
|
|
7165
|
+
*/
|
|
7166
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7167
|
+
requestBody: UpdateBeanEventDto;
|
|
7168
|
+
};
|
|
7169
|
+
|
|
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;
|
|
6309
7199
|
|
|
6310
|
-
export type
|
|
7200
|
+
export type OnboardingControllerBootstrapData = {
|
|
6311
7201
|
/**
|
|
6312
|
-
*
|
|
7202
|
+
* Region code for tenant context
|
|
6313
7203
|
*/
|
|
6314
|
-
|
|
7204
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7205
|
+
requestBody: OnboardingDto;
|
|
7206
|
+
};
|
|
7207
|
+
|
|
7208
|
+
export type OnboardingControllerBootstrapResponse = unknown;
|
|
7209
|
+
|
|
7210
|
+
export type ReconciliationControllerComputeData = {
|
|
6315
7211
|
/**
|
|
6316
|
-
* Region code for tenant context (decorative for
|
|
7212
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6317
7213
|
*/
|
|
6318
7214
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6319
|
-
requestBody:
|
|
7215
|
+
requestBody: ComputeReconciliationDto;
|
|
6320
7216
|
};
|
|
6321
7217
|
|
|
6322
|
-
export type
|
|
7218
|
+
export type ReconciliationControllerComputeResponse =
|
|
7219
|
+
ReconciliationComputeResultDto;
|
|
6323
7220
|
|
|
6324
|
-
export type
|
|
7221
|
+
export type ReconciliationControllerAssertData = {
|
|
6325
7222
|
/**
|
|
6326
|
-
*
|
|
7223
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6327
7224
|
*/
|
|
6328
|
-
|
|
7225
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7226
|
+
requestBody: AssertReconciliationDto;
|
|
7227
|
+
};
|
|
7228
|
+
|
|
7229
|
+
export type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
|
|
7230
|
+
|
|
7231
|
+
export type ReconciliationControllerPadData = {
|
|
6329
7232
|
/**
|
|
6330
|
-
* Region code for tenant context (decorative for
|
|
7233
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6331
7234
|
*/
|
|
6332
7235
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7236
|
+
requestBody: PadReconciliationDto;
|
|
6333
7237
|
};
|
|
6334
7238
|
|
|
6335
|
-
export type
|
|
7239
|
+
export type ReconciliationControllerPadResponse = PadResultDto;
|
|
6336
7240
|
|
|
6337
|
-
export type
|
|
6338
|
-
accountPattern: string;
|
|
6339
|
-
granularity: string;
|
|
7241
|
+
export type ReconciliationControllerHistoryData = {
|
|
6340
7242
|
/**
|
|
6341
|
-
*
|
|
7243
|
+
* BeanAccount id
|
|
6342
7244
|
*/
|
|
6343
|
-
|
|
7245
|
+
accountId: string;
|
|
6344
7246
|
/**
|
|
6345
|
-
* Region code for tenant context (decorative for
|
|
7247
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6346
7248
|
*/
|
|
6347
7249
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6348
7250
|
};
|
|
6349
7251
|
|
|
6350
|
-
export type
|
|
7252
|
+
export type ReconciliationControllerHistoryResponse =
|
|
7253
|
+
Array<ReconciliationRecordDto>;
|
|
6351
7254
|
|
|
6352
7255
|
export type ExportControllerExportBeancountResponse = unknown;
|
|
6353
7256
|
|
|
@@ -6441,48 +7344,6 @@ export type ImporterConfigControllerResetConfigData = {
|
|
|
6441
7344
|
|
|
6442
7345
|
export type ImporterConfigControllerResetConfigResponse = ImporterConfigDto;
|
|
6443
7346
|
|
|
6444
|
-
export type PlatformControllerFindAllResponse = unknown;
|
|
6445
|
-
|
|
6446
|
-
export type PlatformControllerCreateData = {
|
|
6447
|
-
requestBody: CreatePlatformDto;
|
|
6448
|
-
};
|
|
6449
|
-
|
|
6450
|
-
export type PlatformControllerCreateResponse = unknown;
|
|
6451
|
-
|
|
6452
|
-
export type PlatformControllerGetPlatformListResponse = unknown;
|
|
6453
|
-
|
|
6454
|
-
export type PlatformControllerMatchPlatformsData = {
|
|
6455
|
-
/**
|
|
6456
|
-
* Search query — Chinese name, English name, or abbreviation
|
|
6457
|
-
*/
|
|
6458
|
-
q: string;
|
|
6459
|
-
/**
|
|
6460
|
-
* Region code for category override lookup
|
|
6461
|
-
*/
|
|
6462
|
-
region?: string;
|
|
6463
|
-
};
|
|
6464
|
-
|
|
6465
|
-
export type PlatformControllerMatchPlatformsResponse = unknown;
|
|
6466
|
-
|
|
6467
|
-
export type PlatformControllerUpdateData = {
|
|
6468
|
-
/**
|
|
6469
|
-
* Platform ID
|
|
6470
|
-
*/
|
|
6471
|
-
id: string;
|
|
6472
|
-
requestBody: UpdatePlatformDto;
|
|
6473
|
-
};
|
|
6474
|
-
|
|
6475
|
-
export type PlatformControllerUpdateResponse = unknown;
|
|
6476
|
-
|
|
6477
|
-
export type PlatformControllerDeleteData = {
|
|
6478
|
-
/**
|
|
6479
|
-
* Platform ID
|
|
6480
|
-
*/
|
|
6481
|
-
id: string;
|
|
6482
|
-
};
|
|
6483
|
-
|
|
6484
|
-
export type PlatformControllerDeleteResponse = void;
|
|
6485
|
-
|
|
6486
7347
|
export type ProviderSyncControllerSyncData = {
|
|
6487
7348
|
/**
|
|
6488
7349
|
* Provider name
|
|
@@ -6528,6 +7389,49 @@ export type ProviderSyncControllerIsProviderSupportedData = {
|
|
|
6528
7389
|
|
|
6529
7390
|
export type ProviderSyncControllerIsProviderSupportedResponse = unknown;
|
|
6530
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
|
+
|
|
6531
7435
|
export type TelemetryControllerReportTelemetryData = {
|
|
6532
7436
|
/**
|
|
6533
7437
|
* Region code for tenant context
|
|
@@ -6600,203 +7504,114 @@ export type NlpControllerGetSessionData = {
|
|
|
6600
7504
|
|
|
6601
7505
|
export type NlpControllerGetSessionResponse = unknown;
|
|
6602
7506
|
|
|
6603
|
-
export type
|
|
6604
|
-
/**
|
|
6605
|
-
* Date for balance calculation (ISO 8601 format)
|
|
6606
|
-
*/
|
|
6607
|
-
date?: string;
|
|
6608
|
-
/**
|
|
6609
|
-
* Region code for tenant context
|
|
6610
|
-
*/
|
|
6611
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6612
|
-
};
|
|
6613
|
-
|
|
6614
|
-
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
7507
|
+
export type PlatformControllerFindAllResponse = unknown;
|
|
6615
7508
|
|
|
6616
|
-
export type
|
|
6617
|
-
|
|
6618
|
-
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6619
|
-
*/
|
|
6620
|
-
accountId?: string;
|
|
6621
|
-
/**
|
|
6622
|
-
* Date for balance calculation (ISO 8601 format)
|
|
6623
|
-
*/
|
|
6624
|
-
date?: string;
|
|
6625
|
-
/**
|
|
6626
|
-
* Grouping strategy
|
|
6627
|
-
*/
|
|
6628
|
-
groupBy?:
|
|
6629
|
-
| 'platform'
|
|
6630
|
-
| 'assetClass'
|
|
6631
|
-
| 'holdingAssetClass'
|
|
6632
|
-
| 'holdingAssetClassByAccount';
|
|
6633
|
-
/**
|
|
6634
|
-
* Region code for tenant context
|
|
6635
|
-
*/
|
|
6636
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7509
|
+
export type PlatformControllerCreateData = {
|
|
7510
|
+
requestBody: CreatePlatformDto;
|
|
6637
7511
|
};
|
|
6638
7512
|
|
|
6639
|
-
export type
|
|
6640
|
-
| AccountsResponseDto
|
|
6641
|
-
| AssetClassAccountsResponseDto
|
|
6642
|
-
| HoldingAssetClassCrossAccountResponseDto;
|
|
6643
|
-
|
|
6644
|
-
export type DashboardControllerGetCashFlowData = {
|
|
6645
|
-
/**
|
|
6646
|
-
* Period in YYYY-MM format
|
|
6647
|
-
*/
|
|
6648
|
-
period: string;
|
|
6649
|
-
/**
|
|
6650
|
-
* Region code for tenant context
|
|
6651
|
-
*/
|
|
6652
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6653
|
-
};
|
|
7513
|
+
export type PlatformControllerCreateResponse = unknown;
|
|
6654
7514
|
|
|
6655
|
-
export type
|
|
7515
|
+
export type PlatformControllerGetPlatformListResponse =
|
|
7516
|
+
Array<PlatformListItemDto>;
|
|
6656
7517
|
|
|
6657
|
-
export type
|
|
6658
|
-
/**
|
|
6659
|
-
* Scope to a single account
|
|
6660
|
-
*/
|
|
6661
|
-
accountId?: string;
|
|
6662
|
-
/**
|
|
6663
|
-
* As-of date (ISO 8601), defaults to today
|
|
6664
|
-
*/
|
|
6665
|
-
asOf?: string;
|
|
6666
|
-
/**
|
|
6667
|
-
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
6668
|
-
*/
|
|
6669
|
-
method?: 'FIFO' | 'average';
|
|
7518
|
+
export type PlatformControllerMatchPlatformsData = {
|
|
6670
7519
|
/**
|
|
6671
|
-
*
|
|
7520
|
+
* Search query — Chinese name, English name, or abbreviation
|
|
6672
7521
|
*/
|
|
6673
|
-
|
|
6674
|
-
};
|
|
6675
|
-
|
|
6676
|
-
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
6677
|
-
|
|
6678
|
-
export type PriceControllerCreateData = {
|
|
7522
|
+
q: string;
|
|
6679
7523
|
/**
|
|
6680
|
-
* Region code for
|
|
7524
|
+
* Region code for category override lookup
|
|
6681
7525
|
*/
|
|
6682
|
-
region
|
|
6683
|
-
requestBody: CreateBeanPriceDto;
|
|
7526
|
+
region?: string;
|
|
6684
7527
|
};
|
|
6685
7528
|
|
|
6686
|
-
export type
|
|
7529
|
+
export type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
|
|
6687
7530
|
|
|
6688
|
-
export type
|
|
6689
|
-
/**
|
|
6690
|
-
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6691
|
-
*/
|
|
6692
|
-
currency?: string;
|
|
6693
|
-
/**
|
|
6694
|
-
* Filter prices from this date (ISO 8601 format)
|
|
6695
|
-
*/
|
|
6696
|
-
dateFrom?: string;
|
|
6697
|
-
/**
|
|
6698
|
-
* Filter prices to this date (ISO 8601 format)
|
|
6699
|
-
*/
|
|
6700
|
-
dateTo?: string;
|
|
6701
|
-
/**
|
|
6702
|
-
* Number of items per page (default: 20, max: 100)
|
|
6703
|
-
*/
|
|
6704
|
-
limit?: number;
|
|
6705
|
-
/**
|
|
6706
|
-
* Page number for pagination (default: 1)
|
|
6707
|
-
*/
|
|
6708
|
-
page?: number;
|
|
6709
|
-
/**
|
|
6710
|
-
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
6711
|
-
*/
|
|
6712
|
-
quoteCurrency?: string;
|
|
6713
|
-
/**
|
|
6714
|
-
* Region code for tenant context
|
|
6715
|
-
*/
|
|
6716
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7531
|
+
export type PlatformControllerUpdateData = {
|
|
6717
7532
|
/**
|
|
6718
|
-
*
|
|
7533
|
+
* Platform ID
|
|
6719
7534
|
*/
|
|
6720
|
-
|
|
7535
|
+
id: string;
|
|
7536
|
+
requestBody: UpdatePlatformDto;
|
|
6721
7537
|
};
|
|
6722
7538
|
|
|
6723
|
-
export type
|
|
7539
|
+
export type PlatformControllerUpdateResponse = unknown;
|
|
6724
7540
|
|
|
6725
|
-
export type
|
|
7541
|
+
export type PlatformControllerDeleteData = {
|
|
6726
7542
|
/**
|
|
6727
|
-
*
|
|
7543
|
+
* Platform ID
|
|
6728
7544
|
*/
|
|
6729
7545
|
id: string;
|
|
6730
|
-
/**
|
|
6731
|
-
* Region code for tenant context
|
|
6732
|
-
*/
|
|
6733
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6734
7546
|
};
|
|
6735
7547
|
|
|
6736
|
-
export type
|
|
7548
|
+
export type PlatformControllerDeleteResponse = void;
|
|
6737
7549
|
|
|
6738
|
-
export type
|
|
7550
|
+
export type DashboardControllerGetNetWorthData = {
|
|
6739
7551
|
/**
|
|
6740
|
-
*
|
|
7552
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6741
7553
|
*/
|
|
6742
|
-
|
|
7554
|
+
date?: string;
|
|
6743
7555
|
/**
|
|
6744
7556
|
* Region code for tenant context
|
|
6745
7557
|
*/
|
|
6746
7558
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6747
|
-
requestBody: UpdateBeanPriceDto;
|
|
6748
7559
|
};
|
|
6749
7560
|
|
|
6750
|
-
export type
|
|
7561
|
+
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
6751
7562
|
|
|
6752
|
-
export type
|
|
7563
|
+
export type DashboardControllerGetAccountsData = {
|
|
6753
7564
|
/**
|
|
6754
|
-
*
|
|
7565
|
+
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6755
7566
|
*/
|
|
6756
|
-
|
|
7567
|
+
accountId?: string;
|
|
6757
7568
|
/**
|
|
6758
|
-
*
|
|
6759
|
-
*/
|
|
6760
|
-
|
|
6761
|
-
|
|
6762
|
-
|
|
6763
|
-
|
|
6764
|
-
|
|
6765
|
-
|
|
7569
|
+
* Date for balance calculation (ISO 8601 format)
|
|
7570
|
+
*/
|
|
7571
|
+
date?: string;
|
|
7572
|
+
/**
|
|
7573
|
+
* Grouping strategy
|
|
7574
|
+
*/
|
|
7575
|
+
groupBy?:
|
|
7576
|
+
| 'platform'
|
|
7577
|
+
| 'assetClass'
|
|
7578
|
+
| 'holdingAssetClass'
|
|
7579
|
+
| 'holdingAssetClassByAccount';
|
|
6766
7580
|
/**
|
|
6767
7581
|
* Region code for tenant context
|
|
6768
7582
|
*/
|
|
6769
7583
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6770
|
-
requestBody: Array<string>;
|
|
6771
7584
|
};
|
|
6772
7585
|
|
|
6773
|
-
export type
|
|
7586
|
+
export type DashboardControllerGetAccountsResponse =
|
|
7587
|
+
| AccountsResponseDto
|
|
7588
|
+
| AssetClassAccountsResponseDto
|
|
7589
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
6774
7590
|
|
|
6775
|
-
export type
|
|
6776
|
-
/**
|
|
6777
|
-
* Data granularity
|
|
6778
|
-
*/
|
|
6779
|
-
granularity?: 'day' | 'week' | 'month';
|
|
7591
|
+
export type DashboardControllerGetCashFlowData = {
|
|
6780
7592
|
/**
|
|
6781
|
-
*
|
|
7593
|
+
* Period in YYYY-MM format
|
|
6782
7594
|
*/
|
|
6783
|
-
period
|
|
7595
|
+
period: string;
|
|
6784
7596
|
/**
|
|
6785
7597
|
* Region code for tenant context
|
|
6786
7598
|
*/
|
|
6787
7599
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6788
7600
|
};
|
|
6789
7601
|
|
|
6790
|
-
export type
|
|
6791
|
-
PortfolioTrendsResponseDto;
|
|
7602
|
+
export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
|
|
6792
7603
|
|
|
6793
|
-
export type
|
|
7604
|
+
export type DashboardControllerGetExpensesData = {
|
|
6794
7605
|
/**
|
|
6795
|
-
*
|
|
7606
|
+
* Account root to aggregate (expense → ^Expenses:, income → ^Income:)
|
|
6796
7607
|
*/
|
|
6797
|
-
|
|
7608
|
+
flow?: 'expense' | 'income';
|
|
6798
7609
|
/**
|
|
6799
|
-
*
|
|
7610
|
+
* Grouping strategy
|
|
7611
|
+
*/
|
|
7612
|
+
groupBy?: 'category';
|
|
7613
|
+
/**
|
|
7614
|
+
* Time window (1m = current calendar month)
|
|
6800
7615
|
*/
|
|
6801
7616
|
period?: '1m' | '3m' | '6m' | '1y';
|
|
6802
7617
|
/**
|
|
@@ -6805,33 +7620,29 @@ export type ReportingControllerGetCashFlowTrendsData = {
|
|
|
6805
7620
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6806
7621
|
};
|
|
6807
7622
|
|
|
6808
|
-
export type
|
|
6809
|
-
|
|
7623
|
+
export type DashboardControllerGetExpensesResponse =
|
|
7624
|
+
ExpensesByCategoryResponseDto;
|
|
6810
7625
|
|
|
6811
|
-
export type
|
|
7626
|
+
export type HoldingPnlControllerGetHoldingPnlData = {
|
|
6812
7627
|
/**
|
|
6813
|
-
*
|
|
7628
|
+
* Scope to a single account
|
|
6814
7629
|
*/
|
|
6815
|
-
|
|
7630
|
+
accountId?: string;
|
|
6816
7631
|
/**
|
|
6817
|
-
*
|
|
7632
|
+
* As-of date (ISO 8601), defaults to today
|
|
6818
7633
|
*/
|
|
6819
|
-
|
|
6820
|
-
|
|
6821
|
-
|
|
6822
|
-
|
|
6823
|
-
|
|
6824
|
-
|
|
6825
|
-
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';
|
|
6826
7639
|
/**
|
|
6827
7640
|
* Region code for tenant context
|
|
6828
7641
|
*/
|
|
6829
7642
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6830
|
-
requestBody: BackfillSnapshotsBody;
|
|
6831
7643
|
};
|
|
6832
7644
|
|
|
6833
|
-
export type
|
|
6834
|
-
BackfillSnapshotsResponse;
|
|
7645
|
+
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
6835
7646
|
|
|
6836
7647
|
export type ApiKeysControllerCreateApiKeyResponse = unknown;
|
|
6837
7648
|
|
|
@@ -6839,7 +7650,7 @@ export type AuthControllerAccessTokenLoginData = {
|
|
|
6839
7650
|
requestBody: AnonymousLoginDto;
|
|
6840
7651
|
};
|
|
6841
7652
|
|
|
6842
|
-
export type AuthControllerAccessTokenLoginResponse =
|
|
7653
|
+
export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
|
|
6843
7654
|
|
|
6844
7655
|
export type CacheControllerFlushCacheResponse = unknown;
|
|
6845
7656
|
|
|
@@ -6879,6 +7690,33 @@ export type HealthControllerGetMetricsResponse = unknown;
|
|
|
6879
7690
|
|
|
6880
7691
|
export type InfoControllerGetInfoResponse = unknown;
|
|
6881
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
|
+
|
|
6882
7720
|
export type $OpenApiTs = {
|
|
6883
7721
|
'/api/v1/{region}/bean/accounts': {
|
|
6884
7722
|
post: {
|
|
@@ -6987,6 +7825,25 @@ export type $OpenApiTs = {
|
|
|
6987
7825
|
};
|
|
6988
7826
|
};
|
|
6989
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
|
+
};
|
|
6990
7847
|
'/api/v1/{region}/bean/account-standards': {
|
|
6991
7848
|
get: {
|
|
6992
7849
|
req: AccountStandardsControllerGetTemplatesData;
|
|
@@ -7595,6 +8452,90 @@ export type $OpenApiTs = {
|
|
|
7595
8452
|
};
|
|
7596
8453
|
};
|
|
7597
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
|
+
};
|
|
7598
8539
|
'/api/v1/{region}/bean/recurring-rules': {
|
|
7599
8540
|
post: {
|
|
7600
8541
|
req: RecurringRuleControllerCreateData;
|
|
@@ -7845,397 +8786,469 @@ export type $OpenApiTs = {
|
|
|
7845
8786
|
};
|
|
7846
8787
|
};
|
|
7847
8788
|
};
|
|
7848
|
-
'/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': {
|
|
7849
8820
|
post: {
|
|
7850
|
-
req:
|
|
8821
|
+
req: ReportingControllerGenerateSnapshotData;
|
|
7851
8822
|
res: {
|
|
7852
8823
|
/**
|
|
7853
|
-
*
|
|
8824
|
+
* Snapshot generated successfully
|
|
7854
8825
|
*/
|
|
7855
|
-
200:
|
|
8826
|
+
200: GenerateSnapshotResponse;
|
|
7856
8827
|
/**
|
|
7857
|
-
*
|
|
8828
|
+
* Invalid date format
|
|
7858
8829
|
*/
|
|
7859
|
-
400:
|
|
8830
|
+
400: unknown;
|
|
7860
8831
|
/**
|
|
7861
|
-
*
|
|
8832
|
+
* User not authenticated
|
|
7862
8833
|
*/
|
|
7863
|
-
401:
|
|
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: {
|
|
8865
|
+
/**
|
|
8866
|
+
* User deleted successfully
|
|
8867
|
+
*/
|
|
8868
|
+
204: void;
|
|
7864
8869
|
/**
|
|
7865
|
-
*
|
|
8870
|
+
* Invalid access token
|
|
7866
8871
|
*/
|
|
7867
|
-
|
|
8872
|
+
403: unknown;
|
|
7868
8873
|
};
|
|
7869
8874
|
};
|
|
7870
8875
|
get: {
|
|
7871
|
-
req:
|
|
8876
|
+
req: UserControllerGetUserData;
|
|
7872
8877
|
res: {
|
|
7873
8878
|
/**
|
|
7874
|
-
*
|
|
7875
|
-
*/
|
|
7876
|
-
200: TransactionRuleListResponseDto;
|
|
7877
|
-
/**
|
|
7878
|
-
* Unauthorized
|
|
8879
|
+
* User retrieved successfully
|
|
7879
8880
|
*/
|
|
7880
|
-
|
|
8881
|
+
200: unknown;
|
|
7881
8882
|
};
|
|
7882
8883
|
};
|
|
7883
|
-
};
|
|
7884
|
-
'/api/v1/{region}/bean/transaction-rules/validate': {
|
|
7885
8884
|
post: {
|
|
7886
|
-
req:
|
|
8885
|
+
req: UserControllerSignupUserData;
|
|
7887
8886
|
res: {
|
|
7888
8887
|
/**
|
|
7889
|
-
*
|
|
8888
|
+
* User created successfully
|
|
7890
8889
|
*/
|
|
7891
|
-
|
|
8890
|
+
201: SignupResponseDto;
|
|
7892
8891
|
/**
|
|
7893
|
-
*
|
|
8892
|
+
* Invalid Turnstile token (when Turnstile is enabled)
|
|
7894
8893
|
*/
|
|
7895
|
-
400:
|
|
8894
|
+
400: unknown;
|
|
7896
8895
|
/**
|
|
7897
|
-
*
|
|
8896
|
+
* User signup is disabled
|
|
7898
8897
|
*/
|
|
7899
|
-
|
|
8898
|
+
403: unknown;
|
|
7900
8899
|
};
|
|
7901
8900
|
};
|
|
7902
8901
|
};
|
|
7903
|
-
'/api/v1/{
|
|
7904
|
-
|
|
7905
|
-
req:
|
|
8902
|
+
'/api/v1/users/{id}': {
|
|
8903
|
+
delete: {
|
|
8904
|
+
req: UserControllerDeleteUserData;
|
|
7906
8905
|
res: {
|
|
7907
8906
|
/**
|
|
7908
|
-
*
|
|
7909
|
-
*/
|
|
7910
|
-
201: BulkCreateRulesResponseDto;
|
|
7911
|
-
/**
|
|
7912
|
-
* Invalid bulk create data
|
|
8907
|
+
* User deleted successfully
|
|
7913
8908
|
*/
|
|
7914
|
-
|
|
8909
|
+
204: void;
|
|
7915
8910
|
/**
|
|
7916
|
-
*
|
|
8911
|
+
* Cannot delete own account or insufficient permissions
|
|
7917
8912
|
*/
|
|
7918
|
-
|
|
8913
|
+
403: unknown;
|
|
7919
8914
|
};
|
|
7920
8915
|
};
|
|
7921
8916
|
};
|
|
7922
|
-
'/api/v1/{
|
|
8917
|
+
'/api/v1/users/{id}/info': {
|
|
7923
8918
|
get: {
|
|
7924
|
-
req:
|
|
8919
|
+
req: UserControllerGetUserInfoData;
|
|
7925
8920
|
res: {
|
|
7926
8921
|
/**
|
|
7927
|
-
*
|
|
7928
|
-
*/
|
|
7929
|
-
200: ExportRulesResponseDto;
|
|
7930
|
-
/**
|
|
7931
|
-
* Unsupported format
|
|
8922
|
+
* User info retrieved successfully
|
|
7932
8923
|
*/
|
|
7933
|
-
|
|
8924
|
+
200: unknown;
|
|
7934
8925
|
/**
|
|
7935
|
-
*
|
|
8926
|
+
* Cannot access other user info without admin permission
|
|
7936
8927
|
*/
|
|
7937
|
-
|
|
8928
|
+
403: unknown;
|
|
7938
8929
|
};
|
|
7939
8930
|
};
|
|
7940
8931
|
};
|
|
7941
|
-
'/api/v1/
|
|
7942
|
-
|
|
7943
|
-
req:
|
|
8932
|
+
'/api/v1/users/setting': {
|
|
8933
|
+
put: {
|
|
8934
|
+
req: UserControllerUpdateUserSettingData;
|
|
7944
8935
|
res: {
|
|
7945
8936
|
/**
|
|
7946
|
-
*
|
|
8937
|
+
* Settings updated successfully
|
|
7947
8938
|
*/
|
|
7948
|
-
200:
|
|
8939
|
+
200: unknown;
|
|
7949
8940
|
/**
|
|
7950
|
-
*
|
|
8941
|
+
* Insufficient permissions
|
|
7951
8942
|
*/
|
|
7952
|
-
|
|
8943
|
+
403: unknown;
|
|
7953
8944
|
};
|
|
7954
8945
|
};
|
|
7955
8946
|
};
|
|
7956
|
-
'/api/v1/
|
|
8947
|
+
'/api/v1/users/settings-by-page': {
|
|
7957
8948
|
get: {
|
|
7958
|
-
req:
|
|
8949
|
+
req: UserControllerGetAllUserSettingsByPageData;
|
|
7959
8950
|
res: {
|
|
7960
8951
|
/**
|
|
7961
|
-
*
|
|
7962
|
-
*/
|
|
7963
|
-
200: TransactionRuleResponseDto;
|
|
7964
|
-
/**
|
|
7965
|
-
* Unauthorized
|
|
7966
|
-
*/
|
|
7967
|
-
401: ApiProblemResponseDto;
|
|
7968
|
-
/**
|
|
7969
|
-
* Forbidden - not owner of rule
|
|
7970
|
-
*/
|
|
7971
|
-
403: ApiProblemResponseDto;
|
|
7972
|
-
/**
|
|
7973
|
-
* Rule not found
|
|
8952
|
+
* Settings list retrieved successfully
|
|
7974
8953
|
*/
|
|
7975
|
-
|
|
8954
|
+
200: unknown;
|
|
7976
8955
|
};
|
|
7977
8956
|
};
|
|
7978
|
-
|
|
7979
|
-
|
|
8957
|
+
};
|
|
8958
|
+
'/api/v1/users/asset-liability-summary': {
|
|
8959
|
+
get: {
|
|
7980
8960
|
res: {
|
|
7981
8961
|
/**
|
|
7982
|
-
*
|
|
8962
|
+
* Summary retrieved successfully
|
|
7983
8963
|
*/
|
|
7984
|
-
200:
|
|
8964
|
+
200: unknown;
|
|
8965
|
+
};
|
|
8966
|
+
};
|
|
8967
|
+
};
|
|
8968
|
+
'/api/v1/admin/properties': {
|
|
8969
|
+
get: {
|
|
8970
|
+
res: {
|
|
7985
8971
|
/**
|
|
7986
|
-
*
|
|
8972
|
+
* Properties retrieved successfully
|
|
7987
8973
|
*/
|
|
7988
|
-
|
|
8974
|
+
200: unknown;
|
|
7989
8975
|
/**
|
|
7990
8976
|
* Unauthorized
|
|
7991
8977
|
*/
|
|
7992
|
-
401:
|
|
7993
|
-
/**
|
|
7994
|
-
* Forbidden - not owner of rule
|
|
7995
|
-
*/
|
|
7996
|
-
403: ApiProblemResponseDto;
|
|
7997
|
-
/**
|
|
7998
|
-
* Rule not found
|
|
7999
|
-
*/
|
|
8000
|
-
404: ApiProblemResponseDto;
|
|
8978
|
+
401: unknown;
|
|
8001
8979
|
/**
|
|
8002
|
-
*
|
|
8980
|
+
* Forbidden - insufficient permissions
|
|
8003
8981
|
*/
|
|
8004
|
-
|
|
8982
|
+
403: unknown;
|
|
8005
8983
|
};
|
|
8006
8984
|
};
|
|
8007
|
-
|
|
8008
|
-
|
|
8985
|
+
};
|
|
8986
|
+
'/api/v1/admin/properties/{key}': {
|
|
8987
|
+
get: {
|
|
8988
|
+
req: PropertyControllerGetByKeyData;
|
|
8009
8989
|
res: {
|
|
8010
8990
|
/**
|
|
8011
|
-
*
|
|
8991
|
+
* Property retrieved successfully
|
|
8012
8992
|
*/
|
|
8013
|
-
|
|
8993
|
+
200: unknown;
|
|
8014
8994
|
/**
|
|
8015
8995
|
* Unauthorized
|
|
8016
8996
|
*/
|
|
8017
|
-
401:
|
|
8018
|
-
/**
|
|
8019
|
-
* Forbidden - not owner of rule
|
|
8020
|
-
*/
|
|
8021
|
-
403: ApiProblemResponseDto;
|
|
8997
|
+
401: unknown;
|
|
8022
8998
|
/**
|
|
8023
|
-
*
|
|
8999
|
+
* Forbidden - insufficient permissions
|
|
8024
9000
|
*/
|
|
8025
|
-
|
|
9001
|
+
403: unknown;
|
|
8026
9002
|
/**
|
|
8027
|
-
*
|
|
9003
|
+
* Property not found
|
|
8028
9004
|
*/
|
|
8029
|
-
|
|
9005
|
+
404: unknown;
|
|
8030
9006
|
};
|
|
8031
9007
|
};
|
|
8032
|
-
|
|
8033
|
-
|
|
8034
|
-
post: {
|
|
8035
|
-
req: TransactionRuleControllerTestData;
|
|
9008
|
+
put: {
|
|
9009
|
+
req: PropertyControllerUpdateData;
|
|
8036
9010
|
res: {
|
|
8037
9011
|
/**
|
|
8038
|
-
*
|
|
9012
|
+
* Property updated successfully
|
|
8039
9013
|
*/
|
|
8040
|
-
200:
|
|
9014
|
+
200: unknown;
|
|
8041
9015
|
/**
|
|
8042
9016
|
* Unauthorized
|
|
8043
9017
|
*/
|
|
8044
|
-
401:
|
|
8045
|
-
/**
|
|
8046
|
-
* Forbidden - not owner of rule
|
|
8047
|
-
*/
|
|
8048
|
-
403: ApiProblemResponseDto;
|
|
9018
|
+
401: unknown;
|
|
8049
9019
|
/**
|
|
8050
|
-
*
|
|
9020
|
+
* Forbidden - insufficient permissions
|
|
8051
9021
|
*/
|
|
8052
|
-
|
|
9022
|
+
403: unknown;
|
|
8053
9023
|
};
|
|
8054
9024
|
};
|
|
8055
|
-
};
|
|
8056
|
-
'/api/v1/users': {
|
|
8057
9025
|
delete: {
|
|
8058
|
-
req:
|
|
9026
|
+
req: PropertyControllerDeleteData;
|
|
8059
9027
|
res: {
|
|
8060
9028
|
/**
|
|
8061
|
-
*
|
|
9029
|
+
* Property deleted successfully
|
|
8062
9030
|
*/
|
|
8063
9031
|
204: void;
|
|
8064
9032
|
/**
|
|
8065
|
-
*
|
|
9033
|
+
* Unauthorized
|
|
9034
|
+
*/
|
|
9035
|
+
401: unknown;
|
|
9036
|
+
/**
|
|
9037
|
+
* Forbidden - insufficient permissions
|
|
8066
9038
|
*/
|
|
8067
9039
|
403: unknown;
|
|
8068
|
-
};
|
|
8069
|
-
};
|
|
8070
|
-
get: {
|
|
8071
|
-
req: UserControllerGetUserData;
|
|
8072
|
-
res: {
|
|
8073
9040
|
/**
|
|
8074
|
-
*
|
|
9041
|
+
* Property not found
|
|
8075
9042
|
*/
|
|
8076
|
-
|
|
9043
|
+
404: unknown;
|
|
8077
9044
|
};
|
|
8078
9045
|
};
|
|
9046
|
+
};
|
|
9047
|
+
'/api/v1/{region}/bean/transaction-rules': {
|
|
8079
9048
|
post: {
|
|
8080
|
-
req:
|
|
9049
|
+
req: TransactionRuleControllerCreateData;
|
|
8081
9050
|
res: {
|
|
8082
9051
|
/**
|
|
8083
|
-
*
|
|
9052
|
+
* Rule updated successfully (upsert mode)
|
|
8084
9053
|
*/
|
|
8085
|
-
|
|
9054
|
+
200: TransactionRuleResponseDto;
|
|
8086
9055
|
/**
|
|
8087
|
-
*
|
|
9056
|
+
* Validation failed
|
|
8088
9057
|
*/
|
|
8089
|
-
400:
|
|
9058
|
+
400: ApiProblemResponseDto;
|
|
8090
9059
|
/**
|
|
8091
|
-
*
|
|
9060
|
+
* Unauthorized
|
|
8092
9061
|
*/
|
|
8093
|
-
|
|
9062
|
+
401: ApiProblemResponseDto;
|
|
9063
|
+
/**
|
|
9064
|
+
* Resource conflict - another process is updating this rule
|
|
9065
|
+
*/
|
|
9066
|
+
409: ApiProblemResponseDto;
|
|
8094
9067
|
};
|
|
8095
9068
|
};
|
|
8096
|
-
|
|
8097
|
-
|
|
8098
|
-
delete: {
|
|
8099
|
-
req: UserControllerDeleteUserData;
|
|
9069
|
+
get: {
|
|
9070
|
+
req: TransactionRuleControllerListData;
|
|
8100
9071
|
res: {
|
|
8101
9072
|
/**
|
|
8102
|
-
*
|
|
9073
|
+
* List of rules
|
|
8103
9074
|
*/
|
|
8104
|
-
|
|
9075
|
+
200: TransactionRuleListResponseDto;
|
|
8105
9076
|
/**
|
|
8106
|
-
*
|
|
9077
|
+
* Unauthorized
|
|
8107
9078
|
*/
|
|
8108
|
-
|
|
9079
|
+
401: ApiProblemResponseDto;
|
|
8109
9080
|
};
|
|
8110
9081
|
};
|
|
8111
9082
|
};
|
|
8112
|
-
'/api/v1/
|
|
8113
|
-
|
|
8114
|
-
req:
|
|
9083
|
+
'/api/v1/{region}/bean/transaction-rules/validate': {
|
|
9084
|
+
post: {
|
|
9085
|
+
req: TransactionRuleControllerValidateData;
|
|
8115
9086
|
res: {
|
|
8116
9087
|
/**
|
|
8117
|
-
*
|
|
9088
|
+
* Validation result
|
|
8118
9089
|
*/
|
|
8119
|
-
200:
|
|
9090
|
+
200: ValidateRuleResponseDto;
|
|
8120
9091
|
/**
|
|
8121
|
-
*
|
|
9092
|
+
* Validation failed
|
|
8122
9093
|
*/
|
|
8123
|
-
|
|
9094
|
+
400: ApiProblemResponseDto;
|
|
9095
|
+
/**
|
|
9096
|
+
* Unauthorized
|
|
9097
|
+
*/
|
|
9098
|
+
401: ApiProblemResponseDto;
|
|
8124
9099
|
};
|
|
8125
9100
|
};
|
|
8126
9101
|
};
|
|
8127
|
-
'/api/v1/
|
|
8128
|
-
|
|
8129
|
-
req:
|
|
9102
|
+
'/api/v1/{region}/bean/transaction-rules/bulk': {
|
|
9103
|
+
post: {
|
|
9104
|
+
req: TransactionRuleControllerBulkCreateData;
|
|
8130
9105
|
res: {
|
|
8131
9106
|
/**
|
|
8132
|
-
*
|
|
9107
|
+
* Bulk create completed
|
|
9108
|
+
*/
|
|
9109
|
+
201: BulkCreateRulesResponseDto;
|
|
9110
|
+
/**
|
|
9111
|
+
* Invalid bulk create data
|
|
8133
9112
|
*/
|
|
8134
|
-
|
|
9113
|
+
400: ApiProblemResponseDto;
|
|
8135
9114
|
/**
|
|
8136
|
-
*
|
|
9115
|
+
* Unauthorized
|
|
8137
9116
|
*/
|
|
8138
|
-
|
|
9117
|
+
401: ApiProblemResponseDto;
|
|
8139
9118
|
};
|
|
8140
9119
|
};
|
|
8141
9120
|
};
|
|
8142
|
-
'/api/v1/
|
|
9121
|
+
'/api/v1/{region}/bean/transaction-rules/export/{format}': {
|
|
8143
9122
|
get: {
|
|
8144
|
-
req:
|
|
9123
|
+
req: TransactionRuleControllerExportData;
|
|
8145
9124
|
res: {
|
|
8146
9125
|
/**
|
|
8147
|
-
*
|
|
9126
|
+
* Exported rules
|
|
8148
9127
|
*/
|
|
8149
|
-
200:
|
|
9128
|
+
200: ExportRulesResponseDto;
|
|
9129
|
+
/**
|
|
9130
|
+
* Unsupported format
|
|
9131
|
+
*/
|
|
9132
|
+
400: ApiProblemResponseDto;
|
|
9133
|
+
/**
|
|
9134
|
+
* Unauthorized
|
|
9135
|
+
*/
|
|
9136
|
+
401: ApiProblemResponseDto;
|
|
8150
9137
|
};
|
|
8151
9138
|
};
|
|
8152
9139
|
};
|
|
8153
|
-
'/api/v1/
|
|
9140
|
+
'/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
|
|
8154
9141
|
get: {
|
|
9142
|
+
req: TransactionRuleControllerGetStatisticsData;
|
|
8155
9143
|
res: {
|
|
8156
9144
|
/**
|
|
8157
|
-
*
|
|
9145
|
+
* Rule statistics
|
|
8158
9146
|
*/
|
|
8159
|
-
200:
|
|
9147
|
+
200: RuleStatisticsResponseDto;
|
|
9148
|
+
/**
|
|
9149
|
+
* Unauthorized
|
|
9150
|
+
*/
|
|
9151
|
+
401: ApiProblemResponseDto;
|
|
8160
9152
|
};
|
|
8161
9153
|
};
|
|
8162
9154
|
};
|
|
8163
|
-
'/api/v1/
|
|
9155
|
+
'/api/v1/{region}/bean/transaction-rules/{ruleId}': {
|
|
8164
9156
|
get: {
|
|
9157
|
+
req: TransactionRuleControllerGetDetailData;
|
|
8165
9158
|
res: {
|
|
8166
9159
|
/**
|
|
8167
|
-
*
|
|
9160
|
+
* Rule details
|
|
8168
9161
|
*/
|
|
8169
|
-
200:
|
|
9162
|
+
200: TransactionRuleResponseDto;
|
|
8170
9163
|
/**
|
|
8171
9164
|
* Unauthorized
|
|
8172
9165
|
*/
|
|
8173
|
-
401:
|
|
9166
|
+
401: ApiProblemResponseDto;
|
|
8174
9167
|
/**
|
|
8175
|
-
* Forbidden -
|
|
9168
|
+
* Forbidden - not owner of rule
|
|
8176
9169
|
*/
|
|
8177
|
-
403:
|
|
9170
|
+
403: ApiProblemResponseDto;
|
|
9171
|
+
/**
|
|
9172
|
+
* Rule not found
|
|
9173
|
+
*/
|
|
9174
|
+
404: ApiProblemResponseDto;
|
|
8178
9175
|
};
|
|
8179
9176
|
};
|
|
8180
|
-
|
|
8181
|
-
|
|
8182
|
-
get: {
|
|
8183
|
-
req: PropertyControllerGetByKeyData;
|
|
9177
|
+
put: {
|
|
9178
|
+
req: TransactionRuleControllerUpdateData;
|
|
8184
9179
|
res: {
|
|
8185
9180
|
/**
|
|
8186
|
-
*
|
|
9181
|
+
* Rule updated successfully
|
|
8187
9182
|
*/
|
|
8188
|
-
200:
|
|
9183
|
+
200: TransactionRuleResponseDto;
|
|
9184
|
+
/**
|
|
9185
|
+
* Validation failed
|
|
9186
|
+
*/
|
|
9187
|
+
400: ApiProblemResponseDto;
|
|
8189
9188
|
/**
|
|
8190
9189
|
* Unauthorized
|
|
8191
9190
|
*/
|
|
8192
|
-
401:
|
|
9191
|
+
401: ApiProblemResponseDto;
|
|
8193
9192
|
/**
|
|
8194
|
-
* Forbidden -
|
|
9193
|
+
* Forbidden - not owner of rule
|
|
8195
9194
|
*/
|
|
8196
|
-
403:
|
|
9195
|
+
403: ApiProblemResponseDto;
|
|
8197
9196
|
/**
|
|
8198
|
-
*
|
|
9197
|
+
* Rule not found
|
|
8199
9198
|
*/
|
|
8200
|
-
404:
|
|
9199
|
+
404: ApiProblemResponseDto;
|
|
9200
|
+
/**
|
|
9201
|
+
* Resource conflict - rule is being modified by another process
|
|
9202
|
+
*/
|
|
9203
|
+
409: ApiProblemResponseDto;
|
|
8201
9204
|
};
|
|
8202
9205
|
};
|
|
8203
|
-
|
|
8204
|
-
req:
|
|
9206
|
+
delete: {
|
|
9207
|
+
req: TransactionRuleControllerDeleteData;
|
|
8205
9208
|
res: {
|
|
8206
9209
|
/**
|
|
8207
|
-
*
|
|
9210
|
+
* Rule deleted successfully
|
|
8208
9211
|
*/
|
|
8209
|
-
|
|
9212
|
+
204: void;
|
|
8210
9213
|
/**
|
|
8211
9214
|
* Unauthorized
|
|
8212
9215
|
*/
|
|
8213
|
-
401:
|
|
9216
|
+
401: ApiProblemResponseDto;
|
|
8214
9217
|
/**
|
|
8215
|
-
* Forbidden -
|
|
9218
|
+
* Forbidden - not owner of rule
|
|
8216
9219
|
*/
|
|
8217
|
-
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;
|
|
8218
9229
|
};
|
|
8219
9230
|
};
|
|
8220
|
-
|
|
8221
|
-
|
|
9231
|
+
};
|
|
9232
|
+
'/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
|
|
9233
|
+
post: {
|
|
9234
|
+
req: TransactionRuleControllerTestData;
|
|
8222
9235
|
res: {
|
|
8223
9236
|
/**
|
|
8224
|
-
*
|
|
9237
|
+
* Test result
|
|
8225
9238
|
*/
|
|
8226
|
-
|
|
9239
|
+
200: TestRuleResponseDto;
|
|
8227
9240
|
/**
|
|
8228
9241
|
* Unauthorized
|
|
8229
9242
|
*/
|
|
8230
|
-
401:
|
|
9243
|
+
401: ApiProblemResponseDto;
|
|
8231
9244
|
/**
|
|
8232
|
-
* Forbidden -
|
|
9245
|
+
* Forbidden - not owner of rule
|
|
8233
9246
|
*/
|
|
8234
|
-
403:
|
|
9247
|
+
403: ApiProblemResponseDto;
|
|
8235
9248
|
/**
|
|
8236
|
-
*
|
|
9249
|
+
* Rule not found
|
|
8237
9250
|
*/
|
|
8238
|
-
404:
|
|
9251
|
+
404: ApiProblemResponseDto;
|
|
8239
9252
|
};
|
|
8240
9253
|
};
|
|
8241
9254
|
};
|
|
@@ -8335,6 +9348,85 @@ export type $OpenApiTs = {
|
|
|
8335
9348
|
};
|
|
8336
9349
|
};
|
|
8337
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
|
+
};
|
|
8338
9430
|
'/api/v1/{region}/bean/export/beancount': {
|
|
8339
9431
|
get: {
|
|
8340
9432
|
res: {
|
|
@@ -8453,107 +9545,35 @@ export type $OpenApiTs = {
|
|
|
8453
9545
|
};
|
|
8454
9546
|
};
|
|
8455
9547
|
put: {
|
|
8456
|
-
req: ImporterConfigControllerUpdateConfigData;
|
|
8457
|
-
res: {
|
|
8458
|
-
/**
|
|
8459
|
-
* Configuration updated successfully
|
|
8460
|
-
*/
|
|
8461
|
-
200: ImporterConfigDto;
|
|
8462
|
-
/**
|
|
8463
|
-
* Invalid input - Validation failed
|
|
8464
|
-
*/
|
|
8465
|
-
400: ApiProblemResponseDto;
|
|
8466
|
-
/**
|
|
8467
|
-
* Configuration not found
|
|
8468
|
-
*/
|
|
8469
|
-
404: ApiProblemResponseDto;
|
|
8470
|
-
};
|
|
8471
|
-
};
|
|
8472
|
-
};
|
|
8473
|
-
'/api/v1/{region}/bean/import/config/{importerId}/reset': {
|
|
8474
|
-
post: {
|
|
8475
|
-
req: ImporterConfigControllerResetConfigData;
|
|
8476
|
-
res: {
|
|
8477
|
-
/**
|
|
8478
|
-
* Configuration reset successfully
|
|
8479
|
-
*/
|
|
8480
|
-
200: ImporterConfigDto;
|
|
8481
|
-
/**
|
|
8482
|
-
* Invalid input - Unsupported importer
|
|
8483
|
-
*/
|
|
8484
|
-
400: ApiProblemResponseDto;
|
|
8485
|
-
};
|
|
8486
|
-
};
|
|
8487
|
-
};
|
|
8488
|
-
'/api/v1/bean/platforms': {
|
|
8489
|
-
get: {
|
|
8490
|
-
res: {
|
|
8491
|
-
/**
|
|
8492
|
-
* List of platforms with binding and account counts
|
|
8493
|
-
*/
|
|
8494
|
-
200: unknown;
|
|
8495
|
-
};
|
|
8496
|
-
};
|
|
8497
|
-
post: {
|
|
8498
|
-
req: PlatformControllerCreateData;
|
|
8499
|
-
res: {
|
|
8500
|
-
/**
|
|
8501
|
-
* Platform created successfully
|
|
8502
|
-
*/
|
|
8503
|
-
201: unknown;
|
|
8504
|
-
/**
|
|
8505
|
-
* Platform already exists
|
|
8506
|
-
*/
|
|
8507
|
-
409: unknown;
|
|
8508
|
-
};
|
|
8509
|
-
};
|
|
8510
|
-
};
|
|
8511
|
-
'/api/v1/bean/platforms/list': {
|
|
8512
|
-
get: {
|
|
8513
|
-
res: {
|
|
8514
|
-
/**
|
|
8515
|
-
* List of platforms with user binding status
|
|
8516
|
-
*/
|
|
8517
|
-
200: unknown;
|
|
8518
|
-
};
|
|
8519
|
-
};
|
|
8520
|
-
};
|
|
8521
|
-
'/api/v1/bean/platforms/match': {
|
|
8522
|
-
get: {
|
|
8523
|
-
req: PlatformControllerMatchPlatformsData;
|
|
8524
|
-
res: {
|
|
8525
|
-
/**
|
|
8526
|
-
* List of matching platforms with suggested segment names
|
|
8527
|
-
*/
|
|
8528
|
-
200: unknown;
|
|
8529
|
-
};
|
|
8530
|
-
};
|
|
8531
|
-
};
|
|
8532
|
-
'/api/v1/bean/platforms/{id}': {
|
|
8533
|
-
put: {
|
|
8534
|
-
req: PlatformControllerUpdateData;
|
|
9548
|
+
req: ImporterConfigControllerUpdateConfigData;
|
|
8535
9549
|
res: {
|
|
8536
9550
|
/**
|
|
8537
|
-
*
|
|
9551
|
+
* Configuration updated successfully
|
|
8538
9552
|
*/
|
|
8539
|
-
200:
|
|
9553
|
+
200: ImporterConfigDto;
|
|
8540
9554
|
/**
|
|
8541
|
-
*
|
|
9555
|
+
* Invalid input - Validation failed
|
|
8542
9556
|
*/
|
|
8543
|
-
|
|
9557
|
+
400: ApiProblemResponseDto;
|
|
9558
|
+
/**
|
|
9559
|
+
* Configuration not found
|
|
9560
|
+
*/
|
|
9561
|
+
404: ApiProblemResponseDto;
|
|
8544
9562
|
};
|
|
8545
9563
|
};
|
|
8546
|
-
|
|
8547
|
-
|
|
9564
|
+
};
|
|
9565
|
+
'/api/v1/{region}/bean/import/config/{importerId}/reset': {
|
|
9566
|
+
post: {
|
|
9567
|
+
req: ImporterConfigControllerResetConfigData;
|
|
8548
9568
|
res: {
|
|
8549
9569
|
/**
|
|
8550
|
-
*
|
|
9570
|
+
* Configuration reset successfully
|
|
8551
9571
|
*/
|
|
8552
|
-
|
|
9572
|
+
200: ImporterConfigDto;
|
|
8553
9573
|
/**
|
|
8554
|
-
*
|
|
9574
|
+
* Invalid input - Unsupported importer
|
|
8555
9575
|
*/
|
|
8556
|
-
|
|
9576
|
+
400: ApiProblemResponseDto;
|
|
8557
9577
|
};
|
|
8558
9578
|
};
|
|
8559
9579
|
};
|
|
@@ -8610,6 +9630,54 @@ export type $OpenApiTs = {
|
|
|
8610
9630
|
};
|
|
8611
9631
|
};
|
|
8612
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
|
+
};
|
|
8613
9681
|
'/api/v1/{region}/bean/import/parser-telemetry': {
|
|
8614
9682
|
post: {
|
|
8615
9683
|
req: TelemetryControllerReportTelemetryData;
|
|
@@ -8698,169 +9766,104 @@ export type $OpenApiTs = {
|
|
|
8698
9766
|
};
|
|
8699
9767
|
};
|
|
8700
9768
|
};
|
|
8701
|
-
'/api/v1/
|
|
8702
|
-
get: {
|
|
8703
|
-
req: DashboardControllerGetNetWorthData;
|
|
8704
|
-
res: {
|
|
8705
|
-
/**
|
|
8706
|
-
* Net worth retrieved successfully
|
|
8707
|
-
*/
|
|
8708
|
-
200: NetWorthResponseDto;
|
|
8709
|
-
/**
|
|
8710
|
-
* User not authenticated
|
|
8711
|
-
*/
|
|
8712
|
-
401: unknown;
|
|
8713
|
-
};
|
|
8714
|
-
};
|
|
8715
|
-
};
|
|
8716
|
-
'/api/v1/{region}/dashboard/accounts': {
|
|
8717
|
-
get: {
|
|
8718
|
-
req: DashboardControllerGetAccountsData;
|
|
8719
|
-
res: {
|
|
8720
|
-
/**
|
|
8721
|
-
* Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
8722
|
-
*/
|
|
8723
|
-
200:
|
|
8724
|
-
| AccountsResponseDto
|
|
8725
|
-
| AssetClassAccountsResponseDto
|
|
8726
|
-
| HoldingAssetClassCrossAccountResponseDto;
|
|
8727
|
-
/**
|
|
8728
|
-
* User not authenticated
|
|
8729
|
-
*/
|
|
8730
|
-
401: unknown;
|
|
8731
|
-
};
|
|
8732
|
-
};
|
|
8733
|
-
};
|
|
8734
|
-
'/api/v1/{region}/dashboard/cash-flow': {
|
|
8735
|
-
get: {
|
|
8736
|
-
req: DashboardControllerGetCashFlowData;
|
|
8737
|
-
res: {
|
|
8738
|
-
/**
|
|
8739
|
-
* Cash flow retrieved successfully
|
|
8740
|
-
*/
|
|
8741
|
-
200: CashFlowResponseDto;
|
|
8742
|
-
/**
|
|
8743
|
-
* Invalid period format
|
|
8744
|
-
*/
|
|
8745
|
-
400: unknown;
|
|
8746
|
-
/**
|
|
8747
|
-
* User not authenticated
|
|
8748
|
-
*/
|
|
8749
|
-
401: unknown;
|
|
8750
|
-
};
|
|
8751
|
-
};
|
|
8752
|
-
};
|
|
8753
|
-
'/api/v1/{region}/investment/holdings/pnl': {
|
|
9769
|
+
'/api/v1/bean/platforms': {
|
|
8754
9770
|
get: {
|
|
8755
|
-
req: HoldingPnlControllerGetHoldingPnlData;
|
|
8756
9771
|
res: {
|
|
8757
9772
|
/**
|
|
8758
|
-
*
|
|
8759
|
-
*/
|
|
8760
|
-
200: HoldingPnlResponseDto;
|
|
8761
|
-
/**
|
|
8762
|
-
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
8763
|
-
*/
|
|
8764
|
-
400: unknown;
|
|
8765
|
-
/**
|
|
8766
|
-
* User not authenticated
|
|
9773
|
+
* List of platforms with binding and account counts
|
|
8767
9774
|
*/
|
|
8768
|
-
|
|
9775
|
+
200: unknown;
|
|
8769
9776
|
};
|
|
8770
9777
|
};
|
|
8771
|
-
};
|
|
8772
|
-
'/api/v1/{region}/bean/prices': {
|
|
8773
9778
|
post: {
|
|
8774
|
-
req:
|
|
9779
|
+
req: PlatformControllerCreateData;
|
|
8775
9780
|
res: {
|
|
8776
9781
|
/**
|
|
8777
|
-
*
|
|
8778
|
-
*/
|
|
8779
|
-
201: PriceResponseDto;
|
|
8780
|
-
/**
|
|
8781
|
-
* Currency or quoteCurrency commodity not found
|
|
9782
|
+
* Platform created successfully
|
|
8782
9783
|
*/
|
|
8783
|
-
|
|
9784
|
+
201: unknown;
|
|
8784
9785
|
/**
|
|
8785
|
-
*
|
|
9786
|
+
* Platform already exists
|
|
8786
9787
|
*/
|
|
8787
9788
|
409: unknown;
|
|
8788
9789
|
};
|
|
8789
9790
|
};
|
|
9791
|
+
};
|
|
9792
|
+
'/api/v1/bean/platforms/list': {
|
|
8790
9793
|
get: {
|
|
8791
|
-
req: PriceControllerFindAllData;
|
|
8792
9794
|
res: {
|
|
8793
9795
|
/**
|
|
8794
|
-
*
|
|
9796
|
+
* List of platforms with user binding status
|
|
8795
9797
|
*/
|
|
8796
|
-
200:
|
|
9798
|
+
200: Array<PlatformListItemDto>;
|
|
8797
9799
|
};
|
|
8798
9800
|
};
|
|
8799
9801
|
};
|
|
8800
|
-
'/api/v1/
|
|
9802
|
+
'/api/v1/bean/platforms/match': {
|
|
8801
9803
|
get: {
|
|
8802
|
-
req:
|
|
9804
|
+
req: PlatformControllerMatchPlatformsData;
|
|
8803
9805
|
res: {
|
|
8804
9806
|
/**
|
|
8805
|
-
*
|
|
8806
|
-
*/
|
|
8807
|
-
200: PriceResponseDto;
|
|
8808
|
-
/**
|
|
8809
|
-
* Price not found
|
|
9807
|
+
* Matching platforms with overall match type and truncation flag
|
|
8810
9808
|
*/
|
|
8811
|
-
|
|
9809
|
+
200: PlatformMatchResponseDto;
|
|
8812
9810
|
};
|
|
8813
9811
|
};
|
|
9812
|
+
};
|
|
9813
|
+
'/api/v1/bean/platforms/{id}': {
|
|
8814
9814
|
put: {
|
|
8815
|
-
req:
|
|
9815
|
+
req: PlatformControllerUpdateData;
|
|
8816
9816
|
res: {
|
|
8817
9817
|
/**
|
|
8818
|
-
*
|
|
9818
|
+
* Platform updated successfully
|
|
8819
9819
|
*/
|
|
8820
|
-
200:
|
|
9820
|
+
200: unknown;
|
|
8821
9821
|
/**
|
|
8822
|
-
*
|
|
9822
|
+
* Platform not found
|
|
8823
9823
|
*/
|
|
8824
9824
|
404: unknown;
|
|
8825
|
-
/**
|
|
8826
|
-
* Updated price conflicts with existing price
|
|
8827
|
-
*/
|
|
8828
|
-
409: unknown;
|
|
8829
9825
|
};
|
|
8830
9826
|
};
|
|
8831
9827
|
delete: {
|
|
8832
|
-
req:
|
|
9828
|
+
req: PlatformControllerDeleteData;
|
|
8833
9829
|
res: {
|
|
8834
9830
|
/**
|
|
8835
|
-
*
|
|
9831
|
+
* Platform deleted successfully
|
|
8836
9832
|
*/
|
|
8837
9833
|
204: void;
|
|
8838
9834
|
/**
|
|
8839
|
-
*
|
|
9835
|
+
* Platform not found
|
|
8840
9836
|
*/
|
|
8841
9837
|
404: unknown;
|
|
8842
9838
|
};
|
|
8843
9839
|
};
|
|
8844
9840
|
};
|
|
8845
|
-
'/api/v1/{region}/
|
|
8846
|
-
|
|
8847
|
-
req:
|
|
9841
|
+
'/api/v1/{region}/dashboard/net-worth': {
|
|
9842
|
+
get: {
|
|
9843
|
+
req: DashboardControllerGetNetWorthData;
|
|
8848
9844
|
res: {
|
|
8849
9845
|
/**
|
|
8850
|
-
*
|
|
9846
|
+
* Net worth retrieved successfully
|
|
8851
9847
|
*/
|
|
8852
|
-
|
|
9848
|
+
200: NetWorthResponseDto;
|
|
9849
|
+
/**
|
|
9850
|
+
* User not authenticated
|
|
9851
|
+
*/
|
|
9852
|
+
401: unknown;
|
|
8853
9853
|
};
|
|
8854
9854
|
};
|
|
8855
9855
|
};
|
|
8856
|
-
'/api/v1/{region}/
|
|
9856
|
+
'/api/v1/{region}/dashboard/accounts': {
|
|
8857
9857
|
get: {
|
|
8858
|
-
req:
|
|
9858
|
+
req: DashboardControllerGetAccountsData;
|
|
8859
9859
|
res: {
|
|
8860
9860
|
/**
|
|
8861
|
-
*
|
|
9861
|
+
* Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
8862
9862
|
*/
|
|
8863
|
-
200:
|
|
9863
|
+
200:
|
|
9864
|
+
| AccountsResponseDto
|
|
9865
|
+
| AssetClassAccountsResponseDto
|
|
9866
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
8864
9867
|
/**
|
|
8865
9868
|
* User not authenticated
|
|
8866
9869
|
*/
|
|
@@ -8868,14 +9871,18 @@ export type $OpenApiTs = {
|
|
|
8868
9871
|
};
|
|
8869
9872
|
};
|
|
8870
9873
|
};
|
|
8871
|
-
'/api/v1/{region}/
|
|
9874
|
+
'/api/v1/{region}/dashboard/cash-flow': {
|
|
8872
9875
|
get: {
|
|
8873
|
-
req:
|
|
9876
|
+
req: DashboardControllerGetCashFlowData;
|
|
8874
9877
|
res: {
|
|
8875
9878
|
/**
|
|
8876
|
-
* Cash
|
|
9879
|
+
* Cash flow retrieved successfully
|
|
8877
9880
|
*/
|
|
8878
|
-
200:
|
|
9881
|
+
200: CashFlowResponseDto;
|
|
9882
|
+
/**
|
|
9883
|
+
* Invalid period format
|
|
9884
|
+
*/
|
|
9885
|
+
400: unknown;
|
|
8879
9886
|
/**
|
|
8880
9887
|
* User not authenticated
|
|
8881
9888
|
*/
|
|
@@ -8883,16 +9890,16 @@ export type $OpenApiTs = {
|
|
|
8883
9890
|
};
|
|
8884
9891
|
};
|
|
8885
9892
|
};
|
|
8886
|
-
'/api/v1/{region}/
|
|
8887
|
-
|
|
8888
|
-
req:
|
|
9893
|
+
'/api/v1/{region}/dashboard/expenses': {
|
|
9894
|
+
get: {
|
|
9895
|
+
req: DashboardControllerGetExpensesData;
|
|
8889
9896
|
res: {
|
|
8890
9897
|
/**
|
|
8891
|
-
*
|
|
9898
|
+
* Expenses retrieved successfully
|
|
8892
9899
|
*/
|
|
8893
|
-
200:
|
|
9900
|
+
200: ExpensesByCategoryResponseDto;
|
|
8894
9901
|
/**
|
|
8895
|
-
* Invalid
|
|
9902
|
+
* Invalid groupBy or period
|
|
8896
9903
|
*/
|
|
8897
9904
|
400: unknown;
|
|
8898
9905
|
/**
|
|
@@ -8902,26 +9909,22 @@ export type $OpenApiTs = {
|
|
|
8902
9909
|
};
|
|
8903
9910
|
};
|
|
8904
9911
|
};
|
|
8905
|
-
'/api/v1/{region}/
|
|
8906
|
-
|
|
8907
|
-
req:
|
|
9912
|
+
'/api/v1/{region}/investment/holdings/pnl': {
|
|
9913
|
+
get: {
|
|
9914
|
+
req: HoldingPnlControllerGetHoldingPnlData;
|
|
8908
9915
|
res: {
|
|
8909
9916
|
/**
|
|
8910
|
-
*
|
|
9917
|
+
* Holding P&L retrieved successfully
|
|
8911
9918
|
*/
|
|
8912
|
-
200:
|
|
9919
|
+
200: HoldingPnlResponseDto;
|
|
8913
9920
|
/**
|
|
8914
|
-
* Invalid date format or
|
|
9921
|
+
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
8915
9922
|
*/
|
|
8916
9923
|
400: unknown;
|
|
8917
9924
|
/**
|
|
8918
9925
|
* User not authenticated
|
|
8919
9926
|
*/
|
|
8920
9927
|
401: unknown;
|
|
8921
|
-
/**
|
|
8922
|
-
* Backfill already in progress for this user
|
|
8923
|
-
*/
|
|
8924
|
-
409: unknown;
|
|
8925
9928
|
};
|
|
8926
9929
|
};
|
|
8927
9930
|
};
|
|
@@ -8946,7 +9949,7 @@ export type $OpenApiTs = {
|
|
|
8946
9949
|
/**
|
|
8947
9950
|
* Login successful
|
|
8948
9951
|
*/
|
|
8949
|
-
200:
|
|
9952
|
+
200: AnonymousLoginResponseDto;
|
|
8950
9953
|
/**
|
|
8951
9954
|
* Invalid access token
|
|
8952
9955
|
*/
|
|
@@ -9093,4 +10096,30 @@ export type $OpenApiTs = {
|
|
|
9093
10096
|
};
|
|
9094
10097
|
};
|
|
9095
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
|
+
};
|
|
9096
10125
|
};
|