@firela/api-types 0.0.0-canary.0327ab9e → 0.0.0-canary.09a8ff4c
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 +1238 -106
- package/dist/index.d.ts +1238 -106
- package/dist/index.js +28 -1
- package/dist/index.mjs +28 -1
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +1164 -99
- package/src/generated/services.gen.ts +528 -2
- package/src/generated/types.gen.ts +1348 -80
|
@@ -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 = {
|
|
@@ -561,6 +639,55 @@ export type BatchTransactionResponseDto = {
|
|
|
561
639
|
failed: Array<BatchTransactionErrorDto>;
|
|
562
640
|
};
|
|
563
641
|
|
|
642
|
+
export type CorrectTransactionDto = {
|
|
643
|
+
/**
|
|
644
|
+
* Transaction date (ISO 8601 format)
|
|
645
|
+
*/
|
|
646
|
+
date: string;
|
|
647
|
+
/**
|
|
648
|
+
* Transaction flag: * (cleared), ! (pending)
|
|
649
|
+
*/
|
|
650
|
+
flag?: '*' | '!';
|
|
651
|
+
/**
|
|
652
|
+
* Payee name
|
|
653
|
+
*/
|
|
654
|
+
payee?: string;
|
|
655
|
+
/**
|
|
656
|
+
* Transaction narration/description
|
|
657
|
+
*/
|
|
658
|
+
narration: string;
|
|
659
|
+
/**
|
|
660
|
+
* Transaction tags (without # prefix)
|
|
661
|
+
*/
|
|
662
|
+
tags?: Array<string>;
|
|
663
|
+
/**
|
|
664
|
+
* Transaction links (without ^ prefix)
|
|
665
|
+
*/
|
|
666
|
+
links?: Array<string>;
|
|
667
|
+
/**
|
|
668
|
+
* Transaction postings (minimum 1, typically 2 for double-entry)
|
|
669
|
+
*/
|
|
670
|
+
postings: Array<CreatePostingDto>;
|
|
671
|
+
/**
|
|
672
|
+
* Transaction-level metadata
|
|
673
|
+
*/
|
|
674
|
+
meta?: {
|
|
675
|
+
[key: string]: unknown;
|
|
676
|
+
};
|
|
677
|
+
/**
|
|
678
|
+
* Unique key for idempotent transaction creation. If provided, duplicate requests with the same key will return the existing transaction.
|
|
679
|
+
*/
|
|
680
|
+
idempotencyKey?: string;
|
|
681
|
+
/**
|
|
682
|
+
* Auto-create accounts if not found. When true, missing accounts will be automatically created. When false (default for API), missing accounts will cause a validation error. Set to true for quick entry scenarios where you want to create accounts on-the-fly.
|
|
683
|
+
*/
|
|
684
|
+
autoCreateAccounts?: boolean;
|
|
685
|
+
/**
|
|
686
|
+
* Reason for correcting/superseding the original transaction
|
|
687
|
+
*/
|
|
688
|
+
correctionReason?: string;
|
|
689
|
+
};
|
|
690
|
+
|
|
564
691
|
export type PostingDetailDto = {
|
|
565
692
|
/**
|
|
566
693
|
* Posting ID
|
|
@@ -571,9 +698,9 @@ export type PostingDetailDto = {
|
|
|
571
698
|
*/
|
|
572
699
|
accountId: string;
|
|
573
700
|
/**
|
|
574
|
-
*
|
|
701
|
+
* Fully-qualified Beancount account path
|
|
575
702
|
*/
|
|
576
|
-
|
|
703
|
+
account: string;
|
|
577
704
|
/**
|
|
578
705
|
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
|
|
579
706
|
*/
|
|
@@ -594,6 +721,10 @@ export type PostingDetailDto = {
|
|
|
594
721
|
* Cost date
|
|
595
722
|
*/
|
|
596
723
|
costDate?: string;
|
|
724
|
+
/**
|
|
725
|
+
* Booking-resolved cost (mirrors engine Cost). Undefined when the posting has no cost basis.
|
|
726
|
+
*/
|
|
727
|
+
cost?: CostDetailDto;
|
|
597
728
|
/**
|
|
598
729
|
* Price amount
|
|
599
730
|
*/
|
|
@@ -664,9 +795,9 @@ export type TransactionDetailDto = {
|
|
|
664
795
|
*/
|
|
665
796
|
status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
666
797
|
/**
|
|
667
|
-
* Source type (
|
|
798
|
+
* Source type (free-form string from transaction metadata, e.g. import, api)
|
|
668
799
|
*/
|
|
669
|
-
sourceType?:
|
|
800
|
+
sourceType?: string;
|
|
670
801
|
/**
|
|
671
802
|
* Source platform (e.g., alipay, wechat)
|
|
672
803
|
*/
|
|
@@ -691,6 +822,14 @@ export type TransactionDetailDto = {
|
|
|
691
822
|
* Correction reason (if voided or superseded)
|
|
692
823
|
*/
|
|
693
824
|
correctionReason?: string;
|
|
825
|
+
/**
|
|
826
|
+
* ID of the transaction that supersedes this one (set when status=SUPERSEDED)
|
|
827
|
+
*/
|
|
828
|
+
supersededBy?: string;
|
|
829
|
+
/**
|
|
830
|
+
* ID of the transaction this one corrected/replaced (back-link on the replacement)
|
|
831
|
+
*/
|
|
832
|
+
originalTxn?: string;
|
|
694
833
|
};
|
|
695
834
|
|
|
696
835
|
/**
|
|
@@ -709,11 +848,6 @@ export type flag2 =
|
|
|
709
848
|
*/
|
|
710
849
|
export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
711
850
|
|
|
712
|
-
/**
|
|
713
|
-
* Source type (how the transaction was created)
|
|
714
|
-
*/
|
|
715
|
-
export type sourceType = 'NLP' | 'CSV' | 'OCR' | 'API';
|
|
716
|
-
|
|
717
851
|
export type TransactionListResponseDto = {
|
|
718
852
|
/**
|
|
719
853
|
* List of transactions
|
|
@@ -852,9 +986,9 @@ export type TransactionSummaryDto = {
|
|
|
852
986
|
*/
|
|
853
987
|
accountName?: string;
|
|
854
988
|
/**
|
|
855
|
-
* Source type (
|
|
989
|
+
* Source type (free-form string from transaction metadata, e.g. import, api)
|
|
856
990
|
*/
|
|
857
|
-
sourceType?:
|
|
991
|
+
sourceType?: string;
|
|
858
992
|
/**
|
|
859
993
|
* Source platform (e.g., alipay, wechat)
|
|
860
994
|
*/
|
|
@@ -902,7 +1036,7 @@ export type ReviewSummaryDto = {
|
|
|
902
1036
|
*/
|
|
903
1037
|
matchReasons: Array<string>;
|
|
904
1038
|
/**
|
|
905
|
-
* Source type (
|
|
1039
|
+
* Source type (free-form string from transaction metadata, e.g. import, api)
|
|
906
1040
|
*/
|
|
907
1041
|
sourceType: string;
|
|
908
1042
|
/**
|
|
@@ -1000,7 +1134,18 @@ export type DecisionOptionDto = {
|
|
|
1000
1134
|
/**
|
|
1001
1135
|
* The action value to submit (e.g., UPGRADE_REPLACE, ACCEPT)
|
|
1002
1136
|
*/
|
|
1003
|
-
value:
|
|
1137
|
+
value:
|
|
1138
|
+
| 'UPGRADE_REPLACE'
|
|
1139
|
+
| 'LINK_KEEP_BOTH'
|
|
1140
|
+
| 'IGNORE_NEW'
|
|
1141
|
+
| 'CONFIRM_DIFFERENT'
|
|
1142
|
+
| 'ACCEPT'
|
|
1143
|
+
| 'REJECT'
|
|
1144
|
+
| 'ACCEPT_AND_LEARN'
|
|
1145
|
+
| 'CHOOSE_OTHER'
|
|
1146
|
+
| 'CANCEL'
|
|
1147
|
+
| 'FIX'
|
|
1148
|
+
| 'IGNORE';
|
|
1004
1149
|
/**
|
|
1005
1150
|
* i18n message key for display label (e.g., review.payee.accept.label)
|
|
1006
1151
|
*/
|
|
@@ -1015,6 +1160,22 @@ export type DecisionOptionDto = {
|
|
|
1015
1160
|
recommended?: boolean;
|
|
1016
1161
|
};
|
|
1017
1162
|
|
|
1163
|
+
/**
|
|
1164
|
+
* The action value to submit (e.g., UPGRADE_REPLACE, ACCEPT)
|
|
1165
|
+
*/
|
|
1166
|
+
export type value =
|
|
1167
|
+
| 'UPGRADE_REPLACE'
|
|
1168
|
+
| 'LINK_KEEP_BOTH'
|
|
1169
|
+
| 'IGNORE_NEW'
|
|
1170
|
+
| 'CONFIRM_DIFFERENT'
|
|
1171
|
+
| 'ACCEPT'
|
|
1172
|
+
| 'REJECT'
|
|
1173
|
+
| 'ACCEPT_AND_LEARN'
|
|
1174
|
+
| 'CHOOSE_OTHER'
|
|
1175
|
+
| 'CANCEL'
|
|
1176
|
+
| 'FIX'
|
|
1177
|
+
| 'IGNORE';
|
|
1178
|
+
|
|
1018
1179
|
export type ReviewDetailDto = {
|
|
1019
1180
|
/**
|
|
1020
1181
|
* Review item ID
|
|
@@ -1056,7 +1217,7 @@ export type ReviewDetailDto = {
|
|
|
1056
1217
|
*/
|
|
1057
1218
|
matchReasons: Array<string>;
|
|
1058
1219
|
/**
|
|
1059
|
-
* Source type (
|
|
1220
|
+
* Source type (free-form string from transaction metadata, e.g. import, api)
|
|
1060
1221
|
*/
|
|
1061
1222
|
sourceType: string;
|
|
1062
1223
|
/**
|
|
@@ -1109,9 +1270,20 @@ export type ReviewDetailDto = {
|
|
|
1109
1270
|
|
|
1110
1271
|
export type ResolveReviewDto = {
|
|
1111
1272
|
/**
|
|
1112
|
-
* Decision action.
|
|
1273
|
+
* Decision action. Valid actions vary by review type — see DecisionOptionDto.value returned by the review detail endpoint.
|
|
1113
1274
|
*/
|
|
1114
|
-
action:
|
|
1275
|
+
action:
|
|
1276
|
+
| 'UPGRADE_REPLACE'
|
|
1277
|
+
| 'LINK_KEEP_BOTH'
|
|
1278
|
+
| 'IGNORE_NEW'
|
|
1279
|
+
| 'CONFIRM_DIFFERENT'
|
|
1280
|
+
| 'ACCEPT'
|
|
1281
|
+
| 'REJECT'
|
|
1282
|
+
| 'ACCEPT_AND_LEARN'
|
|
1283
|
+
| 'CHOOSE_OTHER'
|
|
1284
|
+
| 'CANCEL'
|
|
1285
|
+
| 'FIX'
|
|
1286
|
+
| 'IGNORE';
|
|
1115
1287
|
/**
|
|
1116
1288
|
* Additional data for the decision (e.g., selected account ID)
|
|
1117
1289
|
*/
|
|
@@ -1120,6 +1292,22 @@ export type ResolveReviewDto = {
|
|
|
1120
1292
|
};
|
|
1121
1293
|
};
|
|
1122
1294
|
|
|
1295
|
+
/**
|
|
1296
|
+
* Decision action. Valid actions vary by review type — see DecisionOptionDto.value returned by the review detail endpoint.
|
|
1297
|
+
*/
|
|
1298
|
+
export type action =
|
|
1299
|
+
| 'UPGRADE_REPLACE'
|
|
1300
|
+
| 'LINK_KEEP_BOTH'
|
|
1301
|
+
| 'IGNORE_NEW'
|
|
1302
|
+
| 'CONFIRM_DIFFERENT'
|
|
1303
|
+
| 'ACCEPT'
|
|
1304
|
+
| 'REJECT'
|
|
1305
|
+
| 'ACCEPT_AND_LEARN'
|
|
1306
|
+
| 'CHOOSE_OTHER'
|
|
1307
|
+
| 'CANCEL'
|
|
1308
|
+
| 'FIX'
|
|
1309
|
+
| 'IGNORE';
|
|
1310
|
+
|
|
1123
1311
|
export type ResolveResultDto = {
|
|
1124
1312
|
/**
|
|
1125
1313
|
* Whether resolution was successful
|
|
@@ -1136,17 +1324,17 @@ export type ResolveResultDto = {
|
|
|
1136
1324
|
[key: string]: string;
|
|
1137
1325
|
};
|
|
1138
1326
|
/**
|
|
1139
|
-
* Resolution ID for undo
|
|
1327
|
+
* Resolution ID for undo. Absent when the resolver rejected the decision (review stayed PENDING).
|
|
1140
1328
|
*/
|
|
1141
|
-
resolutionId
|
|
1329
|
+
resolutionId?: string;
|
|
1142
1330
|
/**
|
|
1143
1331
|
* Whether this decision can be undone
|
|
1144
1332
|
*/
|
|
1145
|
-
canUndo
|
|
1333
|
+
canUndo?: boolean;
|
|
1146
1334
|
/**
|
|
1147
1335
|
* Deadline for undo (24h from resolution)
|
|
1148
1336
|
*/
|
|
1149
|
-
undoDeadline
|
|
1337
|
+
undoDeadline?: string;
|
|
1150
1338
|
/**
|
|
1151
1339
|
* Rule ID if learning was triggered (ACCEPT_AND_LEARN actions). Use this to deep-link to the rule management page.
|
|
1152
1340
|
*/
|
|
@@ -1176,7 +1364,18 @@ export type BatchResolveDto = {
|
|
|
1176
1364
|
/**
|
|
1177
1365
|
* Decision action to apply to all items
|
|
1178
1366
|
*/
|
|
1179
|
-
action:
|
|
1367
|
+
action:
|
|
1368
|
+
| 'UPGRADE_REPLACE'
|
|
1369
|
+
| 'LINK_KEEP_BOTH'
|
|
1370
|
+
| 'IGNORE_NEW'
|
|
1371
|
+
| 'CONFIRM_DIFFERENT'
|
|
1372
|
+
| 'ACCEPT'
|
|
1373
|
+
| 'REJECT'
|
|
1374
|
+
| 'ACCEPT_AND_LEARN'
|
|
1375
|
+
| 'CHOOSE_OTHER'
|
|
1376
|
+
| 'CANCEL'
|
|
1377
|
+
| 'FIX'
|
|
1378
|
+
| 'IGNORE';
|
|
1180
1379
|
/**
|
|
1181
1380
|
* Additional data for the decision
|
|
1182
1381
|
*/
|
|
@@ -2830,6 +3029,96 @@ export type UpdatePropertyDto = {
|
|
|
2830
3029
|
value: string;
|
|
2831
3030
|
};
|
|
2832
3031
|
|
|
3032
|
+
export type CreateBeanEventDto = {
|
|
3033
|
+
/**
|
|
3034
|
+
* Life event date (ISO 8601)
|
|
3035
|
+
*/
|
|
3036
|
+
date: string;
|
|
3037
|
+
/**
|
|
3038
|
+
* Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
|
|
3039
|
+
*/
|
|
3040
|
+
type: string;
|
|
3041
|
+
/**
|
|
3042
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3043
|
+
*/
|
|
3044
|
+
description: string;
|
|
3045
|
+
/**
|
|
3046
|
+
* Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
|
|
3047
|
+
*/
|
|
3048
|
+
meta?: {
|
|
3049
|
+
[key: string]: unknown;
|
|
3050
|
+
};
|
|
3051
|
+
};
|
|
3052
|
+
|
|
3053
|
+
export type EventResponseDto = {
|
|
3054
|
+
/**
|
|
3055
|
+
* Unique identifier
|
|
3056
|
+
*/
|
|
3057
|
+
id: string;
|
|
3058
|
+
/**
|
|
3059
|
+
* User ID (owner of the life event)
|
|
3060
|
+
*/
|
|
3061
|
+
userId: string;
|
|
3062
|
+
/**
|
|
3063
|
+
* Life event date (ISO 8601 format)
|
|
3064
|
+
*/
|
|
3065
|
+
date: string;
|
|
3066
|
+
/**
|
|
3067
|
+
* Life event type (user-defined, e.g., "employer", "location")
|
|
3068
|
+
*/
|
|
3069
|
+
type: string;
|
|
3070
|
+
/**
|
|
3071
|
+
* Life event description. May be an empty string (a valid value distinct from absence).
|
|
3072
|
+
*/
|
|
3073
|
+
description: string;
|
|
3074
|
+
/**
|
|
3075
|
+
* Product-side metadata (free-form JSON)
|
|
3076
|
+
*/
|
|
3077
|
+
meta: {
|
|
3078
|
+
[key: string]: unknown;
|
|
3079
|
+
};
|
|
3080
|
+
/**
|
|
3081
|
+
* Creation timestamp
|
|
3082
|
+
*/
|
|
3083
|
+
createdAt: string;
|
|
3084
|
+
/**
|
|
3085
|
+
* Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
|
|
3086
|
+
*/
|
|
3087
|
+
updatedAt: string;
|
|
3088
|
+
};
|
|
3089
|
+
|
|
3090
|
+
export type EventListResponseDto = {
|
|
3091
|
+
/**
|
|
3092
|
+
* List of life events
|
|
3093
|
+
*/
|
|
3094
|
+
items: Array<EventResponseDto>;
|
|
3095
|
+
/**
|
|
3096
|
+
* Total number of life events matching the query
|
|
3097
|
+
*/
|
|
3098
|
+
total: number;
|
|
3099
|
+
};
|
|
3100
|
+
|
|
3101
|
+
export type UpdateBeanEventDto = {
|
|
3102
|
+
/**
|
|
3103
|
+
* Life event date (ISO 8601)
|
|
3104
|
+
*/
|
|
3105
|
+
date?: string;
|
|
3106
|
+
/**
|
|
3107
|
+
* Life event type (user-defined)
|
|
3108
|
+
*/
|
|
3109
|
+
type?: string;
|
|
3110
|
+
/**
|
|
3111
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3112
|
+
*/
|
|
3113
|
+
description?: string;
|
|
3114
|
+
/**
|
|
3115
|
+
* Product-side metadata (free-form JSON)
|
|
3116
|
+
*/
|
|
3117
|
+
meta?: {
|
|
3118
|
+
[key: string]: unknown;
|
|
3119
|
+
};
|
|
3120
|
+
};
|
|
3121
|
+
|
|
2833
3122
|
export type FileImportDto = {
|
|
2834
3123
|
/**
|
|
2835
3124
|
* Bill file to import (CSV, PDF, OFX, etc.)
|
|
@@ -3294,6 +3583,8 @@ export type SupportedProvidersResponseDto = {
|
|
|
3294
3583
|
|
|
3295
3584
|
export type ParserTelemetryReportDto = unknown;
|
|
3296
3585
|
|
|
3586
|
+
export type UncoveredFormatMissDto = unknown;
|
|
3587
|
+
|
|
3297
3588
|
export type ProcessNlpDto = {
|
|
3298
3589
|
/**
|
|
3299
3590
|
* Natural language text describing a transaction (Chinese)
|
|
@@ -3839,7 +4130,7 @@ export type status4 = 'success' | 'pending' | 'error';
|
|
|
3839
4130
|
/**
|
|
3840
4131
|
* Action taken or requested
|
|
3841
4132
|
*/
|
|
3842
|
-
export type
|
|
4133
|
+
export type action2 =
|
|
3843
4134
|
| 'created'
|
|
3844
4135
|
| 'ask'
|
|
3845
4136
|
| 'confirm'
|
|
@@ -4079,8 +4370,21 @@ export type AccountItemWithAssetClassDto = {
|
|
|
4079
4370
|
* Risk level
|
|
4080
4371
|
*/
|
|
4081
4372
|
riskLevel?: string;
|
|
4373
|
+
/**
|
|
4374
|
+
* ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
|
|
4375
|
+
*/
|
|
4376
|
+
source?: 'USER_META' | 'FIAT_CURRENCY' | 'OPENBB_MAPPING' | 'FALLBACK';
|
|
4082
4377
|
};
|
|
4083
4378
|
|
|
4379
|
+
/**
|
|
4380
|
+
* ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
|
|
4381
|
+
*/
|
|
4382
|
+
export type source2 =
|
|
4383
|
+
| 'USER_META'
|
|
4384
|
+
| 'FIAT_CURRENCY'
|
|
4385
|
+
| 'OPENBB_MAPPING'
|
|
4386
|
+
| 'FALLBACK';
|
|
4387
|
+
|
|
4084
4388
|
export type AssetClassGroupDto = {
|
|
4085
4389
|
/**
|
|
4086
4390
|
* Asset class name
|
|
@@ -4167,6 +4471,12 @@ export type AssetClassSummaryDto = {
|
|
|
4167
4471
|
* Exchange rate warnings
|
|
4168
4472
|
*/
|
|
4169
4473
|
warnings?: Array<AccountExchangeRateWarningDto>;
|
|
4474
|
+
/**
|
|
4475
|
+
* 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.
|
|
4476
|
+
*/
|
|
4477
|
+
fallback?: {
|
|
4478
|
+
[key: string]: unknown;
|
|
4479
|
+
};
|
|
4170
4480
|
};
|
|
4171
4481
|
|
|
4172
4482
|
export type AssetClassAccountsResponseDto = {
|
|
@@ -4178,6 +4488,56 @@ export type AssetClassAccountsResponseDto = {
|
|
|
4178
4488
|
* Summary statistics
|
|
4179
4489
|
*/
|
|
4180
4490
|
summary: AssetClassSummaryDto;
|
|
4491
|
+
/**
|
|
4492
|
+
* ADR-0105 §6 holding-level grey-area bucket (source=FALLBACK holdings peeled out of groups). Present only for groupBy=holdingAssetClass when FALLBACK holdings exist.
|
|
4493
|
+
*/
|
|
4494
|
+
uncategorized?: AssetClassGroupDto;
|
|
4495
|
+
};
|
|
4496
|
+
|
|
4497
|
+
export type HoldingAssetClassAccountSliceDto = {
|
|
4498
|
+
/**
|
|
4499
|
+
* Account ID
|
|
4500
|
+
*/
|
|
4501
|
+
accountId: string;
|
|
4502
|
+
/**
|
|
4503
|
+
* Full account path
|
|
4504
|
+
*/
|
|
4505
|
+
accountPath: string;
|
|
4506
|
+
/**
|
|
4507
|
+
* Currency of the holding with the largest converted base value; undefined when no holding is convertible
|
|
4508
|
+
*/
|
|
4509
|
+
accountCurrency?: string;
|
|
4510
|
+
/**
|
|
4511
|
+
* Account's market value in base currency (Σ converted holdings; grey bucket included)
|
|
4512
|
+
*/
|
|
4513
|
+
marketValueBase: string;
|
|
4514
|
+
/**
|
|
4515
|
+
* Share of the global total (0-100). 0 when globalTotal is zero (no NaN/Infinity).
|
|
4516
|
+
*/
|
|
4517
|
+
shareOfTotalPct: number;
|
|
4518
|
+
/**
|
|
4519
|
+
* Per-account asset-class breakdown
|
|
4520
|
+
*/
|
|
4521
|
+
groups: Array<AssetClassGroupDto>;
|
|
4522
|
+
/**
|
|
4523
|
+
* Per-account grey bucket (source=FALLBACK holdings, incl. broker cash)
|
|
4524
|
+
*/
|
|
4525
|
+
uncategorized?: AssetClassGroupDto;
|
|
4526
|
+
/**
|
|
4527
|
+
* Every holding row for this account (account ID in each row’s `id` field)
|
|
4528
|
+
*/
|
|
4529
|
+
holdings: Array<AccountItemWithAssetClassDto>;
|
|
4530
|
+
};
|
|
4531
|
+
|
|
4532
|
+
export type HoldingAssetClassCrossAccountResponseDto = {
|
|
4533
|
+
/**
|
|
4534
|
+
* Merged cross-account holding aggregation
|
|
4535
|
+
*/
|
|
4536
|
+
global: AssetClassAccountsResponseDto;
|
|
4537
|
+
/**
|
|
4538
|
+
* Per-account slices
|
|
4539
|
+
*/
|
|
4540
|
+
byAccount: Array<HoldingAssetClassAccountSliceDto>;
|
|
4181
4541
|
};
|
|
4182
4542
|
|
|
4183
4543
|
export type CashFlowByCurrencyDto = {
|
|
@@ -4259,47 +4619,344 @@ export type CashFlowResponseDto = {
|
|
|
4259
4619
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4260
4620
|
};
|
|
4261
4621
|
|
|
4262
|
-
export type
|
|
4622
|
+
export type MonetaryDto = {
|
|
4263
4623
|
/**
|
|
4264
|
-
*
|
|
4624
|
+
* Amount (Decimal string)
|
|
4625
|
+
*/
|
|
4626
|
+
amount: string;
|
|
4627
|
+
/**
|
|
4628
|
+
* ISO 4217 currency
|
|
4265
4629
|
*/
|
|
4266
4630
|
currency: string;
|
|
4267
4631
|
/**
|
|
4268
|
-
*
|
|
4632
|
+
* Converted to user base currency (Decimal string)
|
|
4269
4633
|
*/
|
|
4270
|
-
|
|
4634
|
+
baseCcyEquivalent?: {
|
|
4635
|
+
[key: string]: unknown;
|
|
4636
|
+
} | null;
|
|
4271
4637
|
};
|
|
4272
4638
|
|
|
4273
|
-
export type
|
|
4639
|
+
export type CurrentPriceDto = {
|
|
4274
4640
|
/**
|
|
4275
|
-
*
|
|
4641
|
+
* Price amount (Decimal string)
|
|
4276
4642
|
*/
|
|
4277
|
-
|
|
4643
|
+
amount: string;
|
|
4278
4644
|
/**
|
|
4279
|
-
*
|
|
4645
|
+
* Price currency (ISO 4217)
|
|
4280
4646
|
*/
|
|
4281
|
-
|
|
4647
|
+
currency: string;
|
|
4282
4648
|
/**
|
|
4283
|
-
*
|
|
4649
|
+
* Price date (ISO 8601)
|
|
4284
4650
|
*/
|
|
4285
|
-
|
|
4286
|
-
[key: string]: unknown;
|
|
4287
|
-
};
|
|
4651
|
+
date: string;
|
|
4288
4652
|
/**
|
|
4289
|
-
*
|
|
4653
|
+
* Price source
|
|
4290
4654
|
*/
|
|
4291
|
-
|
|
4655
|
+
source: 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
|
|
4292
4656
|
};
|
|
4293
4657
|
|
|
4294
|
-
|
|
4658
|
+
/**
|
|
4659
|
+
* Price source
|
|
4660
|
+
*/
|
|
4661
|
+
export type source3 = 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
|
|
4662
|
+
|
|
4663
|
+
export type FxRateDto = {
|
|
4664
|
+
from: string;
|
|
4665
|
+
to: string;
|
|
4295
4666
|
/**
|
|
4296
|
-
*
|
|
4667
|
+
* FX rate (Decimal string)
|
|
4297
4668
|
*/
|
|
4298
|
-
|
|
4669
|
+
rate: string;
|
|
4299
4670
|
/**
|
|
4300
|
-
*
|
|
4671
|
+
* Rate date (ISO 8601)
|
|
4301
4672
|
*/
|
|
4302
|
-
|
|
4673
|
+
date: string;
|
|
4674
|
+
};
|
|
4675
|
+
|
|
4676
|
+
export type HoldingPnlRowDto = {
|
|
4677
|
+
/**
|
|
4678
|
+
* Account UUID
|
|
4679
|
+
*/
|
|
4680
|
+
accountId: string;
|
|
4681
|
+
/**
|
|
4682
|
+
* Full account path
|
|
4683
|
+
*/
|
|
4684
|
+
accountPath: string;
|
|
4685
|
+
/**
|
|
4686
|
+
* Account settlement currency (ISO 4217), from cost currency
|
|
4687
|
+
*/
|
|
4688
|
+
accountCcy?: {
|
|
4689
|
+
[key: string]: unknown;
|
|
4690
|
+
} | null;
|
|
4691
|
+
/**
|
|
4692
|
+
* Broker type derived from Platform.type
|
|
4693
|
+
*/
|
|
4694
|
+
brokerType?: {
|
|
4695
|
+
[key: string]: unknown;
|
|
4696
|
+
} | null;
|
|
4697
|
+
/**
|
|
4698
|
+
* Commodity symbol
|
|
4699
|
+
*/
|
|
4700
|
+
symbol: string;
|
|
4701
|
+
/**
|
|
4702
|
+
* Chart segment token (libs/common resolver)
|
|
4703
|
+
*/
|
|
4704
|
+
chartToken: 'equity' | 'fund' | 'bond' | 'cash' | 'other';
|
|
4705
|
+
assetClass: string;
|
|
4706
|
+
assetSubClass?: {
|
|
4707
|
+
[key: string]: unknown;
|
|
4708
|
+
} | null;
|
|
4709
|
+
/**
|
|
4710
|
+
* Net held units (Decimal string)
|
|
4711
|
+
*/
|
|
4712
|
+
units: string;
|
|
4713
|
+
/**
|
|
4714
|
+
* Average cost per unit; null when cost currency conflicts or no cost
|
|
4715
|
+
*/
|
|
4716
|
+
averageCostPerUnit?: MonetaryDto | null;
|
|
4717
|
+
/**
|
|
4718
|
+
* Cost basis of held units
|
|
4719
|
+
*/
|
|
4720
|
+
costBasis?: MonetaryDto | null;
|
|
4721
|
+
/**
|
|
4722
|
+
* Market value at asOf price
|
|
4723
|
+
*/
|
|
4724
|
+
marketValue?: MonetaryDto | null;
|
|
4725
|
+
/**
|
|
4726
|
+
* Price used for market value
|
|
4727
|
+
*/
|
|
4728
|
+
currentPrice?: CurrentPriceDto | null;
|
|
4729
|
+
/**
|
|
4730
|
+
* Unrealized P&L in base currency (Decimal string); null when any FX/price missing
|
|
4731
|
+
*/
|
|
4732
|
+
unrealizedPnlBase?: {
|
|
4733
|
+
[key: string]: unknown;
|
|
4734
|
+
} | null;
|
|
4735
|
+
/**
|
|
4736
|
+
* Unrealized P&L % (Decimal string)
|
|
4737
|
+
*/
|
|
4738
|
+
unrealizedPnlPct?: {
|
|
4739
|
+
[key: string]: unknown;
|
|
4740
|
+
} | null;
|
|
4741
|
+
/**
|
|
4742
|
+
* Historical FX rate applied to cost basis
|
|
4743
|
+
*/
|
|
4744
|
+
costFxRate?: FxRateDto | null;
|
|
4745
|
+
/**
|
|
4746
|
+
* FX rate applied to market value
|
|
4747
|
+
*/
|
|
4748
|
+
marketFxRate?: FxRateDto | null;
|
|
4749
|
+
/**
|
|
4750
|
+
* Share of invested assets % (Decimal string); only for invested chartTokens
|
|
4751
|
+
*/
|
|
4752
|
+
pctOfInvestedAssets?: {
|
|
4753
|
+
[key: string]: unknown;
|
|
4754
|
+
} | null;
|
|
4755
|
+
/**
|
|
4756
|
+
* 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
|
|
4757
|
+
*/
|
|
4758
|
+
realizedPnl?: MonetaryDto | null;
|
|
4759
|
+
};
|
|
4760
|
+
|
|
4761
|
+
/**
|
|
4762
|
+
* Chart segment token (libs/common resolver)
|
|
4763
|
+
*/
|
|
4764
|
+
export type chartToken = 'equity' | 'fund' | 'bond' | 'cash' | 'other';
|
|
4765
|
+
|
|
4766
|
+
export type HoldingPnlWarningDto = {
|
|
4767
|
+
/**
|
|
4768
|
+
* Warning type
|
|
4769
|
+
*/
|
|
4770
|
+
type:
|
|
4771
|
+
| 'MISSING_COST_FX_RATE'
|
|
4772
|
+
| 'MISSING_MARKET_FX_RATE'
|
|
4773
|
+
| 'MISSING_SALE_PRICE'
|
|
4774
|
+
| 'MISSING_REALIZED_FX_RATE'
|
|
4775
|
+
| 'OVERSOLD_LOTS'
|
|
4776
|
+
| 'NO_PRICE'
|
|
4777
|
+
| 'MIXED_COST_CURRENCY';
|
|
4778
|
+
symbol?: {
|
|
4779
|
+
[key: string]: unknown;
|
|
4780
|
+
} | null;
|
|
4781
|
+
accountId?: {
|
|
4782
|
+
[key: string]: unknown;
|
|
4783
|
+
} | null;
|
|
4784
|
+
currency?: {
|
|
4785
|
+
[key: string]: unknown;
|
|
4786
|
+
} | null;
|
|
4787
|
+
};
|
|
4788
|
+
|
|
4789
|
+
/**
|
|
4790
|
+
* Warning type
|
|
4791
|
+
*/
|
|
4792
|
+
export type type4 =
|
|
4793
|
+
| 'MISSING_COST_FX_RATE'
|
|
4794
|
+
| 'MISSING_MARKET_FX_RATE'
|
|
4795
|
+
| 'MISSING_SALE_PRICE'
|
|
4796
|
+
| 'MISSING_REALIZED_FX_RATE'
|
|
4797
|
+
| 'OVERSOLD_LOTS'
|
|
4798
|
+
| 'NO_PRICE'
|
|
4799
|
+
| 'MIXED_COST_CURRENCY';
|
|
4800
|
+
|
|
4801
|
+
export type HoldingPnlResponseDto = {
|
|
4802
|
+
asOfDate: string;
|
|
4803
|
+
baseCurrency: string;
|
|
4804
|
+
/**
|
|
4805
|
+
* Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
|
|
4806
|
+
*/
|
|
4807
|
+
method: 'average' | 'FIFO';
|
|
4808
|
+
rows: Array<HoldingPnlRowDto>;
|
|
4809
|
+
warnings: Array<HoldingPnlWarningDto>;
|
|
4810
|
+
};
|
|
4811
|
+
|
|
4812
|
+
/**
|
|
4813
|
+
* Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
|
|
4814
|
+
*/
|
|
4815
|
+
export type method = 'average' | 'FIFO';
|
|
4816
|
+
|
|
4817
|
+
export type CreateBeanPriceDto = {
|
|
4818
|
+
/**
|
|
4819
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4820
|
+
*/
|
|
4821
|
+
currency: string;
|
|
4822
|
+
/**
|
|
4823
|
+
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
4824
|
+
*/
|
|
4825
|
+
quoteCurrency: string;
|
|
4826
|
+
/**
|
|
4827
|
+
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
4828
|
+
*/
|
|
4829
|
+
amount: number;
|
|
4830
|
+
/**
|
|
4831
|
+
* Price date (ISO 8601 format)
|
|
4832
|
+
*/
|
|
4833
|
+
date: string;
|
|
4834
|
+
/**
|
|
4835
|
+
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
4836
|
+
*/
|
|
4837
|
+
metadata?: {
|
|
4838
|
+
[key: string]: unknown;
|
|
4839
|
+
};
|
|
4840
|
+
};
|
|
4841
|
+
|
|
4842
|
+
export type PriceResponseDto = {
|
|
4843
|
+
/**
|
|
4844
|
+
* Unique identifier
|
|
4845
|
+
*/
|
|
4846
|
+
id: string;
|
|
4847
|
+
/**
|
|
4848
|
+
* User ID (owner of the price)
|
|
4849
|
+
*/
|
|
4850
|
+
userId: string;
|
|
4851
|
+
/**
|
|
4852
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4853
|
+
*/
|
|
4854
|
+
currency: string;
|
|
4855
|
+
/**
|
|
4856
|
+
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
4857
|
+
*/
|
|
4858
|
+
quoteCurrency: string;
|
|
4859
|
+
/**
|
|
4860
|
+
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
4861
|
+
*/
|
|
4862
|
+
amount: number;
|
|
4863
|
+
/**
|
|
4864
|
+
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
4865
|
+
*/
|
|
4866
|
+
date: string;
|
|
4867
|
+
/**
|
|
4868
|
+
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
4869
|
+
*/
|
|
4870
|
+
meta: {
|
|
4871
|
+
[key: string]: unknown;
|
|
4872
|
+
};
|
|
4873
|
+
/**
|
|
4874
|
+
* Creation timestamp
|
|
4875
|
+
*/
|
|
4876
|
+
createdAt: string;
|
|
4877
|
+
/**
|
|
4878
|
+
* Last update timestamp
|
|
4879
|
+
*/
|
|
4880
|
+
updatedAt: string;
|
|
4881
|
+
};
|
|
4882
|
+
|
|
4883
|
+
export type PriceListResponseDto = {
|
|
4884
|
+
/**
|
|
4885
|
+
* List of prices
|
|
4886
|
+
*/
|
|
4887
|
+
items: Array<PriceResponseDto>;
|
|
4888
|
+
/**
|
|
4889
|
+
* Total number of prices
|
|
4890
|
+
*/
|
|
4891
|
+
total: number;
|
|
4892
|
+
};
|
|
4893
|
+
|
|
4894
|
+
export type UpdateBeanPriceDto = {
|
|
4895
|
+
/**
|
|
4896
|
+
* Currency being priced
|
|
4897
|
+
*/
|
|
4898
|
+
currency?: string;
|
|
4899
|
+
/**
|
|
4900
|
+
* Quote currency (pricing currency)
|
|
4901
|
+
*/
|
|
4902
|
+
quoteCurrency?: string;
|
|
4903
|
+
/**
|
|
4904
|
+
* Price amount (MUST be >= 0 per Beancount spec)
|
|
4905
|
+
*/
|
|
4906
|
+
amount?: number;
|
|
4907
|
+
/**
|
|
4908
|
+
* Price date (ISO 8601 format)
|
|
4909
|
+
*/
|
|
4910
|
+
date?: string;
|
|
4911
|
+
/**
|
|
4912
|
+
* Metadata
|
|
4913
|
+
*/
|
|
4914
|
+
metadata?: {
|
|
4915
|
+
[key: string]: unknown;
|
|
4916
|
+
};
|
|
4917
|
+
};
|
|
4918
|
+
|
|
4919
|
+
export type CurrencyBalanceDto = {
|
|
4920
|
+
/**
|
|
4921
|
+
* ISO 4217 currency code
|
|
4922
|
+
*/
|
|
4923
|
+
currency: string;
|
|
4924
|
+
/**
|
|
4925
|
+
* Balance amount
|
|
4926
|
+
*/
|
|
4927
|
+
balance: string;
|
|
4928
|
+
};
|
|
4929
|
+
|
|
4930
|
+
export type TimeSeriesPointDto = {
|
|
4931
|
+
/**
|
|
4932
|
+
* Date in YYYY-MM-DD format
|
|
4933
|
+
*/
|
|
4934
|
+
date: string;
|
|
4935
|
+
/**
|
|
4936
|
+
* Value at this date (in base currency)
|
|
4937
|
+
*/
|
|
4938
|
+
value: string;
|
|
4939
|
+
/**
|
|
4940
|
+
* Change from previous point
|
|
4941
|
+
*/
|
|
4942
|
+
change?: {
|
|
4943
|
+
[key: string]: unknown;
|
|
4944
|
+
};
|
|
4945
|
+
/**
|
|
4946
|
+
* Multi-currency breakdown for this point
|
|
4947
|
+
*/
|
|
4948
|
+
byCurrency?: Array<CurrencyBalanceDto>;
|
|
4949
|
+
};
|
|
4950
|
+
|
|
4951
|
+
export type TrendSummaryDto = {
|
|
4952
|
+
/**
|
|
4953
|
+
* Value at start of period
|
|
4954
|
+
*/
|
|
4955
|
+
startValue: string;
|
|
4956
|
+
/**
|
|
4957
|
+
* Value at end of period
|
|
4958
|
+
*/
|
|
4959
|
+
endValue: string;
|
|
4303
4960
|
/**
|
|
4304
4961
|
* Total change over period
|
|
4305
4962
|
*/
|
|
@@ -4352,6 +5009,71 @@ export type PortfolioTrendsResponseDto = {
|
|
|
4352
5009
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4353
5010
|
};
|
|
4354
5011
|
|
|
5012
|
+
export type CashFlowPointDto = {
|
|
5013
|
+
/**
|
|
5014
|
+
* Month key (YYYY-MM)
|
|
5015
|
+
*/
|
|
5016
|
+
month: string;
|
|
5017
|
+
/**
|
|
5018
|
+
* Income in base currency (absolute, converted)
|
|
5019
|
+
*/
|
|
5020
|
+
income: string;
|
|
5021
|
+
/**
|
|
5022
|
+
* Expense in base currency (absolute, converted)
|
|
5023
|
+
*/
|
|
5024
|
+
expense: string;
|
|
5025
|
+
/**
|
|
5026
|
+
* netSavings = income − expense (savings positive)
|
|
5027
|
+
*/
|
|
5028
|
+
netSavings: string;
|
|
5029
|
+
};
|
|
5030
|
+
|
|
5031
|
+
export type CashFlowTrendSummaryDto = {
|
|
5032
|
+
/**
|
|
5033
|
+
* Total income across the period
|
|
5034
|
+
*/
|
|
5035
|
+
totalIncome: string;
|
|
5036
|
+
/**
|
|
5037
|
+
* Total expense across the period
|
|
5038
|
+
*/
|
|
5039
|
+
totalExpense: string;
|
|
5040
|
+
/**
|
|
5041
|
+
* income − expense across the period
|
|
5042
|
+
*/
|
|
5043
|
+
totalNetSavings: string;
|
|
5044
|
+
/**
|
|
5045
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
5046
|
+
*/
|
|
5047
|
+
averageMonthlyNetSavings: string;
|
|
5048
|
+
};
|
|
5049
|
+
|
|
5050
|
+
export type CashFlowTrendsResponseDto = {
|
|
5051
|
+
/**
|
|
5052
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
5053
|
+
*/
|
|
5054
|
+
series: Array<CashFlowPointDto>;
|
|
5055
|
+
/**
|
|
5056
|
+
* Period totals
|
|
5057
|
+
*/
|
|
5058
|
+
summary: CashFlowTrendSummaryDto;
|
|
5059
|
+
/**
|
|
5060
|
+
* Period requested
|
|
5061
|
+
*/
|
|
5062
|
+
period: string;
|
|
5063
|
+
/**
|
|
5064
|
+
* Data granularity (v1 returns month buckets)
|
|
5065
|
+
*/
|
|
5066
|
+
granularity: string;
|
|
5067
|
+
/**
|
|
5068
|
+
* Base currency for converted values
|
|
5069
|
+
*/
|
|
5070
|
+
currency: string;
|
|
5071
|
+
/**
|
|
5072
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
5073
|
+
*/
|
|
5074
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
5075
|
+
};
|
|
5076
|
+
|
|
4355
5077
|
export type GenerateSnapshotBody = unknown;
|
|
4356
5078
|
|
|
4357
5079
|
export type GenerateSnapshotResponse = unknown;
|
|
@@ -4581,6 +5303,20 @@ export type TransactionControllerCreateBatchData = {
|
|
|
4581
5303
|
export type TransactionControllerCreateBatchResponse =
|
|
4582
5304
|
BatchTransactionResponseDto;
|
|
4583
5305
|
|
|
5306
|
+
export type TransactionControllerCorrectData = {
|
|
5307
|
+
/**
|
|
5308
|
+
* Original transaction ID to correct
|
|
5309
|
+
*/
|
|
5310
|
+
id: string;
|
|
5311
|
+
/**
|
|
5312
|
+
* Region code for tenant context
|
|
5313
|
+
*/
|
|
5314
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5315
|
+
requestBody: CorrectTransactionDto;
|
|
5316
|
+
};
|
|
5317
|
+
|
|
5318
|
+
export type TransactionControllerCorrectResponse = TransactionDetailDto;
|
|
5319
|
+
|
|
4584
5320
|
export type TransactionControllerSuggestTagsData = {
|
|
4585
5321
|
/**
|
|
4586
5322
|
* Max suggestions (1-100, default 10)
|
|
@@ -5515,6 +6251,104 @@ export type PropertyControllerDeleteData = {
|
|
|
5515
6251
|
|
|
5516
6252
|
export type PropertyControllerDeleteResponse = void;
|
|
5517
6253
|
|
|
6254
|
+
export type EventControllerCreateData = {
|
|
6255
|
+
/**
|
|
6256
|
+
* Region code for tenant context (decorative for life events)
|
|
6257
|
+
*/
|
|
6258
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6259
|
+
requestBody: CreateBeanEventDto;
|
|
6260
|
+
};
|
|
6261
|
+
|
|
6262
|
+
export type EventControllerCreateResponse = EventResponseDto;
|
|
6263
|
+
|
|
6264
|
+
export type EventControllerFindAllData = {
|
|
6265
|
+
/**
|
|
6266
|
+
* Filter life events from this date (ISO 8601 format)
|
|
6267
|
+
*/
|
|
6268
|
+
from?: string;
|
|
6269
|
+
/**
|
|
6270
|
+
* Number of items per page (default: 20, max: 100)
|
|
6271
|
+
*/
|
|
6272
|
+
limit?: number;
|
|
6273
|
+
/**
|
|
6274
|
+
* Page number for pagination (default: 1)
|
|
6275
|
+
*/
|
|
6276
|
+
page?: number;
|
|
6277
|
+
/**
|
|
6278
|
+
* Search term for description (case-insensitive partial match)
|
|
6279
|
+
*/
|
|
6280
|
+
q?: string;
|
|
6281
|
+
/**
|
|
6282
|
+
* Region code for tenant context (decorative for life events)
|
|
6283
|
+
*/
|
|
6284
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6285
|
+
/**
|
|
6286
|
+
* Filter life events to this date (ISO 8601 format)
|
|
6287
|
+
*/
|
|
6288
|
+
to?: string;
|
|
6289
|
+
/**
|
|
6290
|
+
* Filter by life event type (exact match)
|
|
6291
|
+
*/
|
|
6292
|
+
type?: string;
|
|
6293
|
+
};
|
|
6294
|
+
|
|
6295
|
+
export type EventControllerFindAllResponse = EventListResponseDto;
|
|
6296
|
+
|
|
6297
|
+
export type EventControllerFindOneData = {
|
|
6298
|
+
/**
|
|
6299
|
+
* Life event ID
|
|
6300
|
+
*/
|
|
6301
|
+
id: string;
|
|
6302
|
+
/**
|
|
6303
|
+
* Region code for tenant context (decorative for life events)
|
|
6304
|
+
*/
|
|
6305
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6306
|
+
};
|
|
6307
|
+
|
|
6308
|
+
export type EventControllerFindOneResponse = EventResponseDto;
|
|
6309
|
+
|
|
6310
|
+
export type EventControllerUpdateData = {
|
|
6311
|
+
/**
|
|
6312
|
+
* Life event ID
|
|
6313
|
+
*/
|
|
6314
|
+
id: string;
|
|
6315
|
+
/**
|
|
6316
|
+
* Region code for tenant context (decorative for life events)
|
|
6317
|
+
*/
|
|
6318
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6319
|
+
requestBody: UpdateBeanEventDto;
|
|
6320
|
+
};
|
|
6321
|
+
|
|
6322
|
+
export type EventControllerUpdateResponse = EventResponseDto;
|
|
6323
|
+
|
|
6324
|
+
export type EventControllerDeleteData = {
|
|
6325
|
+
/**
|
|
6326
|
+
* Life event ID
|
|
6327
|
+
*/
|
|
6328
|
+
id: string;
|
|
6329
|
+
/**
|
|
6330
|
+
* Region code for tenant context (decorative for life events)
|
|
6331
|
+
*/
|
|
6332
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6333
|
+
};
|
|
6334
|
+
|
|
6335
|
+
export type EventControllerDeleteResponse = void;
|
|
6336
|
+
|
|
6337
|
+
export type EventControllerGetSliceData = {
|
|
6338
|
+
accountPattern: string;
|
|
6339
|
+
granularity: string;
|
|
6340
|
+
/**
|
|
6341
|
+
* Life event ID
|
|
6342
|
+
*/
|
|
6343
|
+
id: string;
|
|
6344
|
+
/**
|
|
6345
|
+
* Region code for tenant context (decorative for life events)
|
|
6346
|
+
*/
|
|
6347
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6348
|
+
};
|
|
6349
|
+
|
|
6350
|
+
export type EventControllerGetSliceResponse = unknown;
|
|
6351
|
+
|
|
5518
6352
|
export type ExportControllerExportBeancountResponse = unknown;
|
|
5519
6353
|
|
|
5520
6354
|
export type FileImportControllerImportFileData = {
|
|
@@ -5663,9 +6497,9 @@ export type ProviderSyncControllerSyncData = {
|
|
|
5663
6497
|
| 'beancount-direct'
|
|
5664
6498
|
| 'parsed-bill';
|
|
5665
6499
|
/**
|
|
5666
|
-
* Region code
|
|
6500
|
+
* Region code for tenant context
|
|
5667
6501
|
*/
|
|
5668
|
-
region:
|
|
6502
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5669
6503
|
requestBody: ProviderSyncDto;
|
|
5670
6504
|
};
|
|
5671
6505
|
|
|
@@ -5704,89 +6538,239 @@ export type TelemetryControllerReportTelemetryData = {
|
|
|
5704
6538
|
|
|
5705
6539
|
export type TelemetryControllerReportTelemetryResponse = unknown;
|
|
5706
6540
|
|
|
6541
|
+
export type TelemetryControllerReportCoverageMissData = {
|
|
6542
|
+
/**
|
|
6543
|
+
* Region code for tenant context
|
|
6544
|
+
*/
|
|
6545
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6546
|
+
requestBody: UncoveredFormatMissDto;
|
|
6547
|
+
};
|
|
6548
|
+
|
|
6549
|
+
export type TelemetryControllerReportCoverageMissResponse = unknown;
|
|
6550
|
+
|
|
6551
|
+
export type TelemetryControllerGetCoverageMetricsData = {
|
|
6552
|
+
/**
|
|
6553
|
+
* Region code for tenant context
|
|
6554
|
+
*/
|
|
6555
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6556
|
+
/**
|
|
6557
|
+
* Top-N uncovered formats (default 10)
|
|
6558
|
+
*/
|
|
6559
|
+
topN?: unknown;
|
|
6560
|
+
};
|
|
6561
|
+
|
|
6562
|
+
export type TelemetryControllerGetCoverageMetricsResponse = unknown;
|
|
6563
|
+
|
|
5707
6564
|
export type NlpControllerProcessNaturalLanguageData = {
|
|
5708
6565
|
/**
|
|
5709
6566
|
* Region code for tenant context
|
|
5710
6567
|
*/
|
|
5711
6568
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5712
|
-
/**
|
|
5713
|
-
* Natural language transaction input with optional session ID
|
|
5714
|
-
*/
|
|
5715
|
-
requestBody: ProcessNlpDto;
|
|
6569
|
+
/**
|
|
6570
|
+
* Natural language transaction input with optional session ID
|
|
6571
|
+
*/
|
|
6572
|
+
requestBody: ProcessNlpDto;
|
|
6573
|
+
};
|
|
6574
|
+
|
|
6575
|
+
export type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
|
|
6576
|
+
|
|
6577
|
+
export type NlpControllerClearSessionData = {
|
|
6578
|
+
/**
|
|
6579
|
+
* Region code for tenant context
|
|
6580
|
+
*/
|
|
6581
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6582
|
+
/**
|
|
6583
|
+
* Specific session ID to clear (defaults to user session)
|
|
6584
|
+
*/
|
|
6585
|
+
sessionId?: string;
|
|
6586
|
+
};
|
|
6587
|
+
|
|
6588
|
+
export type NlpControllerClearSessionResponse = void;
|
|
6589
|
+
|
|
6590
|
+
export type NlpControllerGetSessionData = {
|
|
6591
|
+
/**
|
|
6592
|
+
* Region code for tenant context
|
|
6593
|
+
*/
|
|
6594
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6595
|
+
/**
|
|
6596
|
+
* Specific session ID to get (defaults to user session)
|
|
6597
|
+
*/
|
|
6598
|
+
sessionId?: string;
|
|
6599
|
+
};
|
|
6600
|
+
|
|
6601
|
+
export type NlpControllerGetSessionResponse = unknown;
|
|
6602
|
+
|
|
6603
|
+
export type DashboardControllerGetNetWorthData = {
|
|
6604
|
+
/**
|
|
6605
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6606
|
+
*/
|
|
6607
|
+
date?: string;
|
|
6608
|
+
/**
|
|
6609
|
+
* Region code for tenant context
|
|
6610
|
+
*/
|
|
6611
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6612
|
+
};
|
|
6613
|
+
|
|
6614
|
+
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
6615
|
+
|
|
6616
|
+
export type DashboardControllerGetAccountsData = {
|
|
6617
|
+
/**
|
|
6618
|
+
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6619
|
+
*/
|
|
6620
|
+
accountId?: string;
|
|
6621
|
+
/**
|
|
6622
|
+
* Date for balance calculation (ISO 8601 format)
|
|
6623
|
+
*/
|
|
6624
|
+
date?: string;
|
|
6625
|
+
/**
|
|
6626
|
+
* Grouping strategy
|
|
6627
|
+
*/
|
|
6628
|
+
groupBy?:
|
|
6629
|
+
| 'platform'
|
|
6630
|
+
| 'assetClass'
|
|
6631
|
+
| 'holdingAssetClass'
|
|
6632
|
+
| 'holdingAssetClassByAccount';
|
|
6633
|
+
/**
|
|
6634
|
+
* Region code for tenant context
|
|
6635
|
+
*/
|
|
6636
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6637
|
+
};
|
|
6638
|
+
|
|
6639
|
+
export type DashboardControllerGetAccountsResponse =
|
|
6640
|
+
| AccountsResponseDto
|
|
6641
|
+
| AssetClassAccountsResponseDto
|
|
6642
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
6643
|
+
|
|
6644
|
+
export type DashboardControllerGetCashFlowData = {
|
|
6645
|
+
/**
|
|
6646
|
+
* Period in YYYY-MM format
|
|
6647
|
+
*/
|
|
6648
|
+
period: string;
|
|
6649
|
+
/**
|
|
6650
|
+
* Region code for tenant context
|
|
6651
|
+
*/
|
|
6652
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6653
|
+
};
|
|
6654
|
+
|
|
6655
|
+
export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
|
|
6656
|
+
|
|
6657
|
+
export type HoldingPnlControllerGetHoldingPnlData = {
|
|
6658
|
+
/**
|
|
6659
|
+
* Scope to a single account
|
|
6660
|
+
*/
|
|
6661
|
+
accountId?: string;
|
|
6662
|
+
/**
|
|
6663
|
+
* As-of date (ISO 8601), defaults to today
|
|
6664
|
+
*/
|
|
6665
|
+
asOf?: string;
|
|
6666
|
+
/**
|
|
6667
|
+
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
6668
|
+
*/
|
|
6669
|
+
method?: 'FIFO' | 'average';
|
|
6670
|
+
/**
|
|
6671
|
+
* Region code for tenant context
|
|
6672
|
+
*/
|
|
6673
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6674
|
+
};
|
|
6675
|
+
|
|
6676
|
+
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
6677
|
+
|
|
6678
|
+
export type PriceControllerCreateData = {
|
|
6679
|
+
/**
|
|
6680
|
+
* Region code for tenant context
|
|
6681
|
+
*/
|
|
6682
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6683
|
+
requestBody: CreateBeanPriceDto;
|
|
5716
6684
|
};
|
|
5717
6685
|
|
|
5718
|
-
export type
|
|
6686
|
+
export type PriceControllerCreateResponse = PriceResponseDto;
|
|
5719
6687
|
|
|
5720
|
-
export type
|
|
6688
|
+
export type PriceControllerFindAllData = {
|
|
6689
|
+
/**
|
|
6690
|
+
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6691
|
+
*/
|
|
6692
|
+
currency?: string;
|
|
6693
|
+
/**
|
|
6694
|
+
* Filter prices from this date (ISO 8601 format)
|
|
6695
|
+
*/
|
|
6696
|
+
dateFrom?: string;
|
|
6697
|
+
/**
|
|
6698
|
+
* Filter prices to this date (ISO 8601 format)
|
|
6699
|
+
*/
|
|
6700
|
+
dateTo?: string;
|
|
6701
|
+
/**
|
|
6702
|
+
* Number of items per page (default: 20, max: 100)
|
|
6703
|
+
*/
|
|
6704
|
+
limit?: number;
|
|
6705
|
+
/**
|
|
6706
|
+
* Page number for pagination (default: 1)
|
|
6707
|
+
*/
|
|
6708
|
+
page?: number;
|
|
6709
|
+
/**
|
|
6710
|
+
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
6711
|
+
*/
|
|
6712
|
+
quoteCurrency?: string;
|
|
5721
6713
|
/**
|
|
5722
6714
|
* Region code for tenant context
|
|
5723
6715
|
*/
|
|
5724
6716
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5725
6717
|
/**
|
|
5726
|
-
*
|
|
6718
|
+
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
5727
6719
|
*/
|
|
5728
|
-
|
|
6720
|
+
search?: string;
|
|
5729
6721
|
};
|
|
5730
6722
|
|
|
5731
|
-
export type
|
|
6723
|
+
export type PriceControllerFindAllResponse = PriceListResponseDto;
|
|
5732
6724
|
|
|
5733
|
-
export type
|
|
6725
|
+
export type PriceControllerFindOneData = {
|
|
5734
6726
|
/**
|
|
5735
|
-
*
|
|
6727
|
+
* Price ID
|
|
5736
6728
|
*/
|
|
5737
|
-
|
|
6729
|
+
id: string;
|
|
5738
6730
|
/**
|
|
5739
|
-
*
|
|
6731
|
+
* Region code for tenant context
|
|
5740
6732
|
*/
|
|
5741
|
-
|
|
6733
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5742
6734
|
};
|
|
5743
6735
|
|
|
5744
|
-
export type
|
|
6736
|
+
export type PriceControllerFindOneResponse = PriceResponseDto;
|
|
5745
6737
|
|
|
5746
|
-
export type
|
|
6738
|
+
export type PriceControllerUpdateData = {
|
|
5747
6739
|
/**
|
|
5748
|
-
*
|
|
6740
|
+
* Price ID
|
|
5749
6741
|
*/
|
|
5750
|
-
|
|
6742
|
+
id: string;
|
|
5751
6743
|
/**
|
|
5752
6744
|
* Region code for tenant context
|
|
5753
6745
|
*/
|
|
5754
6746
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6747
|
+
requestBody: UpdateBeanPriceDto;
|
|
5755
6748
|
};
|
|
5756
6749
|
|
|
5757
|
-
export type
|
|
6750
|
+
export type PriceControllerUpdateResponse = PriceResponseDto;
|
|
5758
6751
|
|
|
5759
|
-
export type
|
|
5760
|
-
/**
|
|
5761
|
-
* Date for balance calculation (ISO 8601 format)
|
|
5762
|
-
*/
|
|
5763
|
-
date?: string;
|
|
6752
|
+
export type PriceControllerDeleteData = {
|
|
5764
6753
|
/**
|
|
5765
|
-
*
|
|
6754
|
+
* Price ID
|
|
5766
6755
|
*/
|
|
5767
|
-
|
|
6756
|
+
id: string;
|
|
5768
6757
|
/**
|
|
5769
6758
|
* Region code for tenant context
|
|
5770
6759
|
*/
|
|
5771
6760
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5772
6761
|
};
|
|
5773
6762
|
|
|
5774
|
-
export type
|
|
5775
|
-
| AccountsResponseDto
|
|
5776
|
-
| AssetClassAccountsResponseDto;
|
|
6763
|
+
export type PriceControllerDeleteResponse = void;
|
|
5777
6764
|
|
|
5778
|
-
export type
|
|
5779
|
-
/**
|
|
5780
|
-
* Period in YYYY-MM format
|
|
5781
|
-
*/
|
|
5782
|
-
period: string;
|
|
6765
|
+
export type PriceControllerBulkCreateData = {
|
|
5783
6766
|
/**
|
|
5784
6767
|
* Region code for tenant context
|
|
5785
6768
|
*/
|
|
5786
6769
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6770
|
+
requestBody: Array<string>;
|
|
5787
6771
|
};
|
|
5788
6772
|
|
|
5789
|
-
export type
|
|
6773
|
+
export type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
|
|
5790
6774
|
|
|
5791
6775
|
export type ReportingControllerGetPortfolioTrendsData = {
|
|
5792
6776
|
/**
|
|
@@ -5806,6 +6790,24 @@ export type ReportingControllerGetPortfolioTrendsData = {
|
|
|
5806
6790
|
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
5807
6791
|
PortfolioTrendsResponseDto;
|
|
5808
6792
|
|
|
6793
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
6794
|
+
/**
|
|
6795
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
6796
|
+
*/
|
|
6797
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6798
|
+
/**
|
|
6799
|
+
* Time period
|
|
6800
|
+
*/
|
|
6801
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
6802
|
+
/**
|
|
6803
|
+
* Region code for tenant context
|
|
6804
|
+
*/
|
|
6805
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6806
|
+
};
|
|
6807
|
+
|
|
6808
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
6809
|
+
CashFlowTrendsResponseDto;
|
|
6810
|
+
|
|
5809
6811
|
export type ReportingControllerGenerateSnapshotData = {
|
|
5810
6812
|
/**
|
|
5811
6813
|
* Region code for tenant context
|
|
@@ -6081,6 +7083,29 @@ export type $OpenApiTs = {
|
|
|
6081
7083
|
};
|
|
6082
7084
|
};
|
|
6083
7085
|
};
|
|
7086
|
+
'/api/v1/{region}/bean/transactions/{id}/correct': {
|
|
7087
|
+
post: {
|
|
7088
|
+
req: TransactionControllerCorrectData;
|
|
7089
|
+
res: {
|
|
7090
|
+
/**
|
|
7091
|
+
* Corrected transaction created
|
|
7092
|
+
*/
|
|
7093
|
+
201: TransactionDetailDto;
|
|
7094
|
+
/**
|
|
7095
|
+
* Original transaction not found
|
|
7096
|
+
*/
|
|
7097
|
+
404: ApiProblemResponseDto;
|
|
7098
|
+
/**
|
|
7099
|
+
* Original no longer ACTIVE (concurrent modification)
|
|
7100
|
+
*/
|
|
7101
|
+
409: ApiProblemResponseDto;
|
|
7102
|
+
/**
|
|
7103
|
+
* Pipeline validation failed (does not balance, invalid accounts)
|
|
7104
|
+
*/
|
|
7105
|
+
422: ApiProblemResponseDto;
|
|
7106
|
+
};
|
|
7107
|
+
};
|
|
7108
|
+
};
|
|
6084
7109
|
'/api/v1/{region}/bean/transactions/tags': {
|
|
6085
7110
|
get: {
|
|
6086
7111
|
req: TransactionControllerSuggestTagsData;
|
|
@@ -7214,6 +8239,102 @@ export type $OpenApiTs = {
|
|
|
7214
8239
|
};
|
|
7215
8240
|
};
|
|
7216
8241
|
};
|
|
8242
|
+
'/api/v1/{region}/bean/events': {
|
|
8243
|
+
post: {
|
|
8244
|
+
req: EventControllerCreateData;
|
|
8245
|
+
res: {
|
|
8246
|
+
/**
|
|
8247
|
+
* Life event created successfully
|
|
8248
|
+
*/
|
|
8249
|
+
201: EventResponseDto;
|
|
8250
|
+
/**
|
|
8251
|
+
* Life event already exists for this (userId, type, date) combination
|
|
8252
|
+
*/
|
|
8253
|
+
409: unknown;
|
|
8254
|
+
};
|
|
8255
|
+
};
|
|
8256
|
+
get: {
|
|
8257
|
+
req: EventControllerFindAllData;
|
|
8258
|
+
res: {
|
|
8259
|
+
/**
|
|
8260
|
+
* Life events retrieved successfully
|
|
8261
|
+
*/
|
|
8262
|
+
200: EventListResponseDto;
|
|
8263
|
+
};
|
|
8264
|
+
};
|
|
8265
|
+
};
|
|
8266
|
+
'/api/v1/{region}/bean/events/{id}': {
|
|
8267
|
+
get: {
|
|
8268
|
+
req: EventControllerFindOneData;
|
|
8269
|
+
res: {
|
|
8270
|
+
/**
|
|
8271
|
+
* Life event retrieved successfully
|
|
8272
|
+
*/
|
|
8273
|
+
200: EventResponseDto;
|
|
8274
|
+
/**
|
|
8275
|
+
* Life event not found
|
|
8276
|
+
*/
|
|
8277
|
+
404: unknown;
|
|
8278
|
+
};
|
|
8279
|
+
};
|
|
8280
|
+
put: {
|
|
8281
|
+
req: EventControllerUpdateData;
|
|
8282
|
+
res: {
|
|
8283
|
+
/**
|
|
8284
|
+
* Life event updated successfully
|
|
8285
|
+
*/
|
|
8286
|
+
200: EventResponseDto;
|
|
8287
|
+
/**
|
|
8288
|
+
* If-Match header is not a valid ISO 8601 date
|
|
8289
|
+
*/
|
|
8290
|
+
400: unknown;
|
|
8291
|
+
/**
|
|
8292
|
+
* Life event not found
|
|
8293
|
+
*/
|
|
8294
|
+
404: unknown;
|
|
8295
|
+
/**
|
|
8296
|
+
* Updated event conflicts with an existing (userId, type, date) combination
|
|
8297
|
+
*/
|
|
8298
|
+
409: unknown;
|
|
8299
|
+
/**
|
|
8300
|
+
* If-Match precondition failed (updatedAt mismatch)
|
|
8301
|
+
*/
|
|
8302
|
+
412: unknown;
|
|
8303
|
+
};
|
|
8304
|
+
};
|
|
8305
|
+
delete: {
|
|
8306
|
+
req: EventControllerDeleteData;
|
|
8307
|
+
res: {
|
|
8308
|
+
/**
|
|
8309
|
+
* Life event deleted successfully
|
|
8310
|
+
*/
|
|
8311
|
+
204: void;
|
|
8312
|
+
/**
|
|
8313
|
+
* Life event not found
|
|
8314
|
+
*/
|
|
8315
|
+
404: unknown;
|
|
8316
|
+
};
|
|
8317
|
+
};
|
|
8318
|
+
};
|
|
8319
|
+
'/api/v1/{region}/bean/events/{id}/slice': {
|
|
8320
|
+
get: {
|
|
8321
|
+
req: EventControllerGetSliceData;
|
|
8322
|
+
res: {
|
|
8323
|
+
/**
|
|
8324
|
+
* Time-series sliced by the life event range
|
|
8325
|
+
*/
|
|
8326
|
+
200: unknown;
|
|
8327
|
+
/**
|
|
8328
|
+
* accountPattern query param is empty
|
|
8329
|
+
*/
|
|
8330
|
+
400: unknown;
|
|
8331
|
+
/**
|
|
8332
|
+
* Life event not found
|
|
8333
|
+
*/
|
|
8334
|
+
404: unknown;
|
|
8335
|
+
};
|
|
8336
|
+
};
|
|
8337
|
+
};
|
|
7217
8338
|
'/api/v1/{region}/bean/export/beancount': {
|
|
7218
8339
|
get: {
|
|
7219
8340
|
res: {
|
|
@@ -7504,6 +8625,32 @@ export type $OpenApiTs = {
|
|
|
7504
8625
|
};
|
|
7505
8626
|
};
|
|
7506
8627
|
};
|
|
8628
|
+
'/api/v1/{region}/bean/import/parser-coverage-miss': {
|
|
8629
|
+
post: {
|
|
8630
|
+
req: TelemetryControllerReportCoverageMissData;
|
|
8631
|
+
res: {
|
|
8632
|
+
/**
|
|
8633
|
+
* Coverage miss report received
|
|
8634
|
+
*/
|
|
8635
|
+
200: unknown;
|
|
8636
|
+
/**
|
|
8637
|
+
* Unauthorized
|
|
8638
|
+
*/
|
|
8639
|
+
401: unknown;
|
|
8640
|
+
};
|
|
8641
|
+
};
|
|
8642
|
+
};
|
|
8643
|
+
'/api/v1/{region}/bean/import/parser-coverage-metrics': {
|
|
8644
|
+
get: {
|
|
8645
|
+
req: TelemetryControllerGetCoverageMetricsData;
|
|
8646
|
+
res: {
|
|
8647
|
+
/**
|
|
8648
|
+
* Coverage metrics
|
|
8649
|
+
*/
|
|
8650
|
+
200: unknown;
|
|
8651
|
+
};
|
|
8652
|
+
};
|
|
8653
|
+
};
|
|
7507
8654
|
'/api/v1/{region}/bean/nlp/process': {
|
|
7508
8655
|
post: {
|
|
7509
8656
|
req: NlpControllerProcessNaturalLanguageData;
|
|
@@ -7573,7 +8720,10 @@ export type $OpenApiTs = {
|
|
|
7573
8720
|
/**
|
|
7574
8721
|
* Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
7575
8722
|
*/
|
|
7576
|
-
200:
|
|
8723
|
+
200:
|
|
8724
|
+
| AccountsResponseDto
|
|
8725
|
+
| AssetClassAccountsResponseDto
|
|
8726
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
7577
8727
|
/**
|
|
7578
8728
|
* User not authenticated
|
|
7579
8729
|
*/
|
|
@@ -7600,6 +8750,109 @@ export type $OpenApiTs = {
|
|
|
7600
8750
|
};
|
|
7601
8751
|
};
|
|
7602
8752
|
};
|
|
8753
|
+
'/api/v1/{region}/investment/holdings/pnl': {
|
|
8754
|
+
get: {
|
|
8755
|
+
req: HoldingPnlControllerGetHoldingPnlData;
|
|
8756
|
+
res: {
|
|
8757
|
+
/**
|
|
8758
|
+
* Holding P&L retrieved successfully
|
|
8759
|
+
*/
|
|
8760
|
+
200: HoldingPnlResponseDto;
|
|
8761
|
+
/**
|
|
8762
|
+
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
8763
|
+
*/
|
|
8764
|
+
400: unknown;
|
|
8765
|
+
/**
|
|
8766
|
+
* User not authenticated
|
|
8767
|
+
*/
|
|
8768
|
+
401: unknown;
|
|
8769
|
+
};
|
|
8770
|
+
};
|
|
8771
|
+
};
|
|
8772
|
+
'/api/v1/{region}/bean/prices': {
|
|
8773
|
+
post: {
|
|
8774
|
+
req: PriceControllerCreateData;
|
|
8775
|
+
res: {
|
|
8776
|
+
/**
|
|
8777
|
+
* Price created successfully
|
|
8778
|
+
*/
|
|
8779
|
+
201: PriceResponseDto;
|
|
8780
|
+
/**
|
|
8781
|
+
* Currency or quoteCurrency commodity not found
|
|
8782
|
+
*/
|
|
8783
|
+
404: unknown;
|
|
8784
|
+
/**
|
|
8785
|
+
* Price already exists for this currency pair and date
|
|
8786
|
+
*/
|
|
8787
|
+
409: unknown;
|
|
8788
|
+
};
|
|
8789
|
+
};
|
|
8790
|
+
get: {
|
|
8791
|
+
req: PriceControllerFindAllData;
|
|
8792
|
+
res: {
|
|
8793
|
+
/**
|
|
8794
|
+
* Prices retrieved successfully
|
|
8795
|
+
*/
|
|
8796
|
+
200: PriceListResponseDto;
|
|
8797
|
+
};
|
|
8798
|
+
};
|
|
8799
|
+
};
|
|
8800
|
+
'/api/v1/{region}/bean/prices/{id}': {
|
|
8801
|
+
get: {
|
|
8802
|
+
req: PriceControllerFindOneData;
|
|
8803
|
+
res: {
|
|
8804
|
+
/**
|
|
8805
|
+
* Price retrieved successfully
|
|
8806
|
+
*/
|
|
8807
|
+
200: PriceResponseDto;
|
|
8808
|
+
/**
|
|
8809
|
+
* Price not found
|
|
8810
|
+
*/
|
|
8811
|
+
404: unknown;
|
|
8812
|
+
};
|
|
8813
|
+
};
|
|
8814
|
+
put: {
|
|
8815
|
+
req: PriceControllerUpdateData;
|
|
8816
|
+
res: {
|
|
8817
|
+
/**
|
|
8818
|
+
* Price updated successfully
|
|
8819
|
+
*/
|
|
8820
|
+
200: PriceResponseDto;
|
|
8821
|
+
/**
|
|
8822
|
+
* Price not found
|
|
8823
|
+
*/
|
|
8824
|
+
404: unknown;
|
|
8825
|
+
/**
|
|
8826
|
+
* Updated price conflicts with existing price
|
|
8827
|
+
*/
|
|
8828
|
+
409: unknown;
|
|
8829
|
+
};
|
|
8830
|
+
};
|
|
8831
|
+
delete: {
|
|
8832
|
+
req: PriceControllerDeleteData;
|
|
8833
|
+
res: {
|
|
8834
|
+
/**
|
|
8835
|
+
* Price deleted successfully
|
|
8836
|
+
*/
|
|
8837
|
+
204: void;
|
|
8838
|
+
/**
|
|
8839
|
+
* Price not found
|
|
8840
|
+
*/
|
|
8841
|
+
404: unknown;
|
|
8842
|
+
};
|
|
8843
|
+
};
|
|
8844
|
+
};
|
|
8845
|
+
'/api/v1/{region}/bean/prices/bulk': {
|
|
8846
|
+
post: {
|
|
8847
|
+
req: PriceControllerBulkCreateData;
|
|
8848
|
+
res: {
|
|
8849
|
+
/**
|
|
8850
|
+
* Prices created successfully
|
|
8851
|
+
*/
|
|
8852
|
+
201: Array<PriceResponseDto>;
|
|
8853
|
+
};
|
|
8854
|
+
};
|
|
8855
|
+
};
|
|
7603
8856
|
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
7604
8857
|
get: {
|
|
7605
8858
|
req: ReportingControllerGetPortfolioTrendsData;
|
|
@@ -7615,6 +8868,21 @@ export type $OpenApiTs = {
|
|
|
7615
8868
|
};
|
|
7616
8869
|
};
|
|
7617
8870
|
};
|
|
8871
|
+
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
8872
|
+
get: {
|
|
8873
|
+
req: ReportingControllerGetCashFlowTrendsData;
|
|
8874
|
+
res: {
|
|
8875
|
+
/**
|
|
8876
|
+
* Cash-flow trends retrieved successfully
|
|
8877
|
+
*/
|
|
8878
|
+
200: CashFlowTrendsResponseDto;
|
|
8879
|
+
/**
|
|
8880
|
+
* User not authenticated
|
|
8881
|
+
*/
|
|
8882
|
+
401: unknown;
|
|
8883
|
+
};
|
|
8884
|
+
};
|
|
8885
|
+
};
|
|
7618
8886
|
'/api/v1/{region}/reporting/snapshots/generate': {
|
|
7619
8887
|
post: {
|
|
7620
8888
|
req: ReportingControllerGenerateSnapshotData;
|