@firela/api-types 0.0.0-canary.2fbeefe9 → 0.0.0-canary.3550df41
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 +1292 -925
- package/dist/index.d.ts +1292 -925
- package/dist/index.js +28 -2
- package/dist/index.mjs +28 -2
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +977 -560
- package/src/generated/services.gen.ts +529 -444
- package/src/generated/types.gen.ts +1470 -1012
|
@@ -6,9 +6,9 @@ export type CreateAccountDto = {
|
|
|
6
6
|
*/
|
|
7
7
|
path: string;
|
|
8
8
|
/**
|
|
9
|
-
* Account open date
|
|
9
|
+
* Account open date (server defaults to today)
|
|
10
10
|
*/
|
|
11
|
-
openDate
|
|
11
|
+
openDate?: string;
|
|
12
12
|
/**
|
|
13
13
|
* Allowed currencies (null = no restriction)
|
|
14
14
|
*/
|
|
@@ -37,9 +37,9 @@ export type CreateAccountDto = {
|
|
|
37
37
|
*/
|
|
38
38
|
icon?: string;
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Open directive metadata (NOT an opening-balance amount — use the opening-balance endpoint)
|
|
41
41
|
*/
|
|
42
|
-
|
|
42
|
+
openDirectiveMeta?: {
|
|
43
43
|
[key: string]: unknown;
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
@@ -73,6 +73,43 @@ export type AccountResponseDto = {
|
|
|
73
73
|
* Account type (root segment)
|
|
74
74
|
*/
|
|
75
75
|
type: 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
76
|
+
/**
|
|
77
|
+
* Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
|
|
78
|
+
*/
|
|
79
|
+
assetSubClass?:
|
|
80
|
+
| 'DEPOSIT'
|
|
81
|
+
| 'CASH'
|
|
82
|
+
| 'MONEY_MARKET_FUND'
|
|
83
|
+
| 'STOCK'
|
|
84
|
+
| 'ETF'
|
|
85
|
+
| 'MUTUAL_FUND'
|
|
86
|
+
| 'EQUITY_COMPENSATION'
|
|
87
|
+
| 'GOVERNMENT_BOND'
|
|
88
|
+
| 'CORPORATE_BOND'
|
|
89
|
+
| 'BOND_FUND'
|
|
90
|
+
| 'PRIMARY_RESIDENCE'
|
|
91
|
+
| 'INVESTMENT_PROPERTY'
|
|
92
|
+
| 'REIT'
|
|
93
|
+
| 'GOLD'
|
|
94
|
+
| 'SILVER'
|
|
95
|
+
| 'PRECIOUS_METAL'
|
|
96
|
+
| 'PRECIOUS_METAL_FUND'
|
|
97
|
+
| 'COMMODITY'
|
|
98
|
+
| 'COMMODITY_FUND'
|
|
99
|
+
| 'CRYPTOCURRENCY'
|
|
100
|
+
| 'RETIREMENT_ACCOUNT'
|
|
101
|
+
| 'HEALTH_ACCOUNT'
|
|
102
|
+
| 'EDUCATION_ACCOUNT'
|
|
103
|
+
| 'INSURANCE'
|
|
104
|
+
| 'PRIVATE_EQUITY'
|
|
105
|
+
| 'HEDGE_FUND'
|
|
106
|
+
| 'COLLECTIBLES'
|
|
107
|
+
| 'MORTGAGE'
|
|
108
|
+
| 'STUDENT_LOAN'
|
|
109
|
+
| 'CREDIT_CARD'
|
|
110
|
+
| 'PERSONAL_LOAN'
|
|
111
|
+
| 'OTHER'
|
|
112
|
+
| null;
|
|
76
113
|
/**
|
|
77
114
|
* Account status
|
|
78
115
|
*/
|
|
@@ -117,9 +154,9 @@ export type AccountResponseDto = {
|
|
|
117
154
|
*/
|
|
118
155
|
icon?: string;
|
|
119
156
|
/**
|
|
120
|
-
*
|
|
157
|
+
* Open directive metadata (ADR-0115 Decision 9)
|
|
121
158
|
*/
|
|
122
|
-
|
|
159
|
+
openDirectiveMeta?: {
|
|
123
160
|
[key: string]: unknown;
|
|
124
161
|
};
|
|
125
162
|
/**
|
|
@@ -149,6 +186,43 @@ export type AccountResponseDto = {
|
|
|
149
186
|
*/
|
|
150
187
|
export type type = 'Assets' | 'Liabilities' | 'Income' | 'Expenses' | 'Equity';
|
|
151
188
|
|
|
189
|
+
/**
|
|
190
|
+
* Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.
|
|
191
|
+
*/
|
|
192
|
+
export type assetSubClass =
|
|
193
|
+
| 'DEPOSIT'
|
|
194
|
+
| 'CASH'
|
|
195
|
+
| 'MONEY_MARKET_FUND'
|
|
196
|
+
| 'STOCK'
|
|
197
|
+
| 'ETF'
|
|
198
|
+
| 'MUTUAL_FUND'
|
|
199
|
+
| 'EQUITY_COMPENSATION'
|
|
200
|
+
| 'GOVERNMENT_BOND'
|
|
201
|
+
| 'CORPORATE_BOND'
|
|
202
|
+
| 'BOND_FUND'
|
|
203
|
+
| 'PRIMARY_RESIDENCE'
|
|
204
|
+
| 'INVESTMENT_PROPERTY'
|
|
205
|
+
| 'REIT'
|
|
206
|
+
| 'GOLD'
|
|
207
|
+
| 'SILVER'
|
|
208
|
+
| 'PRECIOUS_METAL'
|
|
209
|
+
| 'PRECIOUS_METAL_FUND'
|
|
210
|
+
| 'COMMODITY'
|
|
211
|
+
| 'COMMODITY_FUND'
|
|
212
|
+
| 'CRYPTOCURRENCY'
|
|
213
|
+
| 'RETIREMENT_ACCOUNT'
|
|
214
|
+
| 'HEALTH_ACCOUNT'
|
|
215
|
+
| 'EDUCATION_ACCOUNT'
|
|
216
|
+
| 'INSURANCE'
|
|
217
|
+
| 'PRIVATE_EQUITY'
|
|
218
|
+
| 'HEDGE_FUND'
|
|
219
|
+
| 'COLLECTIBLES'
|
|
220
|
+
| 'MORTGAGE'
|
|
221
|
+
| 'STUDENT_LOAN'
|
|
222
|
+
| 'CREDIT_CARD'
|
|
223
|
+
| 'PERSONAL_LOAN'
|
|
224
|
+
| 'OTHER';
|
|
225
|
+
|
|
152
226
|
/**
|
|
153
227
|
* Account status
|
|
154
228
|
*/
|
|
@@ -186,9 +260,9 @@ export type UpdateAccountDto = {
|
|
|
186
260
|
*/
|
|
187
261
|
icon?: string;
|
|
188
262
|
/**
|
|
189
|
-
*
|
|
263
|
+
* Open directive metadata (merged with existing; NOT an opening-balance amount)
|
|
190
264
|
*/
|
|
191
|
-
|
|
265
|
+
openDirectiveMeta?: {
|
|
192
266
|
[key: string]: unknown;
|
|
193
267
|
};
|
|
194
268
|
/**
|
|
@@ -217,6 +291,28 @@ export type ReopenAccountDto = {
|
|
|
217
291
|
reopenDate?: string;
|
|
218
292
|
};
|
|
219
293
|
|
|
294
|
+
export type CreateOpeningBalanceDto = {
|
|
295
|
+
/**
|
|
296
|
+
* Opening balance amount (non-negative)
|
|
297
|
+
*/
|
|
298
|
+
amount: number;
|
|
299
|
+
/**
|
|
300
|
+
* Currency code
|
|
301
|
+
*/
|
|
302
|
+
currency: string;
|
|
303
|
+
/**
|
|
304
|
+
* Opening-balance date (defaults to now)
|
|
305
|
+
*/
|
|
306
|
+
date?: string;
|
|
307
|
+
};
|
|
308
|
+
|
|
309
|
+
export type OpeningBalanceResultDto = {
|
|
310
|
+
/**
|
|
311
|
+
* Created opening-balance transaction id.
|
|
312
|
+
*/
|
|
313
|
+
transactionId: string;
|
|
314
|
+
};
|
|
315
|
+
|
|
220
316
|
export type AccountStandardResponseDto = {
|
|
221
317
|
/**
|
|
222
318
|
* Account path (hierarchical, colon-separated)
|
|
@@ -2679,374 +2775,213 @@ export type ForecastResponseDto = {
|
|
|
2679
2775
|
periodEnd: string;
|
|
2680
2776
|
};
|
|
2681
2777
|
|
|
2682
|
-
export type
|
|
2683
|
-
name: string;
|
|
2684
|
-
description?: string;
|
|
2685
|
-
narrationKeywords?: Array<unknown[]>;
|
|
2686
|
-
payeeKeywords?: Array<unknown[]>;
|
|
2687
|
-
categoryKeywords?: Array<unknown[]>;
|
|
2778
|
+
export type CurrencyBalanceDto = {
|
|
2688
2779
|
/**
|
|
2689
|
-
*
|
|
2780
|
+
* ISO 4217 currency code
|
|
2690
2781
|
*/
|
|
2691
|
-
|
|
2782
|
+
currency: string;
|
|
2692
2783
|
/**
|
|
2693
|
-
*
|
|
2784
|
+
* Balance amount
|
|
2694
2785
|
*/
|
|
2695
|
-
|
|
2696
|
-
|
|
2786
|
+
balance: string;
|
|
2787
|
+
};
|
|
2788
|
+
|
|
2789
|
+
export type TimeSeriesPointDto = {
|
|
2697
2790
|
/**
|
|
2698
|
-
*
|
|
2791
|
+
* Date in YYYY-MM-DD format
|
|
2699
2792
|
*/
|
|
2700
|
-
|
|
2793
|
+
date: string;
|
|
2701
2794
|
/**
|
|
2702
|
-
*
|
|
2795
|
+
* Value at this date (in base currency)
|
|
2703
2796
|
*/
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2797
|
+
value: string;
|
|
2798
|
+
/**
|
|
2799
|
+
* Change from previous point
|
|
2800
|
+
*/
|
|
2801
|
+
change?: {
|
|
2708
2802
|
[key: string]: unknown;
|
|
2709
2803
|
};
|
|
2710
2804
|
/**
|
|
2711
|
-
*
|
|
2805
|
+
* Total assets at this date (in base currency)
|
|
2712
2806
|
*/
|
|
2713
|
-
|
|
2714
|
-
};
|
|
2715
|
-
|
|
2716
|
-
export type matchLogic = 'OR' | 'AND';
|
|
2717
|
-
|
|
2718
|
-
export type AmountRangeDto = {
|
|
2807
|
+
assets?: string;
|
|
2719
2808
|
/**
|
|
2720
|
-
*
|
|
2809
|
+
* Total liabilities at this date (in base currency)
|
|
2721
2810
|
*/
|
|
2722
|
-
|
|
2811
|
+
liabilities?: string;
|
|
2723
2812
|
/**
|
|
2724
|
-
*
|
|
2813
|
+
* Multi-currency breakdown for this point
|
|
2725
2814
|
*/
|
|
2726
|
-
|
|
2815
|
+
byCurrency?: Array<CurrencyBalanceDto>;
|
|
2727
2816
|
};
|
|
2728
2817
|
|
|
2729
|
-
export type
|
|
2818
|
+
export type TrendSummaryDto = {
|
|
2730
2819
|
/**
|
|
2731
|
-
*
|
|
2820
|
+
* Value at start of period
|
|
2732
2821
|
*/
|
|
2733
|
-
|
|
2822
|
+
startValue: string;
|
|
2734
2823
|
/**
|
|
2735
|
-
*
|
|
2824
|
+
* Value at end of period
|
|
2736
2825
|
*/
|
|
2737
|
-
|
|
2826
|
+
endValue: string;
|
|
2738
2827
|
/**
|
|
2739
|
-
*
|
|
2828
|
+
* Total change over period
|
|
2740
2829
|
*/
|
|
2741
|
-
|
|
2830
|
+
totalChange: string;
|
|
2742
2831
|
/**
|
|
2743
|
-
*
|
|
2832
|
+
* Total change percentage
|
|
2744
2833
|
*/
|
|
2745
|
-
|
|
2834
|
+
totalChangePercentage: string;
|
|
2835
|
+
};
|
|
2836
|
+
|
|
2837
|
+
export type MultiCurrencyPointDto = {
|
|
2746
2838
|
/**
|
|
2747
|
-
*
|
|
2839
|
+
* Date in YYYY-MM-DD format
|
|
2748
2840
|
*/
|
|
2749
|
-
|
|
2841
|
+
date: string;
|
|
2750
2842
|
/**
|
|
2751
|
-
*
|
|
2843
|
+
* Balances by currency
|
|
2752
2844
|
*/
|
|
2753
|
-
|
|
2845
|
+
byCurrency: Array<CurrencyBalanceDto>;
|
|
2846
|
+
};
|
|
2847
|
+
|
|
2848
|
+
export type PortfolioTrendsResponseDto = {
|
|
2754
2849
|
/**
|
|
2755
|
-
*
|
|
2850
|
+
* Time series data points
|
|
2756
2851
|
*/
|
|
2757
|
-
|
|
2852
|
+
series: Array<TimeSeriesPointDto>;
|
|
2758
2853
|
/**
|
|
2759
|
-
*
|
|
2854
|
+
* Period summary
|
|
2760
2855
|
*/
|
|
2761
|
-
|
|
2856
|
+
summary: TrendSummaryDto;
|
|
2762
2857
|
/**
|
|
2763
|
-
*
|
|
2858
|
+
* Period requested
|
|
2764
2859
|
*/
|
|
2765
|
-
|
|
2860
|
+
period: string;
|
|
2766
2861
|
/**
|
|
2767
|
-
*
|
|
2862
|
+
* Data granularity
|
|
2768
2863
|
*/
|
|
2769
|
-
|
|
2864
|
+
granularity: string;
|
|
2770
2865
|
/**
|
|
2771
|
-
*
|
|
2866
|
+
* Base currency for converted values
|
|
2772
2867
|
*/
|
|
2773
|
-
|
|
2868
|
+
currency: string;
|
|
2774
2869
|
/**
|
|
2775
|
-
*
|
|
2870
|
+
* Multi-currency time series (each point has currency breakdown)
|
|
2776
2871
|
*/
|
|
2777
|
-
|
|
2872
|
+
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
2778
2873
|
/**
|
|
2779
|
-
*
|
|
2874
|
+
* Exchange rate warnings
|
|
2780
2875
|
*/
|
|
2781
|
-
|
|
2876
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2877
|
+
};
|
|
2878
|
+
|
|
2879
|
+
export type CashFlowPointDto = {
|
|
2782
2880
|
/**
|
|
2783
|
-
*
|
|
2881
|
+
* Month key (YYYY-MM)
|
|
2784
2882
|
*/
|
|
2785
|
-
|
|
2883
|
+
month: string;
|
|
2786
2884
|
/**
|
|
2787
|
-
*
|
|
2885
|
+
* Income in base currency (absolute, converted)
|
|
2788
2886
|
*/
|
|
2789
|
-
|
|
2887
|
+
income: string;
|
|
2790
2888
|
/**
|
|
2791
|
-
*
|
|
2889
|
+
* Expense in base currency (absolute, converted)
|
|
2792
2890
|
*/
|
|
2793
|
-
|
|
2891
|
+
expense: string;
|
|
2794
2892
|
/**
|
|
2795
|
-
*
|
|
2893
|
+
* netSavings = income − expense (savings positive)
|
|
2796
2894
|
*/
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2895
|
+
netSavings: string;
|
|
2896
|
+
};
|
|
2897
|
+
|
|
2898
|
+
export type CashFlowTrendSummaryDto = {
|
|
2800
2899
|
/**
|
|
2801
|
-
*
|
|
2900
|
+
* Total income across the period
|
|
2802
2901
|
*/
|
|
2803
|
-
|
|
2902
|
+
totalIncome: string;
|
|
2804
2903
|
/**
|
|
2805
|
-
*
|
|
2904
|
+
* Total expense across the period
|
|
2806
2905
|
*/
|
|
2807
|
-
|
|
2906
|
+
totalExpense: string;
|
|
2907
|
+
/**
|
|
2908
|
+
* income − expense across the period
|
|
2909
|
+
*/
|
|
2910
|
+
totalNetSavings: string;
|
|
2911
|
+
/**
|
|
2912
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
2913
|
+
*/
|
|
2914
|
+
averageMonthlyNetSavings: string;
|
|
2808
2915
|
};
|
|
2809
2916
|
|
|
2810
|
-
|
|
2811
|
-
* Learning source: NLP, REVIEW_CENTER, or null for manual
|
|
2812
|
-
*/
|
|
2813
|
-
export type learningSource = 'NLP' | 'REVIEW_CENTER';
|
|
2814
|
-
|
|
2815
|
-
export type TransactionRuleListResponseDto = {
|
|
2816
|
-
data: Array<TransactionRuleResponseDto>;
|
|
2917
|
+
export type CashFlowTrendsResponseDto = {
|
|
2817
2918
|
/**
|
|
2818
|
-
*
|
|
2919
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
2819
2920
|
*/
|
|
2820
|
-
|
|
2921
|
+
series: Array<CashFlowPointDto>;
|
|
2821
2922
|
/**
|
|
2822
|
-
*
|
|
2923
|
+
* Period totals
|
|
2823
2924
|
*/
|
|
2824
|
-
|
|
2925
|
+
summary: CashFlowTrendSummaryDto;
|
|
2825
2926
|
/**
|
|
2826
|
-
*
|
|
2927
|
+
* Period requested
|
|
2827
2928
|
*/
|
|
2828
|
-
|
|
2829
|
-
};
|
|
2830
|
-
|
|
2831
|
-
export type ValidateRuleDto = {
|
|
2832
|
-
name: string;
|
|
2833
|
-
description?: string;
|
|
2834
|
-
narrationKeywords?: Array<unknown[]>;
|
|
2835
|
-
payeeKeywords?: Array<unknown[]>;
|
|
2836
|
-
categoryKeywords?: Array<unknown[]>;
|
|
2929
|
+
period: string;
|
|
2837
2930
|
/**
|
|
2838
|
-
*
|
|
2931
|
+
* Data granularity (v1 returns month buckets)
|
|
2839
2932
|
*/
|
|
2840
|
-
|
|
2933
|
+
granularity: string;
|
|
2841
2934
|
/**
|
|
2842
|
-
*
|
|
2935
|
+
* Base currency for converted values
|
|
2843
2936
|
*/
|
|
2844
|
-
|
|
2845
|
-
matchLogic: 'OR' | 'AND';
|
|
2937
|
+
currency: string;
|
|
2846
2938
|
/**
|
|
2847
|
-
*
|
|
2939
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
2848
2940
|
*/
|
|
2849
|
-
|
|
2941
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
2942
|
+
};
|
|
2943
|
+
|
|
2944
|
+
export type GenerateSnapshotBody = unknown;
|
|
2945
|
+
|
|
2946
|
+
export type GenerateSnapshotResponse = unknown;
|
|
2947
|
+
|
|
2948
|
+
export type BackfillSnapshotsBody = unknown;
|
|
2949
|
+
|
|
2950
|
+
export type BackfillSnapshotsResponse = unknown;
|
|
2951
|
+
|
|
2952
|
+
export type DeleteOwnUserDto = {
|
|
2850
2953
|
/**
|
|
2851
|
-
*
|
|
2954
|
+
* Access token for user verification
|
|
2852
2955
|
*/
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
[key: string]: unknown;
|
|
2858
|
-
};
|
|
2956
|
+
accessToken: string;
|
|
2957
|
+
};
|
|
2958
|
+
|
|
2959
|
+
export type SignupDto = {
|
|
2859
2960
|
/**
|
|
2860
|
-
*
|
|
2961
|
+
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
2861
2962
|
*/
|
|
2862
|
-
|
|
2963
|
+
turnstileToken?: string;
|
|
2863
2964
|
};
|
|
2864
2965
|
|
|
2865
|
-
export type
|
|
2966
|
+
export type SignupResponseDto = {
|
|
2866
2967
|
/**
|
|
2867
|
-
*
|
|
2968
|
+
* JWT auth token
|
|
2868
2969
|
*/
|
|
2869
|
-
|
|
2970
|
+
authToken: string;
|
|
2870
2971
|
/**
|
|
2871
|
-
*
|
|
2972
|
+
* Auto-generated access token
|
|
2872
2973
|
*/
|
|
2873
|
-
|
|
2974
|
+
accessToken: string;
|
|
2874
2975
|
/**
|
|
2875
|
-
*
|
|
2976
|
+
* Assigned user role
|
|
2876
2977
|
*/
|
|
2877
|
-
|
|
2878
|
-
};
|
|
2879
|
-
|
|
2880
|
-
export type BulkCreateRulesDto = {
|
|
2881
|
-
/**
|
|
2882
|
-
* Array of rules to import
|
|
2883
|
-
*/
|
|
2884
|
-
rules: Array<unknown[]>;
|
|
2885
|
-
/**
|
|
2886
|
-
* Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
|
|
2887
|
-
*/
|
|
2888
|
-
conflictStrategy: 'replace' | 'skip';
|
|
2889
|
-
};
|
|
2890
|
-
|
|
2891
|
-
/**
|
|
2892
|
-
* Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
|
|
2893
|
-
*/
|
|
2894
|
-
export type conflictStrategy = 'replace' | 'skip';
|
|
2895
|
-
|
|
2896
|
-
export type BulkCreateRulesResponseDto = {
|
|
2897
|
-
/**
|
|
2898
|
-
* Number of successfully created rules
|
|
2899
|
-
*/
|
|
2900
|
-
successCount: number;
|
|
2901
|
-
/**
|
|
2902
|
-
* Number of failed rules
|
|
2903
|
-
*/
|
|
2904
|
-
failureCount: number;
|
|
2905
|
-
/**
|
|
2906
|
-
* Error details for failed rules
|
|
2907
|
-
*/
|
|
2908
|
-
errors: Array<{
|
|
2909
|
-
index?: number;
|
|
2910
|
-
message?: string;
|
|
2911
|
-
}>;
|
|
2912
|
-
/**
|
|
2913
|
-
* IDs of successfully created rules
|
|
2914
|
-
*/
|
|
2915
|
-
createdRuleIds: Array<string>;
|
|
2916
|
-
};
|
|
2917
|
-
|
|
2918
|
-
export type ExportRulesResponseDto = {
|
|
2919
|
-
/**
|
|
2920
|
-
* Export timestamp
|
|
2921
|
-
*/
|
|
2922
|
-
exportedAt: string;
|
|
2923
|
-
/**
|
|
2924
|
-
* User ID
|
|
2925
|
-
*/
|
|
2926
|
-
userId: string;
|
|
2927
|
-
/**
|
|
2928
|
-
* Number of exported rules
|
|
2929
|
-
*/
|
|
2930
|
-
ruleCount: number;
|
|
2931
|
-
/**
|
|
2932
|
-
* Exported rules
|
|
2933
|
-
*/
|
|
2934
|
-
rules: unknown[];
|
|
2935
|
-
};
|
|
2936
|
-
|
|
2937
|
-
export type RuleStatisticsResponseDto = {
|
|
2938
|
-
/**
|
|
2939
|
-
* Statistics time period
|
|
2940
|
-
*/
|
|
2941
|
-
period: '7d' | '30d' | '90d';
|
|
2942
|
-
/**
|
|
2943
|
-
* Total number of rules
|
|
2944
|
-
*/
|
|
2945
|
-
totalRules: number;
|
|
2946
|
-
/**
|
|
2947
|
-
* Number of rules with at least one match
|
|
2948
|
-
*/
|
|
2949
|
-
rulesWithMatches: number;
|
|
2950
|
-
/**
|
|
2951
|
-
* Total number of matches across all rules
|
|
2952
|
-
*/
|
|
2953
|
-
totalMatches: number;
|
|
2954
|
-
/**
|
|
2955
|
-
* Average confidence score across all matches
|
|
2956
|
-
*/
|
|
2957
|
-
averageConfidence: number;
|
|
2958
|
-
/**
|
|
2959
|
-
* Per-rule statistics
|
|
2960
|
-
*/
|
|
2961
|
-
ruleStats: Array<{
|
|
2962
|
-
ruleId?: string;
|
|
2963
|
-
ruleName?: string;
|
|
2964
|
-
matchCount?: number;
|
|
2965
|
-
averageConfidence?: number;
|
|
2966
|
-
}>;
|
|
2978
|
+
role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
2967
2979
|
};
|
|
2968
2980
|
|
|
2969
2981
|
/**
|
|
2970
|
-
*
|
|
2982
|
+
* Assigned user role
|
|
2971
2983
|
*/
|
|
2972
|
-
export type
|
|
2973
|
-
|
|
2974
|
-
export type UpdateTransactionRuleDto = {
|
|
2975
|
-
name?: string;
|
|
2976
|
-
description?: string;
|
|
2977
|
-
narrationKeywords?: Array<unknown[]>;
|
|
2978
|
-
payeeKeywords?: Array<unknown[]>;
|
|
2979
|
-
categoryKeywords?: Array<unknown[]>;
|
|
2980
|
-
/**
|
|
2981
|
-
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
2982
|
-
*/
|
|
2983
|
-
methodKeywords?: Array<unknown[]>;
|
|
2984
|
-
/**
|
|
2985
|
-
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
2986
|
-
*/
|
|
2987
|
-
categoryAccount?: string;
|
|
2988
|
-
matchLogic?: 'OR' | 'AND';
|
|
2989
|
-
/**
|
|
2990
|
-
* Minimum transaction amount (inclusive)
|
|
2991
|
-
*/
|
|
2992
|
-
amountMin?: number;
|
|
2993
|
-
/**
|
|
2994
|
-
* Maximum transaction amount (inclusive)
|
|
2995
|
-
*/
|
|
2996
|
-
amountMax?: number;
|
|
2997
|
-
priority?: number;
|
|
2998
|
-
/**
|
|
2999
|
-
* Enable or disable the rule
|
|
3000
|
-
*/
|
|
3001
|
-
enabled?: boolean;
|
|
3002
|
-
additionalTags?: Array<unknown[]>;
|
|
3003
|
-
additionalMetadata?: {
|
|
3004
|
-
[key: string]: unknown;
|
|
3005
|
-
};
|
|
3006
|
-
};
|
|
3007
|
-
|
|
3008
|
-
export type TestRuleDto = {
|
|
3009
|
-
narration: string;
|
|
3010
|
-
payee?: string;
|
|
3011
|
-
categoryAccount?: string;
|
|
3012
|
-
amount?: number;
|
|
3013
|
-
currency?: string;
|
|
3014
|
-
};
|
|
3015
|
-
|
|
3016
|
-
export type TestRuleResponseDto = {
|
|
3017
|
-
/**
|
|
3018
|
-
* Rule ID that was tested
|
|
3019
|
-
*/
|
|
3020
|
-
ruleId: string;
|
|
3021
|
-
/**
|
|
3022
|
-
* Whether the rule matched the test data
|
|
3023
|
-
*/
|
|
3024
|
-
matches: boolean;
|
|
3025
|
-
/**
|
|
3026
|
-
* Match confidence score (0-1)
|
|
3027
|
-
*/
|
|
3028
|
-
confidence: number;
|
|
3029
|
-
/**
|
|
3030
|
-
* Details of which fields matched
|
|
3031
|
-
*/
|
|
3032
|
-
matchDetails: {
|
|
3033
|
-
[key: string]: unknown;
|
|
3034
|
-
};
|
|
3035
|
-
};
|
|
3036
|
-
|
|
3037
|
-
export type DeleteOwnUserDto = {
|
|
3038
|
-
/**
|
|
3039
|
-
* Access token for user verification
|
|
3040
|
-
*/
|
|
3041
|
-
accessToken: string;
|
|
3042
|
-
};
|
|
3043
|
-
|
|
3044
|
-
export type SignupDto = {
|
|
3045
|
-
/**
|
|
3046
|
-
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
3047
|
-
*/
|
|
3048
|
-
turnstileToken?: string;
|
|
3049
|
-
};
|
|
2984
|
+
export type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
|
|
3050
2985
|
|
|
3051
2986
|
export type UpdateUserSettingDto = {
|
|
3052
2987
|
/**
|
|
@@ -3152,78 +3087,433 @@ export type UpdatePropertyDto = {
|
|
|
3152
3087
|
value: string;
|
|
3153
3088
|
};
|
|
3154
3089
|
|
|
3155
|
-
export type
|
|
3090
|
+
export type CreateTransactionRuleDto = {
|
|
3091
|
+
name: string;
|
|
3092
|
+
description?: string;
|
|
3093
|
+
narrationKeywords?: Array<unknown[]>;
|
|
3094
|
+
payeeKeywords?: Array<unknown[]>;
|
|
3095
|
+
categoryKeywords?: Array<unknown[]>;
|
|
3156
3096
|
/**
|
|
3157
|
-
*
|
|
3097
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
3158
3098
|
*/
|
|
3159
|
-
|
|
3099
|
+
methodKeywords?: Array<unknown[]>;
|
|
3160
3100
|
/**
|
|
3161
|
-
*
|
|
3101
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
3162
3102
|
*/
|
|
3163
|
-
|
|
3103
|
+
categoryAccount?: string;
|
|
3104
|
+
matchLogic: 'OR' | 'AND';
|
|
3164
3105
|
/**
|
|
3165
|
-
*
|
|
3106
|
+
* Minimum transaction amount (inclusive)
|
|
3166
3107
|
*/
|
|
3167
|
-
|
|
3108
|
+
amountMin?: number;
|
|
3168
3109
|
/**
|
|
3169
|
-
*
|
|
3110
|
+
* Maximum transaction amount (inclusive)
|
|
3170
3111
|
*/
|
|
3171
|
-
|
|
3112
|
+
amountMax?: number;
|
|
3113
|
+
priority: number;
|
|
3114
|
+
additionalTags?: Array<unknown[]>;
|
|
3115
|
+
additionalMetadata?: {
|
|
3172
3116
|
[key: string]: unknown;
|
|
3173
3117
|
};
|
|
3118
|
+
/**
|
|
3119
|
+
* If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
|
|
3120
|
+
*/
|
|
3121
|
+
upsertByPayee?: boolean;
|
|
3174
3122
|
};
|
|
3175
3123
|
|
|
3176
|
-
export type
|
|
3124
|
+
export type matchLogic = 'OR' | 'AND';
|
|
3125
|
+
|
|
3126
|
+
export type AmountRangeDto = {
|
|
3177
3127
|
/**
|
|
3178
|
-
*
|
|
3128
|
+
* Minimum amount
|
|
3179
3129
|
*/
|
|
3180
|
-
|
|
3130
|
+
min?: number;
|
|
3181
3131
|
/**
|
|
3182
|
-
*
|
|
3132
|
+
* Maximum amount
|
|
3183
3133
|
*/
|
|
3184
|
-
|
|
3134
|
+
max?: number;
|
|
3135
|
+
};
|
|
3136
|
+
|
|
3137
|
+
export type TransactionRuleResponseDto = {
|
|
3185
3138
|
/**
|
|
3186
|
-
*
|
|
3139
|
+
* Rule ID
|
|
3187
3140
|
*/
|
|
3188
|
-
|
|
3141
|
+
id: string;
|
|
3189
3142
|
/**
|
|
3190
|
-
*
|
|
3143
|
+
* Rule name
|
|
3191
3144
|
*/
|
|
3192
|
-
|
|
3145
|
+
name: string;
|
|
3193
3146
|
/**
|
|
3194
|
-
*
|
|
3147
|
+
* Rule description
|
|
3195
3148
|
*/
|
|
3196
|
-
description
|
|
3149
|
+
description?: string;
|
|
3197
3150
|
/**
|
|
3198
|
-
*
|
|
3151
|
+
* Keywords to match in transaction narration
|
|
3199
3152
|
*/
|
|
3200
|
-
|
|
3201
|
-
[key: string]: unknown;
|
|
3202
|
-
};
|
|
3153
|
+
narrationKeywords: Array<string>;
|
|
3203
3154
|
/**
|
|
3204
|
-
*
|
|
3155
|
+
* Keywords to match in payee name
|
|
3205
3156
|
*/
|
|
3206
|
-
|
|
3157
|
+
payeeKeywords: Array<string>;
|
|
3207
3158
|
/**
|
|
3208
|
-
*
|
|
3159
|
+
* Keywords to match in category
|
|
3209
3160
|
*/
|
|
3210
|
-
|
|
3211
|
-
};
|
|
3212
|
-
|
|
3213
|
-
export type EventListResponseDto = {
|
|
3161
|
+
categoryKeywords: Array<string>;
|
|
3214
3162
|
/**
|
|
3215
|
-
*
|
|
3163
|
+
* Keywords to match in payment method
|
|
3216
3164
|
*/
|
|
3217
|
-
|
|
3165
|
+
methodKeywords: Array<string>;
|
|
3218
3166
|
/**
|
|
3219
|
-
*
|
|
3167
|
+
* Destination account for categorization
|
|
3220
3168
|
*/
|
|
3221
|
-
|
|
3222
|
-
};
|
|
3223
|
-
|
|
3224
|
-
export type UpdateBeanEventDto = {
|
|
3169
|
+
categoryAccount?: string;
|
|
3225
3170
|
/**
|
|
3226
|
-
*
|
|
3171
|
+
* Keyword matching logic
|
|
3172
|
+
*/
|
|
3173
|
+
matchLogic: 'OR' | 'AND';
|
|
3174
|
+
/**
|
|
3175
|
+
* Amount range for matching
|
|
3176
|
+
*/
|
|
3177
|
+
amountRange?: AmountRangeDto;
|
|
3178
|
+
/**
|
|
3179
|
+
* Rule priority (0-1000, higher = first match)
|
|
3180
|
+
*/
|
|
3181
|
+
priority: number;
|
|
3182
|
+
/**
|
|
3183
|
+
* Whether the rule is enabled
|
|
3184
|
+
*/
|
|
3185
|
+
enabled: boolean;
|
|
3186
|
+
/**
|
|
3187
|
+
* Learning source: NLP, REVIEW_CENTER, or null for manual
|
|
3188
|
+
*/
|
|
3189
|
+
learningSource?: 'NLP' | 'REVIEW_CENTER' | null;
|
|
3190
|
+
/**
|
|
3191
|
+
* Whether auto-apply is enabled for this rule
|
|
3192
|
+
*/
|
|
3193
|
+
autoApplyEnabled: boolean;
|
|
3194
|
+
/**
|
|
3195
|
+
* Number of confirmations for NLP-learned rules
|
|
3196
|
+
*/
|
|
3197
|
+
confirmationCount: number;
|
|
3198
|
+
/**
|
|
3199
|
+
* Additional tags
|
|
3200
|
+
*/
|
|
3201
|
+
additionalTags: Array<string>;
|
|
3202
|
+
/**
|
|
3203
|
+
* Additional metadata
|
|
3204
|
+
*/
|
|
3205
|
+
additionalMetadata?: {
|
|
3206
|
+
[key: string]: string;
|
|
3207
|
+
};
|
|
3208
|
+
/**
|
|
3209
|
+
* Created timestamp
|
|
3210
|
+
*/
|
|
3211
|
+
createdAt: string;
|
|
3212
|
+
/**
|
|
3213
|
+
* Updated timestamp
|
|
3214
|
+
*/
|
|
3215
|
+
updatedAt: string;
|
|
3216
|
+
};
|
|
3217
|
+
|
|
3218
|
+
/**
|
|
3219
|
+
* Learning source: NLP, REVIEW_CENTER, or null for manual
|
|
3220
|
+
*/
|
|
3221
|
+
export type learningSource = 'NLP' | 'REVIEW_CENTER';
|
|
3222
|
+
|
|
3223
|
+
export type TransactionRuleListResponseDto = {
|
|
3224
|
+
data: Array<TransactionRuleResponseDto>;
|
|
3225
|
+
/**
|
|
3226
|
+
* Total count of rules
|
|
3227
|
+
*/
|
|
3228
|
+
total: number;
|
|
3229
|
+
/**
|
|
3230
|
+
* Results per page
|
|
3231
|
+
*/
|
|
3232
|
+
limit: number;
|
|
3233
|
+
/**
|
|
3234
|
+
* Pagination offset
|
|
3235
|
+
*/
|
|
3236
|
+
offset: number;
|
|
3237
|
+
};
|
|
3238
|
+
|
|
3239
|
+
export type ValidateRuleDto = {
|
|
3240
|
+
name: string;
|
|
3241
|
+
description?: string;
|
|
3242
|
+
narrationKeywords?: Array<unknown[]>;
|
|
3243
|
+
payeeKeywords?: Array<unknown[]>;
|
|
3244
|
+
categoryKeywords?: Array<unknown[]>;
|
|
3245
|
+
/**
|
|
3246
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
3247
|
+
*/
|
|
3248
|
+
methodKeywords?: Array<unknown[]>;
|
|
3249
|
+
/**
|
|
3250
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
3251
|
+
*/
|
|
3252
|
+
categoryAccount?: string;
|
|
3253
|
+
matchLogic: 'OR' | 'AND';
|
|
3254
|
+
/**
|
|
3255
|
+
* Minimum transaction amount (inclusive)
|
|
3256
|
+
*/
|
|
3257
|
+
amountMin?: number;
|
|
3258
|
+
/**
|
|
3259
|
+
* Maximum transaction amount (inclusive)
|
|
3260
|
+
*/
|
|
3261
|
+
amountMax?: number;
|
|
3262
|
+
priority: number;
|
|
3263
|
+
additionalTags?: Array<unknown[]>;
|
|
3264
|
+
additionalMetadata?: {
|
|
3265
|
+
[key: string]: unknown;
|
|
3266
|
+
};
|
|
3267
|
+
/**
|
|
3268
|
+
* If true, update existing rule with matching payeeKeywords[0] instead of creating new rule
|
|
3269
|
+
*/
|
|
3270
|
+
upsertByPayee?: boolean;
|
|
3271
|
+
};
|
|
3272
|
+
|
|
3273
|
+
export type ValidateRuleResponseDto = {
|
|
3274
|
+
/**
|
|
3275
|
+
* Whether the rule configuration is valid
|
|
3276
|
+
*/
|
|
3277
|
+
valid: boolean;
|
|
3278
|
+
/**
|
|
3279
|
+
* List of validation errors (empty if valid)
|
|
3280
|
+
*/
|
|
3281
|
+
errors: Array<unknown[]>;
|
|
3282
|
+
/**
|
|
3283
|
+
* List of validation warnings (non-blocking issues)
|
|
3284
|
+
*/
|
|
3285
|
+
warnings: Array<unknown[]>;
|
|
3286
|
+
};
|
|
3287
|
+
|
|
3288
|
+
export type BulkCreateRulesDto = {
|
|
3289
|
+
/**
|
|
3290
|
+
* Array of rules to import
|
|
3291
|
+
*/
|
|
3292
|
+
rules: Array<unknown[]>;
|
|
3293
|
+
/**
|
|
3294
|
+
* Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
|
|
3295
|
+
*/
|
|
3296
|
+
conflictStrategy: 'replace' | 'skip';
|
|
3297
|
+
};
|
|
3298
|
+
|
|
3299
|
+
/**
|
|
3300
|
+
* Conflict handling strategy: skip (default) ignores duplicates, replace soft-deletes existing rule
|
|
3301
|
+
*/
|
|
3302
|
+
export type conflictStrategy = 'replace' | 'skip';
|
|
3303
|
+
|
|
3304
|
+
export type BulkCreateRulesResponseDto = {
|
|
3305
|
+
/**
|
|
3306
|
+
* Number of successfully created rules
|
|
3307
|
+
*/
|
|
3308
|
+
successCount: number;
|
|
3309
|
+
/**
|
|
3310
|
+
* Number of failed rules
|
|
3311
|
+
*/
|
|
3312
|
+
failureCount: number;
|
|
3313
|
+
/**
|
|
3314
|
+
* Error details for failed rules
|
|
3315
|
+
*/
|
|
3316
|
+
errors: Array<{
|
|
3317
|
+
index?: number;
|
|
3318
|
+
message?: string;
|
|
3319
|
+
}>;
|
|
3320
|
+
/**
|
|
3321
|
+
* IDs of successfully created rules
|
|
3322
|
+
*/
|
|
3323
|
+
createdRuleIds: Array<string>;
|
|
3324
|
+
};
|
|
3325
|
+
|
|
3326
|
+
export type ExportRulesResponseDto = {
|
|
3327
|
+
/**
|
|
3328
|
+
* Export timestamp
|
|
3329
|
+
*/
|
|
3330
|
+
exportedAt: string;
|
|
3331
|
+
/**
|
|
3332
|
+
* User ID
|
|
3333
|
+
*/
|
|
3334
|
+
userId: string;
|
|
3335
|
+
/**
|
|
3336
|
+
* Number of exported rules
|
|
3337
|
+
*/
|
|
3338
|
+
ruleCount: number;
|
|
3339
|
+
/**
|
|
3340
|
+
* Exported rules
|
|
3341
|
+
*/
|
|
3342
|
+
rules: unknown[];
|
|
3343
|
+
};
|
|
3344
|
+
|
|
3345
|
+
export type RuleStatisticsResponseDto = {
|
|
3346
|
+
/**
|
|
3347
|
+
* Statistics time period
|
|
3348
|
+
*/
|
|
3349
|
+
period: '7d' | '30d' | '90d';
|
|
3350
|
+
/**
|
|
3351
|
+
* Total number of rules
|
|
3352
|
+
*/
|
|
3353
|
+
totalRules: number;
|
|
3354
|
+
/**
|
|
3355
|
+
* Number of rules with at least one match
|
|
3356
|
+
*/
|
|
3357
|
+
rulesWithMatches: number;
|
|
3358
|
+
/**
|
|
3359
|
+
* Total number of matches across all rules
|
|
3360
|
+
*/
|
|
3361
|
+
totalMatches: number;
|
|
3362
|
+
/**
|
|
3363
|
+
* Average confidence score across all matches
|
|
3364
|
+
*/
|
|
3365
|
+
averageConfidence: number;
|
|
3366
|
+
/**
|
|
3367
|
+
* Per-rule statistics
|
|
3368
|
+
*/
|
|
3369
|
+
ruleStats: Array<{
|
|
3370
|
+
ruleId?: string;
|
|
3371
|
+
ruleName?: string;
|
|
3372
|
+
matchCount?: number;
|
|
3373
|
+
averageConfidence?: number;
|
|
3374
|
+
}>;
|
|
3375
|
+
};
|
|
3376
|
+
|
|
3377
|
+
/**
|
|
3378
|
+
* Statistics time period
|
|
3379
|
+
*/
|
|
3380
|
+
export type period = '7d' | '30d' | '90d';
|
|
3381
|
+
|
|
3382
|
+
export type UpdateTransactionRuleDto = {
|
|
3383
|
+
name?: string;
|
|
3384
|
+
description?: string;
|
|
3385
|
+
narrationKeywords?: Array<unknown[]>;
|
|
3386
|
+
payeeKeywords?: Array<unknown[]>;
|
|
3387
|
+
categoryKeywords?: Array<unknown[]>;
|
|
3388
|
+
/**
|
|
3389
|
+
* Payment method keywords (e.g., HuaBei, YuEBao)
|
|
3390
|
+
*/
|
|
3391
|
+
methodKeywords?: Array<unknown[]>;
|
|
3392
|
+
/**
|
|
3393
|
+
* Destination account for expenses/income (e.g., Expenses:Food:Coffee)
|
|
3394
|
+
*/
|
|
3395
|
+
categoryAccount?: string;
|
|
3396
|
+
matchLogic?: 'OR' | 'AND';
|
|
3397
|
+
/**
|
|
3398
|
+
* Minimum transaction amount (inclusive)
|
|
3399
|
+
*/
|
|
3400
|
+
amountMin?: number;
|
|
3401
|
+
/**
|
|
3402
|
+
* Maximum transaction amount (inclusive)
|
|
3403
|
+
*/
|
|
3404
|
+
amountMax?: number;
|
|
3405
|
+
priority?: number;
|
|
3406
|
+
/**
|
|
3407
|
+
* Enable or disable the rule
|
|
3408
|
+
*/
|
|
3409
|
+
enabled?: boolean;
|
|
3410
|
+
additionalTags?: Array<unknown[]>;
|
|
3411
|
+
additionalMetadata?: {
|
|
3412
|
+
[key: string]: unknown;
|
|
3413
|
+
};
|
|
3414
|
+
};
|
|
3415
|
+
|
|
3416
|
+
export type TestRuleDto = {
|
|
3417
|
+
narration: string;
|
|
3418
|
+
payee?: string;
|
|
3419
|
+
categoryAccount?: string;
|
|
3420
|
+
amount?: number;
|
|
3421
|
+
currency?: string;
|
|
3422
|
+
};
|
|
3423
|
+
|
|
3424
|
+
export type TestRuleResponseDto = {
|
|
3425
|
+
/**
|
|
3426
|
+
* Rule ID that was tested
|
|
3427
|
+
*/
|
|
3428
|
+
ruleId: string;
|
|
3429
|
+
/**
|
|
3430
|
+
* Whether the rule matched the test data
|
|
3431
|
+
*/
|
|
3432
|
+
matches: boolean;
|
|
3433
|
+
/**
|
|
3434
|
+
* Match confidence score (0-1)
|
|
3435
|
+
*/
|
|
3436
|
+
confidence: number;
|
|
3437
|
+
/**
|
|
3438
|
+
* Details of which fields matched
|
|
3439
|
+
*/
|
|
3440
|
+
matchDetails: {
|
|
3441
|
+
[key: string]: unknown;
|
|
3442
|
+
};
|
|
3443
|
+
};
|
|
3444
|
+
|
|
3445
|
+
export type CreateBeanEventDto = {
|
|
3446
|
+
/**
|
|
3447
|
+
* Life event date (ISO 8601)
|
|
3448
|
+
*/
|
|
3449
|
+
date: string;
|
|
3450
|
+
/**
|
|
3451
|
+
* Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
|
|
3452
|
+
*/
|
|
3453
|
+
type: string;
|
|
3454
|
+
/**
|
|
3455
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3456
|
+
*/
|
|
3457
|
+
description: string;
|
|
3458
|
+
/**
|
|
3459
|
+
* Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
|
|
3460
|
+
*/
|
|
3461
|
+
meta?: {
|
|
3462
|
+
[key: string]: unknown;
|
|
3463
|
+
};
|
|
3464
|
+
};
|
|
3465
|
+
|
|
3466
|
+
export type EventResponseDto = {
|
|
3467
|
+
/**
|
|
3468
|
+
* Unique identifier
|
|
3469
|
+
*/
|
|
3470
|
+
id: string;
|
|
3471
|
+
/**
|
|
3472
|
+
* User ID (owner of the life event)
|
|
3473
|
+
*/
|
|
3474
|
+
userId: string;
|
|
3475
|
+
/**
|
|
3476
|
+
* Life event date (ISO 8601 format)
|
|
3477
|
+
*/
|
|
3478
|
+
date: string;
|
|
3479
|
+
/**
|
|
3480
|
+
* Life event type (user-defined, e.g., "employer", "location")
|
|
3481
|
+
*/
|
|
3482
|
+
type: string;
|
|
3483
|
+
/**
|
|
3484
|
+
* Life event description. May be an empty string (a valid value distinct from absence).
|
|
3485
|
+
*/
|
|
3486
|
+
description: string;
|
|
3487
|
+
/**
|
|
3488
|
+
* Product-side metadata (free-form JSON)
|
|
3489
|
+
*/
|
|
3490
|
+
meta: {
|
|
3491
|
+
[key: string]: unknown;
|
|
3492
|
+
};
|
|
3493
|
+
/**
|
|
3494
|
+
* Creation timestamp
|
|
3495
|
+
*/
|
|
3496
|
+
createdAt: string;
|
|
3497
|
+
/**
|
|
3498
|
+
* Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
|
|
3499
|
+
*/
|
|
3500
|
+
updatedAt: string;
|
|
3501
|
+
};
|
|
3502
|
+
|
|
3503
|
+
export type EventListResponseDto = {
|
|
3504
|
+
/**
|
|
3505
|
+
* List of life events
|
|
3506
|
+
*/
|
|
3507
|
+
items: Array<EventResponseDto>;
|
|
3508
|
+
/**
|
|
3509
|
+
* Total number of life events matching the query
|
|
3510
|
+
*/
|
|
3511
|
+
total: number;
|
|
3512
|
+
};
|
|
3513
|
+
|
|
3514
|
+
export type UpdateBeanEventDto = {
|
|
3515
|
+
/**
|
|
3516
|
+
* Life event date (ISO 8601)
|
|
3227
3517
|
*/
|
|
3228
3518
|
date?: string;
|
|
3229
3519
|
/**
|
|
@@ -3848,6 +4138,14 @@ export type ProcessNlpDto = {
|
|
|
3848
4138
|
parsedData?: {
|
|
3849
4139
|
[key: string]: unknown;
|
|
3850
4140
|
};
|
|
4141
|
+
/**
|
|
4142
|
+
* confirm_rule echo-back: rule id selected from the prior confirm_rule response (matchedRule.id or alternatives[i].ruleId). Applied directly when the session is confirming_rule — no NL re-parse.
|
|
4143
|
+
*/
|
|
4144
|
+
selectedRuleId?: string;
|
|
4145
|
+
/**
|
|
4146
|
+
* confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.
|
|
4147
|
+
*/
|
|
4148
|
+
selectedAccount?: string;
|
|
3851
4149
|
};
|
|
3852
4150
|
|
|
3853
4151
|
export type NlpTransactionInfoDto = {
|
|
@@ -4091,9 +4389,9 @@ export type NlpAccountConfirmationDataDto = {
|
|
|
4091
4389
|
*/
|
|
4092
4390
|
invalidAccount: string;
|
|
4093
4391
|
/**
|
|
4094
|
-
* Suggested replacement account
|
|
4392
|
+
* Suggested replacement account (omitted when no clear candidate)
|
|
4095
4393
|
*/
|
|
4096
|
-
suggestedAccount
|
|
4394
|
+
suggestedAccount?: string;
|
|
4097
4395
|
/**
|
|
4098
4396
|
* Similar accounts for user selection
|
|
4099
4397
|
*/
|
|
@@ -4221,7 +4519,7 @@ export type NlpSuggestedAccountDto = {
|
|
|
4221
4519
|
*/
|
|
4222
4520
|
account: string;
|
|
4223
4521
|
/**
|
|
4224
|
-
* Confidence score for this suggestion (0-1)
|
|
4522
|
+
* Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)
|
|
4225
4523
|
*/
|
|
4226
4524
|
confidence?: number;
|
|
4227
4525
|
};
|
|
@@ -4239,21 +4537,21 @@ export type NlpSuggestedAccountsDto = {
|
|
|
4239
4537
|
|
|
4240
4538
|
export type NlpDefaultAccountsDto = {
|
|
4241
4539
|
/**
|
|
4242
|
-
* Default asset account
|
|
4540
|
+
* Default OPEN asset account (MRU when multiple), or null when none/ambiguous
|
|
4243
4541
|
*/
|
|
4244
|
-
asset: string;
|
|
4542
|
+
asset: string | null;
|
|
4245
4543
|
/**
|
|
4246
|
-
* Default expense account
|
|
4544
|
+
* Default OPEN expense account (MRU when multiple), or null when none/ambiguous
|
|
4247
4545
|
*/
|
|
4248
|
-
expense: string;
|
|
4546
|
+
expense: string | null;
|
|
4249
4547
|
/**
|
|
4250
|
-
* Default income account
|
|
4548
|
+
* Default OPEN income account (MRU when multiple), or null when none/ambiguous
|
|
4251
4549
|
*/
|
|
4252
|
-
income: string;
|
|
4550
|
+
income: string | null;
|
|
4253
4551
|
/**
|
|
4254
|
-
* Default liability account
|
|
4552
|
+
* Default OPEN liability account (MRU when multiple), or null when none/ambiguous
|
|
4255
4553
|
*/
|
|
4256
|
-
liability: string;
|
|
4554
|
+
liability: string | null;
|
|
4257
4555
|
};
|
|
4258
4556
|
|
|
4259
4557
|
export type NlpResponseDto = {
|
|
@@ -4272,7 +4570,8 @@ export type NlpResponseDto = {
|
|
|
4272
4570
|
| 'confirm_rule'
|
|
4273
4571
|
| 'confirm_account'
|
|
4274
4572
|
| 'confirm_payee'
|
|
4275
|
-
| 'cancel'
|
|
4573
|
+
| 'cancel'
|
|
4574
|
+
| 'aborted';
|
|
4276
4575
|
/**
|
|
4277
4576
|
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4278
4577
|
*/
|
|
@@ -4333,80 +4632,202 @@ export type NlpResponseDto = {
|
|
|
4333
4632
|
*/
|
|
4334
4633
|
duplicateData?: NlpDuplicateConfirmationDataDto;
|
|
4335
4634
|
/**
|
|
4336
|
-
* Rule match data (when action is "confirm_rule"). Contains information about medium-confidence rule match for user confirmation.
|
|
4635
|
+
* Rule match data (when action is "confirm_rule"). Contains information about medium-confidence rule match for user confirmation.
|
|
4636
|
+
*/
|
|
4637
|
+
ruleData?: NlpRuleConfirmationDataDto;
|
|
4638
|
+
/**
|
|
4639
|
+
* Account validation data (when action is "confirm_account"). Contains information about invalid account for user correction.
|
|
4640
|
+
*/
|
|
4641
|
+
accountData?: NlpAccountConfirmationDataDto;
|
|
4642
|
+
/**
|
|
4643
|
+
* Payee confirmation data (when action is "confirm_payee"). Contains information about medium/low confidence payee match for user confirmation.
|
|
4644
|
+
*/
|
|
4645
|
+
payeeData?: NlpPayeeConfirmationDataDto;
|
|
4646
|
+
/**
|
|
4647
|
+
* Overall confidence score (0-1)
|
|
4648
|
+
*/
|
|
4649
|
+
confidence?: number;
|
|
4650
|
+
/**
|
|
4651
|
+
* Confidence threshold for automatic creation (default: 0.75). When confidence < threshold, action will be "confirm" requiring user verification.
|
|
4652
|
+
*/
|
|
4653
|
+
confidenceThreshold?: number;
|
|
4654
|
+
/**
|
|
4655
|
+
* Recurring transaction match info (when action is "created"). Contains match details when transaction matches a pending expected transaction.
|
|
4656
|
+
*/
|
|
4657
|
+
recurringMatch?: RecurringMatchInfoDto;
|
|
4658
|
+
/**
|
|
4659
|
+
* Recurring rule creation suggestion (when action is "created"). Contains suggestion to create a recurring rule based on detected patterns. Only present when no existing rule matched and similar historical transactions were found.
|
|
4660
|
+
*/
|
|
4661
|
+
recurringSuggestion?: RecurringSuggestionDto;
|
|
4662
|
+
/**
|
|
4663
|
+
* Suggested accounts for this transaction (#586). confirm/confirm_rule/confirm_account: predicted (source/destination carry confidence); created: actual persisted accounts (confidence omitted). confirm_account destination is the suggested replacement, never the invalid account.
|
|
4664
|
+
*/
|
|
4665
|
+
suggestedAccounts?: NlpSuggestedAccountsDto;
|
|
4666
|
+
/**
|
|
4667
|
+
* Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.
|
|
4668
|
+
*/
|
|
4669
|
+
defaultAccounts?: NlpDefaultAccountsDto;
|
|
4670
|
+
};
|
|
4671
|
+
|
|
4672
|
+
/**
|
|
4673
|
+
* Response status
|
|
4674
|
+
*/
|
|
4675
|
+
export type status4 = 'success' | 'pending' | 'error';
|
|
4676
|
+
|
|
4677
|
+
/**
|
|
4678
|
+
* Action taken or requested
|
|
4679
|
+
*/
|
|
4680
|
+
export type action2 =
|
|
4681
|
+
| 'created'
|
|
4682
|
+
| 'ask'
|
|
4683
|
+
| 'confirm'
|
|
4684
|
+
| 'confirm_duplicate'
|
|
4685
|
+
| 'confirm_rule'
|
|
4686
|
+
| 'confirm_account'
|
|
4687
|
+
| 'confirm_payee'
|
|
4688
|
+
| 'cancel'
|
|
4689
|
+
| 'aborted';
|
|
4690
|
+
|
|
4691
|
+
/**
|
|
4692
|
+
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4693
|
+
*/
|
|
4694
|
+
export type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
4695
|
+
|
|
4696
|
+
/**
|
|
4697
|
+
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4698
|
+
*/
|
|
4699
|
+
export type assetSubType = 'transfer' | 'banking' | 'investment';
|
|
4700
|
+
|
|
4701
|
+
/**
|
|
4702
|
+
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4703
|
+
*/
|
|
4704
|
+
export type liabilitySubType = 'borrow' | 'repay';
|
|
4705
|
+
|
|
4706
|
+
/**
|
|
4707
|
+
* Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
|
|
4708
|
+
*/
|
|
4709
|
+
export type equitySubType = 'opening' | 'adjustment';
|
|
4710
|
+
|
|
4711
|
+
export type PlatformListItemDto = {
|
|
4712
|
+
/**
|
|
4713
|
+
* Global platform ID
|
|
4714
|
+
*/
|
|
4715
|
+
id: string;
|
|
4716
|
+
/**
|
|
4717
|
+
* Platform name
|
|
4718
|
+
*/
|
|
4719
|
+
name: string;
|
|
4720
|
+
/**
|
|
4721
|
+
* Platform URL
|
|
4722
|
+
*/
|
|
4723
|
+
url: string;
|
|
4724
|
+
/**
|
|
4725
|
+
* Platform type
|
|
4726
|
+
*/
|
|
4727
|
+
type:
|
|
4728
|
+
| 'BANK'
|
|
4729
|
+
| 'BROKERAGE'
|
|
4730
|
+
| 'CRYPTO_EXCHANGE'
|
|
4731
|
+
| 'PAYMENT'
|
|
4732
|
+
| 'INVESTMENT'
|
|
4733
|
+
| 'INSURANCE'
|
|
4734
|
+
| 'OTHER';
|
|
4735
|
+
/**
|
|
4736
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
4737
|
+
*/
|
|
4738
|
+
canonical: string;
|
|
4739
|
+
/**
|
|
4740
|
+
* Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
|
|
4741
|
+
*/
|
|
4742
|
+
suggestedSegment: string;
|
|
4743
|
+
/**
|
|
4744
|
+
* Logo URL
|
|
4337
4745
|
*/
|
|
4338
|
-
|
|
4746
|
+
logoUrl: string | null;
|
|
4339
4747
|
/**
|
|
4340
|
-
*
|
|
4748
|
+
* Whether user has accounts using this platform
|
|
4341
4749
|
*/
|
|
4342
|
-
|
|
4750
|
+
isBound: boolean;
|
|
4751
|
+
};
|
|
4752
|
+
|
|
4753
|
+
/**
|
|
4754
|
+
* Platform type
|
|
4755
|
+
*/
|
|
4756
|
+
export type type3 =
|
|
4757
|
+
| 'BANK'
|
|
4758
|
+
| 'BROKERAGE'
|
|
4759
|
+
| 'CRYPTO_EXCHANGE'
|
|
4760
|
+
| 'PAYMENT'
|
|
4761
|
+
| 'INVESTMENT'
|
|
4762
|
+
| 'INSURANCE'
|
|
4763
|
+
| 'OTHER';
|
|
4764
|
+
|
|
4765
|
+
export type PlatformMatchResultDto = {
|
|
4343
4766
|
/**
|
|
4344
|
-
*
|
|
4767
|
+
* Global platform ID
|
|
4345
4768
|
*/
|
|
4346
|
-
|
|
4769
|
+
id: string;
|
|
4347
4770
|
/**
|
|
4348
|
-
*
|
|
4771
|
+
* Platform name (e.g., "ICBC")
|
|
4349
4772
|
*/
|
|
4350
|
-
|
|
4773
|
+
name: string;
|
|
4351
4774
|
/**
|
|
4352
|
-
*
|
|
4775
|
+
* Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
|
|
4353
4776
|
*/
|
|
4354
|
-
|
|
4777
|
+
canonical: string;
|
|
4355
4778
|
/**
|
|
4356
|
-
*
|
|
4779
|
+
* Platform type
|
|
4357
4780
|
*/
|
|
4358
|
-
|
|
4781
|
+
type:
|
|
4782
|
+
| 'BANK'
|
|
4783
|
+
| 'BROKERAGE'
|
|
4784
|
+
| 'CRYPTO_EXCHANGE'
|
|
4785
|
+
| 'PAYMENT'
|
|
4786
|
+
| 'INVESTMENT'
|
|
4787
|
+
| 'INSURANCE'
|
|
4788
|
+
| 'OTHER';
|
|
4359
4789
|
/**
|
|
4360
|
-
*
|
|
4790
|
+
* Suggested path segment — canonical, already in ACCOUNT_RE format
|
|
4361
4791
|
*/
|
|
4362
|
-
|
|
4792
|
+
suggestedSegment: string;
|
|
4363
4793
|
/**
|
|
4364
|
-
*
|
|
4794
|
+
* Logo URL
|
|
4365
4795
|
*/
|
|
4366
|
-
|
|
4796
|
+
logoUrl: string | null;
|
|
4367
4797
|
/**
|
|
4368
|
-
*
|
|
4798
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4369
4799
|
*/
|
|
4370
|
-
|
|
4800
|
+
matchType: 'exact' | 'prefix' | 'substring';
|
|
4371
4801
|
};
|
|
4372
4802
|
|
|
4373
4803
|
/**
|
|
4374
|
-
*
|
|
4375
|
-
*/
|
|
4376
|
-
export type status4 = 'success' | 'pending' | 'error';
|
|
4377
|
-
|
|
4378
|
-
/**
|
|
4379
|
-
* Action taken or requested
|
|
4380
|
-
*/
|
|
4381
|
-
export type action2 =
|
|
4382
|
-
| 'created'
|
|
4383
|
-
| 'ask'
|
|
4384
|
-
| 'confirm'
|
|
4385
|
-
| 'confirm_duplicate'
|
|
4386
|
-
| 'confirm_rule'
|
|
4387
|
-
| 'confirm_account'
|
|
4388
|
-
| 'confirm_payee'
|
|
4389
|
-
| 'cancel';
|
|
4390
|
-
|
|
4391
|
-
/**
|
|
4392
|
-
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4393
|
-
*/
|
|
4394
|
-
export type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
4395
|
-
|
|
4396
|
-
/**
|
|
4397
|
-
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4804
|
+
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4398
4805
|
*/
|
|
4399
|
-
export type
|
|
4806
|
+
export type matchType = 'exact' | 'prefix' | 'substring';
|
|
4400
4807
|
|
|
4401
|
-
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
|
|
4808
|
+
export type PlatformMatchResponseDto = {
|
|
4809
|
+
/**
|
|
4810
|
+
* Ranked matches, best tier first (at most 10 rows)
|
|
4811
|
+
*/
|
|
4812
|
+
platforms: Array<PlatformMatchResultDto>;
|
|
4813
|
+
/**
|
|
4814
|
+
* Overall match quality — top row's tier, or 'none' when no hits
|
|
4815
|
+
*/
|
|
4816
|
+
matchType: 'none' | 'exact' | 'prefix' | 'substring';
|
|
4817
|
+
/**
|
|
4818
|
+
* Total matches before LIMIT (truncation transparency)
|
|
4819
|
+
*/
|
|
4820
|
+
total: number;
|
|
4821
|
+
/**
|
|
4822
|
+
* true when total > platforms.length (more matches exist)
|
|
4823
|
+
*/
|
|
4824
|
+
hasMore: boolean;
|
|
4825
|
+
};
|
|
4405
4826
|
|
|
4406
4827
|
/**
|
|
4407
|
-
*
|
|
4828
|
+
* Overall match quality — top row's tier, or 'none' when no hits
|
|
4408
4829
|
*/
|
|
4409
|
-
export type
|
|
4830
|
+
export type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
|
|
4410
4831
|
|
|
4411
4832
|
export type CreatePlatformDto = {
|
|
4412
4833
|
/**
|
|
@@ -4446,18 +4867,6 @@ export type CreatePlatformDto = {
|
|
|
4446
4867
|
isActive?: boolean;
|
|
4447
4868
|
};
|
|
4448
4869
|
|
|
4449
|
-
/**
|
|
4450
|
-
* Platform type
|
|
4451
|
-
*/
|
|
4452
|
-
export type type3 =
|
|
4453
|
-
| 'BANK'
|
|
4454
|
-
| 'BROKERAGE'
|
|
4455
|
-
| 'CRYPTO_EXCHANGE'
|
|
4456
|
-
| 'PAYMENT'
|
|
4457
|
-
| 'INVESTMENT'
|
|
4458
|
-
| 'INSURANCE'
|
|
4459
|
-
| 'OTHER';
|
|
4460
|
-
|
|
4461
4870
|
export type UpdatePlatformDto = {
|
|
4462
4871
|
/**
|
|
4463
4872
|
* Platform name
|
|
@@ -5209,185 +5618,146 @@ export type HoldingPnlResponseDto = {
|
|
|
5209
5618
|
*/
|
|
5210
5619
|
export type method = 'average' | 'FIFO';
|
|
5211
5620
|
|
|
5212
|
-
export type
|
|
5213
|
-
/**
|
|
5214
|
-
* ISO 4217 currency code
|
|
5215
|
-
*/
|
|
5216
|
-
currency: string;
|
|
5217
|
-
/**
|
|
5218
|
-
* Balance amount
|
|
5219
|
-
*/
|
|
5220
|
-
balance: string;
|
|
5221
|
-
};
|
|
5222
|
-
|
|
5223
|
-
export type TimeSeriesPointDto = {
|
|
5224
|
-
/**
|
|
5225
|
-
* Date in YYYY-MM-DD format
|
|
5226
|
-
*/
|
|
5227
|
-
date: string;
|
|
5228
|
-
/**
|
|
5229
|
-
* Value at this date (in base currency)
|
|
5230
|
-
*/
|
|
5231
|
-
value: string;
|
|
5232
|
-
/**
|
|
5233
|
-
* Change from previous point
|
|
5234
|
-
*/
|
|
5235
|
-
change?: {
|
|
5236
|
-
[key: string]: unknown;
|
|
5237
|
-
};
|
|
5238
|
-
/**
|
|
5239
|
-
* Total assets at this date (in base currency)
|
|
5240
|
-
*/
|
|
5241
|
-
assets?: string;
|
|
5242
|
-
/**
|
|
5243
|
-
* Total liabilities at this date (in base currency)
|
|
5244
|
-
*/
|
|
5245
|
-
liabilities?: string;
|
|
5246
|
-
/**
|
|
5247
|
-
* Multi-currency breakdown for this point
|
|
5248
|
-
*/
|
|
5249
|
-
byCurrency?: Array<CurrencyBalanceDto>;
|
|
5250
|
-
};
|
|
5251
|
-
|
|
5252
|
-
export type TrendSummaryDto = {
|
|
5253
|
-
/**
|
|
5254
|
-
* Value at start of period
|
|
5255
|
-
*/
|
|
5256
|
-
startValue: string;
|
|
5257
|
-
/**
|
|
5258
|
-
* Value at end of period
|
|
5259
|
-
*/
|
|
5260
|
-
endValue: string;
|
|
5261
|
-
/**
|
|
5262
|
-
* Total change over period
|
|
5263
|
-
*/
|
|
5264
|
-
totalChange: string;
|
|
5621
|
+
export type AnonymousLoginDto = {
|
|
5265
5622
|
/**
|
|
5266
|
-
*
|
|
5623
|
+
* Access token for anonymous login
|
|
5267
5624
|
*/
|
|
5268
|
-
|
|
5625
|
+
accessToken: string;
|
|
5269
5626
|
};
|
|
5270
5627
|
|
|
5271
|
-
export type
|
|
5272
|
-
/**
|
|
5273
|
-
* Date in YYYY-MM-DD format
|
|
5274
|
-
*/
|
|
5275
|
-
date: string;
|
|
5628
|
+
export type AnonymousLoginResponseDto = {
|
|
5276
5629
|
/**
|
|
5277
|
-
*
|
|
5630
|
+
* JWT auth token
|
|
5278
5631
|
*/
|
|
5279
|
-
|
|
5632
|
+
authToken: string;
|
|
5280
5633
|
};
|
|
5281
5634
|
|
|
5282
|
-
export type
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
summary: TrendSummaryDto;
|
|
5291
|
-
/**
|
|
5292
|
-
* Period requested
|
|
5293
|
-
*/
|
|
5294
|
-
period: string;
|
|
5635
|
+
export type SymbolSearchResultDto = {
|
|
5636
|
+
symbol: string;
|
|
5637
|
+
name?: {
|
|
5638
|
+
[key: string]: unknown;
|
|
5639
|
+
} | null;
|
|
5640
|
+
exchange?: {
|
|
5641
|
+
[key: string]: unknown;
|
|
5642
|
+
} | null;
|
|
5295
5643
|
/**
|
|
5296
|
-
*
|
|
5644
|
+
* OpenBB asset_type (e.g. stock, etf)
|
|
5297
5645
|
*/
|
|
5298
|
-
|
|
5646
|
+
assetType?: {
|
|
5647
|
+
[key: string]: unknown;
|
|
5648
|
+
} | null;
|
|
5299
5649
|
/**
|
|
5300
|
-
*
|
|
5650
|
+
* IGN asset class (region.types.ts ASSET_CLASSES)
|
|
5301
5651
|
*/
|
|
5302
|
-
|
|
5652
|
+
assetClass?: {
|
|
5653
|
+
[key: string]: unknown;
|
|
5654
|
+
} | null;
|
|
5303
5655
|
/**
|
|
5304
|
-
*
|
|
5656
|
+
* IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)
|
|
5305
5657
|
*/
|
|
5306
|
-
|
|
5658
|
+
assetSubClass?: {
|
|
5659
|
+
[key: string]: unknown;
|
|
5660
|
+
} | null;
|
|
5307
5661
|
/**
|
|
5308
|
-
*
|
|
5662
|
+
* Trading currency (extra_data or inferred from exchange)
|
|
5309
5663
|
*/
|
|
5310
|
-
|
|
5664
|
+
currency?: {
|
|
5665
|
+
[key: string]: unknown;
|
|
5666
|
+
} | null;
|
|
5311
5667
|
};
|
|
5312
5668
|
|
|
5313
|
-
export type
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5669
|
+
export type SymbolQuoteDto = {
|
|
5670
|
+
symbol?: string;
|
|
5671
|
+
name?: {
|
|
5672
|
+
[key: string]: unknown;
|
|
5673
|
+
} | null;
|
|
5674
|
+
exchange?: {
|
|
5675
|
+
[key: string]: unknown;
|
|
5676
|
+
} | null;
|
|
5318
5677
|
/**
|
|
5319
|
-
*
|
|
5678
|
+
* OpenBB asset_type
|
|
5320
5679
|
*/
|
|
5321
|
-
|
|
5680
|
+
assetType?: {
|
|
5681
|
+
[key: string]: unknown;
|
|
5682
|
+
} | null;
|
|
5322
5683
|
/**
|
|
5323
|
-
*
|
|
5684
|
+
* IGN asset class
|
|
5324
5685
|
*/
|
|
5325
|
-
|
|
5686
|
+
assetClass?: {
|
|
5687
|
+
[key: string]: unknown;
|
|
5688
|
+
} | null;
|
|
5326
5689
|
/**
|
|
5327
|
-
*
|
|
5690
|
+
* IGN asset sub-class
|
|
5328
5691
|
*/
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
export type CashFlowTrendSummaryDto = {
|
|
5692
|
+
assetSubClass?: {
|
|
5693
|
+
[key: string]: unknown;
|
|
5694
|
+
} | null;
|
|
5333
5695
|
/**
|
|
5334
|
-
*
|
|
5696
|
+
* Trading currency (extra_data or inferred from exchange)
|
|
5335
5697
|
*/
|
|
5336
|
-
|
|
5698
|
+
currency?: {
|
|
5699
|
+
[key: string]: unknown;
|
|
5700
|
+
} | null;
|
|
5337
5701
|
/**
|
|
5338
|
-
*
|
|
5702
|
+
* Latest price (Decimal string)
|
|
5339
5703
|
*/
|
|
5340
|
-
|
|
5704
|
+
price?: {
|
|
5705
|
+
[key: string]: unknown;
|
|
5706
|
+
} | null;
|
|
5341
5707
|
/**
|
|
5342
|
-
*
|
|
5708
|
+
* Date the price was observed (ISO yyyy-MM-dd)
|
|
5343
5709
|
*/
|
|
5344
|
-
|
|
5710
|
+
priceDate?: {
|
|
5711
|
+
[key: string]: unknown;
|
|
5712
|
+
} | null;
|
|
5345
5713
|
/**
|
|
5346
|
-
*
|
|
5714
|
+
* Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.
|
|
5347
5715
|
*/
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
export type CashFlowTrendsResponseDto = {
|
|
5716
|
+
changePercent?: {
|
|
5717
|
+
[key: string]: unknown;
|
|
5718
|
+
} | null;
|
|
5352
5719
|
/**
|
|
5353
|
-
*
|
|
5720
|
+
* Previous close (Decimal string)
|
|
5354
5721
|
*/
|
|
5355
|
-
|
|
5722
|
+
prevClose?: {
|
|
5723
|
+
[key: string]: unknown;
|
|
5724
|
+
} | null;
|
|
5356
5725
|
/**
|
|
5357
|
-
*
|
|
5726
|
+
* Day open (Decimal string)
|
|
5358
5727
|
*/
|
|
5359
|
-
|
|
5728
|
+
open?: {
|
|
5729
|
+
[key: string]: unknown;
|
|
5730
|
+
} | null;
|
|
5360
5731
|
/**
|
|
5361
|
-
*
|
|
5732
|
+
* Day high (Decimal string)
|
|
5362
5733
|
*/
|
|
5363
|
-
|
|
5734
|
+
high?: {
|
|
5735
|
+
[key: string]: unknown;
|
|
5736
|
+
} | null;
|
|
5364
5737
|
/**
|
|
5365
|
-
*
|
|
5738
|
+
* Day low (Decimal string)
|
|
5366
5739
|
*/
|
|
5367
|
-
|
|
5740
|
+
low?: {
|
|
5741
|
+
[key: string]: unknown;
|
|
5742
|
+
} | null;
|
|
5368
5743
|
/**
|
|
5369
|
-
*
|
|
5744
|
+
* Day volume (Decimal string)
|
|
5370
5745
|
*/
|
|
5371
|
-
|
|
5746
|
+
volume?: {
|
|
5747
|
+
[key: string]: unknown;
|
|
5748
|
+
} | null;
|
|
5372
5749
|
/**
|
|
5373
|
-
*
|
|
5750
|
+
* 52-week high (Decimal string)
|
|
5374
5751
|
*/
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
export type GenerateSnapshotBody = unknown;
|
|
5379
|
-
|
|
5380
|
-
export type GenerateSnapshotResponse = unknown;
|
|
5381
|
-
|
|
5382
|
-
export type BackfillSnapshotsBody = unknown;
|
|
5383
|
-
|
|
5384
|
-
export type BackfillSnapshotsResponse = unknown;
|
|
5385
|
-
|
|
5386
|
-
export type AnonymousLoginDto = {
|
|
5752
|
+
yearHigh?: {
|
|
5753
|
+
[key: string]: unknown;
|
|
5754
|
+
} | null;
|
|
5387
5755
|
/**
|
|
5388
|
-
*
|
|
5756
|
+
* 52-week low (Decimal string)
|
|
5389
5757
|
*/
|
|
5390
|
-
|
|
5758
|
+
yearLow?: {
|
|
5759
|
+
[key: string]: unknown;
|
|
5760
|
+
} | null;
|
|
5391
5761
|
};
|
|
5392
5762
|
|
|
5393
5763
|
export type AccountControllerCreateData = {
|
|
@@ -5501,6 +5871,21 @@ export type AccountControllerReopenData = {
|
|
|
5501
5871
|
|
|
5502
5872
|
export type AccountControllerReopenResponse = AccountResponseDto;
|
|
5503
5873
|
|
|
5874
|
+
export type AccountControllerAddOpeningBalanceData = {
|
|
5875
|
+
/**
|
|
5876
|
+
* Account UUID
|
|
5877
|
+
*/
|
|
5878
|
+
id: string;
|
|
5879
|
+
/**
|
|
5880
|
+
* Region code for tenant context
|
|
5881
|
+
*/
|
|
5882
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5883
|
+
requestBody: CreateOpeningBalanceDto;
|
|
5884
|
+
};
|
|
5885
|
+
|
|
5886
|
+
export type AccountControllerAddOpeningBalanceResponse =
|
|
5887
|
+
OpeningBalanceResultDto;
|
|
5888
|
+
|
|
5504
5889
|
export type AccountStandardsControllerGetTemplatesData = {
|
|
5505
5890
|
/**
|
|
5506
5891
|
* Region code (cn, us, de)
|
|
@@ -6421,237 +6806,298 @@ export type ForecastControllerGetForecastData = {
|
|
|
6421
6806
|
|
|
6422
6807
|
export type ForecastControllerGetForecastResponse = ForecastResponseDto;
|
|
6423
6808
|
|
|
6424
|
-
export type
|
|
6809
|
+
export type ReportingControllerGetPortfolioTrendsData = {
|
|
6810
|
+
/**
|
|
6811
|
+
* Data granularity
|
|
6812
|
+
*/
|
|
6813
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6814
|
+
/**
|
|
6815
|
+
* Time period
|
|
6816
|
+
*/
|
|
6817
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
6425
6818
|
/**
|
|
6426
6819
|
* Region code for tenant context
|
|
6427
6820
|
*/
|
|
6428
6821
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6429
|
-
requestBody: CreateTransactionRuleDto;
|
|
6430
6822
|
};
|
|
6431
6823
|
|
|
6432
|
-
export type
|
|
6433
|
-
|
|
6824
|
+
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
6825
|
+
PortfolioTrendsResponseDto;
|
|
6434
6826
|
|
|
6435
|
-
export type
|
|
6436
|
-
/**
|
|
6437
|
-
* Filter by auto-apply status
|
|
6438
|
-
*/
|
|
6439
|
-
autoApplyEnabled?: boolean;
|
|
6440
|
-
/**
|
|
6441
|
-
* Filter by enabled status
|
|
6442
|
-
*/
|
|
6443
|
-
enabled?: boolean;
|
|
6444
|
-
/**
|
|
6445
|
-
* Filter by learning source. Omit this parameter or pass empty string to get manually created rules (learningSource is null in database).
|
|
6446
|
-
*/
|
|
6447
|
-
learningSource?: 'NLP' | 'REVIEW_CENTER';
|
|
6827
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
6448
6828
|
/**
|
|
6449
|
-
*
|
|
6829
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
6450
6830
|
*/
|
|
6451
|
-
|
|
6831
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6452
6832
|
/**
|
|
6453
|
-
*
|
|
6833
|
+
* Time period
|
|
6454
6834
|
*/
|
|
6455
|
-
|
|
6835
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
6456
6836
|
/**
|
|
6457
6837
|
* Region code for tenant context
|
|
6458
6838
|
*/
|
|
6459
6839
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6460
6840
|
};
|
|
6461
6841
|
|
|
6462
|
-
export type
|
|
6463
|
-
|
|
6842
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
6843
|
+
CashFlowTrendsResponseDto;
|
|
6464
6844
|
|
|
6465
|
-
export type
|
|
6845
|
+
export type ReportingControllerGenerateSnapshotData = {
|
|
6466
6846
|
/**
|
|
6467
6847
|
* Region code for tenant context
|
|
6468
6848
|
*/
|
|
6469
6849
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6470
|
-
|
|
6850
|
+
/**
|
|
6851
|
+
* Optional date (defaults to today)
|
|
6852
|
+
*/
|
|
6853
|
+
requestBody: GenerateSnapshotBody;
|
|
6471
6854
|
};
|
|
6472
6855
|
|
|
6473
|
-
export type
|
|
6856
|
+
export type ReportingControllerGenerateSnapshotResponse =
|
|
6857
|
+
GenerateSnapshotResponse;
|
|
6474
6858
|
|
|
6475
|
-
export type
|
|
6859
|
+
export type ReportingControllerBackfillSnapshotsData = {
|
|
6476
6860
|
/**
|
|
6477
6861
|
* Region code for tenant context
|
|
6478
6862
|
*/
|
|
6479
6863
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6480
|
-
requestBody:
|
|
6864
|
+
requestBody: BackfillSnapshotsBody;
|
|
6481
6865
|
};
|
|
6482
6866
|
|
|
6483
|
-
export type
|
|
6484
|
-
|
|
6867
|
+
export type ReportingControllerBackfillSnapshotsResponse =
|
|
6868
|
+
BackfillSnapshotsResponse;
|
|
6485
6869
|
|
|
6486
|
-
export type
|
|
6870
|
+
export type UserControllerDeleteOwnUserData = {
|
|
6871
|
+
requestBody: DeleteOwnUserDto;
|
|
6872
|
+
};
|
|
6873
|
+
|
|
6874
|
+
export type UserControllerDeleteOwnUserResponse = void;
|
|
6875
|
+
|
|
6876
|
+
export type UserControllerGetUserData = {
|
|
6877
|
+
acceptLanguage: string;
|
|
6878
|
+
};
|
|
6879
|
+
|
|
6880
|
+
export type UserControllerGetUserResponse = unknown;
|
|
6881
|
+
|
|
6882
|
+
export type UserControllerSignupUserData = {
|
|
6883
|
+
requestBody: SignupDto;
|
|
6884
|
+
};
|
|
6885
|
+
|
|
6886
|
+
export type UserControllerSignupUserResponse = SignupResponseDto;
|
|
6887
|
+
|
|
6888
|
+
export type UserControllerDeleteUserData = {
|
|
6487
6889
|
/**
|
|
6488
|
-
*
|
|
6890
|
+
* User ID to delete
|
|
6489
6891
|
*/
|
|
6490
|
-
|
|
6892
|
+
id: string;
|
|
6893
|
+
};
|
|
6894
|
+
|
|
6895
|
+
export type UserControllerDeleteUserResponse = void;
|
|
6896
|
+
|
|
6897
|
+
export type UserControllerGetUserInfoData = {
|
|
6491
6898
|
/**
|
|
6492
|
-
*
|
|
6899
|
+
* User ID
|
|
6493
6900
|
*/
|
|
6494
|
-
|
|
6901
|
+
id: string;
|
|
6495
6902
|
};
|
|
6496
6903
|
|
|
6497
|
-
export type
|
|
6904
|
+
export type UserControllerGetUserInfoResponse = unknown;
|
|
6498
6905
|
|
|
6499
|
-
export type
|
|
6906
|
+
export type UserControllerUpdateUserSettingData = {
|
|
6907
|
+
requestBody: UpdateUserSettingDto;
|
|
6908
|
+
};
|
|
6909
|
+
|
|
6910
|
+
export type UserControllerUpdateUserSettingResponse = unknown;
|
|
6911
|
+
|
|
6912
|
+
export type UserControllerGetAllUserSettingsByPageData = {
|
|
6500
6913
|
/**
|
|
6501
|
-
*
|
|
6914
|
+
* Page number
|
|
6502
6915
|
*/
|
|
6503
|
-
|
|
6916
|
+
pageNo: number;
|
|
6504
6917
|
/**
|
|
6505
|
-
*
|
|
6918
|
+
* Page size
|
|
6506
6919
|
*/
|
|
6507
|
-
|
|
6920
|
+
pageSize: number;
|
|
6508
6921
|
};
|
|
6509
6922
|
|
|
6510
|
-
export type
|
|
6511
|
-
RuleStatisticsResponseDto;
|
|
6923
|
+
export type UserControllerGetAllUserSettingsByPageResponse = unknown;
|
|
6512
6924
|
|
|
6513
|
-
export type
|
|
6514
|
-
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6925
|
+
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
6926
|
+
|
|
6927
|
+
export type PropertyControllerGetAllResponse = unknown;
|
|
6928
|
+
|
|
6929
|
+
export type PropertyControllerGetByKeyData = {
|
|
6518
6930
|
/**
|
|
6519
|
-
*
|
|
6931
|
+
* Property key
|
|
6520
6932
|
*/
|
|
6521
|
-
|
|
6933
|
+
key: string;
|
|
6522
6934
|
};
|
|
6523
6935
|
|
|
6524
|
-
export type
|
|
6525
|
-
TransactionRuleResponseDto;
|
|
6936
|
+
export type PropertyControllerGetByKeyResponse = unknown;
|
|
6526
6937
|
|
|
6527
|
-
export type
|
|
6938
|
+
export type PropertyControllerUpdateData = {
|
|
6528
6939
|
/**
|
|
6529
|
-
*
|
|
6940
|
+
* Property key
|
|
6530
6941
|
*/
|
|
6531
|
-
|
|
6532
|
-
requestBody:
|
|
6942
|
+
key: string;
|
|
6943
|
+
requestBody: UpdatePropertyDto;
|
|
6944
|
+
};
|
|
6945
|
+
|
|
6946
|
+
export type PropertyControllerUpdateResponse = unknown;
|
|
6947
|
+
|
|
6948
|
+
export type PropertyControllerDeleteData = {
|
|
6533
6949
|
/**
|
|
6534
|
-
*
|
|
6950
|
+
* Property key
|
|
6535
6951
|
*/
|
|
6536
|
-
|
|
6952
|
+
key: string;
|
|
6537
6953
|
};
|
|
6538
6954
|
|
|
6539
|
-
export type
|
|
6540
|
-
TransactionRuleResponseDto;
|
|
6955
|
+
export type PropertyControllerDeleteResponse = void;
|
|
6541
6956
|
|
|
6542
|
-
export type
|
|
6957
|
+
export type TransactionRuleControllerCreateData = {
|
|
6543
6958
|
/**
|
|
6544
6959
|
* Region code for tenant context
|
|
6545
6960
|
*/
|
|
6546
6961
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6547
|
-
|
|
6548
|
-
* Rule ID to delete
|
|
6549
|
-
*/
|
|
6550
|
-
ruleId: string;
|
|
6962
|
+
requestBody: CreateTransactionRuleDto;
|
|
6551
6963
|
};
|
|
6552
6964
|
|
|
6553
|
-
export type
|
|
6965
|
+
export type TransactionRuleControllerCreateResponse =
|
|
6966
|
+
TransactionRuleResponseDto;
|
|
6554
6967
|
|
|
6555
|
-
export type
|
|
6968
|
+
export type TransactionRuleControllerListData = {
|
|
6556
6969
|
/**
|
|
6557
|
-
*
|
|
6970
|
+
* Filter by auto-apply status
|
|
6558
6971
|
*/
|
|
6559
|
-
|
|
6560
|
-
requestBody: TestRuleDto;
|
|
6972
|
+
autoApplyEnabled?: boolean;
|
|
6561
6973
|
/**
|
|
6562
|
-
*
|
|
6974
|
+
* Filter by enabled status
|
|
6563
6975
|
*/
|
|
6564
|
-
|
|
6565
|
-
|
|
6566
|
-
|
|
6567
|
-
|
|
6568
|
-
|
|
6569
|
-
|
|
6570
|
-
|
|
6976
|
+
enabled?: boolean;
|
|
6977
|
+
/**
|
|
6978
|
+
* Filter by learning source. Omit this parameter or pass empty string to get manually created rules (learningSource is null in database).
|
|
6979
|
+
*/
|
|
6980
|
+
learningSource?: 'NLP' | 'REVIEW_CENTER';
|
|
6981
|
+
/**
|
|
6982
|
+
* Max results per page (default: 20, max: 100)
|
|
6983
|
+
*/
|
|
6984
|
+
limit?: number;
|
|
6985
|
+
/**
|
|
6986
|
+
* Pagination offset (default: 0)
|
|
6987
|
+
*/
|
|
6988
|
+
offset?: number;
|
|
6989
|
+
/**
|
|
6990
|
+
* Region code for tenant context
|
|
6991
|
+
*/
|
|
6992
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6571
6993
|
};
|
|
6572
6994
|
|
|
6573
|
-
export type
|
|
6995
|
+
export type TransactionRuleControllerListResponse =
|
|
6996
|
+
TransactionRuleListResponseDto;
|
|
6574
6997
|
|
|
6575
|
-
export type
|
|
6576
|
-
|
|
6998
|
+
export type TransactionRuleControllerValidateData = {
|
|
6999
|
+
/**
|
|
7000
|
+
* Region code for tenant context
|
|
7001
|
+
*/
|
|
7002
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7003
|
+
requestBody: ValidateRuleDto;
|
|
6577
7004
|
};
|
|
6578
7005
|
|
|
6579
|
-
export type
|
|
7006
|
+
export type TransactionRuleControllerValidateResponse = ValidateRuleResponseDto;
|
|
6580
7007
|
|
|
6581
|
-
export type
|
|
6582
|
-
|
|
7008
|
+
export type TransactionRuleControllerBulkCreateData = {
|
|
7009
|
+
/**
|
|
7010
|
+
* Region code for tenant context
|
|
7011
|
+
*/
|
|
7012
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7013
|
+
requestBody: BulkCreateRulesDto;
|
|
6583
7014
|
};
|
|
6584
7015
|
|
|
6585
|
-
export type
|
|
7016
|
+
export type TransactionRuleControllerBulkCreateResponse =
|
|
7017
|
+
BulkCreateRulesResponseDto;
|
|
6586
7018
|
|
|
6587
|
-
export type
|
|
7019
|
+
export type TransactionRuleControllerExportData = {
|
|
7020
|
+
/**
|
|
7021
|
+
* Export format (currently only JSON supported)
|
|
7022
|
+
*/
|
|
7023
|
+
format: 'json';
|
|
6588
7024
|
/**
|
|
6589
|
-
*
|
|
7025
|
+
* Region code for tenant context
|
|
6590
7026
|
*/
|
|
6591
|
-
|
|
7027
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6592
7028
|
};
|
|
6593
7029
|
|
|
6594
|
-
export type
|
|
7030
|
+
export type TransactionRuleControllerExportResponse = ExportRulesResponseDto;
|
|
6595
7031
|
|
|
6596
|
-
export type
|
|
7032
|
+
export type TransactionRuleControllerGetStatisticsData = {
|
|
6597
7033
|
/**
|
|
6598
|
-
*
|
|
7034
|
+
* Statistics time period
|
|
6599
7035
|
*/
|
|
6600
|
-
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
export type UserControllerUpdateUserSettingData = {
|
|
6606
|
-
requestBody: UpdateUserSettingDto;
|
|
7036
|
+
period: '7d' | '30d' | '90d';
|
|
7037
|
+
/**
|
|
7038
|
+
* Region code for tenant context
|
|
7039
|
+
*/
|
|
7040
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6607
7041
|
};
|
|
6608
7042
|
|
|
6609
|
-
export type
|
|
7043
|
+
export type TransactionRuleControllerGetStatisticsResponse =
|
|
7044
|
+
RuleStatisticsResponseDto;
|
|
6610
7045
|
|
|
6611
|
-
export type
|
|
7046
|
+
export type TransactionRuleControllerGetDetailData = {
|
|
6612
7047
|
/**
|
|
6613
|
-
*
|
|
7048
|
+
* Region code for tenant context
|
|
6614
7049
|
*/
|
|
6615
|
-
|
|
7050
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6616
7051
|
/**
|
|
6617
|
-
*
|
|
7052
|
+
* Rule ID
|
|
6618
7053
|
*/
|
|
6619
|
-
|
|
7054
|
+
ruleId: string;
|
|
6620
7055
|
};
|
|
6621
7056
|
|
|
6622
|
-
export type
|
|
6623
|
-
|
|
6624
|
-
export type UserControllerGetAssetLiabilitySummaryResponse = unknown;
|
|
6625
|
-
|
|
6626
|
-
export type PropertyControllerGetAllResponse = unknown;
|
|
7057
|
+
export type TransactionRuleControllerGetDetailResponse =
|
|
7058
|
+
TransactionRuleResponseDto;
|
|
6627
7059
|
|
|
6628
|
-
export type
|
|
7060
|
+
export type TransactionRuleControllerUpdateData = {
|
|
6629
7061
|
/**
|
|
6630
|
-
*
|
|
7062
|
+
* Region code for tenant context
|
|
6631
7063
|
*/
|
|
6632
|
-
|
|
7064
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7065
|
+
requestBody: UpdateTransactionRuleDto;
|
|
7066
|
+
/**
|
|
7067
|
+
* Rule ID to update
|
|
7068
|
+
*/
|
|
7069
|
+
ruleId: string;
|
|
6633
7070
|
};
|
|
6634
7071
|
|
|
6635
|
-
export type
|
|
7072
|
+
export type TransactionRuleControllerUpdateResponse =
|
|
7073
|
+
TransactionRuleResponseDto;
|
|
6636
7074
|
|
|
6637
|
-
export type
|
|
7075
|
+
export type TransactionRuleControllerDeleteData = {
|
|
6638
7076
|
/**
|
|
6639
|
-
*
|
|
7077
|
+
* Region code for tenant context
|
|
6640
7078
|
*/
|
|
6641
|
-
|
|
6642
|
-
|
|
7079
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7080
|
+
/**
|
|
7081
|
+
* Rule ID to delete
|
|
7082
|
+
*/
|
|
7083
|
+
ruleId: string;
|
|
6643
7084
|
};
|
|
6644
7085
|
|
|
6645
|
-
export type
|
|
7086
|
+
export type TransactionRuleControllerDeleteResponse = void;
|
|
6646
7087
|
|
|
6647
|
-
export type
|
|
7088
|
+
export type TransactionRuleControllerTestData = {
|
|
6648
7089
|
/**
|
|
6649
|
-
*
|
|
7090
|
+
* Region code for tenant context
|
|
6650
7091
|
*/
|
|
6651
|
-
|
|
7092
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7093
|
+
requestBody: TestRuleDto;
|
|
7094
|
+
/**
|
|
7095
|
+
* Rule ID to test
|
|
7096
|
+
*/
|
|
7097
|
+
ruleId: string;
|
|
6652
7098
|
};
|
|
6653
7099
|
|
|
6654
|
-
export type
|
|
7100
|
+
export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
|
|
6655
7101
|
|
|
6656
7102
|
export type EventControllerCreateData = {
|
|
6657
7103
|
/**
|
|
@@ -7066,7 +7512,8 @@ export type PlatformControllerCreateData = {
|
|
|
7066
7512
|
|
|
7067
7513
|
export type PlatformControllerCreateResponse = unknown;
|
|
7068
7514
|
|
|
7069
|
-
export type PlatformControllerGetPlatformListResponse =
|
|
7515
|
+
export type PlatformControllerGetPlatformListResponse =
|
|
7516
|
+
Array<PlatformListItemDto>;
|
|
7070
7517
|
|
|
7071
7518
|
export type PlatformControllerMatchPlatformsData = {
|
|
7072
7519
|
/**
|
|
@@ -7079,7 +7526,7 @@ export type PlatformControllerMatchPlatformsData = {
|
|
|
7079
7526
|
region?: string;
|
|
7080
7527
|
};
|
|
7081
7528
|
|
|
7082
|
-
export type PlatformControllerMatchPlatformsResponse =
|
|
7529
|
+
export type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
|
|
7083
7530
|
|
|
7084
7531
|
export type PlatformControllerUpdateData = {
|
|
7085
7532
|
/**
|
|
@@ -7197,74 +7644,13 @@ export type HoldingPnlControllerGetHoldingPnlData = {
|
|
|
7197
7644
|
|
|
7198
7645
|
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
7199
7646
|
|
|
7200
|
-
export type ReportingControllerGetPortfolioTrendsData = {
|
|
7201
|
-
/**
|
|
7202
|
-
* Data granularity
|
|
7203
|
-
*/
|
|
7204
|
-
granularity?: 'day' | 'week' | 'month';
|
|
7205
|
-
/**
|
|
7206
|
-
* Time period
|
|
7207
|
-
*/
|
|
7208
|
-
period?: '1m' | '3m' | '6m' | '1y';
|
|
7209
|
-
/**
|
|
7210
|
-
* Region code for tenant context
|
|
7211
|
-
*/
|
|
7212
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7213
|
-
};
|
|
7214
|
-
|
|
7215
|
-
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
7216
|
-
PortfolioTrendsResponseDto;
|
|
7217
|
-
|
|
7218
|
-
export type ReportingControllerGetCashFlowTrendsData = {
|
|
7219
|
-
/**
|
|
7220
|
-
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
7221
|
-
*/
|
|
7222
|
-
granularity?: 'day' | 'week' | 'month';
|
|
7223
|
-
/**
|
|
7224
|
-
* Time period
|
|
7225
|
-
*/
|
|
7226
|
-
period?: '1m' | '3m' | '6m' | '1y';
|
|
7227
|
-
/**
|
|
7228
|
-
* Region code for tenant context
|
|
7229
|
-
*/
|
|
7230
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7231
|
-
};
|
|
7232
|
-
|
|
7233
|
-
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
7234
|
-
CashFlowTrendsResponseDto;
|
|
7235
|
-
|
|
7236
|
-
export type ReportingControllerGenerateSnapshotData = {
|
|
7237
|
-
/**
|
|
7238
|
-
* Region code for tenant context
|
|
7239
|
-
*/
|
|
7240
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7241
|
-
/**
|
|
7242
|
-
* Optional date (defaults to today)
|
|
7243
|
-
*/
|
|
7244
|
-
requestBody: GenerateSnapshotBody;
|
|
7245
|
-
};
|
|
7246
|
-
|
|
7247
|
-
export type ReportingControllerGenerateSnapshotResponse =
|
|
7248
|
-
GenerateSnapshotResponse;
|
|
7249
|
-
|
|
7250
|
-
export type ReportingControllerBackfillSnapshotsData = {
|
|
7251
|
-
/**
|
|
7252
|
-
* Region code for tenant context
|
|
7253
|
-
*/
|
|
7254
|
-
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7255
|
-
requestBody: BackfillSnapshotsBody;
|
|
7256
|
-
};
|
|
7257
|
-
|
|
7258
|
-
export type ReportingControllerBackfillSnapshotsResponse =
|
|
7259
|
-
BackfillSnapshotsResponse;
|
|
7260
|
-
|
|
7261
7647
|
export type ApiKeysControllerCreateApiKeyResponse = unknown;
|
|
7262
7648
|
|
|
7263
7649
|
export type AuthControllerAccessTokenLoginData = {
|
|
7264
7650
|
requestBody: AnonymousLoginDto;
|
|
7265
7651
|
};
|
|
7266
7652
|
|
|
7267
|
-
export type AuthControllerAccessTokenLoginResponse =
|
|
7653
|
+
export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
|
|
7268
7654
|
|
|
7269
7655
|
export type CacheControllerFlushCacheResponse = unknown;
|
|
7270
7656
|
|
|
@@ -7304,6 +7690,33 @@ export type HealthControllerGetMetricsResponse = unknown;
|
|
|
7304
7690
|
|
|
7305
7691
|
export type InfoControllerGetInfoResponse = unknown;
|
|
7306
7692
|
|
|
7693
|
+
export type SymbolControllerSearchData = {
|
|
7694
|
+
/**
|
|
7695
|
+
* Filter by OpenBB asset_type (e.g. stock, etf)
|
|
7696
|
+
*/
|
|
7697
|
+
assetType?: string;
|
|
7698
|
+
/**
|
|
7699
|
+
* Filter by exchange code (e.g. US, HK, SS, SZ)
|
|
7700
|
+
*/
|
|
7701
|
+
exchange?: string;
|
|
7702
|
+
/**
|
|
7703
|
+
* Maximum number of results (clamped 1..50)
|
|
7704
|
+
*/
|
|
7705
|
+
limit?: number;
|
|
7706
|
+
/**
|
|
7707
|
+
* Search term — matched against symbol and instrument name. Empty string returns [].
|
|
7708
|
+
*/
|
|
7709
|
+
q: string;
|
|
7710
|
+
};
|
|
7711
|
+
|
|
7712
|
+
export type SymbolControllerSearchResponse = Array<SymbolSearchResultDto>;
|
|
7713
|
+
|
|
7714
|
+
export type SymbolControllerGetQuoteData = {
|
|
7715
|
+
symbol: string;
|
|
7716
|
+
};
|
|
7717
|
+
|
|
7718
|
+
export type SymbolControllerGetQuoteResponse = SymbolQuoteDto;
|
|
7719
|
+
|
|
7307
7720
|
export type $OpenApiTs = {
|
|
7308
7721
|
'/api/v1/{region}/bean/accounts': {
|
|
7309
7722
|
post: {
|
|
@@ -7368,7 +7781,7 @@ export type $OpenApiTs = {
|
|
|
7368
7781
|
*/
|
|
7369
7782
|
404: unknown;
|
|
7370
7783
|
/**
|
|
7371
|
-
* Account has transactions and cannot be deleted
|
|
7784
|
+
* Account has active transactions and cannot be deleted
|
|
7372
7785
|
*/
|
|
7373
7786
|
409: unknown;
|
|
7374
7787
|
};
|
|
@@ -7412,6 +7825,25 @@ export type $OpenApiTs = {
|
|
|
7412
7825
|
};
|
|
7413
7826
|
};
|
|
7414
7827
|
};
|
|
7828
|
+
'/api/v1/{region}/bean/accounts/{id}/opening-balance': {
|
|
7829
|
+
post: {
|
|
7830
|
+
req: AccountControllerAddOpeningBalanceData;
|
|
7831
|
+
res: {
|
|
7832
|
+
/**
|
|
7833
|
+
* Opening-balance transaction created
|
|
7834
|
+
*/
|
|
7835
|
+
201: OpeningBalanceResultDto;
|
|
7836
|
+
/**
|
|
7837
|
+
* Account not found
|
|
7838
|
+
*/
|
|
7839
|
+
404: unknown;
|
|
7840
|
+
/**
|
|
7841
|
+
* An opening balance already exists for this account
|
|
7842
|
+
*/
|
|
7843
|
+
409: unknown;
|
|
7844
|
+
};
|
|
7845
|
+
};
|
|
7846
|
+
};
|
|
7415
7847
|
'/api/v1/{region}/bean/account-standards': {
|
|
7416
7848
|
get: {
|
|
7417
7849
|
req: AccountStandardsControllerGetTemplatesData;
|
|
@@ -8326,425 +8758,497 @@ export type $OpenApiTs = {
|
|
|
8326
8758
|
};
|
|
8327
8759
|
'/api/v1/{region}/bean/expected-transactions/{id}/enter': {
|
|
8328
8760
|
post: {
|
|
8329
|
-
req: ExpectedTransactionControllerEnterNowData;
|
|
8761
|
+
req: ExpectedTransactionControllerEnterNowData;
|
|
8762
|
+
res: {
|
|
8763
|
+
/**
|
|
8764
|
+
* Transaction created successfully
|
|
8765
|
+
*/
|
|
8766
|
+
201: unknown;
|
|
8767
|
+
/**
|
|
8768
|
+
* Cannot enter - not in PENDING status or missing accounts
|
|
8769
|
+
*/
|
|
8770
|
+
400: unknown;
|
|
8771
|
+
/**
|
|
8772
|
+
* Expected transaction or accounts not found
|
|
8773
|
+
*/
|
|
8774
|
+
404: unknown;
|
|
8775
|
+
};
|
|
8776
|
+
};
|
|
8777
|
+
};
|
|
8778
|
+
'/api/v1/{region}/bean/recurring/forecast': {
|
|
8779
|
+
get: {
|
|
8780
|
+
req: ForecastControllerGetForecastData;
|
|
8781
|
+
res: {
|
|
8782
|
+
/**
|
|
8783
|
+
* Forecast retrieved successfully
|
|
8784
|
+
*/
|
|
8785
|
+
200: ForecastResponseDto;
|
|
8786
|
+
};
|
|
8787
|
+
};
|
|
8788
|
+
};
|
|
8789
|
+
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
8790
|
+
get: {
|
|
8791
|
+
req: ReportingControllerGetPortfolioTrendsData;
|
|
8792
|
+
res: {
|
|
8793
|
+
/**
|
|
8794
|
+
* Trends retrieved successfully
|
|
8795
|
+
*/
|
|
8796
|
+
200: PortfolioTrendsResponseDto;
|
|
8797
|
+
/**
|
|
8798
|
+
* User not authenticated
|
|
8799
|
+
*/
|
|
8800
|
+
401: unknown;
|
|
8801
|
+
};
|
|
8802
|
+
};
|
|
8803
|
+
};
|
|
8804
|
+
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
8805
|
+
get: {
|
|
8806
|
+
req: ReportingControllerGetCashFlowTrendsData;
|
|
8807
|
+
res: {
|
|
8808
|
+
/**
|
|
8809
|
+
* Cash-flow trends retrieved successfully
|
|
8810
|
+
*/
|
|
8811
|
+
200: CashFlowTrendsResponseDto;
|
|
8812
|
+
/**
|
|
8813
|
+
* User not authenticated
|
|
8814
|
+
*/
|
|
8815
|
+
401: unknown;
|
|
8816
|
+
};
|
|
8817
|
+
};
|
|
8818
|
+
};
|
|
8819
|
+
'/api/v1/{region}/reporting/snapshots/generate': {
|
|
8820
|
+
post: {
|
|
8821
|
+
req: ReportingControllerGenerateSnapshotData;
|
|
8822
|
+
res: {
|
|
8823
|
+
/**
|
|
8824
|
+
* Snapshot generated successfully
|
|
8825
|
+
*/
|
|
8826
|
+
200: GenerateSnapshotResponse;
|
|
8827
|
+
/**
|
|
8828
|
+
* Invalid date format
|
|
8829
|
+
*/
|
|
8830
|
+
400: unknown;
|
|
8831
|
+
/**
|
|
8832
|
+
* User not authenticated
|
|
8833
|
+
*/
|
|
8834
|
+
401: unknown;
|
|
8835
|
+
};
|
|
8836
|
+
};
|
|
8837
|
+
};
|
|
8838
|
+
'/api/v1/{region}/reporting/snapshots/backfill': {
|
|
8839
|
+
post: {
|
|
8840
|
+
req: ReportingControllerBackfillSnapshotsData;
|
|
8330
8841
|
res: {
|
|
8331
8842
|
/**
|
|
8332
|
-
*
|
|
8843
|
+
* Backfill completed successfully
|
|
8333
8844
|
*/
|
|
8334
|
-
|
|
8845
|
+
200: BackfillSnapshotsResponse;
|
|
8335
8846
|
/**
|
|
8336
|
-
*
|
|
8847
|
+
* Invalid date format or range
|
|
8337
8848
|
*/
|
|
8338
8849
|
400: unknown;
|
|
8339
8850
|
/**
|
|
8340
|
-
*
|
|
8851
|
+
* User not authenticated
|
|
8341
8852
|
*/
|
|
8342
|
-
|
|
8343
|
-
};
|
|
8344
|
-
};
|
|
8345
|
-
};
|
|
8346
|
-
'/api/v1/{region}/bean/recurring/forecast': {
|
|
8347
|
-
get: {
|
|
8348
|
-
req: ForecastControllerGetForecastData;
|
|
8349
|
-
res: {
|
|
8853
|
+
401: unknown;
|
|
8350
8854
|
/**
|
|
8351
|
-
*
|
|
8855
|
+
* Backfill already in progress for this user
|
|
8352
8856
|
*/
|
|
8353
|
-
|
|
8857
|
+
409: unknown;
|
|
8354
8858
|
};
|
|
8355
8859
|
};
|
|
8356
8860
|
};
|
|
8357
|
-
'/api/v1/
|
|
8358
|
-
|
|
8359
|
-
req:
|
|
8861
|
+
'/api/v1/users': {
|
|
8862
|
+
delete: {
|
|
8863
|
+
req: UserControllerDeleteOwnUserData;
|
|
8360
8864
|
res: {
|
|
8361
8865
|
/**
|
|
8362
|
-
*
|
|
8363
|
-
*/
|
|
8364
|
-
200: TransactionRuleResponseDto;
|
|
8365
|
-
/**
|
|
8366
|
-
* Validation failed
|
|
8367
|
-
*/
|
|
8368
|
-
400: ApiProblemResponseDto;
|
|
8369
|
-
/**
|
|
8370
|
-
* Unauthorized
|
|
8866
|
+
* User deleted successfully
|
|
8371
8867
|
*/
|
|
8372
|
-
|
|
8868
|
+
204: void;
|
|
8373
8869
|
/**
|
|
8374
|
-
*
|
|
8870
|
+
* Invalid access token
|
|
8375
8871
|
*/
|
|
8376
|
-
|
|
8872
|
+
403: unknown;
|
|
8377
8873
|
};
|
|
8378
8874
|
};
|
|
8379
8875
|
get: {
|
|
8380
|
-
req:
|
|
8876
|
+
req: UserControllerGetUserData;
|
|
8381
8877
|
res: {
|
|
8382
8878
|
/**
|
|
8383
|
-
*
|
|
8384
|
-
*/
|
|
8385
|
-
200: TransactionRuleListResponseDto;
|
|
8386
|
-
/**
|
|
8387
|
-
* Unauthorized
|
|
8879
|
+
* User retrieved successfully
|
|
8388
8880
|
*/
|
|
8389
|
-
|
|
8881
|
+
200: unknown;
|
|
8390
8882
|
};
|
|
8391
8883
|
};
|
|
8392
|
-
};
|
|
8393
|
-
'/api/v1/{region}/bean/transaction-rules/validate': {
|
|
8394
8884
|
post: {
|
|
8395
|
-
req:
|
|
8885
|
+
req: UserControllerSignupUserData;
|
|
8396
8886
|
res: {
|
|
8397
8887
|
/**
|
|
8398
|
-
*
|
|
8888
|
+
* User created successfully
|
|
8399
8889
|
*/
|
|
8400
|
-
|
|
8890
|
+
201: SignupResponseDto;
|
|
8401
8891
|
/**
|
|
8402
|
-
*
|
|
8892
|
+
* Invalid Turnstile token (when Turnstile is enabled)
|
|
8403
8893
|
*/
|
|
8404
|
-
400:
|
|
8894
|
+
400: unknown;
|
|
8405
8895
|
/**
|
|
8406
|
-
*
|
|
8896
|
+
* User signup is disabled
|
|
8407
8897
|
*/
|
|
8408
|
-
|
|
8898
|
+
403: unknown;
|
|
8409
8899
|
};
|
|
8410
8900
|
};
|
|
8411
8901
|
};
|
|
8412
|
-
'/api/v1/{
|
|
8413
|
-
|
|
8414
|
-
req:
|
|
8902
|
+
'/api/v1/users/{id}': {
|
|
8903
|
+
delete: {
|
|
8904
|
+
req: UserControllerDeleteUserData;
|
|
8415
8905
|
res: {
|
|
8416
8906
|
/**
|
|
8417
|
-
*
|
|
8418
|
-
*/
|
|
8419
|
-
201: BulkCreateRulesResponseDto;
|
|
8420
|
-
/**
|
|
8421
|
-
* Invalid bulk create data
|
|
8907
|
+
* User deleted successfully
|
|
8422
8908
|
*/
|
|
8423
|
-
|
|
8909
|
+
204: void;
|
|
8424
8910
|
/**
|
|
8425
|
-
*
|
|
8911
|
+
* Cannot delete own account or insufficient permissions
|
|
8426
8912
|
*/
|
|
8427
|
-
|
|
8913
|
+
403: unknown;
|
|
8428
8914
|
};
|
|
8429
8915
|
};
|
|
8430
8916
|
};
|
|
8431
|
-
'/api/v1/{
|
|
8917
|
+
'/api/v1/users/{id}/info': {
|
|
8432
8918
|
get: {
|
|
8433
|
-
req:
|
|
8919
|
+
req: UserControllerGetUserInfoData;
|
|
8434
8920
|
res: {
|
|
8435
8921
|
/**
|
|
8436
|
-
*
|
|
8437
|
-
*/
|
|
8438
|
-
200: ExportRulesResponseDto;
|
|
8439
|
-
/**
|
|
8440
|
-
* Unsupported format
|
|
8922
|
+
* User info retrieved successfully
|
|
8441
8923
|
*/
|
|
8442
|
-
|
|
8924
|
+
200: unknown;
|
|
8443
8925
|
/**
|
|
8444
|
-
*
|
|
8926
|
+
* Cannot access other user info without admin permission
|
|
8445
8927
|
*/
|
|
8446
|
-
|
|
8928
|
+
403: unknown;
|
|
8447
8929
|
};
|
|
8448
8930
|
};
|
|
8449
8931
|
};
|
|
8450
|
-
'/api/v1/
|
|
8451
|
-
|
|
8452
|
-
req:
|
|
8932
|
+
'/api/v1/users/setting': {
|
|
8933
|
+
put: {
|
|
8934
|
+
req: UserControllerUpdateUserSettingData;
|
|
8453
8935
|
res: {
|
|
8454
8936
|
/**
|
|
8455
|
-
*
|
|
8937
|
+
* Settings updated successfully
|
|
8456
8938
|
*/
|
|
8457
|
-
200:
|
|
8939
|
+
200: unknown;
|
|
8458
8940
|
/**
|
|
8459
|
-
*
|
|
8941
|
+
* Insufficient permissions
|
|
8460
8942
|
*/
|
|
8461
|
-
|
|
8943
|
+
403: unknown;
|
|
8462
8944
|
};
|
|
8463
8945
|
};
|
|
8464
8946
|
};
|
|
8465
|
-
'/api/v1/
|
|
8947
|
+
'/api/v1/users/settings-by-page': {
|
|
8466
8948
|
get: {
|
|
8467
|
-
req:
|
|
8949
|
+
req: UserControllerGetAllUserSettingsByPageData;
|
|
8468
8950
|
res: {
|
|
8469
8951
|
/**
|
|
8470
|
-
*
|
|
8471
|
-
*/
|
|
8472
|
-
200: TransactionRuleResponseDto;
|
|
8473
|
-
/**
|
|
8474
|
-
* Unauthorized
|
|
8475
|
-
*/
|
|
8476
|
-
401: ApiProblemResponseDto;
|
|
8477
|
-
/**
|
|
8478
|
-
* Forbidden - not owner of rule
|
|
8479
|
-
*/
|
|
8480
|
-
403: ApiProblemResponseDto;
|
|
8481
|
-
/**
|
|
8482
|
-
* Rule not found
|
|
8952
|
+
* Settings list retrieved successfully
|
|
8483
8953
|
*/
|
|
8484
|
-
|
|
8954
|
+
200: unknown;
|
|
8485
8955
|
};
|
|
8486
8956
|
};
|
|
8487
|
-
|
|
8488
|
-
|
|
8957
|
+
};
|
|
8958
|
+
'/api/v1/users/asset-liability-summary': {
|
|
8959
|
+
get: {
|
|
8489
8960
|
res: {
|
|
8490
8961
|
/**
|
|
8491
|
-
*
|
|
8962
|
+
* Summary retrieved successfully
|
|
8492
8963
|
*/
|
|
8493
|
-
200:
|
|
8964
|
+
200: unknown;
|
|
8965
|
+
};
|
|
8966
|
+
};
|
|
8967
|
+
};
|
|
8968
|
+
'/api/v1/admin/properties': {
|
|
8969
|
+
get: {
|
|
8970
|
+
res: {
|
|
8494
8971
|
/**
|
|
8495
|
-
*
|
|
8972
|
+
* Properties retrieved successfully
|
|
8496
8973
|
*/
|
|
8497
|
-
|
|
8974
|
+
200: unknown;
|
|
8498
8975
|
/**
|
|
8499
8976
|
* Unauthorized
|
|
8500
8977
|
*/
|
|
8501
|
-
401:
|
|
8502
|
-
/**
|
|
8503
|
-
* Forbidden - not owner of rule
|
|
8504
|
-
*/
|
|
8505
|
-
403: ApiProblemResponseDto;
|
|
8506
|
-
/**
|
|
8507
|
-
* Rule not found
|
|
8508
|
-
*/
|
|
8509
|
-
404: ApiProblemResponseDto;
|
|
8978
|
+
401: unknown;
|
|
8510
8979
|
/**
|
|
8511
|
-
*
|
|
8980
|
+
* Forbidden - insufficient permissions
|
|
8512
8981
|
*/
|
|
8513
|
-
|
|
8982
|
+
403: unknown;
|
|
8514
8983
|
};
|
|
8515
8984
|
};
|
|
8516
|
-
|
|
8517
|
-
|
|
8985
|
+
};
|
|
8986
|
+
'/api/v1/admin/properties/{key}': {
|
|
8987
|
+
get: {
|
|
8988
|
+
req: PropertyControllerGetByKeyData;
|
|
8518
8989
|
res: {
|
|
8519
8990
|
/**
|
|
8520
|
-
*
|
|
8991
|
+
* Property retrieved successfully
|
|
8521
8992
|
*/
|
|
8522
|
-
|
|
8993
|
+
200: unknown;
|
|
8523
8994
|
/**
|
|
8524
8995
|
* Unauthorized
|
|
8525
8996
|
*/
|
|
8526
|
-
401:
|
|
8527
|
-
/**
|
|
8528
|
-
* Forbidden - not owner of rule
|
|
8529
|
-
*/
|
|
8530
|
-
403: ApiProblemResponseDto;
|
|
8997
|
+
401: unknown;
|
|
8531
8998
|
/**
|
|
8532
|
-
*
|
|
8999
|
+
* Forbidden - insufficient permissions
|
|
8533
9000
|
*/
|
|
8534
|
-
|
|
9001
|
+
403: unknown;
|
|
8535
9002
|
/**
|
|
8536
|
-
*
|
|
9003
|
+
* Property not found
|
|
8537
9004
|
*/
|
|
8538
|
-
|
|
9005
|
+
404: unknown;
|
|
8539
9006
|
};
|
|
8540
9007
|
};
|
|
8541
|
-
|
|
8542
|
-
|
|
8543
|
-
post: {
|
|
8544
|
-
req: TransactionRuleControllerTestData;
|
|
9008
|
+
put: {
|
|
9009
|
+
req: PropertyControllerUpdateData;
|
|
8545
9010
|
res: {
|
|
8546
9011
|
/**
|
|
8547
|
-
*
|
|
9012
|
+
* Property updated successfully
|
|
8548
9013
|
*/
|
|
8549
|
-
200:
|
|
9014
|
+
200: unknown;
|
|
8550
9015
|
/**
|
|
8551
9016
|
* Unauthorized
|
|
8552
9017
|
*/
|
|
8553
|
-
401:
|
|
8554
|
-
/**
|
|
8555
|
-
* Forbidden - not owner of rule
|
|
8556
|
-
*/
|
|
8557
|
-
403: ApiProblemResponseDto;
|
|
9018
|
+
401: unknown;
|
|
8558
9019
|
/**
|
|
8559
|
-
*
|
|
9020
|
+
* Forbidden - insufficient permissions
|
|
8560
9021
|
*/
|
|
8561
|
-
|
|
9022
|
+
403: unknown;
|
|
8562
9023
|
};
|
|
8563
9024
|
};
|
|
8564
|
-
};
|
|
8565
|
-
'/api/v1/users': {
|
|
8566
9025
|
delete: {
|
|
8567
|
-
req:
|
|
9026
|
+
req: PropertyControllerDeleteData;
|
|
8568
9027
|
res: {
|
|
8569
9028
|
/**
|
|
8570
|
-
*
|
|
9029
|
+
* Property deleted successfully
|
|
8571
9030
|
*/
|
|
8572
9031
|
204: void;
|
|
8573
9032
|
/**
|
|
8574
|
-
*
|
|
9033
|
+
* Unauthorized
|
|
9034
|
+
*/
|
|
9035
|
+
401: unknown;
|
|
9036
|
+
/**
|
|
9037
|
+
* Forbidden - insufficient permissions
|
|
8575
9038
|
*/
|
|
8576
9039
|
403: unknown;
|
|
8577
|
-
};
|
|
8578
|
-
};
|
|
8579
|
-
get: {
|
|
8580
|
-
req: UserControllerGetUserData;
|
|
8581
|
-
res: {
|
|
8582
9040
|
/**
|
|
8583
|
-
*
|
|
9041
|
+
* Property not found
|
|
8584
9042
|
*/
|
|
8585
|
-
|
|
9043
|
+
404: unknown;
|
|
8586
9044
|
};
|
|
8587
9045
|
};
|
|
9046
|
+
};
|
|
9047
|
+
'/api/v1/{region}/bean/transaction-rules': {
|
|
8588
9048
|
post: {
|
|
8589
|
-
req:
|
|
9049
|
+
req: TransactionRuleControllerCreateData;
|
|
8590
9050
|
res: {
|
|
8591
9051
|
/**
|
|
8592
|
-
*
|
|
9052
|
+
* Rule updated successfully (upsert mode)
|
|
8593
9053
|
*/
|
|
8594
|
-
|
|
9054
|
+
200: TransactionRuleResponseDto;
|
|
8595
9055
|
/**
|
|
8596
|
-
*
|
|
9056
|
+
* Validation failed
|
|
8597
9057
|
*/
|
|
8598
|
-
400:
|
|
9058
|
+
400: ApiProblemResponseDto;
|
|
8599
9059
|
/**
|
|
8600
|
-
*
|
|
9060
|
+
* Unauthorized
|
|
8601
9061
|
*/
|
|
8602
|
-
|
|
9062
|
+
401: ApiProblemResponseDto;
|
|
9063
|
+
/**
|
|
9064
|
+
* Resource conflict - another process is updating this rule
|
|
9065
|
+
*/
|
|
9066
|
+
409: ApiProblemResponseDto;
|
|
8603
9067
|
};
|
|
8604
9068
|
};
|
|
8605
|
-
|
|
8606
|
-
|
|
8607
|
-
delete: {
|
|
8608
|
-
req: UserControllerDeleteUserData;
|
|
9069
|
+
get: {
|
|
9070
|
+
req: TransactionRuleControllerListData;
|
|
8609
9071
|
res: {
|
|
8610
9072
|
/**
|
|
8611
|
-
*
|
|
9073
|
+
* List of rules
|
|
8612
9074
|
*/
|
|
8613
|
-
|
|
9075
|
+
200: TransactionRuleListResponseDto;
|
|
8614
9076
|
/**
|
|
8615
|
-
*
|
|
9077
|
+
* Unauthorized
|
|
8616
9078
|
*/
|
|
8617
|
-
|
|
9079
|
+
401: ApiProblemResponseDto;
|
|
8618
9080
|
};
|
|
8619
9081
|
};
|
|
8620
9082
|
};
|
|
8621
|
-
'/api/v1/
|
|
8622
|
-
|
|
8623
|
-
req:
|
|
9083
|
+
'/api/v1/{region}/bean/transaction-rules/validate': {
|
|
9084
|
+
post: {
|
|
9085
|
+
req: TransactionRuleControllerValidateData;
|
|
8624
9086
|
res: {
|
|
8625
9087
|
/**
|
|
8626
|
-
*
|
|
9088
|
+
* Validation result
|
|
8627
9089
|
*/
|
|
8628
|
-
200:
|
|
9090
|
+
200: ValidateRuleResponseDto;
|
|
8629
9091
|
/**
|
|
8630
|
-
*
|
|
9092
|
+
* Validation failed
|
|
8631
9093
|
*/
|
|
8632
|
-
|
|
9094
|
+
400: ApiProblemResponseDto;
|
|
9095
|
+
/**
|
|
9096
|
+
* Unauthorized
|
|
9097
|
+
*/
|
|
9098
|
+
401: ApiProblemResponseDto;
|
|
8633
9099
|
};
|
|
8634
9100
|
};
|
|
8635
9101
|
};
|
|
8636
|
-
'/api/v1/
|
|
8637
|
-
|
|
8638
|
-
req:
|
|
9102
|
+
'/api/v1/{region}/bean/transaction-rules/bulk': {
|
|
9103
|
+
post: {
|
|
9104
|
+
req: TransactionRuleControllerBulkCreateData;
|
|
8639
9105
|
res: {
|
|
8640
9106
|
/**
|
|
8641
|
-
*
|
|
9107
|
+
* Bulk create completed
|
|
8642
9108
|
*/
|
|
8643
|
-
|
|
9109
|
+
201: BulkCreateRulesResponseDto;
|
|
8644
9110
|
/**
|
|
8645
|
-
*
|
|
9111
|
+
* Invalid bulk create data
|
|
8646
9112
|
*/
|
|
8647
|
-
|
|
9113
|
+
400: ApiProblemResponseDto;
|
|
9114
|
+
/**
|
|
9115
|
+
* Unauthorized
|
|
9116
|
+
*/
|
|
9117
|
+
401: ApiProblemResponseDto;
|
|
8648
9118
|
};
|
|
8649
9119
|
};
|
|
8650
9120
|
};
|
|
8651
|
-
'/api/v1/
|
|
9121
|
+
'/api/v1/{region}/bean/transaction-rules/export/{format}': {
|
|
8652
9122
|
get: {
|
|
8653
|
-
req:
|
|
9123
|
+
req: TransactionRuleControllerExportData;
|
|
8654
9124
|
res: {
|
|
8655
9125
|
/**
|
|
8656
|
-
*
|
|
9126
|
+
* Exported rules
|
|
8657
9127
|
*/
|
|
8658
|
-
200:
|
|
9128
|
+
200: ExportRulesResponseDto;
|
|
9129
|
+
/**
|
|
9130
|
+
* Unsupported format
|
|
9131
|
+
*/
|
|
9132
|
+
400: ApiProblemResponseDto;
|
|
9133
|
+
/**
|
|
9134
|
+
* Unauthorized
|
|
9135
|
+
*/
|
|
9136
|
+
401: ApiProblemResponseDto;
|
|
8659
9137
|
};
|
|
8660
9138
|
};
|
|
8661
9139
|
};
|
|
8662
|
-
'/api/v1/
|
|
9140
|
+
'/api/v1/{region}/bean/transaction-rules/statistics/{period}': {
|
|
8663
9141
|
get: {
|
|
9142
|
+
req: TransactionRuleControllerGetStatisticsData;
|
|
8664
9143
|
res: {
|
|
8665
9144
|
/**
|
|
8666
|
-
*
|
|
9145
|
+
* Rule statistics
|
|
8667
9146
|
*/
|
|
8668
|
-
200:
|
|
9147
|
+
200: RuleStatisticsResponseDto;
|
|
9148
|
+
/**
|
|
9149
|
+
* Unauthorized
|
|
9150
|
+
*/
|
|
9151
|
+
401: ApiProblemResponseDto;
|
|
8669
9152
|
};
|
|
8670
9153
|
};
|
|
8671
9154
|
};
|
|
8672
|
-
'/api/v1/
|
|
9155
|
+
'/api/v1/{region}/bean/transaction-rules/{ruleId}': {
|
|
8673
9156
|
get: {
|
|
9157
|
+
req: TransactionRuleControllerGetDetailData;
|
|
8674
9158
|
res: {
|
|
8675
9159
|
/**
|
|
8676
|
-
*
|
|
9160
|
+
* Rule details
|
|
8677
9161
|
*/
|
|
8678
|
-
200:
|
|
9162
|
+
200: TransactionRuleResponseDto;
|
|
8679
9163
|
/**
|
|
8680
9164
|
* Unauthorized
|
|
8681
9165
|
*/
|
|
8682
|
-
401:
|
|
9166
|
+
401: ApiProblemResponseDto;
|
|
8683
9167
|
/**
|
|
8684
|
-
* Forbidden -
|
|
9168
|
+
* Forbidden - not owner of rule
|
|
8685
9169
|
*/
|
|
8686
|
-
403:
|
|
9170
|
+
403: ApiProblemResponseDto;
|
|
9171
|
+
/**
|
|
9172
|
+
* Rule not found
|
|
9173
|
+
*/
|
|
9174
|
+
404: ApiProblemResponseDto;
|
|
8687
9175
|
};
|
|
8688
9176
|
};
|
|
8689
|
-
|
|
8690
|
-
|
|
8691
|
-
get: {
|
|
8692
|
-
req: PropertyControllerGetByKeyData;
|
|
9177
|
+
put: {
|
|
9178
|
+
req: TransactionRuleControllerUpdateData;
|
|
8693
9179
|
res: {
|
|
8694
9180
|
/**
|
|
8695
|
-
*
|
|
9181
|
+
* Rule updated successfully
|
|
8696
9182
|
*/
|
|
8697
|
-
200:
|
|
9183
|
+
200: TransactionRuleResponseDto;
|
|
9184
|
+
/**
|
|
9185
|
+
* Validation failed
|
|
9186
|
+
*/
|
|
9187
|
+
400: ApiProblemResponseDto;
|
|
8698
9188
|
/**
|
|
8699
9189
|
* Unauthorized
|
|
8700
9190
|
*/
|
|
8701
|
-
401:
|
|
9191
|
+
401: ApiProblemResponseDto;
|
|
8702
9192
|
/**
|
|
8703
|
-
* Forbidden -
|
|
9193
|
+
* Forbidden - not owner of rule
|
|
8704
9194
|
*/
|
|
8705
|
-
403:
|
|
9195
|
+
403: ApiProblemResponseDto;
|
|
8706
9196
|
/**
|
|
8707
|
-
*
|
|
9197
|
+
* Rule not found
|
|
8708
9198
|
*/
|
|
8709
|
-
404:
|
|
9199
|
+
404: ApiProblemResponseDto;
|
|
9200
|
+
/**
|
|
9201
|
+
* Resource conflict - rule is being modified by another process
|
|
9202
|
+
*/
|
|
9203
|
+
409: ApiProblemResponseDto;
|
|
8710
9204
|
};
|
|
8711
9205
|
};
|
|
8712
|
-
|
|
8713
|
-
req:
|
|
9206
|
+
delete: {
|
|
9207
|
+
req: TransactionRuleControllerDeleteData;
|
|
8714
9208
|
res: {
|
|
8715
9209
|
/**
|
|
8716
|
-
*
|
|
9210
|
+
* Rule deleted successfully
|
|
8717
9211
|
*/
|
|
8718
|
-
|
|
9212
|
+
204: void;
|
|
8719
9213
|
/**
|
|
8720
9214
|
* Unauthorized
|
|
8721
9215
|
*/
|
|
8722
|
-
401:
|
|
9216
|
+
401: ApiProblemResponseDto;
|
|
8723
9217
|
/**
|
|
8724
|
-
* Forbidden -
|
|
9218
|
+
* Forbidden - not owner of rule
|
|
8725
9219
|
*/
|
|
8726
|
-
403:
|
|
9220
|
+
403: ApiProblemResponseDto;
|
|
9221
|
+
/**
|
|
9222
|
+
* Rule not found
|
|
9223
|
+
*/
|
|
9224
|
+
404: ApiProblemResponseDto;
|
|
9225
|
+
/**
|
|
9226
|
+
* Resource conflict - rule is being modified by another process
|
|
9227
|
+
*/
|
|
9228
|
+
409: ApiProblemResponseDto;
|
|
8727
9229
|
};
|
|
8728
9230
|
};
|
|
8729
|
-
|
|
8730
|
-
|
|
9231
|
+
};
|
|
9232
|
+
'/api/v1/{region}/bean/transaction-rules/{ruleId}/test': {
|
|
9233
|
+
post: {
|
|
9234
|
+
req: TransactionRuleControllerTestData;
|
|
8731
9235
|
res: {
|
|
8732
9236
|
/**
|
|
8733
|
-
*
|
|
9237
|
+
* Test result
|
|
8734
9238
|
*/
|
|
8735
|
-
|
|
9239
|
+
200: TestRuleResponseDto;
|
|
8736
9240
|
/**
|
|
8737
9241
|
* Unauthorized
|
|
8738
9242
|
*/
|
|
8739
|
-
401:
|
|
9243
|
+
401: ApiProblemResponseDto;
|
|
8740
9244
|
/**
|
|
8741
|
-
* Forbidden -
|
|
9245
|
+
* Forbidden - not owner of rule
|
|
8742
9246
|
*/
|
|
8743
|
-
403:
|
|
9247
|
+
403: ApiProblemResponseDto;
|
|
8744
9248
|
/**
|
|
8745
|
-
*
|
|
9249
|
+
* Rule not found
|
|
8746
9250
|
*/
|
|
8747
|
-
404:
|
|
9251
|
+
404: ApiProblemResponseDto;
|
|
8748
9252
|
};
|
|
8749
9253
|
};
|
|
8750
9254
|
};
|
|
@@ -9291,7 +9795,7 @@ export type $OpenApiTs = {
|
|
|
9291
9795
|
/**
|
|
9292
9796
|
* List of platforms with user binding status
|
|
9293
9797
|
*/
|
|
9294
|
-
200:
|
|
9798
|
+
200: Array<PlatformListItemDto>;
|
|
9295
9799
|
};
|
|
9296
9800
|
};
|
|
9297
9801
|
};
|
|
@@ -9300,9 +9804,9 @@ export type $OpenApiTs = {
|
|
|
9300
9804
|
req: PlatformControllerMatchPlatformsData;
|
|
9301
9805
|
res: {
|
|
9302
9806
|
/**
|
|
9303
|
-
*
|
|
9807
|
+
* Matching platforms with overall match type and truncation flag
|
|
9304
9808
|
*/
|
|
9305
|
-
200:
|
|
9809
|
+
200: PlatformMatchResponseDto;
|
|
9306
9810
|
};
|
|
9307
9811
|
};
|
|
9308
9812
|
};
|
|
@@ -9424,78 +9928,6 @@ export type $OpenApiTs = {
|
|
|
9424
9928
|
};
|
|
9425
9929
|
};
|
|
9426
9930
|
};
|
|
9427
|
-
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
9428
|
-
get: {
|
|
9429
|
-
req: ReportingControllerGetPortfolioTrendsData;
|
|
9430
|
-
res: {
|
|
9431
|
-
/**
|
|
9432
|
-
* Trends retrieved successfully
|
|
9433
|
-
*/
|
|
9434
|
-
200: PortfolioTrendsResponseDto;
|
|
9435
|
-
/**
|
|
9436
|
-
* User not authenticated
|
|
9437
|
-
*/
|
|
9438
|
-
401: unknown;
|
|
9439
|
-
};
|
|
9440
|
-
};
|
|
9441
|
-
};
|
|
9442
|
-
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
9443
|
-
get: {
|
|
9444
|
-
req: ReportingControllerGetCashFlowTrendsData;
|
|
9445
|
-
res: {
|
|
9446
|
-
/**
|
|
9447
|
-
* Cash-flow trends retrieved successfully
|
|
9448
|
-
*/
|
|
9449
|
-
200: CashFlowTrendsResponseDto;
|
|
9450
|
-
/**
|
|
9451
|
-
* User not authenticated
|
|
9452
|
-
*/
|
|
9453
|
-
401: unknown;
|
|
9454
|
-
};
|
|
9455
|
-
};
|
|
9456
|
-
};
|
|
9457
|
-
'/api/v1/{region}/reporting/snapshots/generate': {
|
|
9458
|
-
post: {
|
|
9459
|
-
req: ReportingControllerGenerateSnapshotData;
|
|
9460
|
-
res: {
|
|
9461
|
-
/**
|
|
9462
|
-
* Snapshot generated successfully
|
|
9463
|
-
*/
|
|
9464
|
-
200: GenerateSnapshotResponse;
|
|
9465
|
-
/**
|
|
9466
|
-
* Invalid date format
|
|
9467
|
-
*/
|
|
9468
|
-
400: unknown;
|
|
9469
|
-
/**
|
|
9470
|
-
* User not authenticated
|
|
9471
|
-
*/
|
|
9472
|
-
401: unknown;
|
|
9473
|
-
};
|
|
9474
|
-
};
|
|
9475
|
-
};
|
|
9476
|
-
'/api/v1/{region}/reporting/snapshots/backfill': {
|
|
9477
|
-
post: {
|
|
9478
|
-
req: ReportingControllerBackfillSnapshotsData;
|
|
9479
|
-
res: {
|
|
9480
|
-
/**
|
|
9481
|
-
* Backfill completed successfully
|
|
9482
|
-
*/
|
|
9483
|
-
200: BackfillSnapshotsResponse;
|
|
9484
|
-
/**
|
|
9485
|
-
* Invalid date format or range
|
|
9486
|
-
*/
|
|
9487
|
-
400: unknown;
|
|
9488
|
-
/**
|
|
9489
|
-
* User not authenticated
|
|
9490
|
-
*/
|
|
9491
|
-
401: unknown;
|
|
9492
|
-
/**
|
|
9493
|
-
* Backfill already in progress for this user
|
|
9494
|
-
*/
|
|
9495
|
-
409: unknown;
|
|
9496
|
-
};
|
|
9497
|
-
};
|
|
9498
|
-
};
|
|
9499
9931
|
'/api/v1/auth/api-keys': {
|
|
9500
9932
|
post: {
|
|
9501
9933
|
res: {
|
|
@@ -9517,7 +9949,7 @@ export type $OpenApiTs = {
|
|
|
9517
9949
|
/**
|
|
9518
9950
|
* Login successful
|
|
9519
9951
|
*/
|
|
9520
|
-
200:
|
|
9952
|
+
200: AnonymousLoginResponseDto;
|
|
9521
9953
|
/**
|
|
9522
9954
|
* Invalid access token
|
|
9523
9955
|
*/
|
|
@@ -9664,4 +10096,30 @@ export type $OpenApiTs = {
|
|
|
9664
10096
|
};
|
|
9665
10097
|
};
|
|
9666
10098
|
};
|
|
10099
|
+
'/api/v1/market/symbols/search': {
|
|
10100
|
+
get: {
|
|
10101
|
+
req: SymbolControllerSearchData;
|
|
10102
|
+
res: {
|
|
10103
|
+
/**
|
|
10104
|
+
* Ranked search results
|
|
10105
|
+
*/
|
|
10106
|
+
200: Array<SymbolSearchResultDto>;
|
|
10107
|
+
};
|
|
10108
|
+
};
|
|
10109
|
+
};
|
|
10110
|
+
'/api/v1/market/symbols/{symbol}/quote': {
|
|
10111
|
+
get: {
|
|
10112
|
+
req: SymbolControllerGetQuoteData;
|
|
10113
|
+
res: {
|
|
10114
|
+
/**
|
|
10115
|
+
* Symbol quote
|
|
10116
|
+
*/
|
|
10117
|
+
200: SymbolQuoteDto;
|
|
10118
|
+
/**
|
|
10119
|
+
* Symbol not found in the openbb catalog
|
|
10120
|
+
*/
|
|
10121
|
+
404: unknown;
|
|
10122
|
+
};
|
|
10123
|
+
};
|
|
10124
|
+
};
|
|
9667
10125
|
};
|