@firela/api-types 0.0.0-canary.aa5c64ec → 0.0.0-canary.addbab34
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 +1469 -1094
- package/dist/index.d.ts +1469 -1094
- package/dist/index.js +5 -3
- package/dist/index.mjs +5 -3
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +1743 -1016
- package/src/generated/services.gen.ts +637 -539
- package/src/generated/types.gen.ts +1899 -1371
|
@@ -164,9 +164,7 @@ export type AccountResponseDto = {
|
|
|
164
164
|
/**
|
|
165
165
|
* Platform ID (null if unbound)
|
|
166
166
|
*/
|
|
167
|
-
platformId?:
|
|
168
|
-
[key: string]: unknown;
|
|
169
|
-
};
|
|
167
|
+
platformId?: string;
|
|
170
168
|
/**
|
|
171
169
|
* Platform details (populated if platformId is set)
|
|
172
170
|
*/
|
|
@@ -327,15 +325,27 @@ export type AccountStandardResponseDto = {
|
|
|
327
325
|
*/
|
|
328
326
|
type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
329
327
|
/**
|
|
330
|
-
* Short
|
|
328
|
+
* Short display name. Universal rows project to the request locale (Accept-Language); regional rows keep the authored native name — mixed-language by design (ADR-0131 class P vs class A).
|
|
331
329
|
*/
|
|
332
330
|
name?: string;
|
|
333
331
|
/**
|
|
334
|
-
*
|
|
332
|
+
* Authored market-language alternative names delivered verbatim (not localized copy, not xlf-managed, not locale-projected). Flat string[] per ADR-0129 D1; ADR-0131 class A.
|
|
333
|
+
*/
|
|
334
|
+
aliases?: Array<string>;
|
|
335
|
+
/**
|
|
336
|
+
* Locale-projected search synonyms (e.g. the zh bank-card / debit-card everyday terms for the checking account). Pure-locale projection — absent when the locale has no seeded synonyms; English fallback rides the authored aliases field. Search-only vocabulary, not the NLP routing corpus (#698, ADR-0131 fourth-class adjudication).
|
|
337
|
+
*/
|
|
338
|
+
searchTerms?: Array<string>;
|
|
339
|
+
/**
|
|
340
|
+
* Product denomination as a 3-letter ISO 4217 code, authored market data delivered verbatim (not localized, not xlf-managed). ADR-0131 class A. Absent = single-currency not asserted — consumers fall back to their own region currency (#714).
|
|
341
|
+
*/
|
|
342
|
+
currency?: string;
|
|
343
|
+
/**
|
|
344
|
+
* Account description (stable semantics only). Mixed-language contract: universal rows project to the request locale via the accountDesc xlf axis with an en fallback (ADR-0131 class P, ADR-0132; unseeded locales falling back to English are expected); regional rows deliver the authored market language (ADR-0131 class A, verbatim, never xlf-managed).
|
|
335
345
|
*/
|
|
336
346
|
description: string;
|
|
337
347
|
/**
|
|
338
|
-
* Account tags for categorization
|
|
348
|
+
* Account tags for categorization — structured metadata delivered verbatim (not localized, not xlf-managed). ADR-0131 class A.
|
|
339
349
|
*/
|
|
340
350
|
tags: Array<string>;
|
|
341
351
|
/**
|
|
@@ -595,7 +605,7 @@ export type PostingResponseDto = {
|
|
|
595
605
|
*/
|
|
596
606
|
account: string;
|
|
597
607
|
/**
|
|
598
|
-
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
|
|
608
|
+
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned. Carries the raw Beancount sign (credit-normal accounts such as Income post negative — the accounting truth, ADR-0126); renderers must not infer economic semantics from this sign.
|
|
599
609
|
*/
|
|
600
610
|
units?: string;
|
|
601
611
|
/**
|
|
@@ -830,7 +840,7 @@ export type PostingDetailDto = {
|
|
|
830
840
|
*/
|
|
831
841
|
account: string;
|
|
832
842
|
/**
|
|
833
|
-
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
|
|
843
|
+
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned. Carries the raw Beancount sign (credit-normal accounts such as Income post negative — the accounting truth, ADR-0126); renderers must not infer economic semantics from this sign.
|
|
834
844
|
*/
|
|
835
845
|
units?: string;
|
|
836
846
|
/**
|
|
@@ -976,6 +986,101 @@ export type flag2 =
|
|
|
976
986
|
*/
|
|
977
987
|
export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
978
988
|
|
|
989
|
+
export type TransactionListItemDto = {
|
|
990
|
+
/**
|
|
991
|
+
* Transaction ID
|
|
992
|
+
*/
|
|
993
|
+
id: string;
|
|
994
|
+
/**
|
|
995
|
+
* Transaction date
|
|
996
|
+
*/
|
|
997
|
+
date: string;
|
|
998
|
+
/**
|
|
999
|
+
* Transaction flag
|
|
1000
|
+
*/
|
|
1001
|
+
flag?:
|
|
1002
|
+
| 'CLEARED'
|
|
1003
|
+
| 'PENDING'
|
|
1004
|
+
| 'PADDING'
|
|
1005
|
+
| 'SUMMARIZE'
|
|
1006
|
+
| 'TRANSFER'
|
|
1007
|
+
| 'CONVERSIONS';
|
|
1008
|
+
/**
|
|
1009
|
+
* Custom flag (if not using standard flags)
|
|
1010
|
+
*/
|
|
1011
|
+
customFlag?: string;
|
|
1012
|
+
/**
|
|
1013
|
+
* Payee name
|
|
1014
|
+
*/
|
|
1015
|
+
payee?: string;
|
|
1016
|
+
/**
|
|
1017
|
+
* Transaction narration
|
|
1018
|
+
*/
|
|
1019
|
+
narration: string;
|
|
1020
|
+
/**
|
|
1021
|
+
* Transaction tags
|
|
1022
|
+
*/
|
|
1023
|
+
tags: Array<string>;
|
|
1024
|
+
/**
|
|
1025
|
+
* Transaction links
|
|
1026
|
+
*/
|
|
1027
|
+
links: Array<string>;
|
|
1028
|
+
/**
|
|
1029
|
+
* Transaction metadata
|
|
1030
|
+
*/
|
|
1031
|
+
meta?: {
|
|
1032
|
+
[key: string]: unknown;
|
|
1033
|
+
};
|
|
1034
|
+
/**
|
|
1035
|
+
* Transaction status
|
|
1036
|
+
*/
|
|
1037
|
+
status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
1038
|
+
/**
|
|
1039
|
+
* Source type (free-form string from transaction metadata, e.g. import, api)
|
|
1040
|
+
*/
|
|
1041
|
+
sourceType?: string;
|
|
1042
|
+
/**
|
|
1043
|
+
* Source platform (e.g., alipay, wechat)
|
|
1044
|
+
*/
|
|
1045
|
+
sourcePlatform?: string;
|
|
1046
|
+
/**
|
|
1047
|
+
* Transaction postings
|
|
1048
|
+
*/
|
|
1049
|
+
postings: Array<PostingDetailDto>;
|
|
1050
|
+
/**
|
|
1051
|
+
* Created at timestamp
|
|
1052
|
+
*/
|
|
1053
|
+
createdAt: string;
|
|
1054
|
+
/**
|
|
1055
|
+
* Voided at timestamp (if voided)
|
|
1056
|
+
*/
|
|
1057
|
+
voidedAt?: string;
|
|
1058
|
+
/**
|
|
1059
|
+
* User ID who voided this transaction
|
|
1060
|
+
*/
|
|
1061
|
+
voidedBy?: string;
|
|
1062
|
+
/**
|
|
1063
|
+
* Correction reason (if voided or superseded)
|
|
1064
|
+
*/
|
|
1065
|
+
correctionReason?: string;
|
|
1066
|
+
/**
|
|
1067
|
+
* ID of the transaction that supersedes this one (set when status=SUPERSEDED)
|
|
1068
|
+
*/
|
|
1069
|
+
supersededBy?: string;
|
|
1070
|
+
/**
|
|
1071
|
+
* ID of the transaction this one corrected/replaced (back-link on the replacement)
|
|
1072
|
+
*/
|
|
1073
|
+
originalTxn?: string;
|
|
1074
|
+
/**
|
|
1075
|
+
* Row amount under the request viewpoint (ADR-0126). Category viewpoint (category + flow): per-leg sign-normalized sum over the category account set (Income-root legs negated, Expenses-root identity) — positive under normal booking but NOT clamped (explicit negative expense legs and net-flip refund months stay negative). No viewpoint (plain list / search, no accountId): wallet money-flow net = raw-sign sum over cost-less Assets/Liabilities legs (income positive, expenses negative, transfers net ~0); color cue is the wallet sign (net < 0 = wealth-decreasing). Status-orthogonal: audit views match too (ADR-0128 amount-as-matching-key). Omitted under the account viewpoint (incl. dual) and for rows with no wallet leg.
|
|
1076
|
+
*/
|
|
1077
|
+
viewpointAmount?: string;
|
|
1078
|
+
/**
|
|
1079
|
+
* Currency of viewpointAmount. A row spanning multiple currencies takes the largest-magnitude currency group (known simplification, ADR-0126).
|
|
1080
|
+
*/
|
|
1081
|
+
viewpointCurrency?: string;
|
|
1082
|
+
};
|
|
1083
|
+
|
|
979
1084
|
export type BalanceByCurrencyDto = {
|
|
980
1085
|
/**
|
|
981
1086
|
* ISO 4217 currency code
|
|
@@ -1004,7 +1109,7 @@ export type ExchangeRateWarningDto = {
|
|
|
1004
1109
|
|
|
1005
1110
|
export type TransactionListSummaryDto = {
|
|
1006
1111
|
/**
|
|
1007
|
-
* Partial converted total in base currency (rated currencies only
|
|
1112
|
+
* Partial converted total in base currency (rated currencies only). Sign by viewpoint (ADR-0126): account viewpoint keeps the raw Beancount sign (income negative); category viewpoint is per-leg sign-normalized (Income legs negated, Expenses legs identity — positive under normal booking, not clamped). 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.
|
|
1008
1113
|
*/
|
|
1009
1114
|
totalAmount: string;
|
|
1010
1115
|
/**
|
|
@@ -1021,11 +1126,32 @@ export type TransactionListSummaryDto = {
|
|
|
1021
1126
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
1022
1127
|
};
|
|
1023
1128
|
|
|
1129
|
+
export type TransactionListViewpointDto = {
|
|
1130
|
+
/**
|
|
1131
|
+
* Viewpoint type (only category drill-down carries a viewpoint today)
|
|
1132
|
+
*/
|
|
1133
|
+
type: 'category';
|
|
1134
|
+
/**
|
|
1135
|
+
* Flow root the category account set is restricted to
|
|
1136
|
+
*/
|
|
1137
|
+
flow: 'income' | 'expense';
|
|
1138
|
+
};
|
|
1139
|
+
|
|
1140
|
+
/**
|
|
1141
|
+
* Viewpoint type (only category drill-down carries a viewpoint today)
|
|
1142
|
+
*/
|
|
1143
|
+
export type type2 = 'category';
|
|
1144
|
+
|
|
1145
|
+
/**
|
|
1146
|
+
* Flow root the category account set is restricted to
|
|
1147
|
+
*/
|
|
1148
|
+
export type flow = 'income' | 'expense';
|
|
1149
|
+
|
|
1024
1150
|
export type TransactionListResponseDto = {
|
|
1025
1151
|
/**
|
|
1026
1152
|
* List of transactions
|
|
1027
1153
|
*/
|
|
1028
|
-
data: Array<
|
|
1154
|
+
data: Array<TransactionListItemDto>;
|
|
1029
1155
|
/**
|
|
1030
1156
|
* Total count of matching transactions
|
|
1031
1157
|
*/
|
|
@@ -1042,6 +1168,10 @@ export type TransactionListResponseDto = {
|
|
|
1042
1168
|
* 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.
|
|
1043
1169
|
*/
|
|
1044
1170
|
summary?: TransactionListSummaryDto;
|
|
1171
|
+
/**
|
|
1172
|
+
* Viewpoint metadata (ADR-0126). Present only for a single category filter (category + flow, no accountId); dual-perspective requests are viewpoint-less (raw signs, no viewpointAmount).
|
|
1173
|
+
*/
|
|
1174
|
+
viewpoint?: TransactionListViewpointDto;
|
|
1045
1175
|
};
|
|
1046
1176
|
|
|
1047
1177
|
export type TagSuggestionDto = {
|
|
@@ -1253,7 +1383,7 @@ export type ReviewSummaryDto = {
|
|
|
1253
1383
|
/**
|
|
1254
1384
|
* Review type
|
|
1255
1385
|
*/
|
|
1256
|
-
export type
|
|
1386
|
+
export type type3 =
|
|
1257
1387
|
| 'DUPLICATE'
|
|
1258
1388
|
| 'RULE_MATCH'
|
|
1259
1389
|
| 'PAYEE_MATCH'
|
|
@@ -1701,7 +1831,7 @@ export type UpdatePayeeDto = {
|
|
|
1701
1831
|
*/
|
|
1702
1832
|
customTags?: Array<string>;
|
|
1703
1833
|
/**
|
|
1704
|
-
* Metadata for extended information (location, notes, contact info, etc.)
|
|
1834
|
+
* Metadata for extended information (location, notes, contact info, etc.)
|
|
1705
1835
|
*/
|
|
1706
1836
|
meta?: {
|
|
1707
1837
|
[key: string]: unknown;
|
|
@@ -2094,481 +2224,449 @@ export type UpdateCommodityDto = {
|
|
|
2094
2224
|
};
|
|
2095
2225
|
};
|
|
2096
2226
|
|
|
2097
|
-
export type
|
|
2227
|
+
export type CurrencyBalanceDto = {
|
|
2098
2228
|
/**
|
|
2099
|
-
*
|
|
2229
|
+
* ISO 4217 currency code
|
|
2100
2230
|
*/
|
|
2101
2231
|
currency: string;
|
|
2102
2232
|
/**
|
|
2103
|
-
*
|
|
2233
|
+
* Balance amount
|
|
2104
2234
|
*/
|
|
2105
|
-
|
|
2235
|
+
balance: string;
|
|
2236
|
+
};
|
|
2237
|
+
|
|
2238
|
+
export type TimeSeriesPointDto = {
|
|
2106
2239
|
/**
|
|
2107
|
-
*
|
|
2240
|
+
* Date in YYYY-MM-DD format
|
|
2108
2241
|
*/
|
|
2109
|
-
|
|
2242
|
+
date: string;
|
|
2110
2243
|
/**
|
|
2111
|
-
*
|
|
2244
|
+
* Value at this date (in base currency)
|
|
2112
2245
|
*/
|
|
2113
|
-
|
|
2246
|
+
value: string;
|
|
2114
2247
|
/**
|
|
2115
|
-
*
|
|
2248
|
+
* Change from previous point
|
|
2116
2249
|
*/
|
|
2117
|
-
|
|
2118
|
-
[key: string]: unknown;
|
|
2119
|
-
};
|
|
2120
|
-
};
|
|
2121
|
-
|
|
2122
|
-
export type PriceResponseDto = {
|
|
2250
|
+
change?: string;
|
|
2123
2251
|
/**
|
|
2124
|
-
*
|
|
2252
|
+
* Total assets at this date (in base currency)
|
|
2125
2253
|
*/
|
|
2126
|
-
|
|
2254
|
+
assets?: string;
|
|
2127
2255
|
/**
|
|
2128
|
-
*
|
|
2256
|
+
* Total liabilities at this date (in base currency)
|
|
2129
2257
|
*/
|
|
2130
|
-
|
|
2258
|
+
liabilities?: string;
|
|
2131
2259
|
/**
|
|
2132
|
-
*
|
|
2260
|
+
* Multi-currency breakdown for this point
|
|
2133
2261
|
*/
|
|
2134
|
-
|
|
2262
|
+
byCurrency?: Array<CurrencyBalanceDto>;
|
|
2263
|
+
};
|
|
2264
|
+
|
|
2265
|
+
export type TrendSummaryDto = {
|
|
2135
2266
|
/**
|
|
2136
|
-
*
|
|
2267
|
+
* Value at start of period
|
|
2137
2268
|
*/
|
|
2138
|
-
|
|
2269
|
+
startValue: string;
|
|
2139
2270
|
/**
|
|
2140
|
-
*
|
|
2271
|
+
* Value at end of period
|
|
2141
2272
|
*/
|
|
2142
|
-
|
|
2273
|
+
endValue: string;
|
|
2143
2274
|
/**
|
|
2144
|
-
*
|
|
2275
|
+
* Total change over period
|
|
2145
2276
|
*/
|
|
2146
|
-
|
|
2277
|
+
totalChange: string;
|
|
2147
2278
|
/**
|
|
2148
|
-
*
|
|
2279
|
+
* Total change percentage
|
|
2149
2280
|
*/
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2281
|
+
totalChangePercentage: string;
|
|
2282
|
+
};
|
|
2283
|
+
|
|
2284
|
+
export type MultiCurrencyPointDto = {
|
|
2153
2285
|
/**
|
|
2154
|
-
*
|
|
2286
|
+
* Date in YYYY-MM-DD format
|
|
2155
2287
|
*/
|
|
2156
|
-
|
|
2288
|
+
date: string;
|
|
2157
2289
|
/**
|
|
2158
|
-
*
|
|
2290
|
+
* Balances by currency
|
|
2159
2291
|
*/
|
|
2160
|
-
|
|
2292
|
+
byCurrency: Array<CurrencyBalanceDto>;
|
|
2161
2293
|
};
|
|
2162
2294
|
|
|
2163
|
-
export type
|
|
2295
|
+
export type PortfolioTrendsResponseDto = {
|
|
2164
2296
|
/**
|
|
2165
|
-
*
|
|
2297
|
+
* Time series data points
|
|
2166
2298
|
*/
|
|
2167
|
-
|
|
2299
|
+
series: Array<TimeSeriesPointDto>;
|
|
2168
2300
|
/**
|
|
2169
|
-
*
|
|
2301
|
+
* Period summary
|
|
2170
2302
|
*/
|
|
2171
|
-
|
|
2172
|
-
};
|
|
2173
|
-
|
|
2174
|
-
export type UpdateBeanPriceDto = {
|
|
2303
|
+
summary: TrendSummaryDto;
|
|
2175
2304
|
/**
|
|
2176
|
-
*
|
|
2305
|
+
* Period requested
|
|
2177
2306
|
*/
|
|
2178
|
-
|
|
2307
|
+
period: string;
|
|
2179
2308
|
/**
|
|
2180
|
-
*
|
|
2309
|
+
* Data granularity
|
|
2181
2310
|
*/
|
|
2182
|
-
|
|
2311
|
+
granularity: string;
|
|
2183
2312
|
/**
|
|
2184
|
-
*
|
|
2313
|
+
* Base currency for converted values
|
|
2185
2314
|
*/
|
|
2186
|
-
|
|
2315
|
+
currency: string;
|
|
2187
2316
|
/**
|
|
2188
|
-
*
|
|
2317
|
+
* Multi-currency time series (each point has currency breakdown)
|
|
2189
2318
|
*/
|
|
2190
|
-
|
|
2319
|
+
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
2191
2320
|
/**
|
|
2192
|
-
*
|
|
2321
|
+
* Exchange rate warnings
|
|
2193
2322
|
*/
|
|
2194
|
-
|
|
2195
|
-
[key: string]: unknown;
|
|
2196
|
-
};
|
|
2323
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2197
2324
|
};
|
|
2198
2325
|
|
|
2199
|
-
export type
|
|
2326
|
+
export type CashFlowPointDto = {
|
|
2200
2327
|
/**
|
|
2201
|
-
*
|
|
2328
|
+
* Month key (YYYY-MM)
|
|
2202
2329
|
*/
|
|
2203
|
-
|
|
2330
|
+
month: string;
|
|
2204
2331
|
/**
|
|
2205
|
-
*
|
|
2332
|
+
* Income in base currency (absolute, converted)
|
|
2206
2333
|
*/
|
|
2207
|
-
|
|
2334
|
+
income: string;
|
|
2208
2335
|
/**
|
|
2209
|
-
*
|
|
2336
|
+
* Expense in base currency (absolute, converted)
|
|
2210
2337
|
*/
|
|
2211
|
-
|
|
2212
|
-
| 'WEEKLY'
|
|
2213
|
-
| 'BIWEEKLY'
|
|
2214
|
-
| 'MONTHLY'
|
|
2215
|
-
| 'BIMONTHLY'
|
|
2216
|
-
| 'QUARTERLY'
|
|
2217
|
-
| 'YEARLY'
|
|
2218
|
-
| 'CUSTOM';
|
|
2338
|
+
expense: string;
|
|
2219
2339
|
/**
|
|
2220
|
-
*
|
|
2340
|
+
* netSavings = income − expense (savings positive)
|
|
2221
2341
|
*/
|
|
2222
|
-
|
|
2342
|
+
netSavings: string;
|
|
2343
|
+
};
|
|
2344
|
+
|
|
2345
|
+
export type CashFlowTrendSummaryDto = {
|
|
2223
2346
|
/**
|
|
2224
|
-
*
|
|
2347
|
+
* Total income across the period
|
|
2225
2348
|
*/
|
|
2226
|
-
|
|
2349
|
+
totalIncome: string;
|
|
2227
2350
|
/**
|
|
2228
|
-
*
|
|
2229
|
-
*/
|
|
2230
|
-
customIntervalDays?: number;
|
|
2231
|
-
/**
|
|
2232
|
-
* Currency code
|
|
2351
|
+
* Total expense across the period
|
|
2233
2352
|
*/
|
|
2234
|
-
|
|
2353
|
+
totalExpense: string;
|
|
2235
2354
|
/**
|
|
2236
|
-
*
|
|
2355
|
+
* income − expense across the period
|
|
2237
2356
|
*/
|
|
2238
|
-
|
|
2357
|
+
totalNetSavings: string;
|
|
2239
2358
|
/**
|
|
2240
|
-
*
|
|
2359
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
2241
2360
|
*/
|
|
2242
|
-
|
|
2361
|
+
averageMonthlyNetSavings: string;
|
|
2362
|
+
};
|
|
2363
|
+
|
|
2364
|
+
export type CashFlowTrendsResponseDto = {
|
|
2243
2365
|
/**
|
|
2244
|
-
*
|
|
2366
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
2245
2367
|
*/
|
|
2246
|
-
|
|
2368
|
+
series: Array<CashFlowPointDto>;
|
|
2247
2369
|
/**
|
|
2248
|
-
*
|
|
2370
|
+
* Period totals
|
|
2249
2371
|
*/
|
|
2250
|
-
|
|
2372
|
+
summary: CashFlowTrendSummaryDto;
|
|
2251
2373
|
/**
|
|
2252
|
-
*
|
|
2374
|
+
* Period requested
|
|
2253
2375
|
*/
|
|
2254
|
-
|
|
2376
|
+
period: string;
|
|
2255
2377
|
/**
|
|
2256
|
-
*
|
|
2378
|
+
* Data granularity (v1 returns month buckets)
|
|
2257
2379
|
*/
|
|
2258
|
-
|
|
2380
|
+
granularity: string;
|
|
2259
2381
|
/**
|
|
2260
|
-
*
|
|
2382
|
+
* Base currency for converted values
|
|
2261
2383
|
*/
|
|
2262
|
-
|
|
2384
|
+
currency: string;
|
|
2263
2385
|
/**
|
|
2264
|
-
*
|
|
2386
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
2265
2387
|
*/
|
|
2266
|
-
|
|
2388
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2267
2389
|
};
|
|
2268
2390
|
|
|
2269
|
-
|
|
2270
|
-
* Recurring frequency
|
|
2271
|
-
*/
|
|
2272
|
-
export type frequency =
|
|
2273
|
-
| 'WEEKLY'
|
|
2274
|
-
| 'BIWEEKLY'
|
|
2275
|
-
| 'MONTHLY'
|
|
2276
|
-
| 'BIMONTHLY'
|
|
2277
|
-
| 'QUARTERLY'
|
|
2278
|
-
| 'YEARLY'
|
|
2279
|
-
| 'CUSTOM';
|
|
2391
|
+
export type GenerateSnapshotBody = unknown;
|
|
2280
2392
|
|
|
2281
|
-
export type
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
*/
|
|
2289
|
-
userId: string;
|
|
2393
|
+
export type GenerateSnapshotResponse = unknown;
|
|
2394
|
+
|
|
2395
|
+
export type BackfillSnapshotsBody = unknown;
|
|
2396
|
+
|
|
2397
|
+
export type BackfillSnapshotsResponse = unknown;
|
|
2398
|
+
|
|
2399
|
+
export type CreateBeanPriceDto = {
|
|
2290
2400
|
/**
|
|
2291
|
-
*
|
|
2401
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
2292
2402
|
*/
|
|
2293
|
-
|
|
2403
|
+
currency: string;
|
|
2294
2404
|
/**
|
|
2295
|
-
*
|
|
2405
|
+
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
2296
2406
|
*/
|
|
2297
|
-
|
|
2298
|
-
[key: string]: unknown;
|
|
2299
|
-
};
|
|
2407
|
+
quoteCurrency: string;
|
|
2300
2408
|
/**
|
|
2301
|
-
*
|
|
2409
|
+
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
2302
2410
|
*/
|
|
2303
|
-
|
|
2411
|
+
amount: number;
|
|
2304
2412
|
/**
|
|
2305
|
-
*
|
|
2413
|
+
* Price date (ISO 8601 format)
|
|
2306
2414
|
*/
|
|
2307
|
-
|
|
2415
|
+
date: string;
|
|
2308
2416
|
/**
|
|
2309
|
-
*
|
|
2417
|
+
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
2310
2418
|
*/
|
|
2311
|
-
|
|
2419
|
+
metadata?: {
|
|
2312
2420
|
[key: string]: unknown;
|
|
2313
2421
|
};
|
|
2422
|
+
};
|
|
2423
|
+
|
|
2424
|
+
export type PriceResponseDto = {
|
|
2314
2425
|
/**
|
|
2315
|
-
*
|
|
2426
|
+
* Unique identifier
|
|
2316
2427
|
*/
|
|
2317
|
-
|
|
2318
|
-
[key: string]: unknown;
|
|
2319
|
-
};
|
|
2428
|
+
id: string;
|
|
2320
2429
|
/**
|
|
2321
|
-
*
|
|
2430
|
+
* User ID (owner of the price)
|
|
2431
|
+
*/
|
|
2432
|
+
userId: string;
|
|
2433
|
+
/**
|
|
2434
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
2322
2435
|
*/
|
|
2323
2436
|
currency: string;
|
|
2324
2437
|
/**
|
|
2325
|
-
*
|
|
2438
|
+
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
2326
2439
|
*/
|
|
2327
|
-
|
|
2328
|
-
[key: string]: unknown;
|
|
2329
|
-
};
|
|
2440
|
+
quoteCurrency: string;
|
|
2330
2441
|
/**
|
|
2331
|
-
* Amount
|
|
2442
|
+
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
2332
2443
|
*/
|
|
2333
|
-
|
|
2444
|
+
amount: number;
|
|
2334
2445
|
/**
|
|
2335
|
-
*
|
|
2446
|
+
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
2336
2447
|
*/
|
|
2337
|
-
|
|
2338
|
-
[key: string]: unknown;
|
|
2339
|
-
};
|
|
2448
|
+
date: string;
|
|
2340
2449
|
/**
|
|
2341
|
-
*
|
|
2450
|
+
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
2342
2451
|
*/
|
|
2343
|
-
|
|
2452
|
+
meta: {
|
|
2344
2453
|
[key: string]: unknown;
|
|
2345
2454
|
};
|
|
2346
2455
|
/**
|
|
2347
|
-
*
|
|
2456
|
+
* Creation timestamp
|
|
2348
2457
|
*/
|
|
2349
|
-
|
|
2350
|
-
[key: string]: unknown;
|
|
2351
|
-
};
|
|
2458
|
+
createdAt: string;
|
|
2352
2459
|
/**
|
|
2353
|
-
*
|
|
2460
|
+
* Last update timestamp
|
|
2354
2461
|
*/
|
|
2355
|
-
|
|
2462
|
+
updatedAt: string;
|
|
2463
|
+
};
|
|
2464
|
+
|
|
2465
|
+
export type PriceListResponseDto = {
|
|
2356
2466
|
/**
|
|
2357
|
-
*
|
|
2467
|
+
* List of prices
|
|
2358
2468
|
*/
|
|
2359
|
-
|
|
2469
|
+
items: Array<PriceResponseDto>;
|
|
2360
2470
|
/**
|
|
2361
|
-
*
|
|
2471
|
+
* Total number of prices
|
|
2362
2472
|
*/
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2473
|
+
total: number;
|
|
2474
|
+
};
|
|
2475
|
+
|
|
2476
|
+
export type UpdateBeanPriceDto = {
|
|
2366
2477
|
/**
|
|
2367
|
-
*
|
|
2478
|
+
* Currency being priced
|
|
2368
2479
|
*/
|
|
2369
|
-
|
|
2480
|
+
currency?: string;
|
|
2370
2481
|
/**
|
|
2371
|
-
*
|
|
2482
|
+
* Quote currency (pricing currency)
|
|
2372
2483
|
*/
|
|
2373
|
-
|
|
2374
|
-
[key: string]: unknown;
|
|
2375
|
-
};
|
|
2484
|
+
quoteCurrency?: string;
|
|
2376
2485
|
/**
|
|
2377
|
-
*
|
|
2486
|
+
* Price amount (MUST be >= 0 per Beancount spec)
|
|
2378
2487
|
*/
|
|
2379
|
-
|
|
2488
|
+
amount?: number;
|
|
2380
2489
|
/**
|
|
2381
|
-
*
|
|
2490
|
+
* Price date (ISO 8601 format)
|
|
2382
2491
|
*/
|
|
2383
|
-
|
|
2492
|
+
date?: string;
|
|
2384
2493
|
/**
|
|
2385
|
-
*
|
|
2494
|
+
* Metadata
|
|
2386
2495
|
*/
|
|
2387
|
-
|
|
2496
|
+
metadata?: {
|
|
2497
|
+
[key: string]: unknown;
|
|
2498
|
+
};
|
|
2388
2499
|
};
|
|
2389
2500
|
|
|
2390
|
-
export type
|
|
2391
|
-
/**
|
|
2392
|
-
* Recurring frequency
|
|
2393
|
-
*/
|
|
2394
|
-
frequency:
|
|
2395
|
-
| 'WEEKLY'
|
|
2396
|
-
| 'BIWEEKLY'
|
|
2397
|
-
| 'MONTHLY'
|
|
2398
|
-
| 'BIMONTHLY'
|
|
2399
|
-
| 'QUARTERLY'
|
|
2400
|
-
| 'YEARLY'
|
|
2401
|
-
| 'CUSTOM';
|
|
2402
|
-
/**
|
|
2403
|
-
* Optional name override (default: transaction payee)
|
|
2404
|
-
*/
|
|
2405
|
-
name?: string;
|
|
2501
|
+
export type DeleteOwnUserDto = {
|
|
2406
2502
|
/**
|
|
2407
|
-
*
|
|
2503
|
+
* Access token for user verification
|
|
2408
2504
|
*/
|
|
2409
|
-
|
|
2505
|
+
accessToken: string;
|
|
2410
2506
|
};
|
|
2411
2507
|
|
|
2412
|
-
export type
|
|
2508
|
+
export type UserSettingsResponseDto = {
|
|
2413
2509
|
/**
|
|
2414
|
-
*
|
|
2510
|
+
* Stored base currency choice (ISO 4217) for net-worth/report aggregation. null = user never chose; aggregates fall back to the region default at display time (#713).
|
|
2415
2511
|
*/
|
|
2416
|
-
|
|
2512
|
+
baseCurrency: string | null;
|
|
2513
|
+
};
|
|
2514
|
+
|
|
2515
|
+
export type UserResponseDto = {
|
|
2417
2516
|
/**
|
|
2418
2517
|
* User ID
|
|
2419
2518
|
*/
|
|
2420
|
-
|
|
2421
|
-
/**
|
|
2422
|
-
* Rule name
|
|
2423
|
-
*/
|
|
2424
|
-
name: string;
|
|
2519
|
+
id: string;
|
|
2425
2520
|
/**
|
|
2426
|
-
*
|
|
2521
|
+
* Assigned user role
|
|
2427
2522
|
*/
|
|
2428
|
-
|
|
2429
|
-
[key: string]: unknown;
|
|
2430
|
-
};
|
|
2523
|
+
role: string;
|
|
2431
2524
|
/**
|
|
2432
|
-
*
|
|
2525
|
+
* Permission strings
|
|
2433
2526
|
*/
|
|
2434
|
-
|
|
2527
|
+
permissions: Array<string>;
|
|
2435
2528
|
/**
|
|
2436
|
-
*
|
|
2529
|
+
* User settings
|
|
2437
2530
|
*/
|
|
2438
|
-
|
|
2531
|
+
settings: UserSettingsResponseDto;
|
|
2532
|
+
};
|
|
2533
|
+
|
|
2534
|
+
export type SignupDto = {
|
|
2439
2535
|
/**
|
|
2440
|
-
*
|
|
2536
|
+
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
2441
2537
|
*/
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2538
|
+
turnstileToken?: string;
|
|
2539
|
+
};
|
|
2540
|
+
|
|
2541
|
+
export type SignupResponseDto = {
|
|
2445
2542
|
/**
|
|
2446
|
-
*
|
|
2543
|
+
* JWT auth token
|
|
2447
2544
|
*/
|
|
2448
|
-
|
|
2449
|
-
[key: string]: unknown;
|
|
2450
|
-
};
|
|
2545
|
+
authToken: string;
|
|
2451
2546
|
/**
|
|
2452
|
-
*
|
|
2547
|
+
* Auto-generated access token
|
|
2453
2548
|
*/
|
|
2454
|
-
|
|
2549
|
+
accessToken: string;
|
|
2455
2550
|
/**
|
|
2456
|
-
*
|
|
2551
|
+
* Assigned user role
|
|
2457
2552
|
*/
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2553
|
+
role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2554
|
+
};
|
|
2555
|
+
|
|
2556
|
+
/**
|
|
2557
|
+
* Assigned user role
|
|
2558
|
+
*/
|
|
2559
|
+
export type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2560
|
+
|
|
2561
|
+
export type UpdateUserSettingDto = {
|
|
2461
2562
|
/**
|
|
2462
|
-
*
|
|
2563
|
+
* Security ID
|
|
2463
2564
|
*/
|
|
2464
|
-
|
|
2565
|
+
secId?: number;
|
|
2465
2566
|
/**
|
|
2466
|
-
*
|
|
2567
|
+
* Annual interest rate
|
|
2467
2568
|
*/
|
|
2468
|
-
|
|
2469
|
-
[key: string]: unknown;
|
|
2470
|
-
};
|
|
2569
|
+
annualInterestRate?: number;
|
|
2471
2570
|
/**
|
|
2472
|
-
*
|
|
2571
|
+
* Currency code
|
|
2473
2572
|
*/
|
|
2474
|
-
|
|
2475
|
-
[key: string]: unknown;
|
|
2476
|
-
};
|
|
2573
|
+
currency?: string;
|
|
2477
2574
|
/**
|
|
2478
|
-
*
|
|
2575
|
+
* Base currency code
|
|
2479
2576
|
*/
|
|
2480
|
-
|
|
2481
|
-
[key: string]: unknown;
|
|
2482
|
-
};
|
|
2577
|
+
baseCurrency?: string;
|
|
2483
2578
|
/**
|
|
2484
|
-
*
|
|
2579
|
+
* Benchmark symbol
|
|
2485
2580
|
*/
|
|
2486
|
-
|
|
2581
|
+
benchmark?: string;
|
|
2487
2582
|
/**
|
|
2488
|
-
*
|
|
2583
|
+
* Color scheme
|
|
2489
2584
|
*/
|
|
2490
|
-
|
|
2585
|
+
colorScheme?: 'DARK' | 'LIGHT';
|
|
2491
2586
|
/**
|
|
2492
|
-
*
|
|
2587
|
+
* Date range filter
|
|
2493
2588
|
*/
|
|
2494
|
-
|
|
2495
|
-
[key: string]: unknown;
|
|
2496
|
-
};
|
|
2589
|
+
dateRange?: string;
|
|
2497
2590
|
/**
|
|
2498
|
-
*
|
|
2591
|
+
* Emergency fund amount
|
|
2499
2592
|
*/
|
|
2500
|
-
|
|
2593
|
+
emergencyFund?: number;
|
|
2501
2594
|
/**
|
|
2502
|
-
*
|
|
2595
|
+
* Account filter IDs
|
|
2503
2596
|
*/
|
|
2504
|
-
|
|
2505
|
-
[key: string]: unknown;
|
|
2506
|
-
};
|
|
2597
|
+
'filters.accounts'?: Array<string>;
|
|
2507
2598
|
/**
|
|
2508
|
-
*
|
|
2599
|
+
* Asset class filters
|
|
2509
2600
|
*/
|
|
2510
|
-
|
|
2601
|
+
'filters.assetClasses'?: Array<string>;
|
|
2511
2602
|
/**
|
|
2512
|
-
*
|
|
2603
|
+
* Data source filter
|
|
2513
2604
|
*/
|
|
2514
|
-
|
|
2605
|
+
'filters.dataSource'?: string;
|
|
2515
2606
|
/**
|
|
2516
|
-
*
|
|
2607
|
+
* Symbol filter
|
|
2517
2608
|
*/
|
|
2518
|
-
|
|
2609
|
+
'filters.symbol'?: string;
|
|
2519
2610
|
/**
|
|
2520
|
-
*
|
|
2611
|
+
* Tag filters
|
|
2521
2612
|
*/
|
|
2522
|
-
|
|
2613
|
+
'filters.tags'?: Array<string>;
|
|
2523
2614
|
/**
|
|
2524
|
-
*
|
|
2615
|
+
* Enable experimental features
|
|
2525
2616
|
*/
|
|
2526
|
-
|
|
2617
|
+
isExperimentalFeatures?: boolean;
|
|
2527
2618
|
/**
|
|
2528
|
-
*
|
|
2619
|
+
* Enable restricted view mode
|
|
2529
2620
|
*/
|
|
2530
|
-
|
|
2531
|
-
[key: string]: unknown;
|
|
2532
|
-
};
|
|
2621
|
+
isRestrictedView?: boolean;
|
|
2533
2622
|
/**
|
|
2534
|
-
*
|
|
2623
|
+
* Language code
|
|
2535
2624
|
*/
|
|
2536
|
-
|
|
2625
|
+
language?: string;
|
|
2537
2626
|
/**
|
|
2538
|
-
*
|
|
2627
|
+
* Locale code
|
|
2539
2628
|
*/
|
|
2540
|
-
|
|
2629
|
+
locale?: string;
|
|
2541
2630
|
/**
|
|
2542
|
-
*
|
|
2631
|
+
* Projected total amount
|
|
2543
2632
|
*/
|
|
2544
|
-
|
|
2633
|
+
projectedTotalAmount?: number;
|
|
2545
2634
|
/**
|
|
2546
|
-
*
|
|
2635
|
+
* Retirement date in ISO 8601 format
|
|
2547
2636
|
*/
|
|
2548
|
-
|
|
2549
|
-
[key: string]: unknown;
|
|
2550
|
-
};
|
|
2637
|
+
retirementDate?: string;
|
|
2551
2638
|
/**
|
|
2552
|
-
*
|
|
2639
|
+
* Savings rate percentage
|
|
2553
2640
|
*/
|
|
2554
|
-
|
|
2555
|
-
[key: string]: unknown;
|
|
2556
|
-
};
|
|
2641
|
+
savingsRate?: number;
|
|
2557
2642
|
/**
|
|
2558
|
-
*
|
|
2643
|
+
* View mode
|
|
2559
2644
|
*/
|
|
2560
|
-
|
|
2645
|
+
viewMode?: 'DEFAULT' | 'ZEN';
|
|
2646
|
+
};
|
|
2647
|
+
|
|
2648
|
+
/**
|
|
2649
|
+
* Color scheme
|
|
2650
|
+
*/
|
|
2651
|
+
export type colorScheme = 'DARK' | 'LIGHT';
|
|
2652
|
+
|
|
2653
|
+
/**
|
|
2654
|
+
* View mode
|
|
2655
|
+
*/
|
|
2656
|
+
export type viewMode = 'DEFAULT' | 'ZEN';
|
|
2657
|
+
|
|
2658
|
+
export type UpdatePropertyDto = {
|
|
2561
2659
|
/**
|
|
2562
|
-
*
|
|
2660
|
+
* Property value
|
|
2563
2661
|
*/
|
|
2564
|
-
|
|
2662
|
+
value: string;
|
|
2565
2663
|
};
|
|
2566
2664
|
|
|
2567
|
-
export type
|
|
2665
|
+
export type CreateRecurringRuleDto = {
|
|
2568
2666
|
/**
|
|
2569
|
-
* Rule name
|
|
2667
|
+
* Rule name (unique per user)
|
|
2570
2668
|
*/
|
|
2571
|
-
name
|
|
2669
|
+
name: string;
|
|
2572
2670
|
/**
|
|
2573
2671
|
* Icon emoji
|
|
2574
2672
|
*/
|
|
@@ -2576,7 +2674,7 @@ export type UpdateRecurringRuleDto = {
|
|
|
2576
2674
|
/**
|
|
2577
2675
|
* Recurring frequency
|
|
2578
2676
|
*/
|
|
2579
|
-
frequency
|
|
2677
|
+
frequency:
|
|
2580
2678
|
| 'WEEKLY'
|
|
2581
2679
|
| 'BIWEEKLY'
|
|
2582
2680
|
| 'MONTHLY'
|
|
@@ -2585,15 +2683,15 @@ export type UpdateRecurringRuleDto = {
|
|
|
2585
2683
|
| 'YEARLY'
|
|
2586
2684
|
| 'CUSTOM';
|
|
2587
2685
|
/**
|
|
2588
|
-
* Expected amount
|
|
2686
|
+
* Expected amount (positive number)
|
|
2589
2687
|
*/
|
|
2590
|
-
expectedAmount
|
|
2688
|
+
expectedAmount: number;
|
|
2591
2689
|
/**
|
|
2592
2690
|
* Expected day of month (1-31)
|
|
2593
2691
|
*/
|
|
2594
2692
|
expectedDay?: number;
|
|
2595
2693
|
/**
|
|
2596
|
-
* Custom interval in days
|
|
2694
|
+
* Custom interval in days (required for CUSTOM frequency)
|
|
2597
2695
|
*/
|
|
2598
2696
|
customIntervalDays?: number;
|
|
2599
2697
|
/**
|
|
@@ -2601,111 +2699,132 @@ export type UpdateRecurringRuleDto = {
|
|
|
2601
2699
|
*/
|
|
2602
2700
|
currency?: string;
|
|
2603
2701
|
/**
|
|
2604
|
-
* Payee matching pattern
|
|
2702
|
+
* Payee matching pattern (supports wildcards)
|
|
2605
2703
|
*/
|
|
2606
2704
|
matchPayeePattern?: string;
|
|
2607
2705
|
/**
|
|
2608
2706
|
* Amount tolerance percentage (0-1)
|
|
2609
2707
|
*/
|
|
2610
|
-
matchAmountTolerance
|
|
2708
|
+
matchAmountTolerance: number;
|
|
2611
2709
|
/**
|
|
2612
|
-
* Default expense account
|
|
2710
|
+
* Default expense account for auto-create
|
|
2613
2711
|
*/
|
|
2614
2712
|
defaultExpenseAccount?: string;
|
|
2615
2713
|
/**
|
|
2616
|
-
* Default payment account
|
|
2714
|
+
* Default payment account for auto-create
|
|
2617
2715
|
*/
|
|
2618
2716
|
defaultPaymentAccount?: string;
|
|
2619
2717
|
/**
|
|
2620
|
-
* Default payee
|
|
2718
|
+
* Default payee for auto-create
|
|
2621
2719
|
*/
|
|
2622
2720
|
defaultPayee?: string;
|
|
2623
2721
|
/**
|
|
2624
|
-
* Auto-create transaction
|
|
2722
|
+
* Auto-create transaction when expected date arrives
|
|
2625
2723
|
*/
|
|
2626
|
-
autoCreate
|
|
2724
|
+
autoCreate: boolean;
|
|
2627
2725
|
/**
|
|
2628
|
-
* Rule
|
|
2726
|
+
* Rule start date (ISO format)
|
|
2629
2727
|
*/
|
|
2630
|
-
|
|
2728
|
+
startDate?: string;
|
|
2631
2729
|
/**
|
|
2632
2730
|
* Rule end date (ISO format)
|
|
2633
2731
|
*/
|
|
2634
2732
|
endDate?: string;
|
|
2635
2733
|
};
|
|
2636
2734
|
|
|
2637
|
-
|
|
2735
|
+
/**
|
|
2736
|
+
* Recurring frequency
|
|
2737
|
+
*/
|
|
2738
|
+
export type frequency =
|
|
2739
|
+
| 'WEEKLY'
|
|
2740
|
+
| 'BIWEEKLY'
|
|
2741
|
+
| 'MONTHLY'
|
|
2742
|
+
| 'BIMONTHLY'
|
|
2743
|
+
| 'QUARTERLY'
|
|
2744
|
+
| 'YEARLY'
|
|
2745
|
+
| 'CUSTOM';
|
|
2746
|
+
|
|
2747
|
+
export type RecurringRuleResponseDto = {
|
|
2748
|
+
/**
|
|
2749
|
+
* Rule ID
|
|
2750
|
+
*/
|
|
2751
|
+
id: string;
|
|
2752
|
+
/**
|
|
2753
|
+
* User ID
|
|
2754
|
+
*/
|
|
2755
|
+
userId: string;
|
|
2638
2756
|
/**
|
|
2639
2757
|
* Rule name
|
|
2640
2758
|
*/
|
|
2641
2759
|
name: string;
|
|
2642
2760
|
/**
|
|
2643
|
-
*
|
|
2761
|
+
* Icon emoji
|
|
2644
2762
|
*/
|
|
2645
|
-
icon?:
|
|
2646
|
-
[key: string]: unknown;
|
|
2647
|
-
};
|
|
2763
|
+
icon?: string;
|
|
2648
2764
|
/**
|
|
2649
|
-
*
|
|
2765
|
+
* Recurring frequency
|
|
2650
2766
|
*/
|
|
2651
2767
|
frequency: string;
|
|
2768
|
+
/**
|
|
2769
|
+
* Expected amount
|
|
2770
|
+
*/
|
|
2771
|
+
expectedAmount: number;
|
|
2772
|
+
/**
|
|
2773
|
+
* Expected day of month
|
|
2774
|
+
*/
|
|
2775
|
+
expectedDay?: number;
|
|
2776
|
+
/**
|
|
2777
|
+
* Custom interval in days
|
|
2778
|
+
*/
|
|
2779
|
+
customIntervalDays?: number;
|
|
2652
2780
|
/**
|
|
2653
2781
|
* Currency code
|
|
2654
2782
|
*/
|
|
2655
2783
|
currency: string;
|
|
2656
|
-
};
|
|
2657
|
-
|
|
2658
|
-
export type ExpectedTransactionResponseDto = {
|
|
2659
2784
|
/**
|
|
2660
|
-
*
|
|
2785
|
+
* Payee matching pattern
|
|
2661
2786
|
*/
|
|
2662
|
-
|
|
2787
|
+
matchPayeePattern?: string;
|
|
2663
2788
|
/**
|
|
2664
|
-
*
|
|
2789
|
+
* Amount tolerance percentage
|
|
2665
2790
|
*/
|
|
2666
|
-
|
|
2791
|
+
matchAmountTolerance: number;
|
|
2667
2792
|
/**
|
|
2668
|
-
*
|
|
2793
|
+
* Default expense account
|
|
2669
2794
|
*/
|
|
2670
|
-
|
|
2795
|
+
defaultExpenseAccount?: string;
|
|
2671
2796
|
/**
|
|
2672
|
-
*
|
|
2797
|
+
* Default payment account
|
|
2673
2798
|
*/
|
|
2674
|
-
|
|
2799
|
+
defaultPaymentAccount?: string;
|
|
2675
2800
|
/**
|
|
2676
|
-
*
|
|
2801
|
+
* Default payee
|
|
2677
2802
|
*/
|
|
2678
|
-
|
|
2803
|
+
defaultPayee?: string;
|
|
2679
2804
|
/**
|
|
2680
|
-
*
|
|
2805
|
+
* Whether rule is active
|
|
2681
2806
|
*/
|
|
2682
|
-
|
|
2807
|
+
isActive: boolean;
|
|
2683
2808
|
/**
|
|
2684
|
-
*
|
|
2809
|
+
* Rule start date (YYYY-MM-DD)
|
|
2685
2810
|
*/
|
|
2686
|
-
|
|
2687
|
-
[key: string]: unknown;
|
|
2688
|
-
};
|
|
2811
|
+
startDate: string;
|
|
2689
2812
|
/**
|
|
2690
|
-
*
|
|
2813
|
+
* Rule end date (YYYY-MM-DD)
|
|
2691
2814
|
*/
|
|
2692
|
-
|
|
2693
|
-
[key: string]: unknown;
|
|
2694
|
-
};
|
|
2815
|
+
endDate?: string;
|
|
2695
2816
|
/**
|
|
2696
|
-
*
|
|
2817
|
+
* Auto-create transaction on expected date
|
|
2697
2818
|
*/
|
|
2698
|
-
|
|
2699
|
-
[key: string]: unknown;
|
|
2700
|
-
};
|
|
2819
|
+
autoCreate: boolean;
|
|
2701
2820
|
/**
|
|
2702
|
-
*
|
|
2821
|
+
* Last matched occurrence date (YYYY-MM-DD)
|
|
2703
2822
|
*/
|
|
2704
|
-
|
|
2823
|
+
lastOccurrence?: string;
|
|
2705
2824
|
/**
|
|
2706
|
-
*
|
|
2825
|
+
* Total matched transactions count
|
|
2707
2826
|
*/
|
|
2708
|
-
|
|
2827
|
+
totalCount: number;
|
|
2709
2828
|
/**
|
|
2710
2829
|
* Created at timestamp
|
|
2711
2830
|
*/
|
|
@@ -2716,435 +2835,420 @@ export type ExpectedTransactionResponseDto = {
|
|
|
2716
2835
|
updatedAt: string;
|
|
2717
2836
|
};
|
|
2718
2837
|
|
|
2719
|
-
export type
|
|
2720
|
-
items: Array<ExpectedTransactionResponseDto>;
|
|
2838
|
+
export type CreateRuleFromTransactionDto = {
|
|
2721
2839
|
/**
|
|
2722
|
-
*
|
|
2840
|
+
* Recurring frequency
|
|
2723
2841
|
*/
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2842
|
+
frequency:
|
|
2843
|
+
| 'WEEKLY'
|
|
2844
|
+
| 'BIWEEKLY'
|
|
2845
|
+
| 'MONTHLY'
|
|
2846
|
+
| 'BIMONTHLY'
|
|
2847
|
+
| 'QUARTERLY'
|
|
2848
|
+
| 'YEARLY'
|
|
2849
|
+
| 'CUSTOM';
|
|
2728
2850
|
/**
|
|
2729
|
-
*
|
|
2851
|
+
* Optional name override (default: transaction payee)
|
|
2730
2852
|
*/
|
|
2731
|
-
|
|
2853
|
+
name?: string;
|
|
2854
|
+
/**
|
|
2855
|
+
* Optional icon emoji
|
|
2856
|
+
*/
|
|
2857
|
+
icon?: string;
|
|
2732
2858
|
};
|
|
2733
2859
|
|
|
2734
|
-
export type
|
|
2860
|
+
export type RecurringRuleWithStatsResponseDto = {
|
|
2735
2861
|
/**
|
|
2736
|
-
*
|
|
2862
|
+
* Rule ID
|
|
2737
2863
|
*/
|
|
2738
|
-
|
|
2864
|
+
id: string;
|
|
2739
2865
|
/**
|
|
2740
|
-
*
|
|
2866
|
+
* User ID
|
|
2741
2867
|
*/
|
|
2742
|
-
|
|
2868
|
+
userId: string;
|
|
2743
2869
|
/**
|
|
2744
|
-
*
|
|
2870
|
+
* Rule name
|
|
2745
2871
|
*/
|
|
2746
|
-
|
|
2872
|
+
name: string;
|
|
2747
2873
|
/**
|
|
2748
|
-
*
|
|
2874
|
+
* Icon emoji
|
|
2749
2875
|
*/
|
|
2750
|
-
|
|
2876
|
+
icon?: string;
|
|
2751
2877
|
/**
|
|
2752
|
-
*
|
|
2878
|
+
* Recurring frequency
|
|
2753
2879
|
*/
|
|
2754
|
-
|
|
2755
|
-
};
|
|
2756
|
-
|
|
2757
|
-
export type ForecastItemDto = {
|
|
2880
|
+
frequency: string;
|
|
2758
2881
|
/**
|
|
2759
|
-
*
|
|
2882
|
+
* Expected amount
|
|
2760
2883
|
*/
|
|
2761
|
-
|
|
2884
|
+
expectedAmount: number;
|
|
2762
2885
|
/**
|
|
2763
|
-
*
|
|
2886
|
+
* Expected day of month
|
|
2764
2887
|
*/
|
|
2765
|
-
|
|
2888
|
+
expectedDay?: number;
|
|
2766
2889
|
/**
|
|
2767
|
-
*
|
|
2890
|
+
* Custom interval in days
|
|
2768
2891
|
*/
|
|
2769
|
-
|
|
2892
|
+
customIntervalDays?: number;
|
|
2770
2893
|
/**
|
|
2771
|
-
*
|
|
2894
|
+
* Currency code
|
|
2772
2895
|
*/
|
|
2773
|
-
|
|
2896
|
+
currency: string;
|
|
2774
2897
|
/**
|
|
2775
|
-
*
|
|
2898
|
+
* Payee matching pattern
|
|
2776
2899
|
*/
|
|
2777
|
-
|
|
2900
|
+
matchPayeePattern?: string;
|
|
2778
2901
|
/**
|
|
2779
|
-
*
|
|
2902
|
+
* Amount tolerance percentage
|
|
2780
2903
|
*/
|
|
2781
|
-
|
|
2782
|
-
};
|
|
2783
|
-
|
|
2784
|
-
export type MonthlyForecastDto = {
|
|
2904
|
+
matchAmountTolerance: number;
|
|
2785
2905
|
/**
|
|
2786
|
-
*
|
|
2906
|
+
* Default expense account
|
|
2787
2907
|
*/
|
|
2788
|
-
|
|
2908
|
+
defaultExpenseAccount?: string;
|
|
2789
2909
|
/**
|
|
2790
|
-
*
|
|
2910
|
+
* Default payment account
|
|
2791
2911
|
*/
|
|
2792
|
-
|
|
2912
|
+
defaultPaymentAccount?: string;
|
|
2793
2913
|
/**
|
|
2794
|
-
*
|
|
2914
|
+
* Default payee
|
|
2795
2915
|
*/
|
|
2796
|
-
|
|
2916
|
+
defaultPayee?: string;
|
|
2917
|
+
/**
|
|
2918
|
+
* Whether rule is active
|
|
2919
|
+
*/
|
|
2920
|
+
isActive: boolean;
|
|
2921
|
+
/**
|
|
2922
|
+
* Rule start date (YYYY-MM-DD)
|
|
2923
|
+
*/
|
|
2924
|
+
startDate: string;
|
|
2797
2925
|
/**
|
|
2798
|
-
*
|
|
2926
|
+
* Rule end date (YYYY-MM-DD)
|
|
2799
2927
|
*/
|
|
2800
|
-
|
|
2801
|
-
[key: string]: unknown;
|
|
2802
|
-
};
|
|
2928
|
+
endDate?: string;
|
|
2803
2929
|
/**
|
|
2804
|
-
*
|
|
2930
|
+
* Auto-create transaction on expected date
|
|
2805
2931
|
*/
|
|
2806
|
-
|
|
2807
|
-
};
|
|
2808
|
-
|
|
2809
|
-
export type ForecastResponseDto = {
|
|
2932
|
+
autoCreate: boolean;
|
|
2810
2933
|
/**
|
|
2811
|
-
*
|
|
2934
|
+
* Last matched occurrence date (YYYY-MM-DD)
|
|
2812
2935
|
*/
|
|
2813
|
-
|
|
2936
|
+
lastOccurrence?: string;
|
|
2814
2937
|
/**
|
|
2815
|
-
* Total
|
|
2938
|
+
* Total matched transactions count
|
|
2816
2939
|
*/
|
|
2817
|
-
|
|
2940
|
+
totalCount: number;
|
|
2818
2941
|
/**
|
|
2819
|
-
*
|
|
2942
|
+
* Created at timestamp
|
|
2820
2943
|
*/
|
|
2821
|
-
|
|
2822
|
-
[key: string]: unknown;
|
|
2823
|
-
};
|
|
2944
|
+
createdAt: string;
|
|
2824
2945
|
/**
|
|
2825
|
-
*
|
|
2946
|
+
* Updated at timestamp
|
|
2826
2947
|
*/
|
|
2827
|
-
|
|
2948
|
+
updatedAt: string;
|
|
2828
2949
|
/**
|
|
2829
|
-
*
|
|
2950
|
+
* Number of pending expected transactions
|
|
2830
2951
|
*/
|
|
2831
|
-
|
|
2952
|
+
pendingCount: number;
|
|
2832
2953
|
/**
|
|
2833
|
-
*
|
|
2954
|
+
* Number of overdue expected transactions
|
|
2834
2955
|
*/
|
|
2835
|
-
|
|
2836
|
-
};
|
|
2837
|
-
|
|
2838
|
-
export type CurrencyBalanceDto = {
|
|
2956
|
+
overdueCount: number;
|
|
2839
2957
|
/**
|
|
2840
|
-
*
|
|
2958
|
+
* Next expected date (YYYY-MM-DD)
|
|
2841
2959
|
*/
|
|
2842
|
-
|
|
2960
|
+
nextExpectedDate?: string;
|
|
2843
2961
|
/**
|
|
2844
|
-
*
|
|
2962
|
+
* Total amount of all matched transactions
|
|
2845
2963
|
*/
|
|
2846
|
-
|
|
2847
|
-
};
|
|
2848
|
-
|
|
2849
|
-
export type TimeSeriesPointDto = {
|
|
2964
|
+
totalAmount: number;
|
|
2850
2965
|
/**
|
|
2851
|
-
*
|
|
2966
|
+
* Average amount per transaction
|
|
2852
2967
|
*/
|
|
2853
|
-
|
|
2968
|
+
averageAmount: number;
|
|
2854
2969
|
/**
|
|
2855
|
-
*
|
|
2970
|
+
* Number of matched transactions
|
|
2856
2971
|
*/
|
|
2857
|
-
|
|
2972
|
+
transactionCount: number;
|
|
2858
2973
|
/**
|
|
2859
|
-
*
|
|
2974
|
+
* First matched transaction date (YYYY-MM-DD)
|
|
2860
2975
|
*/
|
|
2861
|
-
|
|
2862
|
-
[key: string]: unknown;
|
|
2863
|
-
};
|
|
2976
|
+
firstDate?: string;
|
|
2864
2977
|
/**
|
|
2865
|
-
*
|
|
2978
|
+
* Last matched transaction date (YYYY-MM-DD)
|
|
2866
2979
|
*/
|
|
2867
|
-
|
|
2980
|
+
lastDate?: string;
|
|
2868
2981
|
/**
|
|
2869
|
-
*
|
|
2982
|
+
* Amount variance (standard deviation squared)
|
|
2870
2983
|
*/
|
|
2871
|
-
|
|
2984
|
+
variance: number;
|
|
2872
2985
|
/**
|
|
2873
|
-
*
|
|
2986
|
+
* Number of upcoming expected transactions
|
|
2874
2987
|
*/
|
|
2875
|
-
|
|
2988
|
+
upcomingCount: number;
|
|
2876
2989
|
};
|
|
2877
2990
|
|
|
2878
|
-
export type
|
|
2991
|
+
export type UpdateRecurringRuleDto = {
|
|
2879
2992
|
/**
|
|
2880
|
-
*
|
|
2993
|
+
* Rule name (unique per user)
|
|
2881
2994
|
*/
|
|
2882
|
-
|
|
2995
|
+
name?: string;
|
|
2883
2996
|
/**
|
|
2884
|
-
*
|
|
2997
|
+
* Icon emoji
|
|
2885
2998
|
*/
|
|
2886
|
-
|
|
2999
|
+
icon?: string;
|
|
2887
3000
|
/**
|
|
2888
|
-
*
|
|
3001
|
+
* Recurring frequency
|
|
2889
3002
|
*/
|
|
2890
|
-
|
|
3003
|
+
frequency?:
|
|
3004
|
+
| 'WEEKLY'
|
|
3005
|
+
| 'BIWEEKLY'
|
|
3006
|
+
| 'MONTHLY'
|
|
3007
|
+
| 'BIMONTHLY'
|
|
3008
|
+
| 'QUARTERLY'
|
|
3009
|
+
| 'YEARLY'
|
|
3010
|
+
| 'CUSTOM';
|
|
2891
3011
|
/**
|
|
2892
|
-
*
|
|
3012
|
+
* Expected amount (positive number)
|
|
2893
3013
|
*/
|
|
2894
|
-
|
|
2895
|
-
};
|
|
2896
|
-
|
|
2897
|
-
export type MultiCurrencyPointDto = {
|
|
3014
|
+
expectedAmount?: number;
|
|
2898
3015
|
/**
|
|
2899
|
-
*
|
|
3016
|
+
* Expected day of month (1-31)
|
|
2900
3017
|
*/
|
|
2901
|
-
|
|
3018
|
+
expectedDay?: number;
|
|
2902
3019
|
/**
|
|
2903
|
-
*
|
|
3020
|
+
* Currency code
|
|
2904
3021
|
*/
|
|
2905
|
-
|
|
2906
|
-
};
|
|
2907
|
-
|
|
2908
|
-
export type PortfolioTrendsResponseDto = {
|
|
3022
|
+
currency?: string;
|
|
2909
3023
|
/**
|
|
2910
|
-
*
|
|
3024
|
+
* Payee matching pattern (supports wildcards)
|
|
2911
3025
|
*/
|
|
2912
|
-
|
|
3026
|
+
matchPayeePattern?: string;
|
|
2913
3027
|
/**
|
|
2914
|
-
*
|
|
3028
|
+
* Amount tolerance percentage (0-1)
|
|
2915
3029
|
*/
|
|
2916
|
-
|
|
3030
|
+
matchAmountTolerance?: number;
|
|
2917
3031
|
/**
|
|
2918
|
-
*
|
|
3032
|
+
* Default expense account for auto-create
|
|
2919
3033
|
*/
|
|
2920
|
-
|
|
3034
|
+
defaultExpenseAccount?: string;
|
|
2921
3035
|
/**
|
|
2922
|
-
*
|
|
3036
|
+
* Default payment account for auto-create
|
|
2923
3037
|
*/
|
|
2924
|
-
|
|
3038
|
+
defaultPaymentAccount?: string;
|
|
2925
3039
|
/**
|
|
2926
|
-
*
|
|
3040
|
+
* Default payee for auto-create
|
|
2927
3041
|
*/
|
|
2928
|
-
|
|
3042
|
+
defaultPayee?: string;
|
|
2929
3043
|
/**
|
|
2930
|
-
*
|
|
3044
|
+
* Auto-create transaction when expected date arrives
|
|
2931
3045
|
*/
|
|
2932
|
-
|
|
3046
|
+
autoCreate?: boolean;
|
|
2933
3047
|
/**
|
|
2934
|
-
*
|
|
3048
|
+
* Rule end date (ISO format)
|
|
2935
3049
|
*/
|
|
2936
|
-
|
|
3050
|
+
endDate?: string;
|
|
3051
|
+
/**
|
|
3052
|
+
* Custom interval in days
|
|
3053
|
+
*/
|
|
3054
|
+
customIntervalDays?: number;
|
|
3055
|
+
/**
|
|
3056
|
+
* Rule active status
|
|
3057
|
+
*/
|
|
3058
|
+
isActive?: boolean;
|
|
2937
3059
|
};
|
|
2938
3060
|
|
|
2939
|
-
export type
|
|
3061
|
+
export type ExpectedTransactionRuleDto = {
|
|
2940
3062
|
/**
|
|
2941
|
-
*
|
|
3063
|
+
* Rule name
|
|
2942
3064
|
*/
|
|
2943
|
-
|
|
3065
|
+
name: string;
|
|
2944
3066
|
/**
|
|
2945
|
-
*
|
|
3067
|
+
* Rule icon
|
|
2946
3068
|
*/
|
|
2947
|
-
|
|
3069
|
+
icon?: string;
|
|
2948
3070
|
/**
|
|
2949
|
-
*
|
|
3071
|
+
* Rule frequency
|
|
2950
3072
|
*/
|
|
2951
|
-
|
|
3073
|
+
frequency: string;
|
|
2952
3074
|
/**
|
|
2953
|
-
*
|
|
3075
|
+
* Currency code
|
|
2954
3076
|
*/
|
|
2955
|
-
|
|
3077
|
+
currency: string;
|
|
2956
3078
|
};
|
|
2957
3079
|
|
|
2958
|
-
export type
|
|
2959
|
-
/**
|
|
2960
|
-
* Total income across the period
|
|
2961
|
-
*/
|
|
2962
|
-
totalIncome: string;
|
|
3080
|
+
export type ExpectedTransactionResponseDto = {
|
|
2963
3081
|
/**
|
|
2964
|
-
*
|
|
3082
|
+
* Expected transaction ID
|
|
2965
3083
|
*/
|
|
2966
|
-
|
|
3084
|
+
id: string;
|
|
2967
3085
|
/**
|
|
2968
|
-
*
|
|
3086
|
+
* User ID
|
|
2969
3087
|
*/
|
|
2970
|
-
|
|
3088
|
+
userId: string;
|
|
2971
3089
|
/**
|
|
2972
|
-
*
|
|
3090
|
+
* Associated rule ID
|
|
2973
3091
|
*/
|
|
2974
|
-
|
|
2975
|
-
};
|
|
2976
|
-
|
|
2977
|
-
export type CashFlowTrendsResponseDto = {
|
|
3092
|
+
ruleId: string;
|
|
2978
3093
|
/**
|
|
2979
|
-
*
|
|
3094
|
+
* Expected date (YYYY-MM-DD)
|
|
2980
3095
|
*/
|
|
2981
|
-
|
|
3096
|
+
expectedDate: string;
|
|
2982
3097
|
/**
|
|
2983
|
-
*
|
|
3098
|
+
* Expected amount
|
|
2984
3099
|
*/
|
|
2985
|
-
|
|
3100
|
+
expectedAmount: number;
|
|
2986
3101
|
/**
|
|
2987
|
-
*
|
|
3102
|
+
* Status (PENDING, COMPLETED, SKIPPED)
|
|
2988
3103
|
*/
|
|
2989
|
-
|
|
3104
|
+
status: string;
|
|
2990
3105
|
/**
|
|
2991
|
-
*
|
|
3106
|
+
* Matched transaction ID
|
|
2992
3107
|
*/
|
|
2993
|
-
|
|
3108
|
+
matchedTransactionId?: string;
|
|
2994
3109
|
/**
|
|
2995
|
-
*
|
|
3110
|
+
* Match timestamp (ISO 8601)
|
|
2996
3111
|
*/
|
|
2997
|
-
|
|
3112
|
+
matchedAt?: string;
|
|
2998
3113
|
/**
|
|
2999
|
-
*
|
|
3114
|
+
* Match confidence score (0-1)
|
|
3000
3115
|
*/
|
|
3001
|
-
|
|
3002
|
-
};
|
|
3003
|
-
|
|
3004
|
-
export type GenerateSnapshotBody = unknown;
|
|
3005
|
-
|
|
3006
|
-
export type GenerateSnapshotResponse = unknown;
|
|
3007
|
-
|
|
3008
|
-
export type BackfillSnapshotsBody = unknown;
|
|
3009
|
-
|
|
3010
|
-
export type BackfillSnapshotsResponse = unknown;
|
|
3011
|
-
|
|
3012
|
-
export type DeleteOwnUserDto = {
|
|
3116
|
+
matchConfidence?: number;
|
|
3013
3117
|
/**
|
|
3014
|
-
*
|
|
3118
|
+
* Whether this expected transaction is overdue
|
|
3015
3119
|
*/
|
|
3016
|
-
|
|
3017
|
-
};
|
|
3018
|
-
|
|
3019
|
-
export type SignupDto = {
|
|
3120
|
+
isOverdue: boolean;
|
|
3020
3121
|
/**
|
|
3021
|
-
*
|
|
3122
|
+
* Rule information
|
|
3022
3123
|
*/
|
|
3023
|
-
|
|
3024
|
-
};
|
|
3025
|
-
|
|
3026
|
-
export type SignupResponseDto = {
|
|
3124
|
+
rule: ExpectedTransactionRuleDto;
|
|
3027
3125
|
/**
|
|
3028
|
-
*
|
|
3126
|
+
* Created at timestamp
|
|
3029
3127
|
*/
|
|
3030
|
-
|
|
3128
|
+
createdAt: string;
|
|
3031
3129
|
/**
|
|
3032
|
-
*
|
|
3130
|
+
* Updated at timestamp
|
|
3033
3131
|
*/
|
|
3034
|
-
|
|
3132
|
+
updatedAt: string;
|
|
3133
|
+
};
|
|
3134
|
+
|
|
3135
|
+
export type ExpectedTransactionListResponseDto = {
|
|
3136
|
+
items: Array<ExpectedTransactionResponseDto>;
|
|
3035
3137
|
/**
|
|
3036
|
-
*
|
|
3138
|
+
* Total count
|
|
3037
3139
|
*/
|
|
3038
|
-
|
|
3140
|
+
total: number;
|
|
3039
3141
|
};
|
|
3040
3142
|
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3143
|
+
export type ConfirmMatchDto = {
|
|
3144
|
+
/**
|
|
3145
|
+
* Transaction ID to match with
|
|
3146
|
+
*/
|
|
3147
|
+
transactionId: string;
|
|
3148
|
+
};
|
|
3045
3149
|
|
|
3046
|
-
export type
|
|
3150
|
+
export type EnterNowDto = {
|
|
3047
3151
|
/**
|
|
3048
|
-
*
|
|
3152
|
+
* Override expense account (uses rule default if not provided)
|
|
3049
3153
|
*/
|
|
3050
|
-
|
|
3154
|
+
expenseAccount?: string;
|
|
3051
3155
|
/**
|
|
3052
|
-
*
|
|
3156
|
+
* Override payment account (uses rule default if not provided)
|
|
3053
3157
|
*/
|
|
3054
|
-
|
|
3158
|
+
paymentAccount?: string;
|
|
3055
3159
|
/**
|
|
3056
|
-
*
|
|
3160
|
+
* Override amount (uses expected amount if not provided)
|
|
3057
3161
|
*/
|
|
3058
|
-
|
|
3162
|
+
amount?: number;
|
|
3059
3163
|
/**
|
|
3060
|
-
*
|
|
3164
|
+
* Override payee (uses rule default if not provided)
|
|
3061
3165
|
*/
|
|
3062
|
-
|
|
3166
|
+
payee?: string;
|
|
3063
3167
|
/**
|
|
3064
|
-
*
|
|
3168
|
+
* Optional narration
|
|
3065
3169
|
*/
|
|
3066
|
-
|
|
3170
|
+
narration?: string;
|
|
3171
|
+
};
|
|
3172
|
+
|
|
3173
|
+
export type ForecastItemDto = {
|
|
3067
3174
|
/**
|
|
3068
|
-
*
|
|
3175
|
+
* Rule name
|
|
3069
3176
|
*/
|
|
3070
|
-
|
|
3177
|
+
rule: string;
|
|
3071
3178
|
/**
|
|
3072
|
-
*
|
|
3179
|
+
* Rule ID
|
|
3073
3180
|
*/
|
|
3074
|
-
|
|
3181
|
+
ruleId: string;
|
|
3075
3182
|
/**
|
|
3076
|
-
*
|
|
3183
|
+
* Expected amount
|
|
3077
3184
|
*/
|
|
3078
|
-
|
|
3185
|
+
amount: number;
|
|
3079
3186
|
/**
|
|
3080
|
-
*
|
|
3187
|
+
* Expected date (YYYY-MM-DD)
|
|
3081
3188
|
*/
|
|
3082
|
-
|
|
3189
|
+
date: string;
|
|
3083
3190
|
/**
|
|
3084
|
-
*
|
|
3191
|
+
* Rule icon emoji
|
|
3085
3192
|
*/
|
|
3086
|
-
|
|
3193
|
+
icon: string | null;
|
|
3087
3194
|
/**
|
|
3088
|
-
*
|
|
3195
|
+
* Currency code
|
|
3089
3196
|
*/
|
|
3090
|
-
|
|
3197
|
+
currency: string;
|
|
3198
|
+
};
|
|
3199
|
+
|
|
3200
|
+
export type MonthlyForecastDto = {
|
|
3091
3201
|
/**
|
|
3092
|
-
*
|
|
3202
|
+
* Month (YYYY-MM)
|
|
3093
3203
|
*/
|
|
3094
|
-
|
|
3204
|
+
month: string;
|
|
3095
3205
|
/**
|
|
3096
|
-
*
|
|
3206
|
+
* Total expected outflow for the month
|
|
3097
3207
|
*/
|
|
3098
|
-
|
|
3208
|
+
expectedOutflow: number;
|
|
3099
3209
|
/**
|
|
3100
|
-
*
|
|
3210
|
+
* Number of expected transactions
|
|
3101
3211
|
*/
|
|
3102
|
-
|
|
3212
|
+
itemCount: number;
|
|
3103
3213
|
/**
|
|
3104
|
-
*
|
|
3214
|
+
* Breakdown by currency
|
|
3105
3215
|
*/
|
|
3106
|
-
|
|
3216
|
+
byCurrency: {
|
|
3217
|
+
[key: string]: unknown;
|
|
3218
|
+
};
|
|
3107
3219
|
/**
|
|
3108
|
-
*
|
|
3220
|
+
* Individual forecast items
|
|
3109
3221
|
*/
|
|
3110
|
-
|
|
3222
|
+
items: Array<ForecastItemDto>;
|
|
3223
|
+
};
|
|
3224
|
+
|
|
3225
|
+
export type ForecastResponseDto = {
|
|
3111
3226
|
/**
|
|
3112
|
-
*
|
|
3227
|
+
* Monthly forecast data
|
|
3113
3228
|
*/
|
|
3114
|
-
|
|
3229
|
+
forecast: Array<MonthlyForecastDto>;
|
|
3115
3230
|
/**
|
|
3116
|
-
*
|
|
3231
|
+
* Total expected outflow across all months
|
|
3117
3232
|
*/
|
|
3118
|
-
|
|
3233
|
+
totalOutflow: number;
|
|
3119
3234
|
/**
|
|
3120
|
-
*
|
|
3235
|
+
* Total by currency across all months
|
|
3121
3236
|
*/
|
|
3122
|
-
|
|
3237
|
+
totalByCurrency: {
|
|
3238
|
+
[key: string]: unknown;
|
|
3239
|
+
};
|
|
3123
3240
|
/**
|
|
3124
|
-
*
|
|
3241
|
+
* Number of active recurring rules included
|
|
3125
3242
|
*/
|
|
3126
|
-
|
|
3243
|
+
rulesCount: number;
|
|
3127
3244
|
/**
|
|
3128
|
-
*
|
|
3245
|
+
* Forecast period start date
|
|
3129
3246
|
*/
|
|
3130
|
-
|
|
3131
|
-
};
|
|
3132
|
-
|
|
3133
|
-
/**
|
|
3134
|
-
* Color scheme
|
|
3135
|
-
*/
|
|
3136
|
-
export type colorScheme = 'DARK' | 'LIGHT';
|
|
3137
|
-
|
|
3138
|
-
/**
|
|
3139
|
-
* View mode
|
|
3140
|
-
*/
|
|
3141
|
-
export type viewMode = 'DEFAULT' | 'ZEN';
|
|
3142
|
-
|
|
3143
|
-
export type UpdatePropertyDto = {
|
|
3247
|
+
periodStart: string;
|
|
3144
3248
|
/**
|
|
3145
|
-
*
|
|
3249
|
+
* Forecast period end date
|
|
3146
3250
|
*/
|
|
3147
|
-
|
|
3251
|
+
periodEnd: string;
|
|
3148
3252
|
};
|
|
3149
3253
|
|
|
3150
3254
|
export type CreateTransactionRuleDto = {
|
|
@@ -3463,14 +3567,14 @@ export type UpdateTransactionRuleDto = {
|
|
|
3463
3567
|
*/
|
|
3464
3568
|
amountMax?: number;
|
|
3465
3569
|
priority?: number;
|
|
3466
|
-
/**
|
|
3467
|
-
* Enable or disable the rule
|
|
3468
|
-
*/
|
|
3469
|
-
enabled?: boolean;
|
|
3470
3570
|
additionalTags?: Array<unknown[]>;
|
|
3471
3571
|
additionalMetadata?: {
|
|
3472
3572
|
[key: string]: unknown;
|
|
3473
3573
|
};
|
|
3574
|
+
/**
|
|
3575
|
+
* Enable or disable the rule
|
|
3576
|
+
*/
|
|
3577
|
+
enabled?: boolean;
|
|
3474
3578
|
};
|
|
3475
3579
|
|
|
3476
3580
|
export type TestRuleDto = {
|
|
@@ -3502,6 +3606,57 @@ export type TestRuleResponseDto = {
|
|
|
3502
3606
|
};
|
|
3503
3607
|
};
|
|
3504
3608
|
|
|
3609
|
+
export type CategoryCatalogEntryDto = {
|
|
3610
|
+
/**
|
|
3611
|
+
* Category slug (single source-of-truth)
|
|
3612
|
+
*/
|
|
3613
|
+
slug: string;
|
|
3614
|
+
/**
|
|
3615
|
+
* Display scenario group (maps to frontend picker _scenario)
|
|
3616
|
+
*/
|
|
3617
|
+
scenario:
|
|
3618
|
+
| 'expense'
|
|
3619
|
+
| 'income'
|
|
3620
|
+
| 'investment'
|
|
3621
|
+
| 'banking'
|
|
3622
|
+
| 'transfer'
|
|
3623
|
+
| 'payment';
|
|
3624
|
+
/**
|
|
3625
|
+
* Lucide icon name
|
|
3626
|
+
*/
|
|
3627
|
+
icon: string;
|
|
3628
|
+
/**
|
|
3629
|
+
* Applicable regions ('*' = all, 'cn' = CN-only)
|
|
3630
|
+
*/
|
|
3631
|
+
regions: Array<string>;
|
|
3632
|
+
};
|
|
3633
|
+
|
|
3634
|
+
/**
|
|
3635
|
+
* Display scenario group (maps to frontend picker _scenario)
|
|
3636
|
+
*/
|
|
3637
|
+
export type scenario =
|
|
3638
|
+
| 'expense'
|
|
3639
|
+
| 'income'
|
|
3640
|
+
| 'investment'
|
|
3641
|
+
| 'banking'
|
|
3642
|
+
| 'transfer'
|
|
3643
|
+
| 'payment';
|
|
3644
|
+
|
|
3645
|
+
export type CategoryCatalogListResponseDto = {
|
|
3646
|
+
/**
|
|
3647
|
+
* Category entries (region-scoped, query-filtered)
|
|
3648
|
+
*/
|
|
3649
|
+
items: Array<CategoryCatalogEntryDto>;
|
|
3650
|
+
/**
|
|
3651
|
+
* Total category entries for the region (before query filtering)
|
|
3652
|
+
*/
|
|
3653
|
+
total: number;
|
|
3654
|
+
/**
|
|
3655
|
+
* Region code
|
|
3656
|
+
*/
|
|
3657
|
+
region: string;
|
|
3658
|
+
};
|
|
3659
|
+
|
|
3505
3660
|
export type CreateBeanEventDto = {
|
|
3506
3661
|
/**
|
|
3507
3662
|
* Life event date (ISO 8601)
|
|
@@ -4128,66 +4283,143 @@ export type CreateExternalAccountLinkDto = {
|
|
|
4128
4283
|
/**
|
|
4129
4284
|
* Open Banking provider (whitelist)
|
|
4130
4285
|
*/
|
|
4131
|
-
provider:
|
|
4132
|
-
| 'plaid'
|
|
4133
|
-
| 'teller'
|
|
4134
|
-
| 'truelayer'
|
|
4135
|
-
| 'gocardless'
|
|
4136
|
-
| 'simplefin'
|
|
4137
|
-
| 'yodlee'
|
|
4138
|
-
| 'beancount-direct'
|
|
4139
|
-
| 'parsed-bill';
|
|
4286
|
+
provider:
|
|
4287
|
+
| 'plaid'
|
|
4288
|
+
| 'teller'
|
|
4289
|
+
| 'truelayer'
|
|
4290
|
+
| 'gocardless'
|
|
4291
|
+
| 'simplefin'
|
|
4292
|
+
| 'yodlee'
|
|
4293
|
+
| 'beancount-direct'
|
|
4294
|
+
| 'parsed-bill';
|
|
4295
|
+
/**
|
|
4296
|
+
* External account ID from the provider
|
|
4297
|
+
*/
|
|
4298
|
+
externalAccountId: string;
|
|
4299
|
+
/**
|
|
4300
|
+
* Target BeanAccount ID (must belong to the JWT user)
|
|
4301
|
+
*/
|
|
4302
|
+
beanAccountId: string;
|
|
4303
|
+
};
|
|
4304
|
+
|
|
4305
|
+
/**
|
|
4306
|
+
* Open Banking provider (whitelist)
|
|
4307
|
+
*/
|
|
4308
|
+
export type provider =
|
|
4309
|
+
| 'plaid'
|
|
4310
|
+
| 'teller'
|
|
4311
|
+
| 'truelayer'
|
|
4312
|
+
| 'gocardless'
|
|
4313
|
+
| 'simplefin'
|
|
4314
|
+
| 'yodlee'
|
|
4315
|
+
| 'beancount-direct'
|
|
4316
|
+
| 'parsed-bill';
|
|
4317
|
+
|
|
4318
|
+
export type ExternalAccountLinkResponseDto = {
|
|
4319
|
+
id: string;
|
|
4320
|
+
provider: string;
|
|
4321
|
+
externalAccountId: string;
|
|
4322
|
+
beanAccountId: string;
|
|
4323
|
+
isActive: boolean;
|
|
4324
|
+
createdAt: string;
|
|
4325
|
+
updatedAt: string;
|
|
4326
|
+
};
|
|
4327
|
+
|
|
4328
|
+
export type ExternalAccountLinkListResponseDto = {
|
|
4329
|
+
items: Array<ExternalAccountLinkResponseDto>;
|
|
4330
|
+
total: number;
|
|
4331
|
+
/**
|
|
4332
|
+
* Filter by provider (query param)
|
|
4333
|
+
*/
|
|
4334
|
+
provider?: string;
|
|
4335
|
+
};
|
|
4336
|
+
|
|
4337
|
+
export type ParserTelemetryReportDto = unknown;
|
|
4338
|
+
|
|
4339
|
+
export type UncoveredFormatMissDto = unknown;
|
|
4340
|
+
|
|
4341
|
+
export type ClientParsedDataDto = {
|
|
4342
|
+
/**
|
|
4343
|
+
* Transaction amount
|
|
4344
|
+
*/
|
|
4345
|
+
amount?: number;
|
|
4346
|
+
/**
|
|
4347
|
+
* Currency code
|
|
4348
|
+
*/
|
|
4349
|
+
currency?: string;
|
|
4350
|
+
/**
|
|
4351
|
+
* Transaction date (ISO 8601)
|
|
4352
|
+
*/
|
|
4353
|
+
date?: string;
|
|
4354
|
+
/**
|
|
4355
|
+
* Payee/merchant name
|
|
4356
|
+
*/
|
|
4357
|
+
payee?: string;
|
|
4358
|
+
/**
|
|
4359
|
+
* Transaction narration
|
|
4360
|
+
*/
|
|
4361
|
+
narration?: string;
|
|
4362
|
+
/**
|
|
4363
|
+
* Category slug
|
|
4364
|
+
*/
|
|
4365
|
+
category?: string;
|
|
4366
|
+
/**
|
|
4367
|
+
* Income type
|
|
4368
|
+
*/
|
|
4369
|
+
incomeType?: string;
|
|
4370
|
+
/**
|
|
4371
|
+
* Income source
|
|
4372
|
+
*/
|
|
4373
|
+
incomeSource?: string;
|
|
4374
|
+
/**
|
|
4375
|
+
* Security symbol code (e.g., 600519, AAPL)
|
|
4376
|
+
*/
|
|
4377
|
+
symbol?: string;
|
|
4378
|
+
/**
|
|
4379
|
+
* Quantity of shares/units
|
|
4380
|
+
*/
|
|
4381
|
+
quantity?: number;
|
|
4382
|
+
/**
|
|
4383
|
+
* Unit price per share/unit
|
|
4384
|
+
*/
|
|
4385
|
+
price?: number;
|
|
4386
|
+
/**
|
|
4387
|
+
* Investment action
|
|
4388
|
+
*/
|
|
4389
|
+
investmentAction?: 'buy' | 'sell';
|
|
4390
|
+
/**
|
|
4391
|
+
* Payment source: asset (default) or liability (credit card)
|
|
4392
|
+
*/
|
|
4393
|
+
paymentSource?: 'asset' | 'liability';
|
|
4140
4394
|
/**
|
|
4141
|
-
*
|
|
4395
|
+
* Liability account hint (CreditCard/Huabei/Baitiao)
|
|
4142
4396
|
*/
|
|
4143
|
-
|
|
4397
|
+
liabilityHint?: string;
|
|
4144
4398
|
/**
|
|
4145
|
-
*
|
|
4399
|
+
* Display-only warning from the prior response; accepted but ignored.
|
|
4146
4400
|
*/
|
|
4147
|
-
|
|
4401
|
+
warning?: string;
|
|
4148
4402
|
};
|
|
4149
4403
|
|
|
4150
4404
|
/**
|
|
4151
|
-
*
|
|
4405
|
+
* Investment action
|
|
4152
4406
|
*/
|
|
4153
|
-
export type
|
|
4154
|
-
| 'plaid'
|
|
4155
|
-
| 'teller'
|
|
4156
|
-
| 'truelayer'
|
|
4157
|
-
| 'gocardless'
|
|
4158
|
-
| 'simplefin'
|
|
4159
|
-
| 'yodlee'
|
|
4160
|
-
| 'beancount-direct'
|
|
4161
|
-
| 'parsed-bill';
|
|
4407
|
+
export type investmentAction = 'buy' | 'sell';
|
|
4162
4408
|
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
beanAccountId: string;
|
|
4168
|
-
isActive: boolean;
|
|
4169
|
-
createdAt: string;
|
|
4170
|
-
updatedAt: string;
|
|
4171
|
-
};
|
|
4409
|
+
/**
|
|
4410
|
+
* Payment source: asset (default) or liability (credit card)
|
|
4411
|
+
*/
|
|
4412
|
+
export type paymentSource = 'asset' | 'liability';
|
|
4172
4413
|
|
|
4173
|
-
export type
|
|
4174
|
-
items: Array<ExternalAccountLinkResponseDto>;
|
|
4175
|
-
total: number;
|
|
4414
|
+
export type ProcessNlpDto = {
|
|
4176
4415
|
/**
|
|
4177
|
-
*
|
|
4416
|
+
* Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.
|
|
4178
4417
|
*/
|
|
4179
|
-
|
|
4180
|
-
};
|
|
4181
|
-
|
|
4182
|
-
export type ParserTelemetryReportDto = unknown;
|
|
4183
|
-
|
|
4184
|
-
export type UncoveredFormatMissDto = unknown;
|
|
4185
|
-
|
|
4186
|
-
export type ProcessNlpDto = {
|
|
4418
|
+
message?: string;
|
|
4187
4419
|
/**
|
|
4188
|
-
*
|
|
4420
|
+
* Structured confirm signal — bypasses NL confirm-word matching when true. Send parsedData field edits alongside. The NL word-list path is the fallback.
|
|
4189
4421
|
*/
|
|
4190
|
-
|
|
4422
|
+
confirm?: boolean;
|
|
4191
4423
|
/**
|
|
4192
4424
|
* Session ID for multi-turn conversation (auto-generated if not provided)
|
|
4193
4425
|
*/
|
|
@@ -4195,19 +4427,34 @@ export type ProcessNlpDto = {
|
|
|
4195
4427
|
/**
|
|
4196
4428
|
* Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
|
|
4197
4429
|
*/
|
|
4198
|
-
parsedData?:
|
|
4199
|
-
[key: string]: unknown;
|
|
4200
|
-
};
|
|
4430
|
+
parsedData?: ClientParsedDataDto;
|
|
4201
4431
|
/**
|
|
4202
4432
|
* 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.
|
|
4203
4433
|
*/
|
|
4204
4434
|
selectedRuleId?: string;
|
|
4205
4435
|
/**
|
|
4206
|
-
* 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.
|
|
4436
|
+
* confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i].path, or a typed path). Applied directly when the session is confirming_account — no NL re-parse.
|
|
4207
4437
|
*/
|
|
4208
4438
|
selectedAccount?: string;
|
|
4439
|
+
/**
|
|
4440
|
+
* Viewpoint account hint: the beancount path the user drilled into (e.g. from an account drill-down). Tie-break only — never overrides accounts resolved from the text. Must be an owned, OPEN Assets:/Liabilities: account; unresolvable hints are silently ignored.
|
|
4441
|
+
*/
|
|
4442
|
+
viewpointAccount?: string;
|
|
4443
|
+
/**
|
|
4444
|
+
* Viewpoint category hint: the ADR-0075 Group segment the user drilled into (e.g. 'Food'). Resolved to a concrete OPEN account in that group; tie-break only — never overrides a category resolved from the text.
|
|
4445
|
+
*/
|
|
4446
|
+
viewpointCategory?: string;
|
|
4447
|
+
/**
|
|
4448
|
+
* Companion flow root for viewpointCategory ('income' | 'expense'), mirroring the ADR-0126 list-endpoint invariant. Derived from the session's routed intent (multi-turn) when absent; a first-turn flow-less category hint is dropped — send the flow explicitly.
|
|
4449
|
+
*/
|
|
4450
|
+
viewpointFlow?: 'income' | 'expense';
|
|
4209
4451
|
};
|
|
4210
4452
|
|
|
4453
|
+
/**
|
|
4454
|
+
* Companion flow root for viewpointCategory ('income' | 'expense'), mirroring the ADR-0126 list-endpoint invariant. Derived from the session's routed intent (multi-turn) when absent; a first-turn flow-less category hint is dropped — send the flow explicitly.
|
|
4455
|
+
*/
|
|
4456
|
+
export type viewpointFlow = 'income' | 'expense';
|
|
4457
|
+
|
|
4211
4458
|
export type NlpTransactionInfoDto = {
|
|
4212
4459
|
/**
|
|
4213
4460
|
* Transaction ID
|
|
@@ -4302,16 +4549,6 @@ export type NlpParsedDataDto = {
|
|
|
4302
4549
|
warning?: string;
|
|
4303
4550
|
};
|
|
4304
4551
|
|
|
4305
|
-
/**
|
|
4306
|
-
* Investment action
|
|
4307
|
-
*/
|
|
4308
|
-
export type investmentAction = 'buy' | 'sell';
|
|
4309
|
-
|
|
4310
|
-
/**
|
|
4311
|
-
* Payment source: asset (default) or liability (credit card)
|
|
4312
|
-
*/
|
|
4313
|
-
export type paymentSource = 'asset' | 'liability';
|
|
4314
|
-
|
|
4315
4552
|
export type NlpSourceTransactionDto = {
|
|
4316
4553
|
/**
|
|
4317
4554
|
* Transaction date (ISO format)
|
|
@@ -4443,6 +4680,17 @@ export type NlpRuleConfirmationDataDto = {
|
|
|
4443
4680
|
reasons: Array<string>;
|
|
4444
4681
|
};
|
|
4445
4682
|
|
|
4683
|
+
export type NlpAccountCandidateDto = {
|
|
4684
|
+
/**
|
|
4685
|
+
* Canonical beancount account path (echo back on selection)
|
|
4686
|
+
*/
|
|
4687
|
+
path: string;
|
|
4688
|
+
/**
|
|
4689
|
+
* Localized display name (ADR-0114 read-time projection, user locale)
|
|
4690
|
+
*/
|
|
4691
|
+
name: string;
|
|
4692
|
+
};
|
|
4693
|
+
|
|
4446
4694
|
export type NlpAccountConfirmationDataDto = {
|
|
4447
4695
|
/**
|
|
4448
4696
|
* The invalid account name
|
|
@@ -4453,9 +4701,9 @@ export type NlpAccountConfirmationDataDto = {
|
|
|
4453
4701
|
*/
|
|
4454
4702
|
suggestedAccount?: string;
|
|
4455
4703
|
/**
|
|
4456
|
-
* Similar accounts for user selection
|
|
4704
|
+
* Similar accounts for user selection (path + localized name, #680)
|
|
4457
4705
|
*/
|
|
4458
|
-
similarAccounts: Array<
|
|
4706
|
+
similarAccounts: Array<NlpAccountCandidateDto>;
|
|
4459
4707
|
/**
|
|
4460
4708
|
* Error message explaining the issue
|
|
4461
4709
|
*/
|
|
@@ -4639,7 +4887,12 @@ export type NlpResponseDto = {
|
|
|
4639
4887
|
/**
|
|
4640
4888
|
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4641
4889
|
*/
|
|
4642
|
-
assetSubType?:
|
|
4890
|
+
assetSubType?:
|
|
4891
|
+
| 'transfer'
|
|
4892
|
+
| 'banking'
|
|
4893
|
+
| 'investment'
|
|
4894
|
+
| 'lend'
|
|
4895
|
+
| 'lend_collect';
|
|
4643
4896
|
/**
|
|
4644
4897
|
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4645
4898
|
*/
|
|
@@ -4756,7 +5009,12 @@ export type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
|
4756
5009
|
/**
|
|
4757
5010
|
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4758
5011
|
*/
|
|
4759
|
-
export type assetSubType =
|
|
5012
|
+
export type assetSubType =
|
|
5013
|
+
| 'transfer'
|
|
5014
|
+
| 'banking'
|
|
5015
|
+
| 'investment'
|
|
5016
|
+
| 'lend'
|
|
5017
|
+
| 'lend_collect';
|
|
4760
5018
|
|
|
4761
5019
|
/**
|
|
4762
5020
|
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
@@ -4797,7 +5055,7 @@ export type PlatformListItemDto = {
|
|
|
4797
5055
|
*/
|
|
4798
5056
|
canonical: string;
|
|
4799
5057
|
/**
|
|
4800
|
-
* Suggested path segment —
|
|
5058
|
+
* Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
|
|
4801
5059
|
*/
|
|
4802
5060
|
suggestedSegment: string;
|
|
4803
5061
|
/**
|
|
@@ -4821,7 +5079,7 @@ export type PlatformListItemDto = {
|
|
|
4821
5079
|
/**
|
|
4822
5080
|
* Platform type
|
|
4823
5081
|
*/
|
|
4824
|
-
export type
|
|
5082
|
+
export type type4 =
|
|
4825
5083
|
| 'BANK'
|
|
4826
5084
|
| 'BROKERAGE'
|
|
4827
5085
|
| 'CRYPTO_EXCHANGE'
|
|
@@ -4855,7 +5113,7 @@ export type PlatformMatchResultDto = {
|
|
|
4855
5113
|
| 'INSURANCE'
|
|
4856
5114
|
| 'OTHER';
|
|
4857
5115
|
/**
|
|
4858
|
-
* Suggested path segment —
|
|
5116
|
+
* Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
|
|
4859
5117
|
*/
|
|
4860
5118
|
suggestedSegment: string;
|
|
4861
5119
|
/**
|
|
@@ -4905,6 +5163,55 @@ export type PlatformMatchResponseDto = {
|
|
|
4905
5163
|
*/
|
|
4906
5164
|
export type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
|
|
4907
5165
|
|
|
5166
|
+
export type PlatformStandardsPlatformDto = {
|
|
5167
|
+
/**
|
|
5168
|
+
* Global platform ID
|
|
5169
|
+
*/
|
|
5170
|
+
id: string;
|
|
5171
|
+
/**
|
|
5172
|
+
* Platform name (e.g., "ICBC")
|
|
5173
|
+
*/
|
|
5174
|
+
name: string;
|
|
5175
|
+
/**
|
|
5176
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
5177
|
+
*/
|
|
5178
|
+
canonical: string;
|
|
5179
|
+
/**
|
|
5180
|
+
* Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
|
|
5181
|
+
*/
|
|
5182
|
+
suggestedSegment: string;
|
|
5183
|
+
/**
|
|
5184
|
+
* Platform type
|
|
5185
|
+
*/
|
|
5186
|
+
type:
|
|
5187
|
+
| 'BANK'
|
|
5188
|
+
| 'BROKERAGE'
|
|
5189
|
+
| 'CRYPTO_EXCHANGE'
|
|
5190
|
+
| 'PAYMENT'
|
|
5191
|
+
| 'INVESTMENT'
|
|
5192
|
+
| 'INSURANCE'
|
|
5193
|
+
| 'OTHER';
|
|
5194
|
+
/**
|
|
5195
|
+
* Region-aware category (institution vocab, e.g. DigitalWallet/Bank) resolved against the final region. null = no region-aware suggestion; fall back to type.
|
|
5196
|
+
*/
|
|
5197
|
+
category: string | null;
|
|
5198
|
+
};
|
|
5199
|
+
|
|
5200
|
+
export type PlatformStandardsResponseDto = {
|
|
5201
|
+
/**
|
|
5202
|
+
* The selected platform (institution lock source)
|
|
5203
|
+
*/
|
|
5204
|
+
platform: PlatformStandardsPlatformDto;
|
|
5205
|
+
/**
|
|
5206
|
+
* Resolved template region (ISO 3166-1 alpha-2, UPPERCASE): the platform's own countryCode when set, else the region query param. For regions without a regional template file the template list falls back to the universal-only catalog while region still echoes the code.
|
|
5207
|
+
*/
|
|
5208
|
+
region: string;
|
|
5209
|
+
/**
|
|
5210
|
+
* Candidate account-standard templates of the resolved region (groupable by productCategory client-side)
|
|
5211
|
+
*/
|
|
5212
|
+
templates: Array<AccountStandardResponseDto>;
|
|
5213
|
+
};
|
|
5214
|
+
|
|
4908
5215
|
export type CreatePlatformDto = {
|
|
4909
5216
|
/**
|
|
4910
5217
|
* Platform name
|
|
@@ -5101,11 +5408,11 @@ export type PlatformGroupDto = {
|
|
|
5101
5408
|
*/
|
|
5102
5409
|
platformName: string;
|
|
5103
5410
|
/**
|
|
5104
|
-
* Accounts within this platform
|
|
5411
|
+
* Accounts within this platform (Assets and Liabilities rows, #696)
|
|
5105
5412
|
*/
|
|
5106
5413
|
accounts: Array<AccountItemDto>;
|
|
5107
5414
|
/**
|
|
5108
|
-
* FX-converted total balance in base currency
|
|
5415
|
+
* FX-converted total balance in base currency (nets Assets + Liabilities rows; can be negative)
|
|
5109
5416
|
*/
|
|
5110
5417
|
totalBalance: string;
|
|
5111
5418
|
/**
|
|
@@ -5117,7 +5424,7 @@ export type PlatformGroupDto = {
|
|
|
5117
5424
|
*/
|
|
5118
5425
|
convertedBalance?: string;
|
|
5119
5426
|
/**
|
|
5120
|
-
* Share of the grand
|
|
5427
|
+
* Share of the converted asset-side grand total (0-100); liability balances are excluded from the basis; 0 when grand total is 0 (#696)
|
|
5121
5428
|
*/
|
|
5122
5429
|
sharePct: number;
|
|
5123
5430
|
};
|
|
@@ -5143,7 +5450,7 @@ export type AccountExchangeRateWarningDto = {
|
|
|
5143
5450
|
|
|
5144
5451
|
export type AccountsSummaryDto = {
|
|
5145
5452
|
/**
|
|
5146
|
-
* Total number of accounts
|
|
5453
|
+
* Total number of accounts (balance sheet: Assets + Liabilities, #696)
|
|
5147
5454
|
*/
|
|
5148
5455
|
totalAccounts: number;
|
|
5149
5456
|
/**
|
|
@@ -5495,9 +5802,7 @@ export type MonetaryDto = {
|
|
|
5495
5802
|
/**
|
|
5496
5803
|
* Converted to user base currency (Decimal string)
|
|
5497
5804
|
*/
|
|
5498
|
-
baseCcyEquivalent?:
|
|
5499
|
-
[key: string]: unknown;
|
|
5500
|
-
} | null;
|
|
5805
|
+
baseCcyEquivalent?: string | null;
|
|
5501
5806
|
};
|
|
5502
5807
|
|
|
5503
5808
|
export type CurrentPriceDto = {
|
|
@@ -5549,15 +5854,11 @@ export type HoldingPnlRowDto = {
|
|
|
5549
5854
|
/**
|
|
5550
5855
|
* Account settlement currency (ISO 4217), from cost currency
|
|
5551
5856
|
*/
|
|
5552
|
-
accountCcy?:
|
|
5553
|
-
[key: string]: unknown;
|
|
5554
|
-
} | null;
|
|
5857
|
+
accountCcy?: string | null;
|
|
5555
5858
|
/**
|
|
5556
5859
|
* Broker type derived from Platform.type
|
|
5557
5860
|
*/
|
|
5558
|
-
brokerType?:
|
|
5559
|
-
[key: string]: unknown;
|
|
5560
|
-
} | null;
|
|
5861
|
+
brokerType?: string | null;
|
|
5561
5862
|
/**
|
|
5562
5863
|
* Commodity symbol
|
|
5563
5864
|
*/
|
|
@@ -5567,9 +5868,7 @@ export type HoldingPnlRowDto = {
|
|
|
5567
5868
|
*/
|
|
5568
5869
|
chartToken: 'equity' | 'fund' | 'bond' | 'cash' | 'other';
|
|
5569
5870
|
assetClass: string;
|
|
5570
|
-
assetSubClass?:
|
|
5571
|
-
[key: string]: unknown;
|
|
5572
|
-
} | null;
|
|
5871
|
+
assetSubClass?: string | null;
|
|
5573
5872
|
/**
|
|
5574
5873
|
* Net held units (Decimal string)
|
|
5575
5874
|
*/
|
|
@@ -5593,15 +5892,11 @@ export type HoldingPnlRowDto = {
|
|
|
5593
5892
|
/**
|
|
5594
5893
|
* Unrealized P&L in base currency (Decimal string); null when any FX/price missing
|
|
5595
5894
|
*/
|
|
5596
|
-
unrealizedPnlBase?:
|
|
5597
|
-
[key: string]: unknown;
|
|
5598
|
-
} | null;
|
|
5895
|
+
unrealizedPnlBase?: string | null;
|
|
5599
5896
|
/**
|
|
5600
5897
|
* Unrealized P&L % (Decimal string)
|
|
5601
5898
|
*/
|
|
5602
|
-
unrealizedPnlPct?:
|
|
5603
|
-
[key: string]: unknown;
|
|
5604
|
-
} | null;
|
|
5899
|
+
unrealizedPnlPct?: string | null;
|
|
5605
5900
|
/**
|
|
5606
5901
|
* Historical FX rate applied to cost basis
|
|
5607
5902
|
*/
|
|
@@ -5613,9 +5908,7 @@ export type HoldingPnlRowDto = {
|
|
|
5613
5908
|
/**
|
|
5614
5909
|
* Share of invested assets % (Decimal string); only for invested chartTokens
|
|
5615
5910
|
*/
|
|
5616
|
-
pctOfInvestedAssets?:
|
|
5617
|
-
[key: string]: unknown;
|
|
5618
|
-
} | null;
|
|
5911
|
+
pctOfInvestedAssets?: string | null;
|
|
5619
5912
|
/**
|
|
5620
5913
|
* Cumulative realized P&L on sold lots (asOf-date cutoff); null when the method has no applicable sells, a sell lacks a price, or any required FX rate is missing (never-mix). When a sell spans multiple currencies (cross-currency sale), amount and currency reflect the base currency; baseCcyEquivalent is always the authoritative dual-FX figure
|
|
5621
5914
|
*/
|
|
@@ -5639,21 +5932,15 @@ export type HoldingPnlWarningDto = {
|
|
|
5639
5932
|
| 'OVERSOLD_LOTS'
|
|
5640
5933
|
| 'NO_PRICE'
|
|
5641
5934
|
| 'MIXED_COST_CURRENCY';
|
|
5642
|
-
symbol?:
|
|
5643
|
-
|
|
5644
|
-
|
|
5645
|
-
accountId?: {
|
|
5646
|
-
[key: string]: unknown;
|
|
5647
|
-
} | null;
|
|
5648
|
-
currency?: {
|
|
5649
|
-
[key: string]: unknown;
|
|
5650
|
-
} | null;
|
|
5935
|
+
symbol?: string | null;
|
|
5936
|
+
accountId?: string | null;
|
|
5937
|
+
currency?: string | null;
|
|
5651
5938
|
};
|
|
5652
5939
|
|
|
5653
5940
|
/**
|
|
5654
5941
|
* Warning type
|
|
5655
5942
|
*/
|
|
5656
|
-
export type
|
|
5943
|
+
export type type5 =
|
|
5657
5944
|
| 'MISSING_COST_FX_RATE'
|
|
5658
5945
|
| 'MISSING_MARKET_FX_RATE'
|
|
5659
5946
|
| 'MISSING_SALE_PRICE'
|
|
@@ -5692,132 +5979,205 @@ export type AnonymousLoginResponseDto = {
|
|
|
5692
5979
|
authToken: string;
|
|
5693
5980
|
};
|
|
5694
5981
|
|
|
5982
|
+
export type ParserContributionMetaDto = {
|
|
5983
|
+
/**
|
|
5984
|
+
* Institution slug (lowercase kebab-case)
|
|
5985
|
+
*/
|
|
5986
|
+
institution: string;
|
|
5987
|
+
region:
|
|
5988
|
+
| 'cn'
|
|
5989
|
+
| 'us'
|
|
5990
|
+
| 'de'
|
|
5991
|
+
| 'fr'
|
|
5992
|
+
| 'gb'
|
|
5993
|
+
| 'hk'
|
|
5994
|
+
| 'jp'
|
|
5995
|
+
| 'sg'
|
|
5996
|
+
| 'au'
|
|
5997
|
+
| 'ca'
|
|
5998
|
+
| 'other';
|
|
5999
|
+
accountType: 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
|
|
6000
|
+
format: 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
|
|
6001
|
+
institutionDisplayName?: string;
|
|
6002
|
+
encoding?: string;
|
|
6003
|
+
/**
|
|
6004
|
+
* CSV delimiter character: ",", ";", "\t" or "|"
|
|
6005
|
+
*/
|
|
6006
|
+
delimiter?: string;
|
|
6007
|
+
/**
|
|
6008
|
+
* Header row count; the client omits the field when it is 1
|
|
6009
|
+
*/
|
|
6010
|
+
headerRows?: number;
|
|
6011
|
+
notes?: string;
|
|
6012
|
+
};
|
|
6013
|
+
|
|
6014
|
+
export type region =
|
|
6015
|
+
| 'cn'
|
|
6016
|
+
| 'us'
|
|
6017
|
+
| 'de'
|
|
6018
|
+
| 'fr'
|
|
6019
|
+
| 'gb'
|
|
6020
|
+
| 'hk'
|
|
6021
|
+
| 'jp'
|
|
6022
|
+
| 'sg'
|
|
6023
|
+
| 'au'
|
|
6024
|
+
| 'ca'
|
|
6025
|
+
| 'other';
|
|
6026
|
+
|
|
6027
|
+
export type accountType =
|
|
6028
|
+
| 'checking'
|
|
6029
|
+
| 'savings'
|
|
6030
|
+
| 'credit'
|
|
6031
|
+
| 'debit'
|
|
6032
|
+
| 'investment';
|
|
6033
|
+
|
|
6034
|
+
export type format = 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
|
|
6035
|
+
|
|
6036
|
+
export type ParserContributionSamplesDto = {
|
|
6037
|
+
/**
|
|
6038
|
+
* Client-sanitized sample rows (key = column name, value = cell)
|
|
6039
|
+
*/
|
|
6040
|
+
rows: Array<{
|
|
6041
|
+
[key: string]: unknown;
|
|
6042
|
+
}>;
|
|
6043
|
+
rawHeaders?: Array<string>;
|
|
6044
|
+
};
|
|
6045
|
+
|
|
6046
|
+
export type FieldHintDto = {
|
|
6047
|
+
columnName: string;
|
|
6048
|
+
/**
|
|
6049
|
+
* Date format, e.g. yyyy-MM-dd HH:mm
|
|
6050
|
+
*/
|
|
6051
|
+
format?: string;
|
|
6052
|
+
signConvention?: 'negative-expense' | 'positive-expense' | 'separate-columns';
|
|
6053
|
+
creditColumn?: string;
|
|
6054
|
+
debitColumn?: string;
|
|
6055
|
+
};
|
|
6056
|
+
|
|
6057
|
+
export type signConvention =
|
|
6058
|
+
| 'negative-expense'
|
|
6059
|
+
| 'positive-expense'
|
|
6060
|
+
| 'separate-columns';
|
|
6061
|
+
|
|
6062
|
+
export type ParserContributionFieldHintsDto = {
|
|
6063
|
+
date: FieldHintDto;
|
|
6064
|
+
amount: FieldHintDto;
|
|
6065
|
+
description?: FieldHintDto;
|
|
6066
|
+
balance?: FieldHintDto;
|
|
6067
|
+
payee?: FieldHintDto;
|
|
6068
|
+
reference?: FieldHintDto;
|
|
6069
|
+
category?: FieldHintDto;
|
|
6070
|
+
};
|
|
6071
|
+
|
|
6072
|
+
export type ExpectedTransactionDto = {
|
|
6073
|
+
date: string;
|
|
6074
|
+
amount: number;
|
|
6075
|
+
description: string;
|
|
6076
|
+
payee?: string;
|
|
6077
|
+
category?: string;
|
|
6078
|
+
};
|
|
6079
|
+
|
|
6080
|
+
export type ParserContributionExamplesDto = {
|
|
6081
|
+
expectedTransactions: Array<ExpectedTransactionDto>;
|
|
6082
|
+
};
|
|
6083
|
+
|
|
6084
|
+
export type ParserContributionRequestDto = {
|
|
6085
|
+
meta: ParserContributionMetaDto;
|
|
6086
|
+
samples: ParserContributionSamplesDto;
|
|
6087
|
+
fieldHints: ParserContributionFieldHintsDto;
|
|
6088
|
+
/**
|
|
6089
|
+
* Omitted entirely by the client when empty
|
|
6090
|
+
*/
|
|
6091
|
+
examples?: ParserContributionExamplesDto;
|
|
6092
|
+
};
|
|
6093
|
+
|
|
6094
|
+
export type ParserContributionRelayResponseDto = {
|
|
6095
|
+
issueUrl: string;
|
|
6096
|
+
issueNumber: number;
|
|
6097
|
+
};
|
|
6098
|
+
|
|
5695
6099
|
export type SymbolSearchResultDto = {
|
|
5696
6100
|
symbol: string;
|
|
5697
|
-
name?:
|
|
5698
|
-
|
|
5699
|
-
} | null;
|
|
5700
|
-
exchange?: {
|
|
5701
|
-
[key: string]: unknown;
|
|
5702
|
-
} | null;
|
|
6101
|
+
name?: string | null;
|
|
6102
|
+
exchange?: string | null;
|
|
5703
6103
|
/**
|
|
5704
6104
|
* OpenBB asset_type (e.g. stock, etf)
|
|
5705
6105
|
*/
|
|
5706
|
-
assetType?:
|
|
5707
|
-
[key: string]: unknown;
|
|
5708
|
-
} | null;
|
|
6106
|
+
assetType?: string | null;
|
|
5709
6107
|
/**
|
|
5710
6108
|
* IGN asset class (region.types.ts ASSET_CLASSES)
|
|
5711
6109
|
*/
|
|
5712
|
-
assetClass?:
|
|
5713
|
-
[key: string]: unknown;
|
|
5714
|
-
} | null;
|
|
6110
|
+
assetClass?: string | null;
|
|
5715
6111
|
/**
|
|
5716
6112
|
* IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
|
|
5717
6113
|
*/
|
|
5718
|
-
assetSubClass?:
|
|
5719
|
-
[key: string]: unknown;
|
|
5720
|
-
} | null;
|
|
6114
|
+
assetSubClass?: string | null;
|
|
5721
6115
|
/**
|
|
5722
6116
|
* Trading currency (extra_data or inferred from exchange)
|
|
5723
6117
|
*/
|
|
5724
|
-
currency?:
|
|
5725
|
-
[key: string]: unknown;
|
|
5726
|
-
} | null;
|
|
6118
|
+
currency?: string | null;
|
|
5727
6119
|
};
|
|
5728
6120
|
|
|
5729
6121
|
export type SymbolQuoteDto = {
|
|
5730
6122
|
symbol?: string;
|
|
5731
|
-
name?:
|
|
5732
|
-
|
|
5733
|
-
} | null;
|
|
5734
|
-
exchange?: {
|
|
5735
|
-
[key: string]: unknown;
|
|
5736
|
-
} | null;
|
|
6123
|
+
name?: string | null;
|
|
6124
|
+
exchange?: string | null;
|
|
5737
6125
|
/**
|
|
5738
6126
|
* OpenBB asset_type
|
|
5739
6127
|
*/
|
|
5740
|
-
assetType?:
|
|
5741
|
-
[key: string]: unknown;
|
|
5742
|
-
} | null;
|
|
6128
|
+
assetType?: string | null;
|
|
5743
6129
|
/**
|
|
5744
6130
|
* IGN asset class
|
|
5745
6131
|
*/
|
|
5746
|
-
assetClass?:
|
|
5747
|
-
[key: string]: unknown;
|
|
5748
|
-
} | null;
|
|
6132
|
+
assetClass?: string | null;
|
|
5749
6133
|
/**
|
|
5750
6134
|
* IGN asset sub-class
|
|
5751
6135
|
*/
|
|
5752
|
-
assetSubClass?:
|
|
5753
|
-
[key: string]: unknown;
|
|
5754
|
-
} | null;
|
|
6136
|
+
assetSubClass?: string | null;
|
|
5755
6137
|
/**
|
|
5756
6138
|
* Trading currency (extra_data or inferred from exchange)
|
|
5757
6139
|
*/
|
|
5758
|
-
currency?:
|
|
5759
|
-
[key: string]: unknown;
|
|
5760
|
-
} | null;
|
|
6140
|
+
currency?: string | null;
|
|
5761
6141
|
/**
|
|
5762
6142
|
* Latest price (Decimal string)
|
|
5763
6143
|
*/
|
|
5764
|
-
price?:
|
|
5765
|
-
[key: string]: unknown;
|
|
5766
|
-
} | null;
|
|
6144
|
+
price?: string | null;
|
|
5767
6145
|
/**
|
|
5768
6146
|
* Date the price was observed (ISO yyyy-MM-dd)
|
|
5769
6147
|
*/
|
|
5770
|
-
priceDate?:
|
|
5771
|
-
[key: string]: unknown;
|
|
5772
|
-
} | null;
|
|
6148
|
+
priceDate?: string | null;
|
|
5773
6149
|
/**
|
|
5774
6150
|
* 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.
|
|
5775
6151
|
*/
|
|
5776
|
-
changePercent?:
|
|
5777
|
-
[key: string]: unknown;
|
|
5778
|
-
} | null;
|
|
6152
|
+
changePercent?: number | null;
|
|
5779
6153
|
/**
|
|
5780
6154
|
* Previous close (Decimal string)
|
|
5781
6155
|
*/
|
|
5782
|
-
prevClose?:
|
|
5783
|
-
[key: string]: unknown;
|
|
5784
|
-
} | null;
|
|
6156
|
+
prevClose?: string | null;
|
|
5785
6157
|
/**
|
|
5786
6158
|
* Day open (Decimal string)
|
|
5787
6159
|
*/
|
|
5788
|
-
open?:
|
|
5789
|
-
[key: string]: unknown;
|
|
5790
|
-
} | null;
|
|
6160
|
+
open?: string | null;
|
|
5791
6161
|
/**
|
|
5792
6162
|
* Day high (Decimal string)
|
|
5793
6163
|
*/
|
|
5794
|
-
high?:
|
|
5795
|
-
[key: string]: unknown;
|
|
5796
|
-
} | null;
|
|
6164
|
+
high?: string | null;
|
|
5797
6165
|
/**
|
|
5798
6166
|
* Day low (Decimal string)
|
|
5799
6167
|
*/
|
|
5800
|
-
low?:
|
|
5801
|
-
[key: string]: unknown;
|
|
5802
|
-
} | null;
|
|
6168
|
+
low?: string | null;
|
|
5803
6169
|
/**
|
|
5804
6170
|
* Day volume (Decimal string)
|
|
5805
6171
|
*/
|
|
5806
|
-
volume?:
|
|
5807
|
-
[key: string]: unknown;
|
|
5808
|
-
} | null;
|
|
6172
|
+
volume?: string | null;
|
|
5809
6173
|
/**
|
|
5810
6174
|
* 52-week high (Decimal string)
|
|
5811
6175
|
*/
|
|
5812
|
-
yearHigh?:
|
|
5813
|
-
[key: string]: unknown;
|
|
5814
|
-
} | null;
|
|
6176
|
+
yearHigh?: string | null;
|
|
5815
6177
|
/**
|
|
5816
6178
|
* 52-week low (Decimal string)
|
|
5817
6179
|
*/
|
|
5818
|
-
yearLow?:
|
|
5819
|
-
[key: string]: unknown;
|
|
5820
|
-
} | null;
|
|
6180
|
+
yearLow?: string | null;
|
|
5821
6181
|
};
|
|
5822
6182
|
|
|
5823
6183
|
export type AccountControllerCreateData = {
|
|
@@ -6177,7 +6537,7 @@ export type AccountStandardsControllerGetTemplatesData = {
|
|
|
6177
6537
|
| 'tw'
|
|
6178
6538
|
| 'us';
|
|
6179
6539
|
/**
|
|
6180
|
-
* Search term for path or
|
|
6540
|
+
* Search term for path, description, aliases, or localized display name
|
|
6181
6541
|
*/
|
|
6182
6542
|
search?: string;
|
|
6183
6543
|
/**
|
|
@@ -6307,7 +6667,7 @@ export type TransactionControllerListData = {
|
|
|
6307
6667
|
*/
|
|
6308
6668
|
accountId?: string;
|
|
6309
6669
|
/**
|
|
6310
|
-
* Filter by ADR-0075 functional category (Group segment); matches any posting to an
|
|
6670
|
+
* Filter by ADR-0075 functional category (Group segment); matches any posting to an account whose derived Group segment equals this value. Must be accompanied by flow (ADR-0126).
|
|
6311
6671
|
*/
|
|
6312
6672
|
category?: string;
|
|
6313
6673
|
/**
|
|
@@ -6318,6 +6678,10 @@ export type TransactionControllerListData = {
|
|
|
6318
6678
|
* Filter by end date (inclusive), format: YYYY-MM-DD
|
|
6319
6679
|
*/
|
|
6320
6680
|
dateTo?: string;
|
|
6681
|
+
/**
|
|
6682
|
+
* Required when category is present (400 otherwise) and vice versa (ADR-0126). Restricts the category account set to the flow root (income → Income:, expense → Expenses:) and drives the per-leg sign normalization of row viewpointAmount and the summary. OpenAPI cannot express conditional requiredness — the pairing is enforced at runtime.
|
|
6683
|
+
*/
|
|
6684
|
+
flow?: 'income' | 'expense';
|
|
6321
6685
|
/**
|
|
6322
6686
|
* Number of items per page (1-100, default: 20)
|
|
6323
6687
|
*/
|
|
@@ -6360,9 +6724,9 @@ export type TransactionControllerListData = {
|
|
|
6360
6724
|
*/
|
|
6361
6725
|
search?: string;
|
|
6362
6726
|
/**
|
|
6363
|
-
* Filter by transaction status
|
|
6727
|
+
* Filter by transaction status: single value, comma-separated multi-value (e.g. VOIDED,SUPERSEDED), or ALL to include audit rows. Defaults to ACTIVE-only (ADR-0128; previously unfiltered — breaking change).
|
|
6364
6728
|
*/
|
|
6365
|
-
status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
6729
|
+
status?: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED' | 'ALL';
|
|
6366
6730
|
};
|
|
6367
6731
|
|
|
6368
6732
|
export type TransactionControllerListResponse = TransactionListResponseDto;
|
|
@@ -7119,8 +7483,7 @@ export type PayeeProfileAdminControllerUnverifyData = {
|
|
|
7119
7483
|
id: string;
|
|
7120
7484
|
};
|
|
7121
7485
|
|
|
7122
|
-
export type PayeeProfileAdminControllerUnverifyResponse =
|
|
7123
|
-
PayeeProfileResponseDto;
|
|
7486
|
+
export type PayeeProfileAdminControllerUnverifyResponse = void;
|
|
7124
7487
|
|
|
7125
7488
|
export type CommodityControllerCreateData = {
|
|
7126
7489
|
/**
|
|
@@ -7235,48 +7598,9 @@ export type CommodityControllerFindOneData = {
|
|
|
7235
7598
|
symbol: string;
|
|
7236
7599
|
};
|
|
7237
7600
|
|
|
7238
|
-
export type CommodityControllerFindOneResponse = CommodityResponseDto;
|
|
7239
|
-
|
|
7240
|
-
export type CommodityControllerUpdateData = {
|
|
7241
|
-
/**
|
|
7242
|
-
* Region code for tenant context
|
|
7243
|
-
*/
|
|
7244
|
-
region:
|
|
7245
|
-
| 'ad'
|
|
7246
|
-
| 'ae'
|
|
7247
|
-
| 'af'
|
|
7248
|
-
| 'ag'
|
|
7249
|
-
| 'al'
|
|
7250
|
-
| 'am'
|
|
7251
|
-
| 'ao'
|
|
7252
|
-
| 'au'
|
|
7253
|
-
| 'br'
|
|
7254
|
-
| 'ca'
|
|
7255
|
-
| 'cn'
|
|
7256
|
-
| 'de'
|
|
7257
|
-
| 'dz'
|
|
7258
|
-
| 'es'
|
|
7259
|
-
| 'fr'
|
|
7260
|
-
| 'gb'
|
|
7261
|
-
| 'hk'
|
|
7262
|
-
| 'in'
|
|
7263
|
-
| 'it'
|
|
7264
|
-
| 'jp'
|
|
7265
|
-
| 'kr'
|
|
7266
|
-
| 'nl'
|
|
7267
|
-
| 'sg'
|
|
7268
|
-
| 'tw'
|
|
7269
|
-
| 'us';
|
|
7270
|
-
requestBody: UpdateCommodityDto;
|
|
7271
|
-
/**
|
|
7272
|
-
* Commodity symbol
|
|
7273
|
-
*/
|
|
7274
|
-
symbol: string;
|
|
7275
|
-
};
|
|
7276
|
-
|
|
7277
|
-
export type CommodityControllerUpdateResponse = CommodityResponseDto;
|
|
7601
|
+
export type CommodityControllerFindOneResponse = CommodityResponseDto;
|
|
7278
7602
|
|
|
7279
|
-
export type
|
|
7603
|
+
export type CommodityControllerUpdateData = {
|
|
7280
7604
|
/**
|
|
7281
7605
|
* Region code for tenant context
|
|
7282
7606
|
*/
|
|
@@ -7306,15 +7630,16 @@ export type CommodityControllerDeleteData = {
|
|
|
7306
7630
|
| 'sg'
|
|
7307
7631
|
| 'tw'
|
|
7308
7632
|
| 'us';
|
|
7633
|
+
requestBody: UpdateCommodityDto;
|
|
7309
7634
|
/**
|
|
7310
7635
|
* Commodity symbol
|
|
7311
7636
|
*/
|
|
7312
7637
|
symbol: string;
|
|
7313
7638
|
};
|
|
7314
7639
|
|
|
7315
|
-
export type
|
|
7640
|
+
export type CommodityControllerUpdateResponse = CommodityResponseDto;
|
|
7316
7641
|
|
|
7317
|
-
export type
|
|
7642
|
+
export type CommodityControllerDeleteData = {
|
|
7318
7643
|
/**
|
|
7319
7644
|
* Region code for tenant context
|
|
7320
7645
|
*/
|
|
@@ -7350,9 +7675,9 @@ export type CommodityControllerGetOrCreateData = {
|
|
|
7350
7675
|
symbol: string;
|
|
7351
7676
|
};
|
|
7352
7677
|
|
|
7353
|
-
export type
|
|
7678
|
+
export type CommodityControllerDeleteResponse = void;
|
|
7354
7679
|
|
|
7355
|
-
export type
|
|
7680
|
+
export type CommodityControllerGetOrCreateData = {
|
|
7356
7681
|
/**
|
|
7357
7682
|
* Region code for tenant context
|
|
7358
7683
|
*/
|
|
@@ -7382,11 +7707,15 @@ export type CommodityControllerBulkCreateData = {
|
|
|
7382
7707
|
| 'sg'
|
|
7383
7708
|
| 'tw'
|
|
7384
7709
|
| 'us';
|
|
7710
|
+
/**
|
|
7711
|
+
* Commodity symbol
|
|
7712
|
+
*/
|
|
7713
|
+
symbol: string;
|
|
7385
7714
|
};
|
|
7386
7715
|
|
|
7387
|
-
export type
|
|
7716
|
+
export type CommodityControllerGetOrCreateResponse = CommodityResponseDto;
|
|
7388
7717
|
|
|
7389
|
-
export type
|
|
7718
|
+
export type CommodityControllerBulkCreateData = {
|
|
7390
7719
|
/**
|
|
7391
7720
|
* Region code for tenant context
|
|
7392
7721
|
*/
|
|
@@ -7416,36 +7745,19 @@ export type PriceControllerCreateData = {
|
|
|
7416
7745
|
| 'sg'
|
|
7417
7746
|
| 'tw'
|
|
7418
7747
|
| 'us';
|
|
7419
|
-
requestBody: CreateBeanPriceDto;
|
|
7420
7748
|
};
|
|
7421
7749
|
|
|
7422
|
-
export type
|
|
7750
|
+
export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
|
|
7423
7751
|
|
|
7424
|
-
export type
|
|
7425
|
-
/**
|
|
7426
|
-
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
7427
|
-
*/
|
|
7428
|
-
currency?: string;
|
|
7429
|
-
/**
|
|
7430
|
-
* Filter prices from this date (ISO 8601 format)
|
|
7431
|
-
*/
|
|
7432
|
-
dateFrom?: string;
|
|
7433
|
-
/**
|
|
7434
|
-
* Filter prices to this date (ISO 8601 format)
|
|
7435
|
-
*/
|
|
7436
|
-
dateTo?: string;
|
|
7437
|
-
/**
|
|
7438
|
-
* Number of items per page (default: 20, max: 100)
|
|
7439
|
-
*/
|
|
7440
|
-
limit?: number;
|
|
7752
|
+
export type ReportingControllerGetPortfolioTrendsData = {
|
|
7441
7753
|
/**
|
|
7442
|
-
*
|
|
7754
|
+
* Data granularity
|
|
7443
7755
|
*/
|
|
7444
|
-
|
|
7756
|
+
granularity?: 'day' | 'week' | 'month';
|
|
7445
7757
|
/**
|
|
7446
|
-
*
|
|
7758
|
+
* Time period
|
|
7447
7759
|
*/
|
|
7448
|
-
|
|
7760
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
7449
7761
|
/**
|
|
7450
7762
|
* Region code for tenant context
|
|
7451
7763
|
*/
|
|
@@ -7475,19 +7787,20 @@ export type PriceControllerFindAllData = {
|
|
|
7475
7787
|
| 'sg'
|
|
7476
7788
|
| 'tw'
|
|
7477
7789
|
| 'us';
|
|
7478
|
-
/**
|
|
7479
|
-
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
7480
|
-
*/
|
|
7481
|
-
search?: string;
|
|
7482
7790
|
};
|
|
7483
7791
|
|
|
7484
|
-
export type
|
|
7792
|
+
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
7793
|
+
PortfolioTrendsResponseDto;
|
|
7485
7794
|
|
|
7486
|
-
export type
|
|
7795
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
7487
7796
|
/**
|
|
7488
|
-
*
|
|
7797
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
7489
7798
|
*/
|
|
7490
|
-
|
|
7799
|
+
granularity?: 'day' | 'week' | 'month';
|
|
7800
|
+
/**
|
|
7801
|
+
* Time period
|
|
7802
|
+
*/
|
|
7803
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
7491
7804
|
/**
|
|
7492
7805
|
* Region code for tenant context
|
|
7493
7806
|
*/
|
|
@@ -7519,13 +7832,10 @@ export type PriceControllerFindOneData = {
|
|
|
7519
7832
|
| 'us';
|
|
7520
7833
|
};
|
|
7521
7834
|
|
|
7522
|
-
export type
|
|
7835
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
7836
|
+
CashFlowTrendsResponseDto;
|
|
7523
7837
|
|
|
7524
|
-
export type
|
|
7525
|
-
/**
|
|
7526
|
-
* Price ID
|
|
7527
|
-
*/
|
|
7528
|
-
id: string;
|
|
7838
|
+
export type ReportingControllerGenerateSnapshotData = {
|
|
7529
7839
|
/**
|
|
7530
7840
|
* Region code for tenant context
|
|
7531
7841
|
*/
|
|
@@ -7555,16 +7865,16 @@ export type PriceControllerUpdateData = {
|
|
|
7555
7865
|
| 'sg'
|
|
7556
7866
|
| 'tw'
|
|
7557
7867
|
| 'us';
|
|
7558
|
-
|
|
7868
|
+
/**
|
|
7869
|
+
* Optional date (defaults to today)
|
|
7870
|
+
*/
|
|
7871
|
+
requestBody: GenerateSnapshotBody;
|
|
7559
7872
|
};
|
|
7560
7873
|
|
|
7561
|
-
export type
|
|
7874
|
+
export type ReportingControllerGenerateSnapshotResponse =
|
|
7875
|
+
GenerateSnapshotResponse;
|
|
7562
7876
|
|
|
7563
|
-
export type
|
|
7564
|
-
/**
|
|
7565
|
-
* Price ID
|
|
7566
|
-
*/
|
|
7567
|
-
id: string;
|
|
7877
|
+
export type ReportingControllerBackfillSnapshotsData = {
|
|
7568
7878
|
/**
|
|
7569
7879
|
* Region code for tenant context
|
|
7570
7880
|
*/
|
|
@@ -7594,11 +7904,13 @@ export type PriceControllerDeleteData = {
|
|
|
7594
7904
|
| 'sg'
|
|
7595
7905
|
| 'tw'
|
|
7596
7906
|
| 'us';
|
|
7907
|
+
requestBody: BackfillSnapshotsBody;
|
|
7597
7908
|
};
|
|
7598
7909
|
|
|
7599
|
-
export type
|
|
7910
|
+
export type ReportingControllerBackfillSnapshotsResponse =
|
|
7911
|
+
BackfillSnapshotsResponse;
|
|
7600
7912
|
|
|
7601
|
-
export type
|
|
7913
|
+
export type PriceControllerCreateData = {
|
|
7602
7914
|
/**
|
|
7603
7915
|
* Region code for tenant context
|
|
7604
7916
|
*/
|
|
@@ -7628,12 +7940,36 @@ export type PriceControllerBulkCreateData = {
|
|
|
7628
7940
|
| 'sg'
|
|
7629
7941
|
| 'tw'
|
|
7630
7942
|
| 'us';
|
|
7631
|
-
requestBody:
|
|
7943
|
+
requestBody: CreateBeanPriceDto;
|
|
7632
7944
|
};
|
|
7633
7945
|
|
|
7634
|
-
export type
|
|
7946
|
+
export type PriceControllerCreateResponse = PriceResponseDto;
|
|
7635
7947
|
|
|
7636
|
-
export type
|
|
7948
|
+
export type PriceControllerFindAllData = {
|
|
7949
|
+
/**
|
|
7950
|
+
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
7951
|
+
*/
|
|
7952
|
+
currency?: string;
|
|
7953
|
+
/**
|
|
7954
|
+
* Filter prices from this date (ISO 8601 format)
|
|
7955
|
+
*/
|
|
7956
|
+
dateFrom?: string;
|
|
7957
|
+
/**
|
|
7958
|
+
* Filter prices to this date (ISO 8601 format)
|
|
7959
|
+
*/
|
|
7960
|
+
dateTo?: string;
|
|
7961
|
+
/**
|
|
7962
|
+
* Number of items per page (default: 20, max: 100)
|
|
7963
|
+
*/
|
|
7964
|
+
limit?: number;
|
|
7965
|
+
/**
|
|
7966
|
+
* Page number for pagination (default: 1)
|
|
7967
|
+
*/
|
|
7968
|
+
page?: number;
|
|
7969
|
+
/**
|
|
7970
|
+
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
7971
|
+
*/
|
|
7972
|
+
quoteCurrency?: string;
|
|
7637
7973
|
/**
|
|
7638
7974
|
* Region code for tenant context
|
|
7639
7975
|
*/
|
|
@@ -7663,24 +7999,19 @@ export type RecurringRuleControllerCreateData = {
|
|
|
7663
7999
|
| 'sg'
|
|
7664
8000
|
| 'tw'
|
|
7665
8001
|
| 'us';
|
|
7666
|
-
|
|
8002
|
+
/**
|
|
8003
|
+
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
8004
|
+
*/
|
|
8005
|
+
search?: string;
|
|
7667
8006
|
};
|
|
7668
8007
|
|
|
7669
|
-
export type
|
|
8008
|
+
export type PriceControllerFindAllResponse = PriceListResponseDto;
|
|
7670
8009
|
|
|
7671
|
-
export type
|
|
7672
|
-
/**
|
|
7673
|
-
* Filter by frequency (WEEKLY, MONTHLY, etc.)
|
|
7674
|
-
*/
|
|
7675
|
-
frequency?: string;
|
|
7676
|
-
/**
|
|
7677
|
-
* Filter by autoCreate enabled
|
|
7678
|
-
*/
|
|
7679
|
-
hasAutoCreate?: boolean;
|
|
8010
|
+
export type PriceControllerFindOneData = {
|
|
7680
8011
|
/**
|
|
7681
|
-
*
|
|
8012
|
+
* Price ID
|
|
7682
8013
|
*/
|
|
7683
|
-
|
|
8014
|
+
id: string;
|
|
7684
8015
|
/**
|
|
7685
8016
|
* Region code for tenant context
|
|
7686
8017
|
*/
|
|
@@ -7712,10 +8043,13 @@ export type RecurringRuleControllerFindAllData = {
|
|
|
7712
8043
|
| 'us';
|
|
7713
8044
|
};
|
|
7714
8045
|
|
|
7715
|
-
export type
|
|
7716
|
-
Array<RecurringRuleResponseDto>;
|
|
8046
|
+
export type PriceControllerFindOneResponse = PriceResponseDto;
|
|
7717
8047
|
|
|
7718
|
-
export type
|
|
8048
|
+
export type PriceControllerUpdateData = {
|
|
8049
|
+
/**
|
|
8050
|
+
* Price ID
|
|
8051
|
+
*/
|
|
8052
|
+
id: string;
|
|
7719
8053
|
/**
|
|
7720
8054
|
* Region code for tenant context
|
|
7721
8055
|
*/
|
|
@@ -7745,19 +8079,14 @@ export type RecurringRuleControllerCreateFromTransactionData = {
|
|
|
7745
8079
|
| 'sg'
|
|
7746
8080
|
| 'tw'
|
|
7747
8081
|
| 'us';
|
|
7748
|
-
requestBody:
|
|
7749
|
-
/**
|
|
7750
|
-
* Source transaction ID
|
|
7751
|
-
*/
|
|
7752
|
-
transactionId: string;
|
|
8082
|
+
requestBody: UpdateBeanPriceDto;
|
|
7753
8083
|
};
|
|
7754
8084
|
|
|
7755
|
-
export type
|
|
7756
|
-
RecurringRuleResponseDto;
|
|
8085
|
+
export type PriceControllerUpdateResponse = PriceResponseDto;
|
|
7757
8086
|
|
|
7758
|
-
export type
|
|
8087
|
+
export type PriceControllerDeleteData = {
|
|
7759
8088
|
/**
|
|
7760
|
-
*
|
|
8089
|
+
* Price ID
|
|
7761
8090
|
*/
|
|
7762
8091
|
id: string;
|
|
7763
8092
|
/**
|
|
@@ -7791,13 +8120,9 @@ export type RecurringRuleControllerFindOneData = {
|
|
|
7791
8120
|
| 'us';
|
|
7792
8121
|
};
|
|
7793
8122
|
|
|
7794
|
-
export type
|
|
8123
|
+
export type PriceControllerDeleteResponse = void;
|
|
7795
8124
|
|
|
7796
|
-
export type
|
|
7797
|
-
/**
|
|
7798
|
-
* Rule ID
|
|
7799
|
-
*/
|
|
7800
|
-
id: string;
|
|
8125
|
+
export type PriceControllerBulkCreateData = {
|
|
7801
8126
|
/**
|
|
7802
8127
|
* Region code for tenant context
|
|
7803
8128
|
*/
|
|
@@ -7827,16 +8152,99 @@ export type RecurringRuleControllerUpdateData = {
|
|
|
7827
8152
|
| 'sg'
|
|
7828
8153
|
| 'tw'
|
|
7829
8154
|
| 'us';
|
|
7830
|
-
requestBody:
|
|
8155
|
+
requestBody: Array<string>;
|
|
8156
|
+
};
|
|
8157
|
+
|
|
8158
|
+
export type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
|
|
8159
|
+
|
|
8160
|
+
export type UserControllerDeleteOwnUserData = {
|
|
8161
|
+
requestBody: DeleteOwnUserDto;
|
|
8162
|
+
};
|
|
8163
|
+
|
|
8164
|
+
export type UserControllerDeleteOwnUserResponse = void;
|
|
8165
|
+
|
|
8166
|
+
export type UserControllerGetUserData = {
|
|
8167
|
+
acceptLanguage: string;
|
|
8168
|
+
};
|
|
8169
|
+
|
|
8170
|
+
export type UserControllerGetUserResponse = UserResponseDto;
|
|
8171
|
+
|
|
8172
|
+
export type UserControllerSignupUserData = {
|
|
8173
|
+
requestBody: SignupDto;
|
|
8174
|
+
};
|
|
8175
|
+
|
|
8176
|
+
export type UserControllerSignupUserResponse = SignupResponseDto;
|
|
8177
|
+
|
|
8178
|
+
export type UserControllerDeleteUserData = {
|
|
8179
|
+
/**
|
|
8180
|
+
* User ID to delete
|
|
8181
|
+
*/
|
|
8182
|
+
id: string;
|
|
8183
|
+
};
|
|
8184
|
+
|
|
8185
|
+
export type UserControllerDeleteUserResponse = void;
|
|
8186
|
+
|
|
8187
|
+
export type UserControllerGetUserInfoData = {
|
|
8188
|
+
/**
|
|
8189
|
+
* User ID
|
|
8190
|
+
*/
|
|
8191
|
+
id: string;
|
|
8192
|
+
};
|
|
8193
|
+
|
|
8194
|
+
export type UserControllerGetUserInfoResponse = unknown;
|
|
8195
|
+
|
|
8196
|
+
export type UserControllerUpdateUserSettingData = {
|
|
8197
|
+
requestBody: UpdateUserSettingDto;
|
|
8198
|
+
};
|
|
8199
|
+
|
|
8200
|
+
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
8201
|
+
|
|
8202
|
+
export type UserControllerGetAllUserSettingsByPageData = {
|
|
8203
|
+
/**
|
|
8204
|
+
* Page number
|
|
8205
|
+
*/
|
|
8206
|
+
pageNo: number;
|
|
8207
|
+
/**
|
|
8208
|
+
* Page size
|
|
8209
|
+
*/
|
|
8210
|
+
pageSize: number;
|
|
8211
|
+
};
|
|
8212
|
+
|
|
8213
|
+
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
8214
|
+
|
|
8215
|
+
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
8216
|
+
|
|
8217
|
+
export type PropertyControllerGetAllResponse = unknown;
|
|
8218
|
+
|
|
8219
|
+
export type PropertyControllerGetByKeyData = {
|
|
8220
|
+
/**
|
|
8221
|
+
* Property key
|
|
8222
|
+
*/
|
|
8223
|
+
key: string;
|
|
8224
|
+
};
|
|
8225
|
+
|
|
8226
|
+
export type PropertyControllerGetByKeyResponse = unknown;
|
|
8227
|
+
|
|
8228
|
+
export type PropertyControllerUpdateData = {
|
|
8229
|
+
/**
|
|
8230
|
+
* Property key
|
|
8231
|
+
*/
|
|
8232
|
+
key: string;
|
|
8233
|
+
requestBody: UpdatePropertyDto;
|
|
7831
8234
|
};
|
|
7832
8235
|
|
|
7833
|
-
export type
|
|
8236
|
+
export type PropertyControllerUpdateResponse = unknown;
|
|
7834
8237
|
|
|
7835
|
-
export type
|
|
8238
|
+
export type PropertyControllerDeleteData = {
|
|
7836
8239
|
/**
|
|
7837
|
-
*
|
|
8240
|
+
* Property key
|
|
7838
8241
|
*/
|
|
7839
|
-
|
|
8242
|
+
key: string;
|
|
8243
|
+
};
|
|
8244
|
+
|
|
8245
|
+
export type PropertyControllerDeleteResponse = void;
|
|
8246
|
+
|
|
8247
|
+
export type RecurringRuleControllerCreateData = {
|
|
7840
8248
|
/**
|
|
7841
8249
|
* Region code for tenant context
|
|
7842
8250
|
*/
|
|
@@ -7866,15 +8274,24 @@ export type RecurringRuleControllerDeleteData = {
|
|
|
7866
8274
|
| 'sg'
|
|
7867
8275
|
| 'tw'
|
|
7868
8276
|
| 'us';
|
|
8277
|
+
requestBody: CreateRecurringRuleDto;
|
|
7869
8278
|
};
|
|
7870
8279
|
|
|
7871
|
-
export type
|
|
8280
|
+
export type RecurringRuleControllerCreateResponse = RecurringRuleResponseDto;
|
|
7872
8281
|
|
|
7873
|
-
export type
|
|
8282
|
+
export type RecurringRuleControllerFindAllData = {
|
|
7874
8283
|
/**
|
|
7875
|
-
*
|
|
8284
|
+
* Filter by frequency (WEEKLY, MONTHLY, etc.)
|
|
7876
8285
|
*/
|
|
7877
|
-
|
|
8286
|
+
frequency?: string;
|
|
8287
|
+
/**
|
|
8288
|
+
* Filter by autoCreate enabled
|
|
8289
|
+
*/
|
|
8290
|
+
hasAutoCreate?: boolean;
|
|
8291
|
+
/**
|
|
8292
|
+
* Filter by active status
|
|
8293
|
+
*/
|
|
8294
|
+
isActive?: boolean;
|
|
7878
8295
|
/**
|
|
7879
8296
|
* Region code for tenant context
|
|
7880
8297
|
*/
|
|
@@ -7906,14 +8323,10 @@ export type RecurringRuleControllerGetWithStatsData = {
|
|
|
7906
8323
|
| 'us';
|
|
7907
8324
|
};
|
|
7908
8325
|
|
|
7909
|
-
export type
|
|
7910
|
-
|
|
8326
|
+
export type RecurringRuleControllerFindAllResponse =
|
|
8327
|
+
Array<RecurringRuleResponseDto>;
|
|
7911
8328
|
|
|
7912
|
-
export type
|
|
7913
|
-
/**
|
|
7914
|
-
* Filter by date range start (YYYY-MM-DD)
|
|
7915
|
-
*/
|
|
7916
|
-
fromDate?: string;
|
|
8329
|
+
export type RecurringRuleControllerCreateFromTransactionData = {
|
|
7917
8330
|
/**
|
|
7918
8331
|
* Region code for tenant context
|
|
7919
8332
|
*/
|
|
@@ -7943,24 +8356,21 @@ export type ExpectedTransactionControllerFindAllData = {
|
|
|
7943
8356
|
| 'sg'
|
|
7944
8357
|
| 'tw'
|
|
7945
8358
|
| 'us';
|
|
8359
|
+
requestBody: CreateRuleFromTransactionDto;
|
|
7946
8360
|
/**
|
|
7947
|
-
*
|
|
7948
|
-
*/
|
|
7949
|
-
ruleId?: string;
|
|
7950
|
-
/**
|
|
7951
|
-
* Filter by status (PENDING, COMPLETED, SKIPPED)
|
|
7952
|
-
*/
|
|
7953
|
-
status?: string;
|
|
7954
|
-
/**
|
|
7955
|
-
* Filter by date range end (YYYY-MM-DD)
|
|
8361
|
+
* Source transaction ID
|
|
7956
8362
|
*/
|
|
7957
|
-
|
|
8363
|
+
transactionId: string;
|
|
7958
8364
|
};
|
|
7959
8365
|
|
|
7960
|
-
export type
|
|
7961
|
-
|
|
8366
|
+
export type RecurringRuleControllerCreateFromTransactionResponse =
|
|
8367
|
+
RecurringRuleResponseDto;
|
|
7962
8368
|
|
|
7963
|
-
export type
|
|
8369
|
+
export type RecurringRuleControllerFindOneData = {
|
|
8370
|
+
/**
|
|
8371
|
+
* Rule ID
|
|
8372
|
+
*/
|
|
8373
|
+
id: string;
|
|
7964
8374
|
/**
|
|
7965
8375
|
* Region code for tenant context
|
|
7966
8376
|
*/
|
|
@@ -7992,12 +8402,11 @@ export type ExpectedTransactionControllerFindOverdueData = {
|
|
|
7992
8402
|
| 'us';
|
|
7993
8403
|
};
|
|
7994
8404
|
|
|
7995
|
-
export type
|
|
7996
|
-
ExpectedTransactionListResponseDto;
|
|
8405
|
+
export type RecurringRuleControllerFindOneResponse = RecurringRuleResponseDto;
|
|
7997
8406
|
|
|
7998
|
-
export type
|
|
8407
|
+
export type RecurringRuleControllerUpdateData = {
|
|
7999
8408
|
/**
|
|
8000
|
-
*
|
|
8409
|
+
* Rule ID
|
|
8001
8410
|
*/
|
|
8002
8411
|
id: string;
|
|
8003
8412
|
/**
|
|
@@ -8029,14 +8438,14 @@ export type ExpectedTransactionControllerFindOneData = {
|
|
|
8029
8438
|
| 'sg'
|
|
8030
8439
|
| 'tw'
|
|
8031
8440
|
| 'us';
|
|
8441
|
+
requestBody: UpdateRecurringRuleDto;
|
|
8032
8442
|
};
|
|
8033
8443
|
|
|
8034
|
-
export type
|
|
8035
|
-
ExpectedTransactionResponseDto;
|
|
8444
|
+
export type RecurringRuleControllerUpdateResponse = RecurringRuleResponseDto;
|
|
8036
8445
|
|
|
8037
|
-
export type
|
|
8446
|
+
export type RecurringRuleControllerDeleteData = {
|
|
8038
8447
|
/**
|
|
8039
|
-
*
|
|
8448
|
+
* Rule ID
|
|
8040
8449
|
*/
|
|
8041
8450
|
id: string;
|
|
8042
8451
|
/**
|
|
@@ -8070,12 +8479,11 @@ export type ExpectedTransactionControllerSkipData = {
|
|
|
8070
8479
|
| 'us';
|
|
8071
8480
|
};
|
|
8072
8481
|
|
|
8073
|
-
export type
|
|
8074
|
-
ExpectedTransactionResponseDto;
|
|
8482
|
+
export type RecurringRuleControllerDeleteResponse = void;
|
|
8075
8483
|
|
|
8076
|
-
export type
|
|
8484
|
+
export type RecurringRuleControllerGetWithStatsData = {
|
|
8077
8485
|
/**
|
|
8078
|
-
*
|
|
8486
|
+
* Rule ID
|
|
8079
8487
|
*/
|
|
8080
8488
|
id: string;
|
|
8081
8489
|
/**
|
|
@@ -8109,14 +8517,14 @@ export type ExpectedTransactionControllerUndoSkipData = {
|
|
|
8109
8517
|
| 'us';
|
|
8110
8518
|
};
|
|
8111
8519
|
|
|
8112
|
-
export type
|
|
8113
|
-
|
|
8520
|
+
export type RecurringRuleControllerGetWithStatsResponse =
|
|
8521
|
+
RecurringRuleWithStatsResponseDto;
|
|
8114
8522
|
|
|
8115
|
-
export type
|
|
8523
|
+
export type ExpectedTransactionControllerFindAllData = {
|
|
8116
8524
|
/**
|
|
8117
|
-
*
|
|
8525
|
+
* Filter by date range start (YYYY-MM-DD)
|
|
8118
8526
|
*/
|
|
8119
|
-
|
|
8527
|
+
fromDate?: string;
|
|
8120
8528
|
/**
|
|
8121
8529
|
* Region code for tenant context
|
|
8122
8530
|
*/
|
|
@@ -8146,16 +8554,24 @@ export type ExpectedTransactionControllerConfirmMatchData = {
|
|
|
8146
8554
|
| 'sg'
|
|
8147
8555
|
| 'tw'
|
|
8148
8556
|
| 'us';
|
|
8149
|
-
|
|
8557
|
+
/**
|
|
8558
|
+
* Filter by recurring rule ID
|
|
8559
|
+
*/
|
|
8560
|
+
ruleId?: string;
|
|
8561
|
+
/**
|
|
8562
|
+
* Filter by status (PENDING, COMPLETED, SKIPPED)
|
|
8563
|
+
*/
|
|
8564
|
+
status?: string;
|
|
8565
|
+
/**
|
|
8566
|
+
* Filter by date range end (YYYY-MM-DD)
|
|
8567
|
+
*/
|
|
8568
|
+
toDate?: string;
|
|
8150
8569
|
};
|
|
8151
8570
|
|
|
8152
|
-
export type
|
|
8571
|
+
export type ExpectedTransactionControllerFindAllResponse =
|
|
8572
|
+
ExpectedTransactionListResponseDto;
|
|
8153
8573
|
|
|
8154
|
-
export type
|
|
8155
|
-
/**
|
|
8156
|
-
* Expected transaction ID
|
|
8157
|
-
*/
|
|
8158
|
-
id: string;
|
|
8574
|
+
export type ExpectedTransactionControllerFindOverdueData = {
|
|
8159
8575
|
/**
|
|
8160
8576
|
* Region code for tenant context
|
|
8161
8577
|
*/
|
|
@@ -8187,9 +8603,10 @@ export type ExpectedTransactionControllerUnmatchData = {
|
|
|
8187
8603
|
| 'us';
|
|
8188
8604
|
};
|
|
8189
8605
|
|
|
8190
|
-
export type
|
|
8606
|
+
export type ExpectedTransactionControllerFindOverdueResponse =
|
|
8607
|
+
ExpectedTransactionListResponseDto;
|
|
8191
8608
|
|
|
8192
|
-
export type
|
|
8609
|
+
export type ExpectedTransactionControllerFindOneData = {
|
|
8193
8610
|
/**
|
|
8194
8611
|
* Expected transaction ID
|
|
8195
8612
|
*/
|
|
@@ -8223,16 +8640,16 @@ export type ExpectedTransactionControllerEnterNowData = {
|
|
|
8223
8640
|
| 'sg'
|
|
8224
8641
|
| 'tw'
|
|
8225
8642
|
| 'us';
|
|
8226
|
-
requestBody: EnterNowDto;
|
|
8227
8643
|
};
|
|
8228
8644
|
|
|
8229
|
-
export type
|
|
8645
|
+
export type ExpectedTransactionControllerFindOneResponse =
|
|
8646
|
+
ExpectedTransactionResponseDto;
|
|
8230
8647
|
|
|
8231
|
-
export type
|
|
8648
|
+
export type ExpectedTransactionControllerSkipData = {
|
|
8232
8649
|
/**
|
|
8233
|
-
*
|
|
8650
|
+
* Expected transaction ID
|
|
8234
8651
|
*/
|
|
8235
|
-
|
|
8652
|
+
id: string;
|
|
8236
8653
|
/**
|
|
8237
8654
|
* Region code for tenant context
|
|
8238
8655
|
*/
|
|
@@ -8264,17 +8681,14 @@ export type ForecastControllerGetForecastData = {
|
|
|
8264
8681
|
| 'us';
|
|
8265
8682
|
};
|
|
8266
8683
|
|
|
8267
|
-
export type
|
|
8684
|
+
export type ExpectedTransactionControllerSkipResponse =
|
|
8685
|
+
ExpectedTransactionResponseDto;
|
|
8268
8686
|
|
|
8269
|
-
export type
|
|
8270
|
-
/**
|
|
8271
|
-
* Data granularity
|
|
8272
|
-
*/
|
|
8273
|
-
granularity?: 'day' | 'week' | 'month';
|
|
8687
|
+
export type ExpectedTransactionControllerUndoSkipData = {
|
|
8274
8688
|
/**
|
|
8275
|
-
*
|
|
8689
|
+
* Expected transaction ID
|
|
8276
8690
|
*/
|
|
8277
|
-
|
|
8691
|
+
id: string;
|
|
8278
8692
|
/**
|
|
8279
8693
|
* Region code for tenant context
|
|
8280
8694
|
*/
|
|
@@ -8306,18 +8720,13 @@ export type ReportingControllerGetPortfolioTrendsData = {
|
|
|
8306
8720
|
| 'us';
|
|
8307
8721
|
};
|
|
8308
8722
|
|
|
8309
|
-
export type
|
|
8310
|
-
PortfolioTrendsResponseDto;
|
|
8723
|
+
export type ExpectedTransactionControllerUndoSkipResponse = void;
|
|
8311
8724
|
|
|
8312
|
-
export type
|
|
8313
|
-
/**
|
|
8314
|
-
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
8315
|
-
*/
|
|
8316
|
-
granularity?: 'day' | 'week' | 'month';
|
|
8725
|
+
export type ExpectedTransactionControllerConfirmMatchData = {
|
|
8317
8726
|
/**
|
|
8318
|
-
*
|
|
8727
|
+
* Expected transaction ID
|
|
8319
8728
|
*/
|
|
8320
|
-
|
|
8729
|
+
id: string;
|
|
8321
8730
|
/**
|
|
8322
8731
|
* Region code for tenant context
|
|
8323
8732
|
*/
|
|
@@ -8347,12 +8756,16 @@ export type ReportingControllerGetCashFlowTrendsData = {
|
|
|
8347
8756
|
| 'sg'
|
|
8348
8757
|
| 'tw'
|
|
8349
8758
|
| 'us';
|
|
8759
|
+
requestBody: ConfirmMatchDto;
|
|
8350
8760
|
};
|
|
8351
8761
|
|
|
8352
|
-
export type
|
|
8353
|
-
CashFlowTrendsResponseDto;
|
|
8762
|
+
export type ExpectedTransactionControllerConfirmMatchResponse = unknown;
|
|
8354
8763
|
|
|
8355
|
-
export type
|
|
8764
|
+
export type ExpectedTransactionControllerUnmatchData = {
|
|
8765
|
+
/**
|
|
8766
|
+
* Expected transaction ID
|
|
8767
|
+
*/
|
|
8768
|
+
id: string;
|
|
8356
8769
|
/**
|
|
8357
8770
|
* Region code for tenant context
|
|
8358
8771
|
*/
|
|
@@ -8382,16 +8795,15 @@ export type ReportingControllerGenerateSnapshotData = {
|
|
|
8382
8795
|
| 'sg'
|
|
8383
8796
|
| 'tw'
|
|
8384
8797
|
| 'us';
|
|
8385
|
-
/**
|
|
8386
|
-
* Optional date (defaults to today)
|
|
8387
|
-
*/
|
|
8388
|
-
requestBody: GenerateSnapshotBody;
|
|
8389
8798
|
};
|
|
8390
8799
|
|
|
8391
|
-
export type
|
|
8392
|
-
GenerateSnapshotResponse;
|
|
8800
|
+
export type ExpectedTransactionControllerUnmatchResponse = void;
|
|
8393
8801
|
|
|
8394
|
-
export type
|
|
8802
|
+
export type ExpectedTransactionControllerEnterNowData = {
|
|
8803
|
+
/**
|
|
8804
|
+
* Expected transaction ID
|
|
8805
|
+
*/
|
|
8806
|
+
id: string;
|
|
8395
8807
|
/**
|
|
8396
8808
|
* Region code for tenant context
|
|
8397
8809
|
*/
|
|
@@ -8411,108 +8823,58 @@ export type ReportingControllerBackfillSnapshotsData = {
|
|
|
8411
8823
|
| 'dz'
|
|
8412
8824
|
| 'es'
|
|
8413
8825
|
| 'fr'
|
|
8414
|
-
| 'gb'
|
|
8415
|
-
| 'hk'
|
|
8416
|
-
| 'in'
|
|
8417
|
-
| 'it'
|
|
8418
|
-
| 'jp'
|
|
8419
|
-
| 'kr'
|
|
8420
|
-
| 'nl'
|
|
8421
|
-
| 'sg'
|
|
8422
|
-
| 'tw'
|
|
8423
|
-
| 'us';
|
|
8424
|
-
requestBody:
|
|
8425
|
-
};
|
|
8426
|
-
|
|
8427
|
-
export type ReportingControllerBackfillSnapshotsResponse =
|
|
8428
|
-
BackfillSnapshotsResponse;
|
|
8429
|
-
|
|
8430
|
-
export type UserControllerDeleteOwnUserData = {
|
|
8431
|
-
requestBody: DeleteOwnUserDto;
|
|
8432
|
-
};
|
|
8433
|
-
|
|
8434
|
-
export type UserControllerDeleteOwnUserResponse = void;
|
|
8435
|
-
|
|
8436
|
-
export type UserControllerGetUserData = {
|
|
8437
|
-
acceptLanguage: string;
|
|
8438
|
-
};
|
|
8439
|
-
|
|
8440
|
-
export type UserControllerGetUserResponse = unknown;
|
|
8441
|
-
|
|
8442
|
-
export type UserControllerSignupUserData = {
|
|
8443
|
-
requestBody: SignupDto;
|
|
8444
|
-
};
|
|
8445
|
-
|
|
8446
|
-
export type UserControllerSignupUserResponse = SignupResponseDto;
|
|
8447
|
-
|
|
8448
|
-
export type UserControllerDeleteUserData = {
|
|
8449
|
-
/**
|
|
8450
|
-
* User ID to delete
|
|
8451
|
-
*/
|
|
8452
|
-
id: string;
|
|
8453
|
-
};
|
|
8454
|
-
|
|
8455
|
-
export type UserControllerDeleteUserResponse = void;
|
|
8456
|
-
|
|
8457
|
-
export type UserControllerGetUserInfoData = {
|
|
8458
|
-
/**
|
|
8459
|
-
* User ID
|
|
8460
|
-
*/
|
|
8461
|
-
id: string;
|
|
8462
|
-
};
|
|
8463
|
-
|
|
8464
|
-
export type UserControllerGetUserInfoResponse = unknown;
|
|
8465
|
-
|
|
8466
|
-
export type UserControllerUpdateUserSettingData = {
|
|
8467
|
-
requestBody: UpdateUserSettingDto;
|
|
8468
|
-
};
|
|
8469
|
-
|
|
8470
|
-
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
8471
|
-
|
|
8472
|
-
export type UserControllerGetAllUserSettingsByPageData = {
|
|
8473
|
-
/**
|
|
8474
|
-
* Page number
|
|
8475
|
-
*/
|
|
8476
|
-
pageNo: number;
|
|
8477
|
-
/**
|
|
8478
|
-
* Page size
|
|
8479
|
-
*/
|
|
8480
|
-
pageSize: number;
|
|
8481
|
-
};
|
|
8482
|
-
|
|
8483
|
-
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
8484
|
-
|
|
8485
|
-
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
8486
|
-
|
|
8487
|
-
export type PropertyControllerGetAllResponse = unknown;
|
|
8488
|
-
|
|
8489
|
-
export type PropertyControllerGetByKeyData = {
|
|
8490
|
-
/**
|
|
8491
|
-
* Property key
|
|
8492
|
-
*/
|
|
8493
|
-
key: string;
|
|
8826
|
+
| 'gb'
|
|
8827
|
+
| 'hk'
|
|
8828
|
+
| 'in'
|
|
8829
|
+
| 'it'
|
|
8830
|
+
| 'jp'
|
|
8831
|
+
| 'kr'
|
|
8832
|
+
| 'nl'
|
|
8833
|
+
| 'sg'
|
|
8834
|
+
| 'tw'
|
|
8835
|
+
| 'us';
|
|
8836
|
+
requestBody: EnterNowDto;
|
|
8494
8837
|
};
|
|
8495
8838
|
|
|
8496
|
-
export type
|
|
8839
|
+
export type ExpectedTransactionControllerEnterNowResponse = unknown;
|
|
8497
8840
|
|
|
8498
|
-
export type
|
|
8841
|
+
export type ForecastControllerGetForecastData = {
|
|
8499
8842
|
/**
|
|
8500
|
-
*
|
|
8843
|
+
* Number of months to forecast (1-12, default 3)
|
|
8501
8844
|
*/
|
|
8502
|
-
|
|
8503
|
-
requestBody: UpdatePropertyDto;
|
|
8504
|
-
};
|
|
8505
|
-
|
|
8506
|
-
export type PropertyControllerUpdateResponse = unknown;
|
|
8507
|
-
|
|
8508
|
-
export type PropertyControllerDeleteData = {
|
|
8845
|
+
months?: number;
|
|
8509
8846
|
/**
|
|
8510
|
-
*
|
|
8847
|
+
* Region code for tenant context
|
|
8511
8848
|
*/
|
|
8512
|
-
|
|
8849
|
+
region:
|
|
8850
|
+
| 'ad'
|
|
8851
|
+
| 'ae'
|
|
8852
|
+
| 'af'
|
|
8853
|
+
| 'ag'
|
|
8854
|
+
| 'al'
|
|
8855
|
+
| 'am'
|
|
8856
|
+
| 'ao'
|
|
8857
|
+
| 'au'
|
|
8858
|
+
| 'br'
|
|
8859
|
+
| 'ca'
|
|
8860
|
+
| 'cn'
|
|
8861
|
+
| 'de'
|
|
8862
|
+
| 'dz'
|
|
8863
|
+
| 'es'
|
|
8864
|
+
| 'fr'
|
|
8865
|
+
| 'gb'
|
|
8866
|
+
| 'hk'
|
|
8867
|
+
| 'in'
|
|
8868
|
+
| 'it'
|
|
8869
|
+
| 'jp'
|
|
8870
|
+
| 'kr'
|
|
8871
|
+
| 'nl'
|
|
8872
|
+
| 'sg'
|
|
8873
|
+
| 'tw'
|
|
8874
|
+
| 'us';
|
|
8513
8875
|
};
|
|
8514
8876
|
|
|
8515
|
-
export type
|
|
8877
|
+
export type ForecastControllerGetForecastResponse = ForecastResponseDto;
|
|
8516
8878
|
|
|
8517
8879
|
export type TransactionRuleControllerCreateData = {
|
|
8518
8880
|
/**
|
|
@@ -8909,6 +9271,55 @@ export type TransactionRuleControllerTestData = {
|
|
|
8909
9271
|
|
|
8910
9272
|
export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
|
|
8911
9273
|
|
|
9274
|
+
export type CategoryCatalogControllerListData = {
|
|
9275
|
+
/**
|
|
9276
|
+
* Region code for tenant context
|
|
9277
|
+
*/
|
|
9278
|
+
region:
|
|
9279
|
+
| 'ad'
|
|
9280
|
+
| 'ae'
|
|
9281
|
+
| 'af'
|
|
9282
|
+
| 'ag'
|
|
9283
|
+
| 'al'
|
|
9284
|
+
| 'am'
|
|
9285
|
+
| 'ao'
|
|
9286
|
+
| 'au'
|
|
9287
|
+
| 'br'
|
|
9288
|
+
| 'ca'
|
|
9289
|
+
| 'cn'
|
|
9290
|
+
| 'de'
|
|
9291
|
+
| 'dz'
|
|
9292
|
+
| 'es'
|
|
9293
|
+
| 'fr'
|
|
9294
|
+
| 'gb'
|
|
9295
|
+
| 'hk'
|
|
9296
|
+
| 'in'
|
|
9297
|
+
| 'it'
|
|
9298
|
+
| 'jp'
|
|
9299
|
+
| 'kr'
|
|
9300
|
+
| 'nl'
|
|
9301
|
+
| 'sg'
|
|
9302
|
+
| 'tw'
|
|
9303
|
+
| 'us';
|
|
9304
|
+
/**
|
|
9305
|
+
* Filter by routeBearing (entity-router route() consumes it)
|
|
9306
|
+
*/
|
|
9307
|
+
routeBearing?: boolean;
|
|
9308
|
+
/**
|
|
9309
|
+
* Filter by scenario
|
|
9310
|
+
*/
|
|
9311
|
+
scenario?:
|
|
9312
|
+
| 'expense'
|
|
9313
|
+
| 'income'
|
|
9314
|
+
| 'investment'
|
|
9315
|
+
| 'banking'
|
|
9316
|
+
| 'transfer'
|
|
9317
|
+
| 'payment';
|
|
9318
|
+
};
|
|
9319
|
+
|
|
9320
|
+
export type CategoryCatalogControllerListResponse =
|
|
9321
|
+
CategoryCatalogListResponseDto;
|
|
9322
|
+
|
|
8912
9323
|
export type EventControllerCreateData = {
|
|
8913
9324
|
/**
|
|
8914
9325
|
* Region code for tenant context (decorative for life events)
|
|
@@ -9337,7 +9748,7 @@ export type ReconciliationControllerHistoryData = {
|
|
|
9337
9748
|
export type ReconciliationControllerHistoryResponse =
|
|
9338
9749
|
Array<ReconciliationRecordDto>;
|
|
9339
9750
|
|
|
9340
|
-
export type ExportControllerExportBeancountResponse =
|
|
9751
|
+
export type ExportControllerExportBeancountResponse = Blob | File;
|
|
9341
9752
|
|
|
9342
9753
|
export type FileImportControllerImportFileData = {
|
|
9343
9754
|
/**
|
|
@@ -10095,6 +10506,24 @@ export type PlatformControllerMatchPlatformsData = {
|
|
|
10095
10506
|
|
|
10096
10507
|
export type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
|
|
10097
10508
|
|
|
10509
|
+
export type PlatformControllerGetPlatformStandardsData = {
|
|
10510
|
+
/**
|
|
10511
|
+
* Platform ID (from a match result)
|
|
10512
|
+
*/
|
|
10513
|
+
id: string;
|
|
10514
|
+
/**
|
|
10515
|
+
* Region code (ISO 3166-1 alpha-2, case-insensitive). Required for global platforms (countryCode null) — resolved as their template region; ignored when the platform has its own countryCode.
|
|
10516
|
+
*/
|
|
10517
|
+
region?: string;
|
|
10518
|
+
/**
|
|
10519
|
+
* Filter templates by account type (path first segment)
|
|
10520
|
+
*/
|
|
10521
|
+
type?: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
10522
|
+
};
|
|
10523
|
+
|
|
10524
|
+
export type PlatformControllerGetPlatformStandardsResponse =
|
|
10525
|
+
PlatformStandardsResponseDto;
|
|
10526
|
+
|
|
10098
10527
|
export type PlatformControllerUpdateData = {
|
|
10099
10528
|
/**
|
|
10100
10529
|
* Platform ID
|
|
@@ -10344,6 +10773,42 @@ export type AuthControllerAccessTokenLoginData = {
|
|
|
10344
10773
|
|
|
10345
10774
|
export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
|
|
10346
10775
|
|
|
10776
|
+
export type ParserContributionControllerCreateData = {
|
|
10777
|
+
/**
|
|
10778
|
+
* Region code for tenant context (routing only; the institution region rides in the payload meta)
|
|
10779
|
+
*/
|
|
10780
|
+
region:
|
|
10781
|
+
| 'ad'
|
|
10782
|
+
| 'ae'
|
|
10783
|
+
| 'af'
|
|
10784
|
+
| 'ag'
|
|
10785
|
+
| 'al'
|
|
10786
|
+
| 'am'
|
|
10787
|
+
| 'ao'
|
|
10788
|
+
| 'au'
|
|
10789
|
+
| 'br'
|
|
10790
|
+
| 'ca'
|
|
10791
|
+
| 'cn'
|
|
10792
|
+
| 'de'
|
|
10793
|
+
| 'dz'
|
|
10794
|
+
| 'es'
|
|
10795
|
+
| 'fr'
|
|
10796
|
+
| 'gb'
|
|
10797
|
+
| 'hk'
|
|
10798
|
+
| 'in'
|
|
10799
|
+
| 'it'
|
|
10800
|
+
| 'jp'
|
|
10801
|
+
| 'kr'
|
|
10802
|
+
| 'nl'
|
|
10803
|
+
| 'sg'
|
|
10804
|
+
| 'tw'
|
|
10805
|
+
| 'us';
|
|
10806
|
+
requestBody: ParserContributionRequestDto;
|
|
10807
|
+
};
|
|
10808
|
+
|
|
10809
|
+
export type ParserContributionControllerCreateResponse =
|
|
10810
|
+
ParserContributionRelayResponseDto;
|
|
10811
|
+
|
|
10347
10812
|
export type CacheControllerFlushCacheResponse = unknown;
|
|
10348
10813
|
|
|
10349
10814
|
export type ExchangeRateControllerGetExchangeRateData = {
|
|
@@ -11037,7 +11502,7 @@ export type $OpenApiTs = {
|
|
|
11037
11502
|
/**
|
|
11038
11503
|
* Payee profile unverified successfully
|
|
11039
11504
|
*/
|
|
11040
|
-
|
|
11505
|
+
204: void;
|
|
11041
11506
|
/**
|
|
11042
11507
|
* Admin access required
|
|
11043
11508
|
*/
|
|
@@ -11144,598 +11609,598 @@ export type $OpenApiTs = {
|
|
|
11144
11609
|
};
|
|
11145
11610
|
};
|
|
11146
11611
|
};
|
|
11147
|
-
'/api/v1/{region}/
|
|
11148
|
-
|
|
11149
|
-
req:
|
|
11612
|
+
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
11613
|
+
get: {
|
|
11614
|
+
req: ReportingControllerGetPortfolioTrendsData;
|
|
11150
11615
|
res: {
|
|
11151
11616
|
/**
|
|
11152
|
-
*
|
|
11153
|
-
*/
|
|
11154
|
-
201: PriceResponseDto;
|
|
11155
|
-
/**
|
|
11156
|
-
* Currency or quoteCurrency commodity not found
|
|
11157
|
-
*/
|
|
11158
|
-
404: unknown;
|
|
11159
|
-
/**
|
|
11160
|
-
* Price already exists for this currency pair and date
|
|
11617
|
+
* Trends retrieved successfully
|
|
11161
11618
|
*/
|
|
11162
|
-
|
|
11163
|
-
};
|
|
11164
|
-
};
|
|
11165
|
-
get: {
|
|
11166
|
-
req: PriceControllerFindAllData;
|
|
11167
|
-
res: {
|
|
11619
|
+
200: PortfolioTrendsResponseDto;
|
|
11168
11620
|
/**
|
|
11169
|
-
*
|
|
11621
|
+
* User not authenticated
|
|
11170
11622
|
*/
|
|
11171
|
-
|
|
11623
|
+
401: unknown;
|
|
11172
11624
|
};
|
|
11173
11625
|
};
|
|
11174
11626
|
};
|
|
11175
|
-
'/api/v1/{region}/
|
|
11627
|
+
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
11176
11628
|
get: {
|
|
11177
|
-
req:
|
|
11178
|
-
res: {
|
|
11179
|
-
/**
|
|
11180
|
-
* Price retrieved successfully
|
|
11181
|
-
*/
|
|
11182
|
-
200: PriceResponseDto;
|
|
11183
|
-
/**
|
|
11184
|
-
* Price not found
|
|
11185
|
-
*/
|
|
11186
|
-
404: unknown;
|
|
11187
|
-
};
|
|
11188
|
-
};
|
|
11189
|
-
put: {
|
|
11190
|
-
req: PriceControllerUpdateData;
|
|
11629
|
+
req: ReportingControllerGetCashFlowTrendsData;
|
|
11191
11630
|
res: {
|
|
11192
11631
|
/**
|
|
11193
|
-
*
|
|
11194
|
-
*/
|
|
11195
|
-
200: PriceResponseDto;
|
|
11196
|
-
/**
|
|
11197
|
-
* Price not found
|
|
11632
|
+
* Cash-flow trends retrieved successfully
|
|
11198
11633
|
*/
|
|
11199
|
-
|
|
11634
|
+
200: CashFlowTrendsResponseDto;
|
|
11200
11635
|
/**
|
|
11201
|
-
*
|
|
11636
|
+
* User not authenticated
|
|
11202
11637
|
*/
|
|
11203
|
-
|
|
11638
|
+
401: unknown;
|
|
11204
11639
|
};
|
|
11205
11640
|
};
|
|
11206
|
-
|
|
11207
|
-
|
|
11641
|
+
};
|
|
11642
|
+
'/api/v1/{region}/reporting/snapshots/generate': {
|
|
11643
|
+
post: {
|
|
11644
|
+
req: ReportingControllerGenerateSnapshotData;
|
|
11208
11645
|
res: {
|
|
11209
11646
|
/**
|
|
11210
|
-
*
|
|
11647
|
+
* Snapshot generated successfully
|
|
11211
11648
|
*/
|
|
11212
|
-
|
|
11649
|
+
200: GenerateSnapshotResponse;
|
|
11213
11650
|
/**
|
|
11214
|
-
*
|
|
11651
|
+
* Invalid date format
|
|
11215
11652
|
*/
|
|
11216
|
-
|
|
11217
|
-
};
|
|
11218
|
-
};
|
|
11219
|
-
};
|
|
11220
|
-
'/api/v1/{region}/bean/prices/bulk': {
|
|
11221
|
-
post: {
|
|
11222
|
-
req: PriceControllerBulkCreateData;
|
|
11223
|
-
res: {
|
|
11653
|
+
400: unknown;
|
|
11224
11654
|
/**
|
|
11225
|
-
*
|
|
11655
|
+
* User not authenticated
|
|
11226
11656
|
*/
|
|
11227
|
-
|
|
11657
|
+
401: unknown;
|
|
11228
11658
|
};
|
|
11229
11659
|
};
|
|
11230
11660
|
};
|
|
11231
|
-
'/api/v1/{region}/
|
|
11661
|
+
'/api/v1/{region}/reporting/snapshots/backfill': {
|
|
11232
11662
|
post: {
|
|
11233
|
-
req:
|
|
11663
|
+
req: ReportingControllerBackfillSnapshotsData;
|
|
11234
11664
|
res: {
|
|
11235
11665
|
/**
|
|
11236
|
-
*
|
|
11666
|
+
* Backfill completed successfully
|
|
11237
11667
|
*/
|
|
11238
|
-
|
|
11668
|
+
200: BackfillSnapshotsResponse;
|
|
11239
11669
|
/**
|
|
11240
|
-
* Invalid
|
|
11670
|
+
* Invalid date format or range
|
|
11241
11671
|
*/
|
|
11242
11672
|
400: unknown;
|
|
11243
11673
|
/**
|
|
11244
|
-
*
|
|
11674
|
+
* User not authenticated
|
|
11245
11675
|
*/
|
|
11246
|
-
|
|
11247
|
-
};
|
|
11248
|
-
};
|
|
11249
|
-
get: {
|
|
11250
|
-
req: RecurringRuleControllerFindAllData;
|
|
11251
|
-
res: {
|
|
11676
|
+
401: unknown;
|
|
11252
11677
|
/**
|
|
11253
|
-
*
|
|
11678
|
+
* Backfill already in progress for this user
|
|
11254
11679
|
*/
|
|
11255
|
-
|
|
11680
|
+
409: unknown;
|
|
11256
11681
|
};
|
|
11257
11682
|
};
|
|
11258
11683
|
};
|
|
11259
|
-
'/api/v1/{region}/bean/
|
|
11684
|
+
'/api/v1/{region}/bean/prices': {
|
|
11260
11685
|
post: {
|
|
11261
|
-
req:
|
|
11686
|
+
req: PriceControllerCreateData;
|
|
11262
11687
|
res: {
|
|
11263
11688
|
/**
|
|
11264
|
-
*
|
|
11689
|
+
* Price created successfully
|
|
11265
11690
|
*/
|
|
11266
|
-
201:
|
|
11691
|
+
201: PriceResponseDto;
|
|
11267
11692
|
/**
|
|
11268
|
-
*
|
|
11693
|
+
* Currency or quoteCurrency commodity not found
|
|
11694
|
+
*/
|
|
11695
|
+
404: unknown;
|
|
11696
|
+
/**
|
|
11697
|
+
* Price already exists for this currency pair and date
|
|
11269
11698
|
*/
|
|
11270
|
-
|
|
11699
|
+
409: unknown;
|
|
11700
|
+
};
|
|
11701
|
+
};
|
|
11702
|
+
get: {
|
|
11703
|
+
req: PriceControllerFindAllData;
|
|
11704
|
+
res: {
|
|
11271
11705
|
/**
|
|
11272
|
-
*
|
|
11706
|
+
* Prices retrieved successfully
|
|
11273
11707
|
*/
|
|
11274
|
-
|
|
11708
|
+
200: PriceListResponseDto;
|
|
11275
11709
|
};
|
|
11276
11710
|
};
|
|
11277
11711
|
};
|
|
11278
|
-
'/api/v1/{region}/bean/
|
|
11712
|
+
'/api/v1/{region}/bean/prices/{id}': {
|
|
11279
11713
|
get: {
|
|
11280
|
-
req:
|
|
11714
|
+
req: PriceControllerFindOneData;
|
|
11281
11715
|
res: {
|
|
11282
11716
|
/**
|
|
11283
|
-
*
|
|
11717
|
+
* Price retrieved successfully
|
|
11284
11718
|
*/
|
|
11285
|
-
200:
|
|
11719
|
+
200: PriceResponseDto;
|
|
11286
11720
|
/**
|
|
11287
|
-
*
|
|
11721
|
+
* Price not found
|
|
11288
11722
|
*/
|
|
11289
11723
|
404: unknown;
|
|
11290
11724
|
};
|
|
11291
11725
|
};
|
|
11292
|
-
|
|
11293
|
-
req:
|
|
11726
|
+
put: {
|
|
11727
|
+
req: PriceControllerUpdateData;
|
|
11294
11728
|
res: {
|
|
11295
11729
|
/**
|
|
11296
|
-
*
|
|
11730
|
+
* Price updated successfully
|
|
11297
11731
|
*/
|
|
11298
|
-
200:
|
|
11732
|
+
200: PriceResponseDto;
|
|
11299
11733
|
/**
|
|
11300
|
-
*
|
|
11734
|
+
* Price not found
|
|
11301
11735
|
*/
|
|
11302
|
-
|
|
11736
|
+
404: unknown;
|
|
11303
11737
|
/**
|
|
11304
|
-
*
|
|
11738
|
+
* Updated price conflicts with existing price
|
|
11305
11739
|
*/
|
|
11306
|
-
|
|
11740
|
+
409: unknown;
|
|
11307
11741
|
};
|
|
11308
11742
|
};
|
|
11309
11743
|
delete: {
|
|
11310
|
-
req:
|
|
11744
|
+
req: PriceControllerDeleteData;
|
|
11311
11745
|
res: {
|
|
11312
11746
|
/**
|
|
11313
|
-
*
|
|
11747
|
+
* Price deleted successfully
|
|
11314
11748
|
*/
|
|
11315
11749
|
204: void;
|
|
11316
11750
|
/**
|
|
11317
|
-
*
|
|
11751
|
+
* Price not found
|
|
11318
11752
|
*/
|
|
11319
11753
|
404: unknown;
|
|
11320
11754
|
};
|
|
11321
11755
|
};
|
|
11322
11756
|
};
|
|
11323
|
-
'/api/v1/{region}/bean/
|
|
11324
|
-
|
|
11325
|
-
req:
|
|
11757
|
+
'/api/v1/{region}/bean/prices/bulk': {
|
|
11758
|
+
post: {
|
|
11759
|
+
req: PriceControllerBulkCreateData;
|
|
11326
11760
|
res: {
|
|
11327
11761
|
/**
|
|
11328
|
-
*
|
|
11329
|
-
*/
|
|
11330
|
-
200: RecurringRuleWithStatsResponseDto;
|
|
11331
|
-
/**
|
|
11332
|
-
* Rule not found
|
|
11762
|
+
* Prices created successfully
|
|
11333
11763
|
*/
|
|
11334
|
-
|
|
11764
|
+
201: Array<PriceResponseDto>;
|
|
11335
11765
|
};
|
|
11336
11766
|
};
|
|
11337
11767
|
};
|
|
11338
|
-
'/api/v1/
|
|
11339
|
-
|
|
11340
|
-
req:
|
|
11768
|
+
'/api/v1/users': {
|
|
11769
|
+
delete: {
|
|
11770
|
+
req: UserControllerDeleteOwnUserData;
|
|
11341
11771
|
res: {
|
|
11342
11772
|
/**
|
|
11343
|
-
*
|
|
11773
|
+
* User deleted successfully
|
|
11344
11774
|
*/
|
|
11345
|
-
|
|
11346
|
-
};
|
|
11347
|
-
};
|
|
11348
|
-
};
|
|
11349
|
-
'/api/v1/{region}/bean/expected-transactions/overdue': {
|
|
11350
|
-
get: {
|
|
11351
|
-
req: ExpectedTransactionControllerFindOverdueData;
|
|
11352
|
-
res: {
|
|
11775
|
+
204: void;
|
|
11353
11776
|
/**
|
|
11354
|
-
*
|
|
11777
|
+
* Invalid access token
|
|
11355
11778
|
*/
|
|
11356
|
-
|
|
11779
|
+
403: unknown;
|
|
11357
11780
|
};
|
|
11358
11781
|
};
|
|
11359
|
-
};
|
|
11360
|
-
'/api/v1/{region}/bean/expected-transactions/{id}': {
|
|
11361
11782
|
get: {
|
|
11362
|
-
req:
|
|
11783
|
+
req: UserControllerGetUserData;
|
|
11363
11784
|
res: {
|
|
11364
11785
|
/**
|
|
11365
|
-
*
|
|
11366
|
-
*/
|
|
11367
|
-
200: ExpectedTransactionResponseDto;
|
|
11368
|
-
/**
|
|
11369
|
-
* Expected transaction not found
|
|
11786
|
+
* User retrieved successfully
|
|
11370
11787
|
*/
|
|
11371
|
-
|
|
11788
|
+
200: UserResponseDto;
|
|
11372
11789
|
};
|
|
11373
11790
|
};
|
|
11374
|
-
};
|
|
11375
|
-
'/api/v1/{region}/bean/expected-transactions/{id}/skip': {
|
|
11376
11791
|
post: {
|
|
11377
|
-
req:
|
|
11792
|
+
req: UserControllerSignupUserData;
|
|
11378
11793
|
res: {
|
|
11379
11794
|
/**
|
|
11380
|
-
*
|
|
11795
|
+
* User created successfully
|
|
11381
11796
|
*/
|
|
11382
|
-
|
|
11797
|
+
201: SignupResponseDto;
|
|
11383
11798
|
/**
|
|
11384
|
-
*
|
|
11799
|
+
* Invalid Turnstile token (when Turnstile is enabled)
|
|
11385
11800
|
*/
|
|
11386
11801
|
400: unknown;
|
|
11387
11802
|
/**
|
|
11388
|
-
*
|
|
11803
|
+
* User signup is disabled
|
|
11389
11804
|
*/
|
|
11390
|
-
|
|
11805
|
+
403: unknown;
|
|
11391
11806
|
};
|
|
11392
11807
|
};
|
|
11808
|
+
};
|
|
11809
|
+
'/api/v1/users/{id}': {
|
|
11393
11810
|
delete: {
|
|
11394
|
-
req:
|
|
11811
|
+
req: UserControllerDeleteUserData;
|
|
11395
11812
|
res: {
|
|
11396
11813
|
/**
|
|
11397
|
-
*
|
|
11398
|
-
*/
|
|
11399
|
-
200: ExpectedTransactionResponseDto;
|
|
11400
|
-
/**
|
|
11401
|
-
* Cannot undo - not in SKIPPED status
|
|
11814
|
+
* User deleted successfully
|
|
11402
11815
|
*/
|
|
11403
|
-
|
|
11816
|
+
204: void;
|
|
11404
11817
|
/**
|
|
11405
|
-
*
|
|
11818
|
+
* Cannot delete own account or insufficient permissions
|
|
11406
11819
|
*/
|
|
11407
|
-
|
|
11820
|
+
403: unknown;
|
|
11408
11821
|
};
|
|
11409
11822
|
};
|
|
11410
11823
|
};
|
|
11411
|
-
'/api/v1/
|
|
11412
|
-
|
|
11413
|
-
req:
|
|
11824
|
+
'/api/v1/users/{id}/info': {
|
|
11825
|
+
get: {
|
|
11826
|
+
req: UserControllerGetUserInfoData;
|
|
11414
11827
|
res: {
|
|
11415
11828
|
/**
|
|
11416
|
-
*
|
|
11829
|
+
* User info retrieved successfully
|
|
11417
11830
|
*/
|
|
11418
11831
|
200: unknown;
|
|
11419
11832
|
/**
|
|
11420
|
-
* Cannot
|
|
11421
|
-
*/
|
|
11422
|
-
400: unknown;
|
|
11423
|
-
/**
|
|
11424
|
-
* Expected or actual transaction not found
|
|
11425
|
-
*/
|
|
11426
|
-
404: unknown;
|
|
11427
|
-
/**
|
|
11428
|
-
* Actual transaction already matched to another rule
|
|
11833
|
+
* Cannot access other user info without admin permission
|
|
11429
11834
|
*/
|
|
11430
|
-
|
|
11835
|
+
403: unknown;
|
|
11431
11836
|
};
|
|
11432
11837
|
};
|
|
11433
|
-
|
|
11434
|
-
|
|
11838
|
+
};
|
|
11839
|
+
'/api/v1/users/setting': {
|
|
11840
|
+
put: {
|
|
11841
|
+
req: UserControllerUpdateUserSettingData;
|
|
11435
11842
|
res: {
|
|
11436
11843
|
/**
|
|
11437
|
-
*
|
|
11844
|
+
* Settings updated successfully
|
|
11438
11845
|
*/
|
|
11439
11846
|
200: unknown;
|
|
11440
11847
|
/**
|
|
11441
|
-
*
|
|
11442
|
-
*/
|
|
11443
|
-
400: unknown;
|
|
11444
|
-
/**
|
|
11445
|
-
* Expected transaction not found
|
|
11848
|
+
* Insufficient permissions
|
|
11446
11849
|
*/
|
|
11447
|
-
|
|
11850
|
+
403: unknown;
|
|
11448
11851
|
};
|
|
11449
11852
|
};
|
|
11450
11853
|
};
|
|
11451
|
-
'/api/v1/
|
|
11452
|
-
|
|
11453
|
-
req:
|
|
11854
|
+
'/api/v1/users/settings-by-page': {
|
|
11855
|
+
get: {
|
|
11856
|
+
req: UserControllerGetAllUserSettingsByPageData;
|
|
11454
11857
|
res: {
|
|
11455
11858
|
/**
|
|
11456
|
-
*
|
|
11457
|
-
*/
|
|
11458
|
-
201: unknown;
|
|
11459
|
-
/**
|
|
11460
|
-
* Cannot enter - not in PENDING status or missing accounts
|
|
11461
|
-
*/
|
|
11462
|
-
400: unknown;
|
|
11463
|
-
/**
|
|
11464
|
-
* Expected transaction or accounts not found
|
|
11859
|
+
* Settings list retrieved successfully
|
|
11465
11860
|
*/
|
|
11466
|
-
|
|
11861
|
+
200: unknown;
|
|
11467
11862
|
};
|
|
11468
11863
|
};
|
|
11469
11864
|
};
|
|
11470
|
-
'/api/v1/
|
|
11865
|
+
'/api/v1/users/asset-liability-summary': {
|
|
11471
11866
|
get: {
|
|
11472
|
-
req: ForecastControllerGetForecastData;
|
|
11473
11867
|
res: {
|
|
11474
11868
|
/**
|
|
11475
|
-
*
|
|
11869
|
+
* Summary retrieved successfully
|
|
11476
11870
|
*/
|
|
11477
|
-
200:
|
|
11871
|
+
200: unknown;
|
|
11478
11872
|
};
|
|
11479
11873
|
};
|
|
11480
11874
|
};
|
|
11481
|
-
'/api/v1/
|
|
11875
|
+
'/api/v1/admin/properties': {
|
|
11482
11876
|
get: {
|
|
11483
|
-
req: ReportingControllerGetPortfolioTrendsData;
|
|
11484
11877
|
res: {
|
|
11485
11878
|
/**
|
|
11486
|
-
*
|
|
11879
|
+
* Properties retrieved successfully
|
|
11487
11880
|
*/
|
|
11488
|
-
200:
|
|
11881
|
+
200: unknown;
|
|
11489
11882
|
/**
|
|
11490
|
-
*
|
|
11883
|
+
* Unauthorized
|
|
11491
11884
|
*/
|
|
11492
11885
|
401: unknown;
|
|
11886
|
+
/**
|
|
11887
|
+
* Forbidden - insufficient permissions
|
|
11888
|
+
*/
|
|
11889
|
+
403: unknown;
|
|
11493
11890
|
};
|
|
11494
11891
|
};
|
|
11495
11892
|
};
|
|
11496
|
-
'/api/v1/{
|
|
11893
|
+
'/api/v1/admin/properties/{key}': {
|
|
11497
11894
|
get: {
|
|
11498
|
-
req:
|
|
11895
|
+
req: PropertyControllerGetByKeyData;
|
|
11499
11896
|
res: {
|
|
11500
11897
|
/**
|
|
11501
|
-
*
|
|
11898
|
+
* Property retrieved successfully
|
|
11502
11899
|
*/
|
|
11503
|
-
200:
|
|
11900
|
+
200: unknown;
|
|
11504
11901
|
/**
|
|
11505
|
-
*
|
|
11902
|
+
* Unauthorized
|
|
11506
11903
|
*/
|
|
11507
11904
|
401: unknown;
|
|
11905
|
+
/**
|
|
11906
|
+
* Forbidden - insufficient permissions
|
|
11907
|
+
*/
|
|
11908
|
+
403: unknown;
|
|
11909
|
+
/**
|
|
11910
|
+
* Property not found
|
|
11911
|
+
*/
|
|
11912
|
+
404: unknown;
|
|
11508
11913
|
};
|
|
11509
11914
|
};
|
|
11510
|
-
|
|
11511
|
-
|
|
11512
|
-
post: {
|
|
11513
|
-
req: ReportingControllerGenerateSnapshotData;
|
|
11915
|
+
put: {
|
|
11916
|
+
req: PropertyControllerUpdateData;
|
|
11514
11917
|
res: {
|
|
11515
11918
|
/**
|
|
11516
|
-
*
|
|
11919
|
+
* Property updated successfully
|
|
11517
11920
|
*/
|
|
11518
|
-
200:
|
|
11921
|
+
200: unknown;
|
|
11519
11922
|
/**
|
|
11520
|
-
*
|
|
11923
|
+
* Unauthorized
|
|
11521
11924
|
*/
|
|
11522
|
-
|
|
11925
|
+
401: unknown;
|
|
11523
11926
|
/**
|
|
11524
|
-
*
|
|
11927
|
+
* Forbidden - insufficient permissions
|
|
11928
|
+
*/
|
|
11929
|
+
403: unknown;
|
|
11930
|
+
};
|
|
11931
|
+
};
|
|
11932
|
+
delete: {
|
|
11933
|
+
req: PropertyControllerDeleteData;
|
|
11934
|
+
res: {
|
|
11935
|
+
/**
|
|
11936
|
+
* Property deleted successfully
|
|
11937
|
+
*/
|
|
11938
|
+
204: void;
|
|
11939
|
+
/**
|
|
11940
|
+
* Unauthorized
|
|
11525
11941
|
*/
|
|
11526
11942
|
401: unknown;
|
|
11943
|
+
/**
|
|
11944
|
+
* Forbidden - insufficient permissions
|
|
11945
|
+
*/
|
|
11946
|
+
403: unknown;
|
|
11947
|
+
/**
|
|
11948
|
+
* Property not found
|
|
11949
|
+
*/
|
|
11950
|
+
404: unknown;
|
|
11527
11951
|
};
|
|
11528
11952
|
};
|
|
11529
11953
|
};
|
|
11530
|
-
'/api/v1/{region}/
|
|
11954
|
+
'/api/v1/{region}/bean/recurring-rules': {
|
|
11531
11955
|
post: {
|
|
11532
|
-
req:
|
|
11956
|
+
req: RecurringRuleControllerCreateData;
|
|
11533
11957
|
res: {
|
|
11534
11958
|
/**
|
|
11535
|
-
*
|
|
11959
|
+
* Rule created successfully
|
|
11536
11960
|
*/
|
|
11537
|
-
|
|
11961
|
+
201: RecurringRuleResponseDto;
|
|
11538
11962
|
/**
|
|
11539
|
-
* Invalid
|
|
11963
|
+
* Invalid input data (e.g., autoCreate without accounts)
|
|
11540
11964
|
*/
|
|
11541
11965
|
400: unknown;
|
|
11542
11966
|
/**
|
|
11543
|
-
*
|
|
11967
|
+
* Rule with same name already exists
|
|
11544
11968
|
*/
|
|
11545
|
-
|
|
11969
|
+
409: unknown;
|
|
11970
|
+
};
|
|
11971
|
+
};
|
|
11972
|
+
get: {
|
|
11973
|
+
req: RecurringRuleControllerFindAllData;
|
|
11974
|
+
res: {
|
|
11546
11975
|
/**
|
|
11547
|
-
*
|
|
11976
|
+
* Rules retrieved successfully
|
|
11548
11977
|
*/
|
|
11549
|
-
|
|
11978
|
+
200: Array<RecurringRuleResponseDto>;
|
|
11550
11979
|
};
|
|
11551
11980
|
};
|
|
11552
11981
|
};
|
|
11553
|
-
'/api/v1/
|
|
11554
|
-
|
|
11555
|
-
req:
|
|
11982
|
+
'/api/v1/{region}/bean/recurring-rules/from-transaction/{transactionId}': {
|
|
11983
|
+
post: {
|
|
11984
|
+
req: RecurringRuleControllerCreateFromTransactionData;
|
|
11556
11985
|
res: {
|
|
11557
11986
|
/**
|
|
11558
|
-
*
|
|
11987
|
+
* Rule created successfully
|
|
11559
11988
|
*/
|
|
11560
|
-
|
|
11989
|
+
201: RecurringRuleResponseDto;
|
|
11561
11990
|
/**
|
|
11562
|
-
*
|
|
11991
|
+
* Transaction not found
|
|
11563
11992
|
*/
|
|
11564
|
-
|
|
11993
|
+
404: ApiProblemResponseDto;
|
|
11994
|
+
/**
|
|
11995
|
+
* Rule with same name already exists or transaction already linked
|
|
11996
|
+
*/
|
|
11997
|
+
409: ApiProblemResponseDto;
|
|
11565
11998
|
};
|
|
11566
11999
|
};
|
|
12000
|
+
};
|
|
12001
|
+
'/api/v1/{region}/bean/recurring-rules/{id}': {
|
|
11567
12002
|
get: {
|
|
11568
|
-
req:
|
|
12003
|
+
req: RecurringRuleControllerFindOneData;
|
|
11569
12004
|
res: {
|
|
11570
12005
|
/**
|
|
11571
|
-
*
|
|
12006
|
+
* Rule retrieved successfully
|
|
11572
12007
|
*/
|
|
11573
|
-
200:
|
|
12008
|
+
200: RecurringRuleResponseDto;
|
|
12009
|
+
/**
|
|
12010
|
+
* Rule not found
|
|
12011
|
+
*/
|
|
12012
|
+
404: unknown;
|
|
11574
12013
|
};
|
|
11575
12014
|
};
|
|
11576
|
-
|
|
11577
|
-
req:
|
|
12015
|
+
patch: {
|
|
12016
|
+
req: RecurringRuleControllerUpdateData;
|
|
11578
12017
|
res: {
|
|
11579
12018
|
/**
|
|
11580
|
-
*
|
|
12019
|
+
* Rule updated successfully
|
|
11581
12020
|
*/
|
|
11582
|
-
|
|
12021
|
+
200: RecurringRuleResponseDto;
|
|
11583
12022
|
/**
|
|
11584
|
-
* Invalid
|
|
12023
|
+
* Invalid input data
|
|
11585
12024
|
*/
|
|
11586
12025
|
400: unknown;
|
|
11587
12026
|
/**
|
|
11588
|
-
*
|
|
12027
|
+
* Rule not found
|
|
11589
12028
|
*/
|
|
11590
|
-
|
|
12029
|
+
404: unknown;
|
|
11591
12030
|
};
|
|
11592
12031
|
};
|
|
11593
|
-
};
|
|
11594
|
-
'/api/v1/users/{id}': {
|
|
11595
12032
|
delete: {
|
|
11596
|
-
req:
|
|
12033
|
+
req: RecurringRuleControllerDeleteData;
|
|
11597
12034
|
res: {
|
|
11598
12035
|
/**
|
|
11599
|
-
*
|
|
12036
|
+
* Rule deleted successfully
|
|
11600
12037
|
*/
|
|
11601
12038
|
204: void;
|
|
11602
12039
|
/**
|
|
11603
|
-
*
|
|
12040
|
+
* Rule not found
|
|
11604
12041
|
*/
|
|
11605
|
-
|
|
12042
|
+
404: unknown;
|
|
11606
12043
|
};
|
|
11607
12044
|
};
|
|
11608
12045
|
};
|
|
11609
|
-
'/api/v1/
|
|
12046
|
+
'/api/v1/{region}/bean/recurring-rules/{id}/stats': {
|
|
11610
12047
|
get: {
|
|
11611
|
-
req:
|
|
12048
|
+
req: RecurringRuleControllerGetWithStatsData;
|
|
11612
12049
|
res: {
|
|
11613
12050
|
/**
|
|
11614
|
-
*
|
|
12051
|
+
* Rule with stats retrieved successfully
|
|
11615
12052
|
*/
|
|
11616
|
-
200:
|
|
12053
|
+
200: RecurringRuleWithStatsResponseDto;
|
|
11617
12054
|
/**
|
|
11618
|
-
*
|
|
12055
|
+
* Rule not found
|
|
11619
12056
|
*/
|
|
11620
|
-
|
|
12057
|
+
404: unknown;
|
|
11621
12058
|
};
|
|
11622
12059
|
};
|
|
11623
12060
|
};
|
|
11624
|
-
'/api/v1/
|
|
11625
|
-
|
|
11626
|
-
req:
|
|
12061
|
+
'/api/v1/{region}/bean/expected-transactions': {
|
|
12062
|
+
get: {
|
|
12063
|
+
req: ExpectedTransactionControllerFindAllData;
|
|
11627
12064
|
res: {
|
|
11628
12065
|
/**
|
|
11629
|
-
*
|
|
11630
|
-
*/
|
|
11631
|
-
200: unknown;
|
|
11632
|
-
/**
|
|
11633
|
-
* Insufficient permissions
|
|
12066
|
+
* Expected transactions retrieved successfully
|
|
11634
12067
|
*/
|
|
11635
|
-
|
|
12068
|
+
200: ExpectedTransactionListResponseDto;
|
|
11636
12069
|
};
|
|
11637
12070
|
};
|
|
11638
12071
|
};
|
|
11639
|
-
'/api/v1/
|
|
12072
|
+
'/api/v1/{region}/bean/expected-transactions/overdue': {
|
|
11640
12073
|
get: {
|
|
11641
|
-
req:
|
|
12074
|
+
req: ExpectedTransactionControllerFindOverdueData;
|
|
11642
12075
|
res: {
|
|
11643
12076
|
/**
|
|
11644
|
-
*
|
|
12077
|
+
* Overdue transactions retrieved successfully
|
|
11645
12078
|
*/
|
|
11646
|
-
200:
|
|
12079
|
+
200: ExpectedTransactionListResponseDto;
|
|
11647
12080
|
};
|
|
11648
12081
|
};
|
|
11649
12082
|
};
|
|
11650
|
-
'/api/v1/
|
|
12083
|
+
'/api/v1/{region}/bean/expected-transactions/{id}': {
|
|
11651
12084
|
get: {
|
|
12085
|
+
req: ExpectedTransactionControllerFindOneData;
|
|
11652
12086
|
res: {
|
|
11653
12087
|
/**
|
|
11654
|
-
*
|
|
12088
|
+
* Expected transaction retrieved successfully
|
|
11655
12089
|
*/
|
|
11656
|
-
200:
|
|
12090
|
+
200: ExpectedTransactionResponseDto;
|
|
12091
|
+
/**
|
|
12092
|
+
* Expected transaction not found
|
|
12093
|
+
*/
|
|
12094
|
+
404: unknown;
|
|
11657
12095
|
};
|
|
11658
12096
|
};
|
|
11659
12097
|
};
|
|
11660
|
-
'/api/v1/
|
|
11661
|
-
|
|
12098
|
+
'/api/v1/{region}/bean/expected-transactions/{id}/skip': {
|
|
12099
|
+
post: {
|
|
12100
|
+
req: ExpectedTransactionControllerSkipData;
|
|
11662
12101
|
res: {
|
|
11663
12102
|
/**
|
|
11664
|
-
*
|
|
12103
|
+
* Expected transaction skipped successfully
|
|
11665
12104
|
*/
|
|
11666
|
-
200:
|
|
12105
|
+
200: ExpectedTransactionResponseDto;
|
|
11667
12106
|
/**
|
|
11668
|
-
*
|
|
12107
|
+
* Cannot skip - not in PENDING status
|
|
11669
12108
|
*/
|
|
11670
|
-
|
|
12109
|
+
400: unknown;
|
|
11671
12110
|
/**
|
|
11672
|
-
*
|
|
12111
|
+
* Expected transaction not found
|
|
11673
12112
|
*/
|
|
11674
|
-
|
|
12113
|
+
404: unknown;
|
|
11675
12114
|
};
|
|
11676
12115
|
};
|
|
11677
|
-
|
|
11678
|
-
|
|
11679
|
-
get: {
|
|
11680
|
-
req: PropertyControllerGetByKeyData;
|
|
12116
|
+
delete: {
|
|
12117
|
+
req: ExpectedTransactionControllerUndoSkipData;
|
|
11681
12118
|
res: {
|
|
11682
12119
|
/**
|
|
11683
|
-
*
|
|
11684
|
-
*/
|
|
11685
|
-
200: unknown;
|
|
11686
|
-
/**
|
|
11687
|
-
* Unauthorized
|
|
12120
|
+
* Skip undone successfully
|
|
11688
12121
|
*/
|
|
11689
|
-
|
|
12122
|
+
204: void;
|
|
11690
12123
|
/**
|
|
11691
|
-
*
|
|
12124
|
+
* Cannot undo - not in SKIPPED status
|
|
11692
12125
|
*/
|
|
11693
|
-
|
|
12126
|
+
400: unknown;
|
|
11694
12127
|
/**
|
|
11695
|
-
*
|
|
12128
|
+
* Expected transaction not found
|
|
11696
12129
|
*/
|
|
11697
12130
|
404: unknown;
|
|
11698
12131
|
};
|
|
11699
12132
|
};
|
|
11700
|
-
|
|
11701
|
-
|
|
12133
|
+
};
|
|
12134
|
+
'/api/v1/{region}/bean/expected-transactions/{id}/match': {
|
|
12135
|
+
post: {
|
|
12136
|
+
req: ExpectedTransactionControllerConfirmMatchData;
|
|
11702
12137
|
res: {
|
|
11703
12138
|
/**
|
|
11704
|
-
*
|
|
12139
|
+
* Match confirmed successfully
|
|
11705
12140
|
*/
|
|
11706
12141
|
200: unknown;
|
|
11707
12142
|
/**
|
|
11708
|
-
*
|
|
12143
|
+
* Cannot match - not in PENDING status
|
|
11709
12144
|
*/
|
|
11710
|
-
|
|
12145
|
+
400: unknown;
|
|
11711
12146
|
/**
|
|
11712
|
-
*
|
|
12147
|
+
* Expected or actual transaction not found
|
|
11713
12148
|
*/
|
|
11714
|
-
|
|
12149
|
+
404: unknown;
|
|
12150
|
+
/**
|
|
12151
|
+
* Actual transaction already matched to another rule
|
|
12152
|
+
*/
|
|
12153
|
+
409: unknown;
|
|
11715
12154
|
};
|
|
11716
12155
|
};
|
|
11717
12156
|
delete: {
|
|
11718
|
-
req:
|
|
12157
|
+
req: ExpectedTransactionControllerUnmatchData;
|
|
11719
12158
|
res: {
|
|
11720
12159
|
/**
|
|
11721
|
-
*
|
|
12160
|
+
* Match removed successfully
|
|
11722
12161
|
*/
|
|
11723
12162
|
204: void;
|
|
11724
12163
|
/**
|
|
11725
|
-
*
|
|
12164
|
+
* Cannot unmatch - not in COMPLETED status
|
|
11726
12165
|
*/
|
|
11727
|
-
|
|
12166
|
+
400: unknown;
|
|
11728
12167
|
/**
|
|
11729
|
-
*
|
|
12168
|
+
* Expected transaction not found
|
|
11730
12169
|
*/
|
|
11731
|
-
|
|
12170
|
+
404: unknown;
|
|
12171
|
+
};
|
|
12172
|
+
};
|
|
12173
|
+
};
|
|
12174
|
+
'/api/v1/{region}/bean/expected-transactions/{id}/enter': {
|
|
12175
|
+
post: {
|
|
12176
|
+
req: ExpectedTransactionControllerEnterNowData;
|
|
12177
|
+
res: {
|
|
11732
12178
|
/**
|
|
11733
|
-
*
|
|
12179
|
+
* Transaction created successfully
|
|
12180
|
+
*/
|
|
12181
|
+
201: unknown;
|
|
12182
|
+
/**
|
|
12183
|
+
* Cannot enter - not in PENDING status or missing accounts
|
|
12184
|
+
*/
|
|
12185
|
+
400: unknown;
|
|
12186
|
+
/**
|
|
12187
|
+
* Expected transaction or accounts not found
|
|
11734
12188
|
*/
|
|
11735
12189
|
404: unknown;
|
|
11736
12190
|
};
|
|
11737
12191
|
};
|
|
11738
12192
|
};
|
|
12193
|
+
'/api/v1/{region}/bean/recurring/forecast': {
|
|
12194
|
+
get: {
|
|
12195
|
+
req: ForecastControllerGetForecastData;
|
|
12196
|
+
res: {
|
|
12197
|
+
/**
|
|
12198
|
+
* Forecast retrieved successfully
|
|
12199
|
+
*/
|
|
12200
|
+
200: ForecastResponseDto;
|
|
12201
|
+
};
|
|
12202
|
+
};
|
|
12203
|
+
};
|
|
11739
12204
|
'/api/v1/{region}/bean/transaction-rules': {
|
|
11740
12205
|
post: {
|
|
11741
12206
|
req: TransactionRuleControllerCreateData;
|
|
@@ -11944,6 +12409,17 @@ export type $OpenApiTs = {
|
|
|
11944
12409
|
};
|
|
11945
12410
|
};
|
|
11946
12411
|
};
|
|
12412
|
+
'/api/v1/{region}/bean/categories': {
|
|
12413
|
+
get: {
|
|
12414
|
+
req: CategoryCatalogControllerListData;
|
|
12415
|
+
res: {
|
|
12416
|
+
/**
|
|
12417
|
+
* Category catalog retrieved successfully
|
|
12418
|
+
*/
|
|
12419
|
+
200: CategoryCatalogListResponseDto;
|
|
12420
|
+
};
|
|
12421
|
+
};
|
|
12422
|
+
};
|
|
11947
12423
|
'/api/v1/{region}/bean/events': {
|
|
11948
12424
|
post: {
|
|
11949
12425
|
req: EventControllerCreateData;
|
|
@@ -12122,7 +12598,10 @@ export type $OpenApiTs = {
|
|
|
12122
12598
|
'/api/v1/{region}/bean/export/beancount': {
|
|
12123
12599
|
get: {
|
|
12124
12600
|
res: {
|
|
12125
|
-
|
|
12601
|
+
/**
|
|
12602
|
+
* ZIP archive (application/zip) streamed as an attachment
|
|
12603
|
+
*/
|
|
12604
|
+
200: Blob | File;
|
|
12126
12605
|
};
|
|
12127
12606
|
};
|
|
12128
12607
|
};
|
|
@@ -12503,6 +12982,17 @@ export type $OpenApiTs = {
|
|
|
12503
12982
|
};
|
|
12504
12983
|
};
|
|
12505
12984
|
};
|
|
12985
|
+
'/api/v1/bean/platforms/{id}/standards': {
|
|
12986
|
+
get: {
|
|
12987
|
+
req: PlatformControllerGetPlatformStandardsData;
|
|
12988
|
+
res: {
|
|
12989
|
+
/**
|
|
12990
|
+
* Resolved region plus the merged account-standard catalog of that region (groupable by productCategory client-side)
|
|
12991
|
+
*/
|
|
12992
|
+
200: PlatformStandardsResponseDto;
|
|
12993
|
+
};
|
|
12994
|
+
};
|
|
12995
|
+
};
|
|
12506
12996
|
'/api/v1/bean/platforms/{id}': {
|
|
12507
12997
|
put: {
|
|
12508
12998
|
req: PlatformControllerUpdateData;
|
|
@@ -12650,10 +13140,48 @@ export type $OpenApiTs = {
|
|
|
12650
13140
|
};
|
|
12651
13141
|
};
|
|
12652
13142
|
};
|
|
13143
|
+
'/api/v1/{region}/community/parser-contributions': {
|
|
13144
|
+
post: {
|
|
13145
|
+
req: ParserContributionControllerCreateData;
|
|
13146
|
+
res: {
|
|
13147
|
+
/**
|
|
13148
|
+
* Issue created by the bot
|
|
13149
|
+
*/
|
|
13150
|
+
201: ParserContributionRelayResponseDto;
|
|
13151
|
+
/**
|
|
13152
|
+
* Unauthorized
|
|
13153
|
+
*/
|
|
13154
|
+
401: ApiProblemResponseDto;
|
|
13155
|
+
/**
|
|
13156
|
+
* Validation failed (institution slug, empty samples, row/cell size limits)
|
|
13157
|
+
*/
|
|
13158
|
+
422: ApiProblemResponseDto;
|
|
13159
|
+
/**
|
|
13160
|
+
* Rate limited (5 submissions per user per hour)
|
|
13161
|
+
*/
|
|
13162
|
+
429: ApiProblemResponseDto;
|
|
13163
|
+
/**
|
|
13164
|
+
* Relay not configured on this deployment — clients fall back to the clipboard flow
|
|
13165
|
+
*/
|
|
13166
|
+
501: ApiProblemResponseDto;
|
|
13167
|
+
/**
|
|
13168
|
+
* GitHub bot failure (upstream), safe to retry
|
|
13169
|
+
*/
|
|
13170
|
+
502: ApiProblemResponseDto;
|
|
13171
|
+
};
|
|
13172
|
+
};
|
|
13173
|
+
};
|
|
12653
13174
|
'/api/v1/cache/flush': {
|
|
12654
13175
|
post: {
|
|
12655
13176
|
res: {
|
|
12656
|
-
|
|
13177
|
+
/**
|
|
13178
|
+
* Cache flushed successfully
|
|
13179
|
+
*/
|
|
13180
|
+
200: unknown;
|
|
13181
|
+
/**
|
|
13182
|
+
* Admin access required
|
|
13183
|
+
*/
|
|
13184
|
+
403: ApiProblemResponseDto;
|
|
12657
13185
|
};
|
|
12658
13186
|
};
|
|
12659
13187
|
};
|