@firela/api-types 0.0.0-canary.614ff760 → 0.0.0-canary.6a42fd0e
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 +1543 -147
- package/dist/index.d.ts +1543 -147
- package/dist/index.js +4 -2
- package/dist/index.mjs +4 -2
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +1566 -235
- package/src/generated/services.gen.ts +647 -3
- package/src/generated/types.gen.ts +1655 -147
|
@@ -316,6 +316,53 @@ export type RegionsMetadataResponseDto = {
|
|
|
316
316
|
regions: Array<RegionInfoDto>;
|
|
317
317
|
};
|
|
318
318
|
|
|
319
|
+
export type CostSpecDto = {
|
|
320
|
+
/**
|
|
321
|
+
* Cost specification mode (mirrors engine CostSpec)
|
|
322
|
+
*/
|
|
323
|
+
mode: 'per-unit' | 'total' | 'date' | 'label' | 'auto';
|
|
324
|
+
/**
|
|
325
|
+
* Per-unit cost (required when mode is "per-unit")
|
|
326
|
+
*/
|
|
327
|
+
numberPerUnit?: string;
|
|
328
|
+
/**
|
|
329
|
+
* Total cost for all units (required when mode is "total")
|
|
330
|
+
*/
|
|
331
|
+
totalNumber?: string;
|
|
332
|
+
/**
|
|
333
|
+
* Cost currency (required in all modes)
|
|
334
|
+
*/
|
|
335
|
+
currency: string;
|
|
336
|
+
/**
|
|
337
|
+
* Lot acquisition date, ISO 8601 (required when mode is "date")
|
|
338
|
+
*/
|
|
339
|
+
date?: string;
|
|
340
|
+
/**
|
|
341
|
+
* Lot label (required when mode is "label"; optional tag in buy modes)
|
|
342
|
+
*/
|
|
343
|
+
label?: string;
|
|
344
|
+
/**
|
|
345
|
+
* Merge lots for AVERAGE booking (mode: auto)
|
|
346
|
+
*/
|
|
347
|
+
merge?: boolean;
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Cost specification mode (mirrors engine CostSpec)
|
|
352
|
+
*/
|
|
353
|
+
export type mode = 'per-unit' | 'total' | 'date' | 'label' | 'auto';
|
|
354
|
+
|
|
355
|
+
export type AmountDto = {
|
|
356
|
+
/**
|
|
357
|
+
* Amount as decimal string (max 15 integer + 15 decimal digits)
|
|
358
|
+
*/
|
|
359
|
+
number: string;
|
|
360
|
+
/**
|
|
361
|
+
* Currency/commodity code
|
|
362
|
+
*/
|
|
363
|
+
currency: string;
|
|
364
|
+
};
|
|
365
|
+
|
|
319
366
|
export type CreatePostingDto = {
|
|
320
367
|
/**
|
|
321
368
|
* Account name in Beancount format (must start with uppercase, colon-separated)
|
|
@@ -335,6 +382,14 @@ export type CreatePostingDto = {
|
|
|
335
382
|
meta?: {
|
|
336
383
|
[key: string]: unknown;
|
|
337
384
|
};
|
|
385
|
+
/**
|
|
386
|
+
* Cost basis (Beancount `{...}`). Maps to engine costSpec. Required for commodity holdings so they carry a monetary weight that can balance.
|
|
387
|
+
*/
|
|
388
|
+
cost?: CostSpecDto;
|
|
389
|
+
/**
|
|
390
|
+
* Price annotation (Beancount `@...`). Maps to engine price. Used for valuation; cost takes priority for balance weight.
|
|
391
|
+
*/
|
|
392
|
+
price?: AmountDto;
|
|
338
393
|
};
|
|
339
394
|
|
|
340
395
|
export type CreateTransactionDto = {
|
|
@@ -387,6 +442,25 @@ export type CreateTransactionDto = {
|
|
|
387
442
|
*/
|
|
388
443
|
export type flag = '*' | '!';
|
|
389
444
|
|
|
445
|
+
export type CostDetailDto = {
|
|
446
|
+
/**
|
|
447
|
+
* Per-unit cost basis (mirrors engine Cost.number)
|
|
448
|
+
*/
|
|
449
|
+
number?: string;
|
|
450
|
+
/**
|
|
451
|
+
* Cost currency
|
|
452
|
+
*/
|
|
453
|
+
currency?: string;
|
|
454
|
+
/**
|
|
455
|
+
* Lot acquisition date (ISO yyyy-mm-dd)
|
|
456
|
+
*/
|
|
457
|
+
date?: string;
|
|
458
|
+
/**
|
|
459
|
+
* Lot label
|
|
460
|
+
*/
|
|
461
|
+
label?: string;
|
|
462
|
+
};
|
|
463
|
+
|
|
390
464
|
export type PostingResponseDto = {
|
|
391
465
|
/**
|
|
392
466
|
* Account name
|
|
@@ -400,6 +474,10 @@ export type PostingResponseDto = {
|
|
|
400
474
|
* Currency
|
|
401
475
|
*/
|
|
402
476
|
currency?: string;
|
|
477
|
+
/**
|
|
478
|
+
* Booking-resolved cost (mirrors engine Cost). Undefined when the posting has no cost basis.
|
|
479
|
+
*/
|
|
480
|
+
cost?: CostDetailDto;
|
|
403
481
|
};
|
|
404
482
|
|
|
405
483
|
export type RecurringSuggestionDto = {
|
|
@@ -620,9 +698,9 @@ export type PostingDetailDto = {
|
|
|
620
698
|
*/
|
|
621
699
|
accountId: string;
|
|
622
700
|
/**
|
|
623
|
-
*
|
|
701
|
+
* Fully-qualified Beancount account path
|
|
624
702
|
*/
|
|
625
|
-
|
|
703
|
+
account: string;
|
|
626
704
|
/**
|
|
627
705
|
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
|
|
628
706
|
*/
|
|
@@ -643,6 +721,10 @@ export type PostingDetailDto = {
|
|
|
643
721
|
* Cost date
|
|
644
722
|
*/
|
|
645
723
|
costDate?: string;
|
|
724
|
+
/**
|
|
725
|
+
* Booking-resolved cost (mirrors engine Cost). Undefined when the posting has no cost basis.
|
|
726
|
+
*/
|
|
727
|
+
cost?: CostDetailDto;
|
|
646
728
|
/**
|
|
647
729
|
* Price amount
|
|
648
730
|
*/
|
|
@@ -766,6 +848,51 @@ export type flag2 =
|
|
|
766
848
|
*/
|
|
767
849
|
export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
768
850
|
|
|
851
|
+
export type BalanceByCurrencyDto = {
|
|
852
|
+
/**
|
|
853
|
+
* ISO 4217 currency code
|
|
854
|
+
*/
|
|
855
|
+
currency: string;
|
|
856
|
+
/**
|
|
857
|
+
* Balance amount
|
|
858
|
+
*/
|
|
859
|
+
balance: string;
|
|
860
|
+
};
|
|
861
|
+
|
|
862
|
+
export type ExchangeRateWarningDto = {
|
|
863
|
+
/**
|
|
864
|
+
* Warning type
|
|
865
|
+
*/
|
|
866
|
+
type: string;
|
|
867
|
+
/**
|
|
868
|
+
* Currency without exchange rate
|
|
869
|
+
*/
|
|
870
|
+
currency: string;
|
|
871
|
+
/**
|
|
872
|
+
* Total amount affected
|
|
873
|
+
*/
|
|
874
|
+
totalAmount: string;
|
|
875
|
+
};
|
|
876
|
+
|
|
877
|
+
export type TransactionListSummaryDto = {
|
|
878
|
+
/**
|
|
879
|
+
* Partial converted total in base currency (rated currencies only, raw Beancount sign). When warnings is non-empty this excludes currencies missing an FX rate; may be "0.00" if ALL non-base currencies lack a rate. Converted at the dateTo (or current) available rate.
|
|
880
|
+
*/
|
|
881
|
+
totalAmount: string;
|
|
882
|
+
/**
|
|
883
|
+
* Base currency (ISO 4217)
|
|
884
|
+
*/
|
|
885
|
+
currency: string;
|
|
886
|
+
/**
|
|
887
|
+
* Raw (unconverted) balance per currency
|
|
888
|
+
*/
|
|
889
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
890
|
+
/**
|
|
891
|
+
* Currencies missing an FX rate (omitted when empty)
|
|
892
|
+
*/
|
|
893
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
894
|
+
};
|
|
895
|
+
|
|
769
896
|
export type TransactionListResponseDto = {
|
|
770
897
|
/**
|
|
771
898
|
* List of transactions
|
|
@@ -783,6 +910,10 @@ export type TransactionListResponseDto = {
|
|
|
783
910
|
* Number of items skipped
|
|
784
911
|
*/
|
|
785
912
|
offset: number;
|
|
913
|
+
/**
|
|
914
|
+
* Amount summary for the full filtered set (#514). Present only when the request has a single account OR category viewpoint; omitted for search-only / plain-list / dual-perspective requests.
|
|
915
|
+
*/
|
|
916
|
+
summary?: TransactionListSummaryDto;
|
|
786
917
|
};
|
|
787
918
|
|
|
788
919
|
export type TagSuggestionDto = {
|
|
@@ -1242,17 +1373,17 @@ export type ResolveResultDto = {
|
|
|
1242
1373
|
[key: string]: string;
|
|
1243
1374
|
};
|
|
1244
1375
|
/**
|
|
1245
|
-
* Resolution ID for undo
|
|
1376
|
+
* Resolution ID for undo. Absent when the resolver rejected the decision (review stayed PENDING).
|
|
1246
1377
|
*/
|
|
1247
|
-
resolutionId
|
|
1378
|
+
resolutionId?: string;
|
|
1248
1379
|
/**
|
|
1249
1380
|
* Whether this decision can be undone
|
|
1250
1381
|
*/
|
|
1251
|
-
canUndo
|
|
1382
|
+
canUndo?: boolean;
|
|
1252
1383
|
/**
|
|
1253
1384
|
* Deadline for undo (24h from resolution)
|
|
1254
1385
|
*/
|
|
1255
|
-
undoDeadline
|
|
1386
|
+
undoDeadline?: string;
|
|
1256
1387
|
/**
|
|
1257
1388
|
* Rule ID if learning was triggered (ACCEPT_AND_LEARN actions). Use this to deep-link to the rule management page.
|
|
1258
1389
|
*/
|
|
@@ -1835,6 +1966,108 @@ export type UpdateCommodityDto = {
|
|
|
1835
1966
|
};
|
|
1836
1967
|
};
|
|
1837
1968
|
|
|
1969
|
+
export type CreateBeanPriceDto = {
|
|
1970
|
+
/**
|
|
1971
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
1972
|
+
*/
|
|
1973
|
+
currency: string;
|
|
1974
|
+
/**
|
|
1975
|
+
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
1976
|
+
*/
|
|
1977
|
+
quoteCurrency: string;
|
|
1978
|
+
/**
|
|
1979
|
+
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
1980
|
+
*/
|
|
1981
|
+
amount: number;
|
|
1982
|
+
/**
|
|
1983
|
+
* Price date (ISO 8601 format)
|
|
1984
|
+
*/
|
|
1985
|
+
date: string;
|
|
1986
|
+
/**
|
|
1987
|
+
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
1988
|
+
*/
|
|
1989
|
+
metadata?: {
|
|
1990
|
+
[key: string]: unknown;
|
|
1991
|
+
};
|
|
1992
|
+
};
|
|
1993
|
+
|
|
1994
|
+
export type PriceResponseDto = {
|
|
1995
|
+
/**
|
|
1996
|
+
* Unique identifier
|
|
1997
|
+
*/
|
|
1998
|
+
id: string;
|
|
1999
|
+
/**
|
|
2000
|
+
* User ID (owner of the price)
|
|
2001
|
+
*/
|
|
2002
|
+
userId: string;
|
|
2003
|
+
/**
|
|
2004
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
2005
|
+
*/
|
|
2006
|
+
currency: string;
|
|
2007
|
+
/**
|
|
2008
|
+
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
2009
|
+
*/
|
|
2010
|
+
quoteCurrency: string;
|
|
2011
|
+
/**
|
|
2012
|
+
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
2013
|
+
*/
|
|
2014
|
+
amount: number;
|
|
2015
|
+
/**
|
|
2016
|
+
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
2017
|
+
*/
|
|
2018
|
+
date: string;
|
|
2019
|
+
/**
|
|
2020
|
+
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
2021
|
+
*/
|
|
2022
|
+
meta: {
|
|
2023
|
+
[key: string]: unknown;
|
|
2024
|
+
};
|
|
2025
|
+
/**
|
|
2026
|
+
* Creation timestamp
|
|
2027
|
+
*/
|
|
2028
|
+
createdAt: string;
|
|
2029
|
+
/**
|
|
2030
|
+
* Last update timestamp
|
|
2031
|
+
*/
|
|
2032
|
+
updatedAt: string;
|
|
2033
|
+
};
|
|
2034
|
+
|
|
2035
|
+
export type PriceListResponseDto = {
|
|
2036
|
+
/**
|
|
2037
|
+
* List of prices
|
|
2038
|
+
*/
|
|
2039
|
+
items: Array<PriceResponseDto>;
|
|
2040
|
+
/**
|
|
2041
|
+
* Total number of prices
|
|
2042
|
+
*/
|
|
2043
|
+
total: number;
|
|
2044
|
+
};
|
|
2045
|
+
|
|
2046
|
+
export type UpdateBeanPriceDto = {
|
|
2047
|
+
/**
|
|
2048
|
+
* Currency being priced
|
|
2049
|
+
*/
|
|
2050
|
+
currency?: string;
|
|
2051
|
+
/**
|
|
2052
|
+
* Quote currency (pricing currency)
|
|
2053
|
+
*/
|
|
2054
|
+
quoteCurrency?: string;
|
|
2055
|
+
/**
|
|
2056
|
+
* Price amount (MUST be >= 0 per Beancount spec)
|
|
2057
|
+
*/
|
|
2058
|
+
amount?: number;
|
|
2059
|
+
/**
|
|
2060
|
+
* Price date (ISO 8601 format)
|
|
2061
|
+
*/
|
|
2062
|
+
date?: string;
|
|
2063
|
+
/**
|
|
2064
|
+
* Metadata
|
|
2065
|
+
*/
|
|
2066
|
+
metadata?: {
|
|
2067
|
+
[key: string]: unknown;
|
|
2068
|
+
};
|
|
2069
|
+
};
|
|
2070
|
+
|
|
1838
2071
|
export type CreateRecurringRuleDto = {
|
|
1839
2072
|
/**
|
|
1840
2073
|
* Rule name (unique per user)
|
|
@@ -2947,103 +3180,317 @@ export type UpdatePropertyDto = {
|
|
|
2947
3180
|
value: string;
|
|
2948
3181
|
};
|
|
2949
3182
|
|
|
2950
|
-
export type
|
|
3183
|
+
export type CreateBeanEventDto = {
|
|
2951
3184
|
/**
|
|
2952
|
-
*
|
|
3185
|
+
* Life event date (ISO 8601)
|
|
2953
3186
|
*/
|
|
2954
|
-
|
|
2955
|
-
};
|
|
2956
|
-
|
|
2957
|
-
export type ImportErrorDto = {
|
|
3187
|
+
date: string;
|
|
2958
3188
|
/**
|
|
2959
|
-
*
|
|
3189
|
+
* Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
|
|
2960
3190
|
*/
|
|
2961
|
-
|
|
3191
|
+
type: string;
|
|
2962
3192
|
/**
|
|
2963
|
-
*
|
|
3193
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
2964
3194
|
*/
|
|
2965
|
-
|
|
3195
|
+
description: string;
|
|
3196
|
+
/**
|
|
3197
|
+
* Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
|
|
3198
|
+
*/
|
|
3199
|
+
meta?: {
|
|
3200
|
+
[key: string]: unknown;
|
|
3201
|
+
};
|
|
2966
3202
|
};
|
|
2967
3203
|
|
|
2968
|
-
export type
|
|
3204
|
+
export type EventResponseDto = {
|
|
2969
3205
|
/**
|
|
2970
|
-
*
|
|
3206
|
+
* Unique identifier
|
|
2971
3207
|
*/
|
|
2972
|
-
|
|
3208
|
+
id: string;
|
|
2973
3209
|
/**
|
|
2974
|
-
*
|
|
3210
|
+
* User ID (owner of the life event)
|
|
2975
3211
|
*/
|
|
2976
|
-
|
|
3212
|
+
userId: string;
|
|
2977
3213
|
/**
|
|
2978
|
-
*
|
|
3214
|
+
* Life event date (ISO 8601 format)
|
|
2979
3215
|
*/
|
|
2980
|
-
|
|
3216
|
+
date: string;
|
|
2981
3217
|
/**
|
|
2982
|
-
*
|
|
3218
|
+
* Life event type (user-defined, e.g., "employer", "location")
|
|
2983
3219
|
*/
|
|
2984
|
-
|
|
3220
|
+
type: string;
|
|
2985
3221
|
/**
|
|
2986
|
-
*
|
|
3222
|
+
* Life event description. May be an empty string (a valid value distinct from absence).
|
|
2987
3223
|
*/
|
|
2988
|
-
|
|
3224
|
+
description: string;
|
|
2989
3225
|
/**
|
|
2990
|
-
*
|
|
3226
|
+
* Product-side metadata (free-form JSON)
|
|
2991
3227
|
*/
|
|
2992
|
-
|
|
3228
|
+
meta: {
|
|
3229
|
+
[key: string]: unknown;
|
|
3230
|
+
};
|
|
2993
3231
|
/**
|
|
2994
|
-
*
|
|
3232
|
+
* Creation timestamp
|
|
2995
3233
|
*/
|
|
2996
|
-
|
|
3234
|
+
createdAt: string;
|
|
2997
3235
|
/**
|
|
2998
|
-
*
|
|
3236
|
+
* Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
|
|
2999
3237
|
*/
|
|
3000
|
-
|
|
3238
|
+
updatedAt: string;
|
|
3239
|
+
};
|
|
3240
|
+
|
|
3241
|
+
export type EventListResponseDto = {
|
|
3001
3242
|
/**
|
|
3002
|
-
*
|
|
3243
|
+
* List of life events
|
|
3003
3244
|
*/
|
|
3004
|
-
|
|
3005
|
-
| 'DUPLICATE'
|
|
3006
|
-
| 'PAYEE_MATCH'
|
|
3007
|
-
| 'RULE_MATCH'
|
|
3008
|
-
| 'ACCOUNT_VALIDATION'
|
|
3009
|
-
| 'PIPELINE_ERROR';
|
|
3245
|
+
items: Array<EventResponseDto>;
|
|
3010
3246
|
/**
|
|
3011
|
-
*
|
|
3247
|
+
* Total number of life events matching the query
|
|
3012
3248
|
*/
|
|
3013
|
-
|
|
3249
|
+
total: number;
|
|
3014
3250
|
};
|
|
3015
3251
|
|
|
3016
|
-
|
|
3017
|
-
* Type of branch requiring review
|
|
3018
|
-
*/
|
|
3019
|
-
export type branchType =
|
|
3020
|
-
| 'DUPLICATE'
|
|
3021
|
-
| 'PAYEE_MATCH'
|
|
3022
|
-
| 'RULE_MATCH'
|
|
3023
|
-
| 'ACCOUNT_VALIDATION'
|
|
3024
|
-
| 'PIPELINE_ERROR';
|
|
3025
|
-
|
|
3026
|
-
export type ImportResultDto = {
|
|
3252
|
+
export type UpdateBeanEventDto = {
|
|
3027
3253
|
/**
|
|
3028
|
-
*
|
|
3254
|
+
* Life event date (ISO 8601)
|
|
3029
3255
|
*/
|
|
3030
|
-
|
|
3256
|
+
date?: string;
|
|
3031
3257
|
/**
|
|
3032
|
-
*
|
|
3258
|
+
* Life event type (user-defined)
|
|
3033
3259
|
*/
|
|
3034
|
-
|
|
3260
|
+
type?: string;
|
|
3035
3261
|
/**
|
|
3036
|
-
*
|
|
3262
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3037
3263
|
*/
|
|
3038
|
-
|
|
3264
|
+
description?: string;
|
|
3039
3265
|
/**
|
|
3040
|
-
*
|
|
3266
|
+
* Product-side metadata (free-form JSON)
|
|
3041
3267
|
*/
|
|
3042
|
-
|
|
3268
|
+
meta?: {
|
|
3269
|
+
[key: string]: unknown;
|
|
3270
|
+
};
|
|
3271
|
+
};
|
|
3272
|
+
|
|
3273
|
+
export type ActualBalanceDto = {
|
|
3043
3274
|
/**
|
|
3044
|
-
*
|
|
3275
|
+
* Actual balance amount as a decimal string (preserves precision for tolerance inference).
|
|
3045
3276
|
*/
|
|
3046
|
-
|
|
3277
|
+
amount: string;
|
|
3278
|
+
/**
|
|
3279
|
+
* Currency code (ISO 4217 or commodity ticker).
|
|
3280
|
+
*/
|
|
3281
|
+
ccy: string;
|
|
3282
|
+
};
|
|
3283
|
+
|
|
3284
|
+
export type ComputeReconciliationDto = {
|
|
3285
|
+
/**
|
|
3286
|
+
* BeanAccount id to reconcile.
|
|
3287
|
+
*/
|
|
3288
|
+
accountId: string;
|
|
3289
|
+
/**
|
|
3290
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3291
|
+
*/
|
|
3292
|
+
asOfDate: string;
|
|
3293
|
+
/**
|
|
3294
|
+
* Actual balance from the external statement.
|
|
3295
|
+
*/
|
|
3296
|
+
actualBalance: ActualBalanceDto;
|
|
3297
|
+
};
|
|
3298
|
+
|
|
3299
|
+
export type ReconciliationComputeResultDto = {
|
|
3300
|
+
accountId: string;
|
|
3301
|
+
asOfDate: string;
|
|
3302
|
+
/**
|
|
3303
|
+
* System-computed book balance (decimal string).
|
|
3304
|
+
*/
|
|
3305
|
+
bookBalance: string;
|
|
3306
|
+
/**
|
|
3307
|
+
* User-entered actual balance (decimal string).
|
|
3308
|
+
*/
|
|
3309
|
+
actualBalance: string;
|
|
3310
|
+
currency: string;
|
|
3311
|
+
/**
|
|
3312
|
+
* Diff = book − actual (decimal string).
|
|
3313
|
+
*/
|
|
3314
|
+
diff: string;
|
|
3315
|
+
/**
|
|
3316
|
+
* Applied tolerance (decimal string).
|
|
3317
|
+
*/
|
|
3318
|
+
tolerance: string;
|
|
3319
|
+
/**
|
|
3320
|
+
* true when |diff| ≤ tolerance.
|
|
3321
|
+
*/
|
|
3322
|
+
withinTolerance: boolean;
|
|
3323
|
+
/**
|
|
3324
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3325
|
+
*/
|
|
3326
|
+
suggestedAction: 'assert' | 'pad';
|
|
3327
|
+
};
|
|
3328
|
+
|
|
3329
|
+
/**
|
|
3330
|
+
* Suggested next action: assert when within tolerance, pad otherwise.
|
|
3331
|
+
*/
|
|
3332
|
+
export type suggestedAction = 'assert' | 'pad';
|
|
3333
|
+
|
|
3334
|
+
export type AssertReconciliationDto = {
|
|
3335
|
+
/**
|
|
3336
|
+
* BeanAccount id to reconcile.
|
|
3337
|
+
*/
|
|
3338
|
+
accountId: string;
|
|
3339
|
+
/**
|
|
3340
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3341
|
+
*/
|
|
3342
|
+
asOfDate: string;
|
|
3343
|
+
/**
|
|
3344
|
+
* Actual balance from the external statement.
|
|
3345
|
+
*/
|
|
3346
|
+
actualBalance: ActualBalanceDto;
|
|
3347
|
+
/**
|
|
3348
|
+
* Optional explicit tolerance override. Omit to infer from amount precision (Beancount default).
|
|
3349
|
+
*/
|
|
3350
|
+
tolerance?: string;
|
|
3351
|
+
};
|
|
3352
|
+
|
|
3353
|
+
export type ReconciliationRecordDto = {
|
|
3354
|
+
id: string;
|
|
3355
|
+
accountId: string;
|
|
3356
|
+
date: string;
|
|
3357
|
+
/**
|
|
3358
|
+
* Asserted (actual) amount.
|
|
3359
|
+
*/
|
|
3360
|
+
amount: string;
|
|
3361
|
+
currency: string;
|
|
3362
|
+
tolerance?: string;
|
|
3363
|
+
/**
|
|
3364
|
+
* book − actual.
|
|
3365
|
+
*/
|
|
3366
|
+
diffAmount?: string;
|
|
3367
|
+
diffCurrency?: string;
|
|
3368
|
+
createdAt: string;
|
|
3369
|
+
};
|
|
3370
|
+
|
|
3371
|
+
export type PadReconciliationDto = {
|
|
3372
|
+
/**
|
|
3373
|
+
* BeanAccount id to reconcile.
|
|
3374
|
+
*/
|
|
3375
|
+
accountId: string;
|
|
3376
|
+
/**
|
|
3377
|
+
* Assertion date (ISO 8601, e.g. "2026-07-24").
|
|
3378
|
+
*/
|
|
3379
|
+
asOfDate: string;
|
|
3380
|
+
/**
|
|
3381
|
+
* Actual balance from the external statement.
|
|
3382
|
+
*/
|
|
3383
|
+
actualBalance: ActualBalanceDto;
|
|
3384
|
+
/**
|
|
3385
|
+
* Pad source account. Defaults to Equity:Opening-Balances (official Beancount convention).
|
|
3386
|
+
*/
|
|
3387
|
+
sourceAccount?: string;
|
|
3388
|
+
};
|
|
3389
|
+
|
|
3390
|
+
export type PadResultDto = {
|
|
3391
|
+
/**
|
|
3392
|
+
* Created pad adjusting transaction id.
|
|
3393
|
+
*/
|
|
3394
|
+
transactionId: string;
|
|
3395
|
+
};
|
|
3396
|
+
|
|
3397
|
+
export type FileImportDto = {
|
|
3398
|
+
/**
|
|
3399
|
+
* Bill file to import (CSV, PDF, OFX, etc.)
|
|
3400
|
+
*/
|
|
3401
|
+
file: Blob | File;
|
|
3402
|
+
};
|
|
3403
|
+
|
|
3404
|
+
export type ImportErrorDto = {
|
|
3405
|
+
/**
|
|
3406
|
+
* Index of failed transaction in the file
|
|
3407
|
+
*/
|
|
3408
|
+
index: number;
|
|
3409
|
+
/**
|
|
3410
|
+
* Error message
|
|
3411
|
+
*/
|
|
3412
|
+
error: string;
|
|
3413
|
+
};
|
|
3414
|
+
|
|
3415
|
+
export type ReviewItemPreviewDto = {
|
|
3416
|
+
/**
|
|
3417
|
+
* Index in the import batch (for tracking)
|
|
3418
|
+
*/
|
|
3419
|
+
index: number;
|
|
3420
|
+
/**
|
|
3421
|
+
* Transaction date (ISO format)
|
|
3422
|
+
*/
|
|
3423
|
+
date: string;
|
|
3424
|
+
/**
|
|
3425
|
+
* Transaction amount (absolute value)
|
|
3426
|
+
*/
|
|
3427
|
+
amount?: number;
|
|
3428
|
+
/**
|
|
3429
|
+
* Currency code
|
|
3430
|
+
*/
|
|
3431
|
+
currency?: string;
|
|
3432
|
+
/**
|
|
3433
|
+
* Transaction narration/description
|
|
3434
|
+
*/
|
|
3435
|
+
narration: string;
|
|
3436
|
+
/**
|
|
3437
|
+
* Payee name
|
|
3438
|
+
*/
|
|
3439
|
+
payee?: string;
|
|
3440
|
+
/**
|
|
3441
|
+
* Inferred category from rule matching
|
|
3442
|
+
*/
|
|
3443
|
+
category?: string;
|
|
3444
|
+
/**
|
|
3445
|
+
* Confidence score for the match (0-1)
|
|
3446
|
+
*/
|
|
3447
|
+
confidence?: number;
|
|
3448
|
+
/**
|
|
3449
|
+
* Type of branch requiring review
|
|
3450
|
+
*/
|
|
3451
|
+
branchType?:
|
|
3452
|
+
| 'DUPLICATE'
|
|
3453
|
+
| 'PAYEE_MATCH'
|
|
3454
|
+
| 'RULE_MATCH'
|
|
3455
|
+
| 'ACCOUNT_VALIDATION'
|
|
3456
|
+
| 'PIPELINE_ERROR';
|
|
3457
|
+
/**
|
|
3458
|
+
* Human-readable reasons for requiring review
|
|
3459
|
+
*/
|
|
3460
|
+
reasons?: Array<string>;
|
|
3461
|
+
};
|
|
3462
|
+
|
|
3463
|
+
/**
|
|
3464
|
+
* Type of branch requiring review
|
|
3465
|
+
*/
|
|
3466
|
+
export type branchType =
|
|
3467
|
+
| 'DUPLICATE'
|
|
3468
|
+
| 'PAYEE_MATCH'
|
|
3469
|
+
| 'RULE_MATCH'
|
|
3470
|
+
| 'ACCOUNT_VALIDATION'
|
|
3471
|
+
| 'PIPELINE_ERROR';
|
|
3472
|
+
|
|
3473
|
+
export type ImportResultDto = {
|
|
3474
|
+
/**
|
|
3475
|
+
* Number of successfully imported transactions
|
|
3476
|
+
*/
|
|
3477
|
+
imported: number;
|
|
3478
|
+
/**
|
|
3479
|
+
* Number of failed transactions
|
|
3480
|
+
*/
|
|
3481
|
+
failed: number;
|
|
3482
|
+
/**
|
|
3483
|
+
* Number of skipped transactions (high confidence duplicates, auto-skipped)
|
|
3484
|
+
*/
|
|
3485
|
+
skipped: number;
|
|
3486
|
+
/**
|
|
3487
|
+
* Number of transactions pending review (medium confidence duplicates)
|
|
3488
|
+
*/
|
|
3489
|
+
pendingReview: number;
|
|
3490
|
+
/**
|
|
3491
|
+
* Array of error details for failed transactions
|
|
3492
|
+
*/
|
|
3493
|
+
errors: Array<ImportErrorDto>;
|
|
3047
3494
|
/**
|
|
3048
3495
|
* Array of transactions pending review with preview data. Contains essential information for displaying in the import preview UI.
|
|
3049
3496
|
*/
|
|
@@ -3411,6 +3858,8 @@ export type SupportedProvidersResponseDto = {
|
|
|
3411
3858
|
|
|
3412
3859
|
export type ParserTelemetryReportDto = unknown;
|
|
3413
3860
|
|
|
3861
|
+
export type UncoveredFormatMissDto = unknown;
|
|
3862
|
+
|
|
3414
3863
|
export type ProcessNlpDto = {
|
|
3415
3864
|
/**
|
|
3416
3865
|
* Natural language text describing a transaction (Chinese)
|
|
@@ -3986,17 +4435,6 @@ export type liabilitySubType = 'borrow' | 'repay';
|
|
|
3986
4435
|
*/
|
|
3987
4436
|
export type equitySubType = 'opening' | 'adjustment';
|
|
3988
4437
|
|
|
3989
|
-
export type BalanceByCurrencyDto = {
|
|
3990
|
-
/**
|
|
3991
|
-
* ISO 4217 currency code
|
|
3992
|
-
*/
|
|
3993
|
-
currency: string;
|
|
3994
|
-
/**
|
|
3995
|
-
* Balance amount
|
|
3996
|
-
*/
|
|
3997
|
-
balance: string;
|
|
3998
|
-
};
|
|
3999
|
-
|
|
4000
4438
|
export type NetWorthByCurrencyDto = {
|
|
4001
4439
|
/**
|
|
4002
4440
|
* Net worth by currency
|
|
@@ -4037,21 +4475,6 @@ export type ConvertedNetWorthDto = {
|
|
|
4037
4475
|
};
|
|
4038
4476
|
};
|
|
4039
4477
|
|
|
4040
|
-
export type ExchangeRateWarningDto = {
|
|
4041
|
-
/**
|
|
4042
|
-
* Warning type
|
|
4043
|
-
*/
|
|
4044
|
-
type: string;
|
|
4045
|
-
/**
|
|
4046
|
-
* Currency without exchange rate
|
|
4047
|
-
*/
|
|
4048
|
-
currency: string;
|
|
4049
|
-
/**
|
|
4050
|
-
* Total amount affected
|
|
4051
|
-
*/
|
|
4052
|
-
totalAmount: string;
|
|
4053
|
-
};
|
|
4054
|
-
|
|
4055
4478
|
export type NetWorthResponseDto = {
|
|
4056
4479
|
/**
|
|
4057
4480
|
* Total net worth (assets - liabilities, converted to base currency)
|
|
@@ -4116,6 +4539,10 @@ export type AccountItemDto = {
|
|
|
4116
4539
|
* Currency code
|
|
4117
4540
|
*/
|
|
4118
4541
|
currency: string;
|
|
4542
|
+
/**
|
|
4543
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
4544
|
+
*/
|
|
4545
|
+
convertedBalance?: string;
|
|
4119
4546
|
};
|
|
4120
4547
|
|
|
4121
4548
|
export type PlatformGroupDto = {
|
|
@@ -4132,9 +4559,40 @@ export type PlatformGroupDto = {
|
|
|
4132
4559
|
*/
|
|
4133
4560
|
accounts: Array<AccountItemDto>;
|
|
4134
4561
|
/**
|
|
4135
|
-
*
|
|
4562
|
+
* FX-converted total balance in base currency
|
|
4136
4563
|
*/
|
|
4137
4564
|
totalBalance: string;
|
|
4565
|
+
/**
|
|
4566
|
+
* Raw (unconverted) balances grouped by currency
|
|
4567
|
+
*/
|
|
4568
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
4569
|
+
/**
|
|
4570
|
+
* Converted balance in base currency (omitted when no currency is convertible)
|
|
4571
|
+
*/
|
|
4572
|
+
convertedBalance?: string;
|
|
4573
|
+
/**
|
|
4574
|
+
* Share of the grand converted total (0-100); 0 when grand total is 0
|
|
4575
|
+
*/
|
|
4576
|
+
sharePct: number;
|
|
4577
|
+
};
|
|
4578
|
+
|
|
4579
|
+
export type AccountExchangeRateWarningDto = {
|
|
4580
|
+
/**
|
|
4581
|
+
* Warning type
|
|
4582
|
+
*/
|
|
4583
|
+
type: string;
|
|
4584
|
+
/**
|
|
4585
|
+
* Currency without exchange rate
|
|
4586
|
+
*/
|
|
4587
|
+
currency: string;
|
|
4588
|
+
/**
|
|
4589
|
+
* Affected account paths
|
|
4590
|
+
*/
|
|
4591
|
+
accounts: Array<string>;
|
|
4592
|
+
/**
|
|
4593
|
+
* Total amount in this currency
|
|
4594
|
+
*/
|
|
4595
|
+
totalAmount: string;
|
|
4138
4596
|
};
|
|
4139
4597
|
|
|
4140
4598
|
export type AccountsSummaryDto = {
|
|
@@ -4146,6 +4604,14 @@ export type AccountsSummaryDto = {
|
|
|
4146
4604
|
* Total number of platforms
|
|
4147
4605
|
*/
|
|
4148
4606
|
totalPlatforms: number;
|
|
4607
|
+
/**
|
|
4608
|
+
* Base currency for conversion
|
|
4609
|
+
*/
|
|
4610
|
+
baseCurrency: string;
|
|
4611
|
+
/**
|
|
4612
|
+
* Per-account exchange rate warnings
|
|
4613
|
+
*/
|
|
4614
|
+
warnings?: Array<AccountExchangeRateWarningDto>;
|
|
4149
4615
|
};
|
|
4150
4616
|
|
|
4151
4617
|
export type AccountsResponseDto = {
|
|
@@ -4180,6 +4646,10 @@ export type AccountItemWithAssetClassDto = {
|
|
|
4180
4646
|
* Currency code
|
|
4181
4647
|
*/
|
|
4182
4648
|
currency: string;
|
|
4649
|
+
/**
|
|
4650
|
+
* FX-converted balance in base currency; omitted when not convertible
|
|
4651
|
+
*/
|
|
4652
|
+
convertedBalance?: string;
|
|
4183
4653
|
/**
|
|
4184
4654
|
* Asset class
|
|
4185
4655
|
*/
|
|
@@ -4196,8 +4666,21 @@ export type AccountItemWithAssetClassDto = {
|
|
|
4196
4666
|
* Risk level
|
|
4197
4667
|
*/
|
|
4198
4668
|
riskLevel?: string;
|
|
4669
|
+
/**
|
|
4670
|
+
* ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
|
|
4671
|
+
*/
|
|
4672
|
+
source?: 'USER_META' | 'FIAT_CURRENCY' | 'OPENBB_MAPPING' | 'FALLBACK';
|
|
4199
4673
|
};
|
|
4200
4674
|
|
|
4675
|
+
/**
|
|
4676
|
+
* ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
|
|
4677
|
+
*/
|
|
4678
|
+
export type source2 =
|
|
4679
|
+
| 'USER_META'
|
|
4680
|
+
| 'FIAT_CURRENCY'
|
|
4681
|
+
| 'OPENBB_MAPPING'
|
|
4682
|
+
| 'FALLBACK';
|
|
4683
|
+
|
|
4201
4684
|
export type AssetClassGroupDto = {
|
|
4202
4685
|
/**
|
|
4203
4686
|
* Asset class name
|
|
@@ -4248,25 +4731,6 @@ export type assetClass =
|
|
|
4248
4731
|
| 'REAL_ESTATE'
|
|
4249
4732
|
| 'INDEX';
|
|
4250
4733
|
|
|
4251
|
-
export type AccountExchangeRateWarningDto = {
|
|
4252
|
-
/**
|
|
4253
|
-
* Warning type
|
|
4254
|
-
*/
|
|
4255
|
-
type: string;
|
|
4256
|
-
/**
|
|
4257
|
-
* Currency without exchange rate
|
|
4258
|
-
*/
|
|
4259
|
-
currency: string;
|
|
4260
|
-
/**
|
|
4261
|
-
* Affected account paths
|
|
4262
|
-
*/
|
|
4263
|
-
accounts: Array<string>;
|
|
4264
|
-
/**
|
|
4265
|
-
* Total amount in this currency
|
|
4266
|
-
*/
|
|
4267
|
-
totalAmount: string;
|
|
4268
|
-
};
|
|
4269
|
-
|
|
4270
4734
|
export type AssetClassSummaryDto = {
|
|
4271
4735
|
/**
|
|
4272
4736
|
* Total number of accounts
|
|
@@ -4284,6 +4748,12 @@ export type AssetClassSummaryDto = {
|
|
|
4284
4748
|
* Exchange rate warnings
|
|
4285
4749
|
*/
|
|
4286
4750
|
warnings?: Array<AccountExchangeRateWarningDto>;
|
|
4751
|
+
/**
|
|
4752
|
+
* ADR-0105 §4 fallback provenance stats (holding level only). valueRatio is the grey-area share of total converted value; count is the number of source=FALLBACK holdings.
|
|
4753
|
+
*/
|
|
4754
|
+
fallback?: {
|
|
4755
|
+
[key: string]: unknown;
|
|
4756
|
+
};
|
|
4287
4757
|
};
|
|
4288
4758
|
|
|
4289
4759
|
export type AssetClassAccountsResponseDto = {
|
|
@@ -4295,6 +4765,56 @@ export type AssetClassAccountsResponseDto = {
|
|
|
4295
4765
|
* Summary statistics
|
|
4296
4766
|
*/
|
|
4297
4767
|
summary: AssetClassSummaryDto;
|
|
4768
|
+
/**
|
|
4769
|
+
* ADR-0105 §6 holding-level grey-area bucket (source=FALLBACK holdings peeled out of groups). Present only for groupBy=holdingAssetClass when FALLBACK holdings exist.
|
|
4770
|
+
*/
|
|
4771
|
+
uncategorized?: AssetClassGroupDto;
|
|
4772
|
+
};
|
|
4773
|
+
|
|
4774
|
+
export type HoldingAssetClassAccountSliceDto = {
|
|
4775
|
+
/**
|
|
4776
|
+
* Account ID
|
|
4777
|
+
*/
|
|
4778
|
+
accountId: string;
|
|
4779
|
+
/**
|
|
4780
|
+
* Full account path
|
|
4781
|
+
*/
|
|
4782
|
+
accountPath: string;
|
|
4783
|
+
/**
|
|
4784
|
+
* Currency of the holding with the largest converted base value; undefined when no holding is convertible
|
|
4785
|
+
*/
|
|
4786
|
+
accountCurrency?: string;
|
|
4787
|
+
/**
|
|
4788
|
+
* Account's market value in base currency (Σ converted holdings; grey bucket included)
|
|
4789
|
+
*/
|
|
4790
|
+
marketValueBase: string;
|
|
4791
|
+
/**
|
|
4792
|
+
* Share of the global total (0-100). 0 when globalTotal is zero (no NaN/Infinity).
|
|
4793
|
+
*/
|
|
4794
|
+
shareOfTotalPct: number;
|
|
4795
|
+
/**
|
|
4796
|
+
* Per-account asset-class breakdown
|
|
4797
|
+
*/
|
|
4798
|
+
groups: Array<AssetClassGroupDto>;
|
|
4799
|
+
/**
|
|
4800
|
+
* Per-account grey bucket (source=FALLBACK holdings, incl. broker cash)
|
|
4801
|
+
*/
|
|
4802
|
+
uncategorized?: AssetClassGroupDto;
|
|
4803
|
+
/**
|
|
4804
|
+
* Every holding row for this account (account ID in each row’s `id` field)
|
|
4805
|
+
*/
|
|
4806
|
+
holdings: Array<AccountItemWithAssetClassDto>;
|
|
4807
|
+
};
|
|
4808
|
+
|
|
4809
|
+
export type HoldingAssetClassCrossAccountResponseDto = {
|
|
4810
|
+
/**
|
|
4811
|
+
* Merged cross-account holding aggregation
|
|
4812
|
+
*/
|
|
4813
|
+
global: AssetClassAccountsResponseDto;
|
|
4814
|
+
/**
|
|
4815
|
+
* Per-account slices
|
|
4816
|
+
*/
|
|
4817
|
+
byAccount: Array<HoldingAssetClassAccountSliceDto>;
|
|
4298
4818
|
};
|
|
4299
4819
|
|
|
4300
4820
|
export type CashFlowByCurrencyDto = {
|
|
@@ -4376,6 +4896,258 @@ export type CashFlowResponseDto = {
|
|
|
4376
4896
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4377
4897
|
};
|
|
4378
4898
|
|
|
4899
|
+
export type CategoryGroupDto = {
|
|
4900
|
+
/**
|
|
4901
|
+
* Functional category (account-path Group segment); regional and universal account paths merge under it
|
|
4902
|
+
*/
|
|
4903
|
+
category: string;
|
|
4904
|
+
/**
|
|
4905
|
+
* Converted total for this category in base currency (expense amount when flow=expense, income amount when flow=income)
|
|
4906
|
+
*/
|
|
4907
|
+
totalExpense: string;
|
|
4908
|
+
/**
|
|
4909
|
+
* Share of grand total (0-100); 0 when grand total is 0
|
|
4910
|
+
*/
|
|
4911
|
+
sharePct: number;
|
|
4912
|
+
/**
|
|
4913
|
+
* Raw (unconverted) expense per currency
|
|
4914
|
+
*/
|
|
4915
|
+
balanceByCurrency: Array<BalanceByCurrencyDto>;
|
|
4916
|
+
/**
|
|
4917
|
+
* Converted total in base currency (omitted when FX missing for all currencies in this category)
|
|
4918
|
+
*/
|
|
4919
|
+
convertedBalance?: string;
|
|
4920
|
+
};
|
|
4921
|
+
|
|
4922
|
+
export type ExpensesByCategorySummaryDto = {
|
|
4923
|
+
/**
|
|
4924
|
+
* Total across all categories, converted (convertible categories only); expense totals when flow=expense, income totals when flow=income
|
|
4925
|
+
*/
|
|
4926
|
+
totalExpense: string;
|
|
4927
|
+
/**
|
|
4928
|
+
* Number of categories
|
|
4929
|
+
*/
|
|
4930
|
+
categoryCount: number;
|
|
4931
|
+
};
|
|
4932
|
+
|
|
4933
|
+
export type ExpensesByCategoryResponseDto = {
|
|
4934
|
+
/**
|
|
4935
|
+
* Period requested
|
|
4936
|
+
*/
|
|
4937
|
+
period: string;
|
|
4938
|
+
/**
|
|
4939
|
+
* Base currency for converted values
|
|
4940
|
+
*/
|
|
4941
|
+
baseCurrency: string;
|
|
4942
|
+
/**
|
|
4943
|
+
* Expense groups by functional category, sorted by converted total desc
|
|
4944
|
+
*/
|
|
4945
|
+
groups: Array<CategoryGroupDto>;
|
|
4946
|
+
/**
|
|
4947
|
+
* Summary statistics
|
|
4948
|
+
*/
|
|
4949
|
+
summary: ExpensesByCategorySummaryDto;
|
|
4950
|
+
/**
|
|
4951
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
4952
|
+
*/
|
|
4953
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
4954
|
+
};
|
|
4955
|
+
|
|
4956
|
+
export type MonetaryDto = {
|
|
4957
|
+
/**
|
|
4958
|
+
* Amount (Decimal string)
|
|
4959
|
+
*/
|
|
4960
|
+
amount: string;
|
|
4961
|
+
/**
|
|
4962
|
+
* ISO 4217 currency
|
|
4963
|
+
*/
|
|
4964
|
+
currency: string;
|
|
4965
|
+
/**
|
|
4966
|
+
* Converted to user base currency (Decimal string)
|
|
4967
|
+
*/
|
|
4968
|
+
baseCcyEquivalent?: {
|
|
4969
|
+
[key: string]: unknown;
|
|
4970
|
+
} | null;
|
|
4971
|
+
};
|
|
4972
|
+
|
|
4973
|
+
export type CurrentPriceDto = {
|
|
4974
|
+
/**
|
|
4975
|
+
* Price amount (Decimal string)
|
|
4976
|
+
*/
|
|
4977
|
+
amount: string;
|
|
4978
|
+
/**
|
|
4979
|
+
* Price currency (ISO 4217)
|
|
4980
|
+
*/
|
|
4981
|
+
currency: string;
|
|
4982
|
+
/**
|
|
4983
|
+
* Price date (ISO 8601)
|
|
4984
|
+
*/
|
|
4985
|
+
date: string;
|
|
4986
|
+
/**
|
|
4987
|
+
* Price source
|
|
4988
|
+
*/
|
|
4989
|
+
source: 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
|
|
4990
|
+
};
|
|
4991
|
+
|
|
4992
|
+
/**
|
|
4993
|
+
* Price source
|
|
4994
|
+
*/
|
|
4995
|
+
export type source3 = 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
|
|
4996
|
+
|
|
4997
|
+
export type FxRateDto = {
|
|
4998
|
+
from: string;
|
|
4999
|
+
to: string;
|
|
5000
|
+
/**
|
|
5001
|
+
* FX rate (Decimal string)
|
|
5002
|
+
*/
|
|
5003
|
+
rate: string;
|
|
5004
|
+
/**
|
|
5005
|
+
* Rate date (ISO 8601)
|
|
5006
|
+
*/
|
|
5007
|
+
date: string;
|
|
5008
|
+
};
|
|
5009
|
+
|
|
5010
|
+
export type HoldingPnlRowDto = {
|
|
5011
|
+
/**
|
|
5012
|
+
* Account UUID
|
|
5013
|
+
*/
|
|
5014
|
+
accountId: string;
|
|
5015
|
+
/**
|
|
5016
|
+
* Full account path
|
|
5017
|
+
*/
|
|
5018
|
+
accountPath: string;
|
|
5019
|
+
/**
|
|
5020
|
+
* Account settlement currency (ISO 4217), from cost currency
|
|
5021
|
+
*/
|
|
5022
|
+
accountCcy?: {
|
|
5023
|
+
[key: string]: unknown;
|
|
5024
|
+
} | null;
|
|
5025
|
+
/**
|
|
5026
|
+
* Broker type derived from Platform.type
|
|
5027
|
+
*/
|
|
5028
|
+
brokerType?: {
|
|
5029
|
+
[key: string]: unknown;
|
|
5030
|
+
} | null;
|
|
5031
|
+
/**
|
|
5032
|
+
* Commodity symbol
|
|
5033
|
+
*/
|
|
5034
|
+
symbol: string;
|
|
5035
|
+
/**
|
|
5036
|
+
* Chart segment token (libs/common resolver)
|
|
5037
|
+
*/
|
|
5038
|
+
chartToken: 'equity' | 'fund' | 'bond' | 'cash' | 'other';
|
|
5039
|
+
assetClass: string;
|
|
5040
|
+
assetSubClass?: {
|
|
5041
|
+
[key: string]: unknown;
|
|
5042
|
+
} | null;
|
|
5043
|
+
/**
|
|
5044
|
+
* Net held units (Decimal string)
|
|
5045
|
+
*/
|
|
5046
|
+
units: string;
|
|
5047
|
+
/**
|
|
5048
|
+
* Average cost per unit; null when cost currency conflicts or no cost
|
|
5049
|
+
*/
|
|
5050
|
+
averageCostPerUnit?: MonetaryDto | null;
|
|
5051
|
+
/**
|
|
5052
|
+
* Cost basis of held units
|
|
5053
|
+
*/
|
|
5054
|
+
costBasis?: MonetaryDto | null;
|
|
5055
|
+
/**
|
|
5056
|
+
* Market value at asOf price
|
|
5057
|
+
*/
|
|
5058
|
+
marketValue?: MonetaryDto | null;
|
|
5059
|
+
/**
|
|
5060
|
+
* Price used for market value
|
|
5061
|
+
*/
|
|
5062
|
+
currentPrice?: CurrentPriceDto | null;
|
|
5063
|
+
/**
|
|
5064
|
+
* Unrealized P&L in base currency (Decimal string); null when any FX/price missing
|
|
5065
|
+
*/
|
|
5066
|
+
unrealizedPnlBase?: {
|
|
5067
|
+
[key: string]: unknown;
|
|
5068
|
+
} | null;
|
|
5069
|
+
/**
|
|
5070
|
+
* Unrealized P&L % (Decimal string)
|
|
5071
|
+
*/
|
|
5072
|
+
unrealizedPnlPct?: {
|
|
5073
|
+
[key: string]: unknown;
|
|
5074
|
+
} | null;
|
|
5075
|
+
/**
|
|
5076
|
+
* Historical FX rate applied to cost basis
|
|
5077
|
+
*/
|
|
5078
|
+
costFxRate?: FxRateDto | null;
|
|
5079
|
+
/**
|
|
5080
|
+
* FX rate applied to market value
|
|
5081
|
+
*/
|
|
5082
|
+
marketFxRate?: FxRateDto | null;
|
|
5083
|
+
/**
|
|
5084
|
+
* Share of invested assets % (Decimal string); only for invested chartTokens
|
|
5085
|
+
*/
|
|
5086
|
+
pctOfInvestedAssets?: {
|
|
5087
|
+
[key: string]: unknown;
|
|
5088
|
+
} | null;
|
|
5089
|
+
/**
|
|
5090
|
+
* Cumulative realized P&L on sold lots (asOf-date cutoff); null when the method has no applicable sells, a sell lacks a price, or any required FX rate is missing (never-mix). When a sell spans multiple currencies (cross-currency sale), amount and currency reflect the base currency; baseCcyEquivalent is always the authoritative dual-FX figure
|
|
5091
|
+
*/
|
|
5092
|
+
realizedPnl?: MonetaryDto | null;
|
|
5093
|
+
};
|
|
5094
|
+
|
|
5095
|
+
/**
|
|
5096
|
+
* Chart segment token (libs/common resolver)
|
|
5097
|
+
*/
|
|
5098
|
+
export type chartToken = 'equity' | 'fund' | 'bond' | 'cash' | 'other';
|
|
5099
|
+
|
|
5100
|
+
export type HoldingPnlWarningDto = {
|
|
5101
|
+
/**
|
|
5102
|
+
* Warning type
|
|
5103
|
+
*/
|
|
5104
|
+
type:
|
|
5105
|
+
| 'MISSING_COST_FX_RATE'
|
|
5106
|
+
| 'MISSING_MARKET_FX_RATE'
|
|
5107
|
+
| 'MISSING_SALE_PRICE'
|
|
5108
|
+
| 'MISSING_REALIZED_FX_RATE'
|
|
5109
|
+
| 'OVERSOLD_LOTS'
|
|
5110
|
+
| 'NO_PRICE'
|
|
5111
|
+
| 'MIXED_COST_CURRENCY';
|
|
5112
|
+
symbol?: {
|
|
5113
|
+
[key: string]: unknown;
|
|
5114
|
+
} | null;
|
|
5115
|
+
accountId?: {
|
|
5116
|
+
[key: string]: unknown;
|
|
5117
|
+
} | null;
|
|
5118
|
+
currency?: {
|
|
5119
|
+
[key: string]: unknown;
|
|
5120
|
+
} | null;
|
|
5121
|
+
};
|
|
5122
|
+
|
|
5123
|
+
/**
|
|
5124
|
+
* Warning type
|
|
5125
|
+
*/
|
|
5126
|
+
export type type4 =
|
|
5127
|
+
| 'MISSING_COST_FX_RATE'
|
|
5128
|
+
| 'MISSING_MARKET_FX_RATE'
|
|
5129
|
+
| 'MISSING_SALE_PRICE'
|
|
5130
|
+
| 'MISSING_REALIZED_FX_RATE'
|
|
5131
|
+
| 'OVERSOLD_LOTS'
|
|
5132
|
+
| 'NO_PRICE'
|
|
5133
|
+
| 'MIXED_COST_CURRENCY';
|
|
5134
|
+
|
|
5135
|
+
export type HoldingPnlResponseDto = {
|
|
5136
|
+
asOfDate: string;
|
|
5137
|
+
baseCurrency: string;
|
|
5138
|
+
/**
|
|
5139
|
+
* Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
|
|
5140
|
+
*/
|
|
5141
|
+
method: 'average' | 'FIFO';
|
|
5142
|
+
rows: Array<HoldingPnlRowDto>;
|
|
5143
|
+
warnings: Array<HoldingPnlWarningDto>;
|
|
5144
|
+
};
|
|
5145
|
+
|
|
5146
|
+
/**
|
|
5147
|
+
* Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
|
|
5148
|
+
*/
|
|
5149
|
+
export type method = 'average' | 'FIFO';
|
|
5150
|
+
|
|
4379
5151
|
export type CurrencyBalanceDto = {
|
|
4380
5152
|
/**
|
|
4381
5153
|
* ISO 4217 currency code
|
|
@@ -4403,56 +5175,133 @@ export type TimeSeriesPointDto = {
|
|
|
4403
5175
|
[key: string]: unknown;
|
|
4404
5176
|
};
|
|
4405
5177
|
/**
|
|
4406
|
-
*
|
|
5178
|
+
* Total assets at this date (in base currency)
|
|
5179
|
+
*/
|
|
5180
|
+
assets?: string;
|
|
5181
|
+
/**
|
|
5182
|
+
* Total liabilities at this date (in base currency)
|
|
5183
|
+
*/
|
|
5184
|
+
liabilities?: string;
|
|
5185
|
+
/**
|
|
5186
|
+
* Multi-currency breakdown for this point
|
|
5187
|
+
*/
|
|
5188
|
+
byCurrency?: Array<CurrencyBalanceDto>;
|
|
5189
|
+
};
|
|
5190
|
+
|
|
5191
|
+
export type TrendSummaryDto = {
|
|
5192
|
+
/**
|
|
5193
|
+
* Value at start of period
|
|
5194
|
+
*/
|
|
5195
|
+
startValue: string;
|
|
5196
|
+
/**
|
|
5197
|
+
* Value at end of period
|
|
5198
|
+
*/
|
|
5199
|
+
endValue: string;
|
|
5200
|
+
/**
|
|
5201
|
+
* Total change over period
|
|
5202
|
+
*/
|
|
5203
|
+
totalChange: string;
|
|
5204
|
+
/**
|
|
5205
|
+
* Total change percentage
|
|
5206
|
+
*/
|
|
5207
|
+
totalChangePercentage: string;
|
|
5208
|
+
};
|
|
5209
|
+
|
|
5210
|
+
export type MultiCurrencyPointDto = {
|
|
5211
|
+
/**
|
|
5212
|
+
* Date in YYYY-MM-DD format
|
|
5213
|
+
*/
|
|
5214
|
+
date: string;
|
|
5215
|
+
/**
|
|
5216
|
+
* Balances by currency
|
|
5217
|
+
*/
|
|
5218
|
+
byCurrency: Array<CurrencyBalanceDto>;
|
|
5219
|
+
};
|
|
5220
|
+
|
|
5221
|
+
export type PortfolioTrendsResponseDto = {
|
|
5222
|
+
/**
|
|
5223
|
+
* Time series data points
|
|
5224
|
+
*/
|
|
5225
|
+
series: Array<TimeSeriesPointDto>;
|
|
5226
|
+
/**
|
|
5227
|
+
* Period summary
|
|
5228
|
+
*/
|
|
5229
|
+
summary: TrendSummaryDto;
|
|
5230
|
+
/**
|
|
5231
|
+
* Period requested
|
|
5232
|
+
*/
|
|
5233
|
+
period: string;
|
|
5234
|
+
/**
|
|
5235
|
+
* Data granularity
|
|
5236
|
+
*/
|
|
5237
|
+
granularity: string;
|
|
5238
|
+
/**
|
|
5239
|
+
* Base currency for converted values
|
|
5240
|
+
*/
|
|
5241
|
+
currency: string;
|
|
5242
|
+
/**
|
|
5243
|
+
* Multi-currency time series (each point has currency breakdown)
|
|
5244
|
+
*/
|
|
5245
|
+
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
5246
|
+
/**
|
|
5247
|
+
* Exchange rate warnings
|
|
4407
5248
|
*/
|
|
4408
|
-
|
|
5249
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
4409
5250
|
};
|
|
4410
5251
|
|
|
4411
|
-
export type
|
|
5252
|
+
export type CashFlowPointDto = {
|
|
4412
5253
|
/**
|
|
4413
|
-
*
|
|
5254
|
+
* Month key (YYYY-MM)
|
|
4414
5255
|
*/
|
|
4415
|
-
|
|
5256
|
+
month: string;
|
|
4416
5257
|
/**
|
|
4417
|
-
*
|
|
5258
|
+
* Income in base currency (absolute, converted)
|
|
4418
5259
|
*/
|
|
4419
|
-
|
|
5260
|
+
income: string;
|
|
4420
5261
|
/**
|
|
4421
|
-
*
|
|
5262
|
+
* Expense in base currency (absolute, converted)
|
|
4422
5263
|
*/
|
|
4423
|
-
|
|
5264
|
+
expense: string;
|
|
4424
5265
|
/**
|
|
4425
|
-
*
|
|
5266
|
+
* netSavings = income − expense (savings positive)
|
|
4426
5267
|
*/
|
|
4427
|
-
|
|
5268
|
+
netSavings: string;
|
|
4428
5269
|
};
|
|
4429
5270
|
|
|
4430
|
-
export type
|
|
5271
|
+
export type CashFlowTrendSummaryDto = {
|
|
4431
5272
|
/**
|
|
4432
|
-
*
|
|
5273
|
+
* Total income across the period
|
|
4433
5274
|
*/
|
|
4434
|
-
|
|
5275
|
+
totalIncome: string;
|
|
4435
5276
|
/**
|
|
4436
|
-
*
|
|
5277
|
+
* Total expense across the period
|
|
4437
5278
|
*/
|
|
4438
|
-
|
|
5279
|
+
totalExpense: string;
|
|
5280
|
+
/**
|
|
5281
|
+
* income − expense across the period
|
|
5282
|
+
*/
|
|
5283
|
+
totalNetSavings: string;
|
|
5284
|
+
/**
|
|
5285
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
5286
|
+
*/
|
|
5287
|
+
averageMonthlyNetSavings: string;
|
|
4439
5288
|
};
|
|
4440
5289
|
|
|
4441
|
-
export type
|
|
5290
|
+
export type CashFlowTrendsResponseDto = {
|
|
4442
5291
|
/**
|
|
4443
|
-
*
|
|
5292
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
4444
5293
|
*/
|
|
4445
|
-
series: Array<
|
|
5294
|
+
series: Array<CashFlowPointDto>;
|
|
4446
5295
|
/**
|
|
4447
|
-
* Period
|
|
5296
|
+
* Period totals
|
|
4448
5297
|
*/
|
|
4449
|
-
summary:
|
|
5298
|
+
summary: CashFlowTrendSummaryDto;
|
|
4450
5299
|
/**
|
|
4451
5300
|
* Period requested
|
|
4452
5301
|
*/
|
|
4453
5302
|
period: string;
|
|
4454
5303
|
/**
|
|
4455
|
-
* Data granularity
|
|
5304
|
+
* Data granularity (v1 returns month buckets)
|
|
4456
5305
|
*/
|
|
4457
5306
|
granularity: string;
|
|
4458
5307
|
/**
|
|
@@ -4460,11 +5309,7 @@ export type PortfolioTrendsResponseDto = {
|
|
|
4460
5309
|
*/
|
|
4461
5310
|
currency: string;
|
|
4462
5311
|
/**
|
|
4463
|
-
*
|
|
4464
|
-
*/
|
|
4465
|
-
byCurrency?: Array<MultiCurrencyPointDto>;
|
|
4466
|
-
/**
|
|
4467
|
-
* Exchange rate warnings
|
|
5312
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
4468
5313
|
*/
|
|
4469
5314
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4470
5315
|
};
|
|
@@ -4655,6 +5500,10 @@ export type TransactionControllerListData = {
|
|
|
4655
5500
|
* Filter by account ID (transactions with postings to this account)
|
|
4656
5501
|
*/
|
|
4657
5502
|
accountId?: string;
|
|
5503
|
+
/**
|
|
5504
|
+
* Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
|
|
5505
|
+
*/
|
|
5506
|
+
category?: string;
|
|
4658
5507
|
/**
|
|
4659
5508
|
* Filter by start date (inclusive), format: YYYY-MM-DD
|
|
4660
5509
|
*/
|
|
@@ -5181,6 +6030,103 @@ export type CommodityControllerBulkCreateData = {
|
|
|
5181
6030
|
|
|
5182
6031
|
export type CommodityControllerBulkCreateResponse = Array<CommodityResponseDto>;
|
|
5183
6032
|
|
|
6033
|
+
export type PriceControllerCreateData = {
|
|
6034
|
+
/**
|
|
6035
|
+
* Region code for tenant context
|
|
6036
|
+
*/
|
|
6037
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6038
|
+
requestBody: CreateBeanPriceDto;
|
|
6039
|
+
};
|
|
6040
|
+
|
|
6041
|
+
export type PriceControllerCreateResponse = PriceResponseDto;
|
|
6042
|
+
|
|
6043
|
+
export type PriceControllerFindAllData = {
|
|
6044
|
+
/**
|
|
6045
|
+
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6046
|
+
*/
|
|
6047
|
+
currency?: string;
|
|
6048
|
+
/**
|
|
6049
|
+
* Filter prices from this date (ISO 8601 format)
|
|
6050
|
+
*/
|
|
6051
|
+
dateFrom?: string;
|
|
6052
|
+
/**
|
|
6053
|
+
* Filter prices to this date (ISO 8601 format)
|
|
6054
|
+
*/
|
|
6055
|
+
dateTo?: string;
|
|
6056
|
+
/**
|
|
6057
|
+
* Number of items per page (default: 20, max: 100)
|
|
6058
|
+
*/
|
|
6059
|
+
limit?: number;
|
|
6060
|
+
/**
|
|
6061
|
+
* Page number for pagination (default: 1)
|
|
6062
|
+
*/
|
|
6063
|
+
page?: number;
|
|
6064
|
+
/**
|
|
6065
|
+
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
6066
|
+
*/
|
|
6067
|
+
quoteCurrency?: string;
|
|
6068
|
+
/**
|
|
6069
|
+
* Region code for tenant context
|
|
6070
|
+
*/
|
|
6071
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6072
|
+
/**
|
|
6073
|
+
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
6074
|
+
*/
|
|
6075
|
+
search?: string;
|
|
6076
|
+
};
|
|
6077
|
+
|
|
6078
|
+
export type PriceControllerFindAllResponse = PriceListResponseDto;
|
|
6079
|
+
|
|
6080
|
+
export type PriceControllerFindOneData = {
|
|
6081
|
+
/**
|
|
6082
|
+
* Price ID
|
|
6083
|
+
*/
|
|
6084
|
+
id: string;
|
|
6085
|
+
/**
|
|
6086
|
+
* Region code for tenant context
|
|
6087
|
+
*/
|
|
6088
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6089
|
+
};
|
|
6090
|
+
|
|
6091
|
+
export type PriceControllerFindOneResponse = PriceResponseDto;
|
|
6092
|
+
|
|
6093
|
+
export type PriceControllerUpdateData = {
|
|
6094
|
+
/**
|
|
6095
|
+
* Price ID
|
|
6096
|
+
*/
|
|
6097
|
+
id: string;
|
|
6098
|
+
/**
|
|
6099
|
+
* Region code for tenant context
|
|
6100
|
+
*/
|
|
6101
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6102
|
+
requestBody: UpdateBeanPriceDto;
|
|
6103
|
+
};
|
|
6104
|
+
|
|
6105
|
+
export type PriceControllerUpdateResponse = PriceResponseDto;
|
|
6106
|
+
|
|
6107
|
+
export type PriceControllerDeleteData = {
|
|
6108
|
+
/**
|
|
6109
|
+
* Price ID
|
|
6110
|
+
*/
|
|
6111
|
+
id: string;
|
|
6112
|
+
/**
|
|
6113
|
+
* Region code for tenant context
|
|
6114
|
+
*/
|
|
6115
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6116
|
+
};
|
|
6117
|
+
|
|
6118
|
+
export type PriceControllerDeleteResponse = void;
|
|
6119
|
+
|
|
6120
|
+
export type PriceControllerBulkCreateData = {
|
|
6121
|
+
/**
|
|
6122
|
+
* Region code for tenant context
|
|
6123
|
+
*/
|
|
6124
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6125
|
+
requestBody: Array<string>;
|
|
6126
|
+
};
|
|
6127
|
+
|
|
6128
|
+
export type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
|
|
6129
|
+
|
|
5184
6130
|
export type RecurringRuleControllerCreateData = {
|
|
5185
6131
|
/**
|
|
5186
6132
|
* Region code for tenant context
|
|
@@ -5646,6 +6592,149 @@ export type PropertyControllerDeleteData = {
|
|
|
5646
6592
|
|
|
5647
6593
|
export type PropertyControllerDeleteResponse = void;
|
|
5648
6594
|
|
|
6595
|
+
export type EventControllerCreateData = {
|
|
6596
|
+
/**
|
|
6597
|
+
* Region code for tenant context (decorative for life events)
|
|
6598
|
+
*/
|
|
6599
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6600
|
+
requestBody: CreateBeanEventDto;
|
|
6601
|
+
};
|
|
6602
|
+
|
|
6603
|
+
export type EventControllerCreateResponse = EventResponseDto;
|
|
6604
|
+
|
|
6605
|
+
export type EventControllerFindAllData = {
|
|
6606
|
+
/**
|
|
6607
|
+
* Filter life events from this date (ISO 8601 format)
|
|
6608
|
+
*/
|
|
6609
|
+
from?: string;
|
|
6610
|
+
/**
|
|
6611
|
+
* Number of items per page (default: 20, max: 100)
|
|
6612
|
+
*/
|
|
6613
|
+
limit?: number;
|
|
6614
|
+
/**
|
|
6615
|
+
* Page number for pagination (default: 1)
|
|
6616
|
+
*/
|
|
6617
|
+
page?: number;
|
|
6618
|
+
/**
|
|
6619
|
+
* Search term for description (case-insensitive partial match)
|
|
6620
|
+
*/
|
|
6621
|
+
q?: string;
|
|
6622
|
+
/**
|
|
6623
|
+
* Region code for tenant context (decorative for life events)
|
|
6624
|
+
*/
|
|
6625
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6626
|
+
/**
|
|
6627
|
+
* Filter life events to this date (ISO 8601 format)
|
|
6628
|
+
*/
|
|
6629
|
+
to?: string;
|
|
6630
|
+
/**
|
|
6631
|
+
* Filter by life event type (exact match)
|
|
6632
|
+
*/
|
|
6633
|
+
type?: string;
|
|
6634
|
+
};
|
|
6635
|
+
|
|
6636
|
+
export type EventControllerFindAllResponse = EventListResponseDto;
|
|
6637
|
+
|
|
6638
|
+
export type EventControllerFindOneData = {
|
|
6639
|
+
/**
|
|
6640
|
+
* Life event ID
|
|
6641
|
+
*/
|
|
6642
|
+
id: string;
|
|
6643
|
+
/**
|
|
6644
|
+
* Region code for tenant context (decorative for life events)
|
|
6645
|
+
*/
|
|
6646
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6647
|
+
};
|
|
6648
|
+
|
|
6649
|
+
export type EventControllerFindOneResponse = EventResponseDto;
|
|
6650
|
+
|
|
6651
|
+
export type EventControllerUpdateData = {
|
|
6652
|
+
/**
|
|
6653
|
+
* Life event ID
|
|
6654
|
+
*/
|
|
6655
|
+
id: string;
|
|
6656
|
+
/**
|
|
6657
|
+
* Region code for tenant context (decorative for life events)
|
|
6658
|
+
*/
|
|
6659
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6660
|
+
requestBody: UpdateBeanEventDto;
|
|
6661
|
+
};
|
|
6662
|
+
|
|
6663
|
+
export type EventControllerUpdateResponse = EventResponseDto;
|
|
6664
|
+
|
|
6665
|
+
export type EventControllerDeleteData = {
|
|
6666
|
+
/**
|
|
6667
|
+
* Life event ID
|
|
6668
|
+
*/
|
|
6669
|
+
id: string;
|
|
6670
|
+
/**
|
|
6671
|
+
* Region code for tenant context (decorative for life events)
|
|
6672
|
+
*/
|
|
6673
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6674
|
+
};
|
|
6675
|
+
|
|
6676
|
+
export type EventControllerDeleteResponse = void;
|
|
6677
|
+
|
|
6678
|
+
export type EventControllerGetSliceData = {
|
|
6679
|
+
accountPattern: string;
|
|
6680
|
+
granularity: string;
|
|
6681
|
+
/**
|
|
6682
|
+
* Life event ID
|
|
6683
|
+
*/
|
|
6684
|
+
id: string;
|
|
6685
|
+
/**
|
|
6686
|
+
* Region code for tenant context (decorative for life events)
|
|
6687
|
+
*/
|
|
6688
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6689
|
+
};
|
|
6690
|
+
|
|
6691
|
+
export type EventControllerGetSliceResponse = unknown;
|
|
6692
|
+
|
|
6693
|
+
export type ReconciliationControllerComputeData = {
|
|
6694
|
+
/**
|
|
6695
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6696
|
+
*/
|
|
6697
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6698
|
+
requestBody: ComputeReconciliationDto;
|
|
6699
|
+
};
|
|
6700
|
+
|
|
6701
|
+
export type ReconciliationControllerComputeResponse =
|
|
6702
|
+
ReconciliationComputeResultDto;
|
|
6703
|
+
|
|
6704
|
+
export type ReconciliationControllerAssertData = {
|
|
6705
|
+
/**
|
|
6706
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6707
|
+
*/
|
|
6708
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6709
|
+
requestBody: AssertReconciliationDto;
|
|
6710
|
+
};
|
|
6711
|
+
|
|
6712
|
+
export type ReconciliationControllerAssertResponse = ReconciliationRecordDto;
|
|
6713
|
+
|
|
6714
|
+
export type ReconciliationControllerPadData = {
|
|
6715
|
+
/**
|
|
6716
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6717
|
+
*/
|
|
6718
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6719
|
+
requestBody: PadReconciliationDto;
|
|
6720
|
+
};
|
|
6721
|
+
|
|
6722
|
+
export type ReconciliationControllerPadResponse = PadResultDto;
|
|
6723
|
+
|
|
6724
|
+
export type ReconciliationControllerHistoryData = {
|
|
6725
|
+
/**
|
|
6726
|
+
* BeanAccount id
|
|
6727
|
+
*/
|
|
6728
|
+
accountId: string;
|
|
6729
|
+
/**
|
|
6730
|
+
* Region code for tenant context (decorative for reconciliation)
|
|
6731
|
+
*/
|
|
6732
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6733
|
+
};
|
|
6734
|
+
|
|
6735
|
+
export type ReconciliationControllerHistoryResponse =
|
|
6736
|
+
Array<ReconciliationRecordDto>;
|
|
6737
|
+
|
|
5649
6738
|
export type ExportControllerExportBeancountResponse = unknown;
|
|
5650
6739
|
|
|
5651
6740
|
export type FileImportControllerImportFileData = {
|
|
@@ -5794,9 +6883,9 @@ export type ProviderSyncControllerSyncData = {
|
|
|
5794
6883
|
| 'beancount-direct'
|
|
5795
6884
|
| 'parsed-bill';
|
|
5796
6885
|
/**
|
|
5797
|
-
* Region code
|
|
6886
|
+
* Region code for tenant context
|
|
5798
6887
|
*/
|
|
5799
|
-
region:
|
|
6888
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5800
6889
|
requestBody: ProviderSyncDto;
|
|
5801
6890
|
};
|
|
5802
6891
|
|
|
@@ -5835,6 +6924,29 @@ export type TelemetryControllerReportTelemetryData = {
|
|
|
5835
6924
|
|
|
5836
6925
|
export type TelemetryControllerReportTelemetryResponse = unknown;
|
|
5837
6926
|
|
|
6927
|
+
export type TelemetryControllerReportCoverageMissData = {
|
|
6928
|
+
/**
|
|
6929
|
+
* Region code for tenant context
|
|
6930
|
+
*/
|
|
6931
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6932
|
+
requestBody: UncoveredFormatMissDto;
|
|
6933
|
+
};
|
|
6934
|
+
|
|
6935
|
+
export type TelemetryControllerReportCoverageMissResponse = unknown;
|
|
6936
|
+
|
|
6937
|
+
export type TelemetryControllerGetCoverageMetricsData = {
|
|
6938
|
+
/**
|
|
6939
|
+
* Region code for tenant context
|
|
6940
|
+
*/
|
|
6941
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6942
|
+
/**
|
|
6943
|
+
* Top-N uncovered formats (default 10)
|
|
6944
|
+
*/
|
|
6945
|
+
topN?: unknown;
|
|
6946
|
+
};
|
|
6947
|
+
|
|
6948
|
+
export type TelemetryControllerGetCoverageMetricsResponse = unknown;
|
|
6949
|
+
|
|
5838
6950
|
export type NlpControllerProcessNaturalLanguageData = {
|
|
5839
6951
|
/**
|
|
5840
6952
|
* Region code for tenant context
|
|
@@ -5888,6 +7000,10 @@ export type DashboardControllerGetNetWorthData = {
|
|
|
5888
7000
|
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
5889
7001
|
|
|
5890
7002
|
export type DashboardControllerGetAccountsData = {
|
|
7003
|
+
/**
|
|
7004
|
+
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
7005
|
+
*/
|
|
7006
|
+
accountId?: string;
|
|
5891
7007
|
/**
|
|
5892
7008
|
* Date for balance calculation (ISO 8601 format)
|
|
5893
7009
|
*/
|
|
@@ -5895,29 +7011,77 @@ export type DashboardControllerGetAccountsData = {
|
|
|
5895
7011
|
/**
|
|
5896
7012
|
* Grouping strategy
|
|
5897
7013
|
*/
|
|
5898
|
-
groupBy?:
|
|
7014
|
+
groupBy?:
|
|
7015
|
+
| 'platform'
|
|
7016
|
+
| 'assetClass'
|
|
7017
|
+
| 'holdingAssetClass'
|
|
7018
|
+
| 'holdingAssetClassByAccount';
|
|
7019
|
+
/**
|
|
7020
|
+
* Region code for tenant context
|
|
7021
|
+
*/
|
|
7022
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7023
|
+
};
|
|
7024
|
+
|
|
7025
|
+
export type DashboardControllerGetAccountsResponse =
|
|
7026
|
+
| AccountsResponseDto
|
|
7027
|
+
| AssetClassAccountsResponseDto
|
|
7028
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
7029
|
+
|
|
7030
|
+
export type DashboardControllerGetCashFlowData = {
|
|
7031
|
+
/**
|
|
7032
|
+
* Period in YYYY-MM format
|
|
7033
|
+
*/
|
|
7034
|
+
period: string;
|
|
7035
|
+
/**
|
|
7036
|
+
* Region code for tenant context
|
|
7037
|
+
*/
|
|
7038
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7039
|
+
};
|
|
7040
|
+
|
|
7041
|
+
export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
|
|
7042
|
+
|
|
7043
|
+
export type DashboardControllerGetExpensesData = {
|
|
7044
|
+
/**
|
|
7045
|
+
* Account root to aggregate (expense → ^Expenses:, income → ^Income:)
|
|
7046
|
+
*/
|
|
7047
|
+
flow?: 'expense' | 'income';
|
|
7048
|
+
/**
|
|
7049
|
+
* Grouping strategy
|
|
7050
|
+
*/
|
|
7051
|
+
groupBy?: 'category';
|
|
7052
|
+
/**
|
|
7053
|
+
* Time window (1m = current calendar month)
|
|
7054
|
+
*/
|
|
7055
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
5899
7056
|
/**
|
|
5900
7057
|
* Region code for tenant context
|
|
5901
7058
|
*/
|
|
5902
7059
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5903
7060
|
};
|
|
5904
7061
|
|
|
5905
|
-
export type
|
|
5906
|
-
|
|
5907
|
-
| AssetClassAccountsResponseDto;
|
|
7062
|
+
export type DashboardControllerGetExpensesResponse =
|
|
7063
|
+
ExpensesByCategoryResponseDto;
|
|
5908
7064
|
|
|
5909
|
-
export type
|
|
7065
|
+
export type HoldingPnlControllerGetHoldingPnlData = {
|
|
5910
7066
|
/**
|
|
5911
|
-
*
|
|
7067
|
+
* Scope to a single account
|
|
5912
7068
|
*/
|
|
5913
|
-
|
|
7069
|
+
accountId?: string;
|
|
7070
|
+
/**
|
|
7071
|
+
* As-of date (ISO 8601), defaults to today
|
|
7072
|
+
*/
|
|
7073
|
+
asOf?: string;
|
|
7074
|
+
/**
|
|
7075
|
+
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
7076
|
+
*/
|
|
7077
|
+
method?: 'FIFO' | 'average';
|
|
5914
7078
|
/**
|
|
5915
7079
|
* Region code for tenant context
|
|
5916
7080
|
*/
|
|
5917
7081
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5918
7082
|
};
|
|
5919
7083
|
|
|
5920
|
-
export type
|
|
7084
|
+
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
5921
7085
|
|
|
5922
7086
|
export type ReportingControllerGetPortfolioTrendsData = {
|
|
5923
7087
|
/**
|
|
@@ -5937,6 +7101,24 @@ export type ReportingControllerGetPortfolioTrendsData = {
|
|
|
5937
7101
|
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
5938
7102
|
PortfolioTrendsResponseDto;
|
|
5939
7103
|
|
|
7104
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
7105
|
+
/**
|
|
7106
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
7107
|
+
*/
|
|
7108
|
+
granularity?: 'day' | 'week' | 'month';
|
|
7109
|
+
/**
|
|
7110
|
+
* Time period
|
|
7111
|
+
*/
|
|
7112
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
7113
|
+
/**
|
|
7114
|
+
* Region code for tenant context
|
|
7115
|
+
*/
|
|
7116
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
7117
|
+
};
|
|
7118
|
+
|
|
7119
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
7120
|
+
CashFlowTrendsResponseDto;
|
|
7121
|
+
|
|
5940
7122
|
export type ReportingControllerGenerateSnapshotData = {
|
|
5941
7123
|
/**
|
|
5942
7124
|
* Region code for tenant context
|
|
@@ -6724,6 +7906,90 @@ export type $OpenApiTs = {
|
|
|
6724
7906
|
};
|
|
6725
7907
|
};
|
|
6726
7908
|
};
|
|
7909
|
+
'/api/v1/{region}/bean/prices': {
|
|
7910
|
+
post: {
|
|
7911
|
+
req: PriceControllerCreateData;
|
|
7912
|
+
res: {
|
|
7913
|
+
/**
|
|
7914
|
+
* Price created successfully
|
|
7915
|
+
*/
|
|
7916
|
+
201: PriceResponseDto;
|
|
7917
|
+
/**
|
|
7918
|
+
* Currency or quoteCurrency commodity not found
|
|
7919
|
+
*/
|
|
7920
|
+
404: unknown;
|
|
7921
|
+
/**
|
|
7922
|
+
* Price already exists for this currency pair and date
|
|
7923
|
+
*/
|
|
7924
|
+
409: unknown;
|
|
7925
|
+
};
|
|
7926
|
+
};
|
|
7927
|
+
get: {
|
|
7928
|
+
req: PriceControllerFindAllData;
|
|
7929
|
+
res: {
|
|
7930
|
+
/**
|
|
7931
|
+
* Prices retrieved successfully
|
|
7932
|
+
*/
|
|
7933
|
+
200: PriceListResponseDto;
|
|
7934
|
+
};
|
|
7935
|
+
};
|
|
7936
|
+
};
|
|
7937
|
+
'/api/v1/{region}/bean/prices/{id}': {
|
|
7938
|
+
get: {
|
|
7939
|
+
req: PriceControllerFindOneData;
|
|
7940
|
+
res: {
|
|
7941
|
+
/**
|
|
7942
|
+
* Price retrieved successfully
|
|
7943
|
+
*/
|
|
7944
|
+
200: PriceResponseDto;
|
|
7945
|
+
/**
|
|
7946
|
+
* Price not found
|
|
7947
|
+
*/
|
|
7948
|
+
404: unknown;
|
|
7949
|
+
};
|
|
7950
|
+
};
|
|
7951
|
+
put: {
|
|
7952
|
+
req: PriceControllerUpdateData;
|
|
7953
|
+
res: {
|
|
7954
|
+
/**
|
|
7955
|
+
* Price updated successfully
|
|
7956
|
+
*/
|
|
7957
|
+
200: PriceResponseDto;
|
|
7958
|
+
/**
|
|
7959
|
+
* Price not found
|
|
7960
|
+
*/
|
|
7961
|
+
404: unknown;
|
|
7962
|
+
/**
|
|
7963
|
+
* Updated price conflicts with existing price
|
|
7964
|
+
*/
|
|
7965
|
+
409: unknown;
|
|
7966
|
+
};
|
|
7967
|
+
};
|
|
7968
|
+
delete: {
|
|
7969
|
+
req: PriceControllerDeleteData;
|
|
7970
|
+
res: {
|
|
7971
|
+
/**
|
|
7972
|
+
* Price deleted successfully
|
|
7973
|
+
*/
|
|
7974
|
+
204: void;
|
|
7975
|
+
/**
|
|
7976
|
+
* Price not found
|
|
7977
|
+
*/
|
|
7978
|
+
404: unknown;
|
|
7979
|
+
};
|
|
7980
|
+
};
|
|
7981
|
+
};
|
|
7982
|
+
'/api/v1/{region}/bean/prices/bulk': {
|
|
7983
|
+
post: {
|
|
7984
|
+
req: PriceControllerBulkCreateData;
|
|
7985
|
+
res: {
|
|
7986
|
+
/**
|
|
7987
|
+
* Prices created successfully
|
|
7988
|
+
*/
|
|
7989
|
+
201: Array<PriceResponseDto>;
|
|
7990
|
+
};
|
|
7991
|
+
};
|
|
7992
|
+
};
|
|
6727
7993
|
'/api/v1/{region}/bean/recurring-rules': {
|
|
6728
7994
|
post: {
|
|
6729
7995
|
req: RecurringRuleControllerCreateData;
|
|
@@ -7368,6 +8634,166 @@ export type $OpenApiTs = {
|
|
|
7368
8634
|
};
|
|
7369
8635
|
};
|
|
7370
8636
|
};
|
|
8637
|
+
'/api/v1/{region}/bean/events': {
|
|
8638
|
+
post: {
|
|
8639
|
+
req: EventControllerCreateData;
|
|
8640
|
+
res: {
|
|
8641
|
+
/**
|
|
8642
|
+
* Life event created successfully
|
|
8643
|
+
*/
|
|
8644
|
+
201: EventResponseDto;
|
|
8645
|
+
/**
|
|
8646
|
+
* Life event already exists for this (userId, type, date) combination
|
|
8647
|
+
*/
|
|
8648
|
+
409: unknown;
|
|
8649
|
+
};
|
|
8650
|
+
};
|
|
8651
|
+
get: {
|
|
8652
|
+
req: EventControllerFindAllData;
|
|
8653
|
+
res: {
|
|
8654
|
+
/**
|
|
8655
|
+
* Life events retrieved successfully
|
|
8656
|
+
*/
|
|
8657
|
+
200: EventListResponseDto;
|
|
8658
|
+
};
|
|
8659
|
+
};
|
|
8660
|
+
};
|
|
8661
|
+
'/api/v1/{region}/bean/events/{id}': {
|
|
8662
|
+
get: {
|
|
8663
|
+
req: EventControllerFindOneData;
|
|
8664
|
+
res: {
|
|
8665
|
+
/**
|
|
8666
|
+
* Life event retrieved successfully
|
|
8667
|
+
*/
|
|
8668
|
+
200: EventResponseDto;
|
|
8669
|
+
/**
|
|
8670
|
+
* Life event not found
|
|
8671
|
+
*/
|
|
8672
|
+
404: unknown;
|
|
8673
|
+
};
|
|
8674
|
+
};
|
|
8675
|
+
put: {
|
|
8676
|
+
req: EventControllerUpdateData;
|
|
8677
|
+
res: {
|
|
8678
|
+
/**
|
|
8679
|
+
* Life event updated successfully
|
|
8680
|
+
*/
|
|
8681
|
+
200: EventResponseDto;
|
|
8682
|
+
/**
|
|
8683
|
+
* If-Match header is not a valid ISO 8601 date
|
|
8684
|
+
*/
|
|
8685
|
+
400: unknown;
|
|
8686
|
+
/**
|
|
8687
|
+
* Life event not found
|
|
8688
|
+
*/
|
|
8689
|
+
404: unknown;
|
|
8690
|
+
/**
|
|
8691
|
+
* Updated event conflicts with an existing (userId, type, date) combination
|
|
8692
|
+
*/
|
|
8693
|
+
409: unknown;
|
|
8694
|
+
/**
|
|
8695
|
+
* If-Match precondition failed (updatedAt mismatch)
|
|
8696
|
+
*/
|
|
8697
|
+
412: unknown;
|
|
8698
|
+
};
|
|
8699
|
+
};
|
|
8700
|
+
delete: {
|
|
8701
|
+
req: EventControllerDeleteData;
|
|
8702
|
+
res: {
|
|
8703
|
+
/**
|
|
8704
|
+
* Life event deleted successfully
|
|
8705
|
+
*/
|
|
8706
|
+
204: void;
|
|
8707
|
+
/**
|
|
8708
|
+
* Life event not found
|
|
8709
|
+
*/
|
|
8710
|
+
404: unknown;
|
|
8711
|
+
};
|
|
8712
|
+
};
|
|
8713
|
+
};
|
|
8714
|
+
'/api/v1/{region}/bean/events/{id}/slice': {
|
|
8715
|
+
get: {
|
|
8716
|
+
req: EventControllerGetSliceData;
|
|
8717
|
+
res: {
|
|
8718
|
+
/**
|
|
8719
|
+
* Time-series sliced by the life event range
|
|
8720
|
+
*/
|
|
8721
|
+
200: unknown;
|
|
8722
|
+
/**
|
|
8723
|
+
* accountPattern query param is empty
|
|
8724
|
+
*/
|
|
8725
|
+
400: unknown;
|
|
8726
|
+
/**
|
|
8727
|
+
* Life event not found
|
|
8728
|
+
*/
|
|
8729
|
+
404: unknown;
|
|
8730
|
+
};
|
|
8731
|
+
};
|
|
8732
|
+
};
|
|
8733
|
+
'/api/v1/{region}/bean/reconciliations': {
|
|
8734
|
+
post: {
|
|
8735
|
+
req: ReconciliationControllerComputeData;
|
|
8736
|
+
res: {
|
|
8737
|
+
/**
|
|
8738
|
+
* Reconciliation preview
|
|
8739
|
+
*/
|
|
8740
|
+
200: ReconciliationComputeResultDto;
|
|
8741
|
+
/**
|
|
8742
|
+
* Account not found
|
|
8743
|
+
*/
|
|
8744
|
+
404: unknown;
|
|
8745
|
+
};
|
|
8746
|
+
};
|
|
8747
|
+
};
|
|
8748
|
+
'/api/v1/{region}/bean/reconciliations/assert': {
|
|
8749
|
+
post: {
|
|
8750
|
+
req: ReconciliationControllerAssertData;
|
|
8751
|
+
res: {
|
|
8752
|
+
/**
|
|
8753
|
+
* Balance assertion recorded
|
|
8754
|
+
*/
|
|
8755
|
+
201: ReconciliationRecordDto;
|
|
8756
|
+
/**
|
|
8757
|
+
* Account not found
|
|
8758
|
+
*/
|
|
8759
|
+
404: unknown;
|
|
8760
|
+
};
|
|
8761
|
+
};
|
|
8762
|
+
};
|
|
8763
|
+
'/api/v1/{region}/bean/reconciliations/pad': {
|
|
8764
|
+
post: {
|
|
8765
|
+
req: ReconciliationControllerPadData;
|
|
8766
|
+
res: {
|
|
8767
|
+
/**
|
|
8768
|
+
* Pad adjusting entry generated
|
|
8769
|
+
*/
|
|
8770
|
+
201: PadResultDto;
|
|
8771
|
+
/**
|
|
8772
|
+
* Book already within tolerance — no pad needed
|
|
8773
|
+
*/
|
|
8774
|
+
400: unknown;
|
|
8775
|
+
/**
|
|
8776
|
+
* Account not found
|
|
8777
|
+
*/
|
|
8778
|
+
404: unknown;
|
|
8779
|
+
};
|
|
8780
|
+
};
|
|
8781
|
+
};
|
|
8782
|
+
'/api/v1/{region}/bean/accounts/{accountId}/reconciliations': {
|
|
8783
|
+
get: {
|
|
8784
|
+
req: ReconciliationControllerHistoryData;
|
|
8785
|
+
res: {
|
|
8786
|
+
/**
|
|
8787
|
+
* Reconciliation history
|
|
8788
|
+
*/
|
|
8789
|
+
200: Array<ReconciliationRecordDto>;
|
|
8790
|
+
/**
|
|
8791
|
+
* Account not found
|
|
8792
|
+
*/
|
|
8793
|
+
404: unknown;
|
|
8794
|
+
};
|
|
8795
|
+
};
|
|
8796
|
+
};
|
|
7371
8797
|
'/api/v1/{region}/bean/export/beancount': {
|
|
7372
8798
|
get: {
|
|
7373
8799
|
res: {
|
|
@@ -7658,6 +9084,32 @@ export type $OpenApiTs = {
|
|
|
7658
9084
|
};
|
|
7659
9085
|
};
|
|
7660
9086
|
};
|
|
9087
|
+
'/api/v1/{region}/bean/import/parser-coverage-miss': {
|
|
9088
|
+
post: {
|
|
9089
|
+
req: TelemetryControllerReportCoverageMissData;
|
|
9090
|
+
res: {
|
|
9091
|
+
/**
|
|
9092
|
+
* Coverage miss report received
|
|
9093
|
+
*/
|
|
9094
|
+
200: unknown;
|
|
9095
|
+
/**
|
|
9096
|
+
* Unauthorized
|
|
9097
|
+
*/
|
|
9098
|
+
401: unknown;
|
|
9099
|
+
};
|
|
9100
|
+
};
|
|
9101
|
+
};
|
|
9102
|
+
'/api/v1/{region}/bean/import/parser-coverage-metrics': {
|
|
9103
|
+
get: {
|
|
9104
|
+
req: TelemetryControllerGetCoverageMetricsData;
|
|
9105
|
+
res: {
|
|
9106
|
+
/**
|
|
9107
|
+
* Coverage metrics
|
|
9108
|
+
*/
|
|
9109
|
+
200: unknown;
|
|
9110
|
+
};
|
|
9111
|
+
};
|
|
9112
|
+
};
|
|
7661
9113
|
'/api/v1/{region}/bean/nlp/process': {
|
|
7662
9114
|
post: {
|
|
7663
9115
|
req: NlpControllerProcessNaturalLanguageData;
|
|
@@ -7727,7 +9179,10 @@ export type $OpenApiTs = {
|
|
|
7727
9179
|
/**
|
|
7728
9180
|
* Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
7729
9181
|
*/
|
|
7730
|
-
200:
|
|
9182
|
+
200:
|
|
9183
|
+
| AccountsResponseDto
|
|
9184
|
+
| AssetClassAccountsResponseDto
|
|
9185
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
7731
9186
|
/**
|
|
7732
9187
|
* User not authenticated
|
|
7733
9188
|
*/
|
|
@@ -7754,6 +9209,44 @@ export type $OpenApiTs = {
|
|
|
7754
9209
|
};
|
|
7755
9210
|
};
|
|
7756
9211
|
};
|
|
9212
|
+
'/api/v1/{region}/dashboard/expenses': {
|
|
9213
|
+
get: {
|
|
9214
|
+
req: DashboardControllerGetExpensesData;
|
|
9215
|
+
res: {
|
|
9216
|
+
/**
|
|
9217
|
+
* Expenses retrieved successfully
|
|
9218
|
+
*/
|
|
9219
|
+
200: ExpensesByCategoryResponseDto;
|
|
9220
|
+
/**
|
|
9221
|
+
* Invalid groupBy or period
|
|
9222
|
+
*/
|
|
9223
|
+
400: unknown;
|
|
9224
|
+
/**
|
|
9225
|
+
* User not authenticated
|
|
9226
|
+
*/
|
|
9227
|
+
401: unknown;
|
|
9228
|
+
};
|
|
9229
|
+
};
|
|
9230
|
+
};
|
|
9231
|
+
'/api/v1/{region}/investment/holdings/pnl': {
|
|
9232
|
+
get: {
|
|
9233
|
+
req: HoldingPnlControllerGetHoldingPnlData;
|
|
9234
|
+
res: {
|
|
9235
|
+
/**
|
|
9236
|
+
* Holding P&L retrieved successfully
|
|
9237
|
+
*/
|
|
9238
|
+
200: HoldingPnlResponseDto;
|
|
9239
|
+
/**
|
|
9240
|
+
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
9241
|
+
*/
|
|
9242
|
+
400: unknown;
|
|
9243
|
+
/**
|
|
9244
|
+
* User not authenticated
|
|
9245
|
+
*/
|
|
9246
|
+
401: unknown;
|
|
9247
|
+
};
|
|
9248
|
+
};
|
|
9249
|
+
};
|
|
7757
9250
|
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
7758
9251
|
get: {
|
|
7759
9252
|
req: ReportingControllerGetPortfolioTrendsData;
|
|
@@ -7769,6 +9262,21 @@ export type $OpenApiTs = {
|
|
|
7769
9262
|
};
|
|
7770
9263
|
};
|
|
7771
9264
|
};
|
|
9265
|
+
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
9266
|
+
get: {
|
|
9267
|
+
req: ReportingControllerGetCashFlowTrendsData;
|
|
9268
|
+
res: {
|
|
9269
|
+
/**
|
|
9270
|
+
* Cash-flow trends retrieved successfully
|
|
9271
|
+
*/
|
|
9272
|
+
200: CashFlowTrendsResponseDto;
|
|
9273
|
+
/**
|
|
9274
|
+
* User not authenticated
|
|
9275
|
+
*/
|
|
9276
|
+
401: unknown;
|
|
9277
|
+
};
|
|
9278
|
+
};
|
|
9279
|
+
};
|
|
7772
9280
|
'/api/v1/{region}/reporting/snapshots/generate': {
|
|
7773
9281
|
post: {
|
|
7774
9282
|
req: ReportingControllerGenerateSnapshotData;
|