@firela/api-types 0.0.0-canary.614ff760 → 0.0.0-canary.6e40e263
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 +675 -9
- package/dist/index.d.ts +675 -9
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +692 -3
- package/src/generated/services.gen.ts +271 -2
- package/src/generated/types.gen.ts +739 -7
|
@@ -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
|
*/
|
|
@@ -3411,6 +3493,8 @@ export type SupportedProvidersResponseDto = {
|
|
|
3411
3493
|
|
|
3412
3494
|
export type ParserTelemetryReportDto = unknown;
|
|
3413
3495
|
|
|
3496
|
+
export type UncoveredFormatMissDto = unknown;
|
|
3497
|
+
|
|
3414
3498
|
export type ProcessNlpDto = {
|
|
3415
3499
|
/**
|
|
3416
3500
|
* Natural language text describing a transaction (Chinese)
|
|
@@ -4196,8 +4280,21 @@ export type AccountItemWithAssetClassDto = {
|
|
|
4196
4280
|
* Risk level
|
|
4197
4281
|
*/
|
|
4198
4282
|
riskLevel?: string;
|
|
4283
|
+
/**
|
|
4284
|
+
* ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
|
|
4285
|
+
*/
|
|
4286
|
+
source?: 'USER_META' | 'FIAT_CURRENCY' | 'OPENBB_MAPPING' | 'FALLBACK';
|
|
4199
4287
|
};
|
|
4200
4288
|
|
|
4289
|
+
/**
|
|
4290
|
+
* ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
|
|
4291
|
+
*/
|
|
4292
|
+
export type source2 =
|
|
4293
|
+
| 'USER_META'
|
|
4294
|
+
| 'FIAT_CURRENCY'
|
|
4295
|
+
| 'OPENBB_MAPPING'
|
|
4296
|
+
| 'FALLBACK';
|
|
4297
|
+
|
|
4201
4298
|
export type AssetClassGroupDto = {
|
|
4202
4299
|
/**
|
|
4203
4300
|
* Asset class name
|
|
@@ -4284,6 +4381,12 @@ export type AssetClassSummaryDto = {
|
|
|
4284
4381
|
* Exchange rate warnings
|
|
4285
4382
|
*/
|
|
4286
4383
|
warnings?: Array<AccountExchangeRateWarningDto>;
|
|
4384
|
+
/**
|
|
4385
|
+
* 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.
|
|
4386
|
+
*/
|
|
4387
|
+
fallback?: {
|
|
4388
|
+
[key: string]: unknown;
|
|
4389
|
+
};
|
|
4287
4390
|
};
|
|
4288
4391
|
|
|
4289
4392
|
export type AssetClassAccountsResponseDto = {
|
|
@@ -4295,6 +4398,56 @@ export type AssetClassAccountsResponseDto = {
|
|
|
4295
4398
|
* Summary statistics
|
|
4296
4399
|
*/
|
|
4297
4400
|
summary: AssetClassSummaryDto;
|
|
4401
|
+
/**
|
|
4402
|
+
* ADR-0105 §6 holding-level grey-area bucket (source=FALLBACK holdings peeled out of groups). Present only for groupBy=holdingAssetClass when FALLBACK holdings exist.
|
|
4403
|
+
*/
|
|
4404
|
+
uncategorized?: AssetClassGroupDto;
|
|
4405
|
+
};
|
|
4406
|
+
|
|
4407
|
+
export type HoldingAssetClassAccountSliceDto = {
|
|
4408
|
+
/**
|
|
4409
|
+
* Account ID
|
|
4410
|
+
*/
|
|
4411
|
+
accountId: string;
|
|
4412
|
+
/**
|
|
4413
|
+
* Full account path
|
|
4414
|
+
*/
|
|
4415
|
+
accountPath: string;
|
|
4416
|
+
/**
|
|
4417
|
+
* Currency of the holding with the largest converted base value; undefined when no holding is convertible
|
|
4418
|
+
*/
|
|
4419
|
+
accountCurrency?: string;
|
|
4420
|
+
/**
|
|
4421
|
+
* Account's market value in base currency (Σ converted holdings; grey bucket included)
|
|
4422
|
+
*/
|
|
4423
|
+
marketValueBase: string;
|
|
4424
|
+
/**
|
|
4425
|
+
* Share of the global total (0-100). 0 when globalTotal is zero (no NaN/Infinity).
|
|
4426
|
+
*/
|
|
4427
|
+
shareOfTotalPct: number;
|
|
4428
|
+
/**
|
|
4429
|
+
* Per-account asset-class breakdown
|
|
4430
|
+
*/
|
|
4431
|
+
groups: Array<AssetClassGroupDto>;
|
|
4432
|
+
/**
|
|
4433
|
+
* Per-account grey bucket (source=FALLBACK holdings, incl. broker cash)
|
|
4434
|
+
*/
|
|
4435
|
+
uncategorized?: AssetClassGroupDto;
|
|
4436
|
+
/**
|
|
4437
|
+
* Every holding row for this account (account ID in each row’s `id` field)
|
|
4438
|
+
*/
|
|
4439
|
+
holdings: Array<AccountItemWithAssetClassDto>;
|
|
4440
|
+
};
|
|
4441
|
+
|
|
4442
|
+
export type HoldingAssetClassCrossAccountResponseDto = {
|
|
4443
|
+
/**
|
|
4444
|
+
* Merged cross-account holding aggregation
|
|
4445
|
+
*/
|
|
4446
|
+
global: AssetClassAccountsResponseDto;
|
|
4447
|
+
/**
|
|
4448
|
+
* Per-account slices
|
|
4449
|
+
*/
|
|
4450
|
+
byAccount: Array<HoldingAssetClassAccountSliceDto>;
|
|
4298
4451
|
};
|
|
4299
4452
|
|
|
4300
4453
|
export type CashFlowByCurrencyDto = {
|
|
@@ -4376,6 +4529,303 @@ export type CashFlowResponseDto = {
|
|
|
4376
4529
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4377
4530
|
};
|
|
4378
4531
|
|
|
4532
|
+
export type MonetaryDto = {
|
|
4533
|
+
/**
|
|
4534
|
+
* Amount (Decimal string)
|
|
4535
|
+
*/
|
|
4536
|
+
amount: string;
|
|
4537
|
+
/**
|
|
4538
|
+
* ISO 4217 currency
|
|
4539
|
+
*/
|
|
4540
|
+
currency: string;
|
|
4541
|
+
/**
|
|
4542
|
+
* Converted to user base currency (Decimal string)
|
|
4543
|
+
*/
|
|
4544
|
+
baseCcyEquivalent?: {
|
|
4545
|
+
[key: string]: unknown;
|
|
4546
|
+
} | null;
|
|
4547
|
+
};
|
|
4548
|
+
|
|
4549
|
+
export type CurrentPriceDto = {
|
|
4550
|
+
/**
|
|
4551
|
+
* Price amount (Decimal string)
|
|
4552
|
+
*/
|
|
4553
|
+
amount: string;
|
|
4554
|
+
/**
|
|
4555
|
+
* Price currency (ISO 4217)
|
|
4556
|
+
*/
|
|
4557
|
+
currency: string;
|
|
4558
|
+
/**
|
|
4559
|
+
* Price date (ISO 8601)
|
|
4560
|
+
*/
|
|
4561
|
+
date: string;
|
|
4562
|
+
/**
|
|
4563
|
+
* Price source
|
|
4564
|
+
*/
|
|
4565
|
+
source: 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
|
|
4566
|
+
};
|
|
4567
|
+
|
|
4568
|
+
/**
|
|
4569
|
+
* Price source
|
|
4570
|
+
*/
|
|
4571
|
+
export type source3 = 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
|
|
4572
|
+
|
|
4573
|
+
export type FxRateDto = {
|
|
4574
|
+
from: string;
|
|
4575
|
+
to: string;
|
|
4576
|
+
/**
|
|
4577
|
+
* FX rate (Decimal string)
|
|
4578
|
+
*/
|
|
4579
|
+
rate: string;
|
|
4580
|
+
/**
|
|
4581
|
+
* Rate date (ISO 8601)
|
|
4582
|
+
*/
|
|
4583
|
+
date: string;
|
|
4584
|
+
};
|
|
4585
|
+
|
|
4586
|
+
export type HoldingPnlRowDto = {
|
|
4587
|
+
/**
|
|
4588
|
+
* Account UUID
|
|
4589
|
+
*/
|
|
4590
|
+
accountId: string;
|
|
4591
|
+
/**
|
|
4592
|
+
* Full account path
|
|
4593
|
+
*/
|
|
4594
|
+
accountPath: string;
|
|
4595
|
+
/**
|
|
4596
|
+
* Account settlement currency (ISO 4217), from cost currency
|
|
4597
|
+
*/
|
|
4598
|
+
accountCcy?: {
|
|
4599
|
+
[key: string]: unknown;
|
|
4600
|
+
} | null;
|
|
4601
|
+
/**
|
|
4602
|
+
* Broker type derived from Platform.type
|
|
4603
|
+
*/
|
|
4604
|
+
brokerType?: {
|
|
4605
|
+
[key: string]: unknown;
|
|
4606
|
+
} | null;
|
|
4607
|
+
/**
|
|
4608
|
+
* Commodity symbol
|
|
4609
|
+
*/
|
|
4610
|
+
symbol: string;
|
|
4611
|
+
/**
|
|
4612
|
+
* Chart segment token (libs/common resolver)
|
|
4613
|
+
*/
|
|
4614
|
+
chartToken: 'equity' | 'fund' | 'bond' | 'cash' | 'other';
|
|
4615
|
+
assetClass: string;
|
|
4616
|
+
assetSubClass?: {
|
|
4617
|
+
[key: string]: unknown;
|
|
4618
|
+
} | null;
|
|
4619
|
+
/**
|
|
4620
|
+
* Net held units (Decimal string)
|
|
4621
|
+
*/
|
|
4622
|
+
units: string;
|
|
4623
|
+
/**
|
|
4624
|
+
* Average cost per unit; null when cost currency conflicts or no cost
|
|
4625
|
+
*/
|
|
4626
|
+
averageCostPerUnit?: MonetaryDto | null;
|
|
4627
|
+
/**
|
|
4628
|
+
* Cost basis of held units
|
|
4629
|
+
*/
|
|
4630
|
+
costBasis?: MonetaryDto | null;
|
|
4631
|
+
/**
|
|
4632
|
+
* Market value at asOf price
|
|
4633
|
+
*/
|
|
4634
|
+
marketValue?: MonetaryDto | null;
|
|
4635
|
+
/**
|
|
4636
|
+
* Price used for market value
|
|
4637
|
+
*/
|
|
4638
|
+
currentPrice?: CurrentPriceDto | null;
|
|
4639
|
+
/**
|
|
4640
|
+
* Unrealized P&L in base currency (Decimal string); null when any FX/price missing
|
|
4641
|
+
*/
|
|
4642
|
+
unrealizedPnlBase?: {
|
|
4643
|
+
[key: string]: unknown;
|
|
4644
|
+
} | null;
|
|
4645
|
+
/**
|
|
4646
|
+
* Unrealized P&L % (Decimal string)
|
|
4647
|
+
*/
|
|
4648
|
+
unrealizedPnlPct?: {
|
|
4649
|
+
[key: string]: unknown;
|
|
4650
|
+
} | null;
|
|
4651
|
+
/**
|
|
4652
|
+
* Historical FX rate applied to cost basis
|
|
4653
|
+
*/
|
|
4654
|
+
costFxRate?: FxRateDto | null;
|
|
4655
|
+
/**
|
|
4656
|
+
* FX rate applied to market value
|
|
4657
|
+
*/
|
|
4658
|
+
marketFxRate?: FxRateDto | null;
|
|
4659
|
+
/**
|
|
4660
|
+
* Share of invested assets % (Decimal string); only for invested chartTokens
|
|
4661
|
+
*/
|
|
4662
|
+
pctOfInvestedAssets?: {
|
|
4663
|
+
[key: string]: unknown;
|
|
4664
|
+
} | null;
|
|
4665
|
+
/**
|
|
4666
|
+
* 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
|
|
4667
|
+
*/
|
|
4668
|
+
realizedPnl?: MonetaryDto | null;
|
|
4669
|
+
};
|
|
4670
|
+
|
|
4671
|
+
/**
|
|
4672
|
+
* Chart segment token (libs/common resolver)
|
|
4673
|
+
*/
|
|
4674
|
+
export type chartToken = 'equity' | 'fund' | 'bond' | 'cash' | 'other';
|
|
4675
|
+
|
|
4676
|
+
export type HoldingPnlWarningDto = {
|
|
4677
|
+
/**
|
|
4678
|
+
* Warning type
|
|
4679
|
+
*/
|
|
4680
|
+
type:
|
|
4681
|
+
| 'MISSING_COST_FX_RATE'
|
|
4682
|
+
| 'MISSING_MARKET_FX_RATE'
|
|
4683
|
+
| 'MISSING_SALE_PRICE'
|
|
4684
|
+
| 'MISSING_REALIZED_FX_RATE'
|
|
4685
|
+
| 'OVERSOLD_LOTS'
|
|
4686
|
+
| 'NO_PRICE'
|
|
4687
|
+
| 'MIXED_COST_CURRENCY';
|
|
4688
|
+
symbol?: {
|
|
4689
|
+
[key: string]: unknown;
|
|
4690
|
+
} | null;
|
|
4691
|
+
accountId?: {
|
|
4692
|
+
[key: string]: unknown;
|
|
4693
|
+
} | null;
|
|
4694
|
+
currency?: {
|
|
4695
|
+
[key: string]: unknown;
|
|
4696
|
+
} | null;
|
|
4697
|
+
};
|
|
4698
|
+
|
|
4699
|
+
/**
|
|
4700
|
+
* Warning type
|
|
4701
|
+
*/
|
|
4702
|
+
export type type4 =
|
|
4703
|
+
| 'MISSING_COST_FX_RATE'
|
|
4704
|
+
| 'MISSING_MARKET_FX_RATE'
|
|
4705
|
+
| 'MISSING_SALE_PRICE'
|
|
4706
|
+
| 'MISSING_REALIZED_FX_RATE'
|
|
4707
|
+
| 'OVERSOLD_LOTS'
|
|
4708
|
+
| 'NO_PRICE'
|
|
4709
|
+
| 'MIXED_COST_CURRENCY';
|
|
4710
|
+
|
|
4711
|
+
export type HoldingPnlResponseDto = {
|
|
4712
|
+
asOfDate: string;
|
|
4713
|
+
baseCurrency: string;
|
|
4714
|
+
/**
|
|
4715
|
+
* Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
|
|
4716
|
+
*/
|
|
4717
|
+
method: 'average' | 'FIFO';
|
|
4718
|
+
rows: Array<HoldingPnlRowDto>;
|
|
4719
|
+
warnings: Array<HoldingPnlWarningDto>;
|
|
4720
|
+
};
|
|
4721
|
+
|
|
4722
|
+
/**
|
|
4723
|
+
* Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
|
|
4724
|
+
*/
|
|
4725
|
+
export type method = 'average' | 'FIFO';
|
|
4726
|
+
|
|
4727
|
+
export type CreateBeanPriceDto = {
|
|
4728
|
+
/**
|
|
4729
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4730
|
+
*/
|
|
4731
|
+
currency: string;
|
|
4732
|
+
/**
|
|
4733
|
+
* Quote currency (pricing currency, e.g., CNY, EUR)
|
|
4734
|
+
*/
|
|
4735
|
+
quoteCurrency: string;
|
|
4736
|
+
/**
|
|
4737
|
+
* Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
|
|
4738
|
+
*/
|
|
4739
|
+
amount: number;
|
|
4740
|
+
/**
|
|
4741
|
+
* Price date (ISO 8601 format)
|
|
4742
|
+
*/
|
|
4743
|
+
date: string;
|
|
4744
|
+
/**
|
|
4745
|
+
* Metadata (validated by Zod schema, max field lengths enforced)
|
|
4746
|
+
*/
|
|
4747
|
+
metadata?: {
|
|
4748
|
+
[key: string]: unknown;
|
|
4749
|
+
};
|
|
4750
|
+
};
|
|
4751
|
+
|
|
4752
|
+
export type PriceResponseDto = {
|
|
4753
|
+
/**
|
|
4754
|
+
* Unique identifier
|
|
4755
|
+
*/
|
|
4756
|
+
id: string;
|
|
4757
|
+
/**
|
|
4758
|
+
* User ID (owner of the price)
|
|
4759
|
+
*/
|
|
4760
|
+
userId: string;
|
|
4761
|
+
/**
|
|
4762
|
+
* Currency being priced (e.g., USD, AAPL, BTC)
|
|
4763
|
+
*/
|
|
4764
|
+
currency: string;
|
|
4765
|
+
/**
|
|
4766
|
+
* Quote currency (pricing currency, e.g., USD, CNY)
|
|
4767
|
+
*/
|
|
4768
|
+
quoteCurrency: string;
|
|
4769
|
+
/**
|
|
4770
|
+
* Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
|
|
4771
|
+
*/
|
|
4772
|
+
amount: number;
|
|
4773
|
+
/**
|
|
4774
|
+
* Price date (ISO 8601 format). Represents the date this price was valid.
|
|
4775
|
+
*/
|
|
4776
|
+
date: string;
|
|
4777
|
+
/**
|
|
4778
|
+
* Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
|
|
4779
|
+
*/
|
|
4780
|
+
meta: {
|
|
4781
|
+
[key: string]: unknown;
|
|
4782
|
+
};
|
|
4783
|
+
/**
|
|
4784
|
+
* Creation timestamp
|
|
4785
|
+
*/
|
|
4786
|
+
createdAt: string;
|
|
4787
|
+
/**
|
|
4788
|
+
* Last update timestamp
|
|
4789
|
+
*/
|
|
4790
|
+
updatedAt: string;
|
|
4791
|
+
};
|
|
4792
|
+
|
|
4793
|
+
export type PriceListResponseDto = {
|
|
4794
|
+
/**
|
|
4795
|
+
* List of prices
|
|
4796
|
+
*/
|
|
4797
|
+
items: Array<PriceResponseDto>;
|
|
4798
|
+
/**
|
|
4799
|
+
* Total number of prices
|
|
4800
|
+
*/
|
|
4801
|
+
total: number;
|
|
4802
|
+
};
|
|
4803
|
+
|
|
4804
|
+
export type UpdateBeanPriceDto = {
|
|
4805
|
+
/**
|
|
4806
|
+
* Currency being priced
|
|
4807
|
+
*/
|
|
4808
|
+
currency?: string;
|
|
4809
|
+
/**
|
|
4810
|
+
* Quote currency (pricing currency)
|
|
4811
|
+
*/
|
|
4812
|
+
quoteCurrency?: string;
|
|
4813
|
+
/**
|
|
4814
|
+
* Price amount (MUST be >= 0 per Beancount spec)
|
|
4815
|
+
*/
|
|
4816
|
+
amount?: number;
|
|
4817
|
+
/**
|
|
4818
|
+
* Price date (ISO 8601 format)
|
|
4819
|
+
*/
|
|
4820
|
+
date?: string;
|
|
4821
|
+
/**
|
|
4822
|
+
* Metadata
|
|
4823
|
+
*/
|
|
4824
|
+
metadata?: {
|
|
4825
|
+
[key: string]: unknown;
|
|
4826
|
+
};
|
|
4827
|
+
};
|
|
4828
|
+
|
|
4379
4829
|
export type CurrencyBalanceDto = {
|
|
4380
4830
|
/**
|
|
4381
4831
|
* ISO 4217 currency code
|
|
@@ -5794,9 +6244,9 @@ export type ProviderSyncControllerSyncData = {
|
|
|
5794
6244
|
| 'beancount-direct'
|
|
5795
6245
|
| 'parsed-bill';
|
|
5796
6246
|
/**
|
|
5797
|
-
* Region code
|
|
6247
|
+
* Region code for tenant context
|
|
5798
6248
|
*/
|
|
5799
|
-
region:
|
|
6249
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5800
6250
|
requestBody: ProviderSyncDto;
|
|
5801
6251
|
};
|
|
5802
6252
|
|
|
@@ -5835,6 +6285,29 @@ export type TelemetryControllerReportTelemetryData = {
|
|
|
5835
6285
|
|
|
5836
6286
|
export type TelemetryControllerReportTelemetryResponse = unknown;
|
|
5837
6287
|
|
|
6288
|
+
export type TelemetryControllerReportCoverageMissData = {
|
|
6289
|
+
/**
|
|
6290
|
+
* Region code for tenant context
|
|
6291
|
+
*/
|
|
6292
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6293
|
+
requestBody: UncoveredFormatMissDto;
|
|
6294
|
+
};
|
|
6295
|
+
|
|
6296
|
+
export type TelemetryControllerReportCoverageMissResponse = unknown;
|
|
6297
|
+
|
|
6298
|
+
export type TelemetryControllerGetCoverageMetricsData = {
|
|
6299
|
+
/**
|
|
6300
|
+
* Region code for tenant context
|
|
6301
|
+
*/
|
|
6302
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6303
|
+
/**
|
|
6304
|
+
* Top-N uncovered formats (default 10)
|
|
6305
|
+
*/
|
|
6306
|
+
topN?: unknown;
|
|
6307
|
+
};
|
|
6308
|
+
|
|
6309
|
+
export type TelemetryControllerGetCoverageMetricsResponse = unknown;
|
|
6310
|
+
|
|
5838
6311
|
export type NlpControllerProcessNaturalLanguageData = {
|
|
5839
6312
|
/**
|
|
5840
6313
|
* Region code for tenant context
|
|
@@ -5888,6 +6361,10 @@ export type DashboardControllerGetNetWorthData = {
|
|
|
5888
6361
|
export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
|
|
5889
6362
|
|
|
5890
6363
|
export type DashboardControllerGetAccountsData = {
|
|
6364
|
+
/**
|
|
6365
|
+
* Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
6366
|
+
*/
|
|
6367
|
+
accountId?: string;
|
|
5891
6368
|
/**
|
|
5892
6369
|
* Date for balance calculation (ISO 8601 format)
|
|
5893
6370
|
*/
|
|
@@ -5895,7 +6372,11 @@ export type DashboardControllerGetAccountsData = {
|
|
|
5895
6372
|
/**
|
|
5896
6373
|
* Grouping strategy
|
|
5897
6374
|
*/
|
|
5898
|
-
groupBy?:
|
|
6375
|
+
groupBy?:
|
|
6376
|
+
| 'platform'
|
|
6377
|
+
| 'assetClass'
|
|
6378
|
+
| 'holdingAssetClass'
|
|
6379
|
+
| 'holdingAssetClassByAccount';
|
|
5899
6380
|
/**
|
|
5900
6381
|
* Region code for tenant context
|
|
5901
6382
|
*/
|
|
@@ -5904,7 +6385,8 @@ export type DashboardControllerGetAccountsData = {
|
|
|
5904
6385
|
|
|
5905
6386
|
export type DashboardControllerGetAccountsResponse =
|
|
5906
6387
|
| AccountsResponseDto
|
|
5907
|
-
| AssetClassAccountsResponseDto
|
|
6388
|
+
| AssetClassAccountsResponseDto
|
|
6389
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
5908
6390
|
|
|
5909
6391
|
export type DashboardControllerGetCashFlowData = {
|
|
5910
6392
|
/**
|
|
@@ -5919,6 +6401,124 @@ export type DashboardControllerGetCashFlowData = {
|
|
|
5919
6401
|
|
|
5920
6402
|
export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
|
|
5921
6403
|
|
|
6404
|
+
export type HoldingPnlControllerGetHoldingPnlData = {
|
|
6405
|
+
/**
|
|
6406
|
+
* Scope to a single account
|
|
6407
|
+
*/
|
|
6408
|
+
accountId?: string;
|
|
6409
|
+
/**
|
|
6410
|
+
* As-of date (ISO 8601), defaults to today
|
|
6411
|
+
*/
|
|
6412
|
+
asOf?: string;
|
|
6413
|
+
/**
|
|
6414
|
+
* Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
6415
|
+
*/
|
|
6416
|
+
method?: 'FIFO' | 'average';
|
|
6417
|
+
/**
|
|
6418
|
+
* Region code for tenant context
|
|
6419
|
+
*/
|
|
6420
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6421
|
+
};
|
|
6422
|
+
|
|
6423
|
+
export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
|
|
6424
|
+
|
|
6425
|
+
export type PriceControllerCreateData = {
|
|
6426
|
+
/**
|
|
6427
|
+
* Region code for tenant context
|
|
6428
|
+
*/
|
|
6429
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6430
|
+
requestBody: CreateBeanPriceDto;
|
|
6431
|
+
};
|
|
6432
|
+
|
|
6433
|
+
export type PriceControllerCreateResponse = PriceResponseDto;
|
|
6434
|
+
|
|
6435
|
+
export type PriceControllerFindAllData = {
|
|
6436
|
+
/**
|
|
6437
|
+
* Filter by currency (e.g., BTC, AAPL, USD)
|
|
6438
|
+
*/
|
|
6439
|
+
currency?: string;
|
|
6440
|
+
/**
|
|
6441
|
+
* Filter prices from this date (ISO 8601 format)
|
|
6442
|
+
*/
|
|
6443
|
+
dateFrom?: string;
|
|
6444
|
+
/**
|
|
6445
|
+
* Filter prices to this date (ISO 8601 format)
|
|
6446
|
+
*/
|
|
6447
|
+
dateTo?: string;
|
|
6448
|
+
/**
|
|
6449
|
+
* Number of items per page (default: 20, max: 100)
|
|
6450
|
+
*/
|
|
6451
|
+
limit?: number;
|
|
6452
|
+
/**
|
|
6453
|
+
* Page number for pagination (default: 1)
|
|
6454
|
+
*/
|
|
6455
|
+
page?: number;
|
|
6456
|
+
/**
|
|
6457
|
+
* Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
6458
|
+
*/
|
|
6459
|
+
quoteCurrency?: string;
|
|
6460
|
+
/**
|
|
6461
|
+
* Region code for tenant context
|
|
6462
|
+
*/
|
|
6463
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6464
|
+
/**
|
|
6465
|
+
* Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
6466
|
+
*/
|
|
6467
|
+
search?: string;
|
|
6468
|
+
};
|
|
6469
|
+
|
|
6470
|
+
export type PriceControllerFindAllResponse = PriceListResponseDto;
|
|
6471
|
+
|
|
6472
|
+
export type PriceControllerFindOneData = {
|
|
6473
|
+
/**
|
|
6474
|
+
* Price ID
|
|
6475
|
+
*/
|
|
6476
|
+
id: string;
|
|
6477
|
+
/**
|
|
6478
|
+
* Region code for tenant context
|
|
6479
|
+
*/
|
|
6480
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6481
|
+
};
|
|
6482
|
+
|
|
6483
|
+
export type PriceControllerFindOneResponse = PriceResponseDto;
|
|
6484
|
+
|
|
6485
|
+
export type PriceControllerUpdateData = {
|
|
6486
|
+
/**
|
|
6487
|
+
* Price ID
|
|
6488
|
+
*/
|
|
6489
|
+
id: string;
|
|
6490
|
+
/**
|
|
6491
|
+
* Region code for tenant context
|
|
6492
|
+
*/
|
|
6493
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6494
|
+
requestBody: UpdateBeanPriceDto;
|
|
6495
|
+
};
|
|
6496
|
+
|
|
6497
|
+
export type PriceControllerUpdateResponse = PriceResponseDto;
|
|
6498
|
+
|
|
6499
|
+
export type PriceControllerDeleteData = {
|
|
6500
|
+
/**
|
|
6501
|
+
* Price ID
|
|
6502
|
+
*/
|
|
6503
|
+
id: string;
|
|
6504
|
+
/**
|
|
6505
|
+
* Region code for tenant context
|
|
6506
|
+
*/
|
|
6507
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6508
|
+
};
|
|
6509
|
+
|
|
6510
|
+
export type PriceControllerDeleteResponse = void;
|
|
6511
|
+
|
|
6512
|
+
export type PriceControllerBulkCreateData = {
|
|
6513
|
+
/**
|
|
6514
|
+
* Region code for tenant context
|
|
6515
|
+
*/
|
|
6516
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6517
|
+
requestBody: Array<string>;
|
|
6518
|
+
};
|
|
6519
|
+
|
|
6520
|
+
export type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
|
|
6521
|
+
|
|
5922
6522
|
export type ReportingControllerGetPortfolioTrendsData = {
|
|
5923
6523
|
/**
|
|
5924
6524
|
* Data granularity
|
|
@@ -7658,6 +8258,32 @@ export type $OpenApiTs = {
|
|
|
7658
8258
|
};
|
|
7659
8259
|
};
|
|
7660
8260
|
};
|
|
8261
|
+
'/api/v1/{region}/bean/import/parser-coverage-miss': {
|
|
8262
|
+
post: {
|
|
8263
|
+
req: TelemetryControllerReportCoverageMissData;
|
|
8264
|
+
res: {
|
|
8265
|
+
/**
|
|
8266
|
+
* Coverage miss report received
|
|
8267
|
+
*/
|
|
8268
|
+
200: unknown;
|
|
8269
|
+
/**
|
|
8270
|
+
* Unauthorized
|
|
8271
|
+
*/
|
|
8272
|
+
401: unknown;
|
|
8273
|
+
};
|
|
8274
|
+
};
|
|
8275
|
+
};
|
|
8276
|
+
'/api/v1/{region}/bean/import/parser-coverage-metrics': {
|
|
8277
|
+
get: {
|
|
8278
|
+
req: TelemetryControllerGetCoverageMetricsData;
|
|
8279
|
+
res: {
|
|
8280
|
+
/**
|
|
8281
|
+
* Coverage metrics
|
|
8282
|
+
*/
|
|
8283
|
+
200: unknown;
|
|
8284
|
+
};
|
|
8285
|
+
};
|
|
8286
|
+
};
|
|
7661
8287
|
'/api/v1/{region}/bean/nlp/process': {
|
|
7662
8288
|
post: {
|
|
7663
8289
|
req: NlpControllerProcessNaturalLanguageData;
|
|
@@ -7727,7 +8353,10 @@ export type $OpenApiTs = {
|
|
|
7727
8353
|
/**
|
|
7728
8354
|
* Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
7729
8355
|
*/
|
|
7730
|
-
200:
|
|
8356
|
+
200:
|
|
8357
|
+
| AccountsResponseDto
|
|
8358
|
+
| AssetClassAccountsResponseDto
|
|
8359
|
+
| HoldingAssetClassCrossAccountResponseDto;
|
|
7731
8360
|
/**
|
|
7732
8361
|
* User not authenticated
|
|
7733
8362
|
*/
|
|
@@ -7754,6 +8383,109 @@ export type $OpenApiTs = {
|
|
|
7754
8383
|
};
|
|
7755
8384
|
};
|
|
7756
8385
|
};
|
|
8386
|
+
'/api/v1/{region}/investment/holdings/pnl': {
|
|
8387
|
+
get: {
|
|
8388
|
+
req: HoldingPnlControllerGetHoldingPnlData;
|
|
8389
|
+
res: {
|
|
8390
|
+
/**
|
|
8391
|
+
* Holding P&L retrieved successfully
|
|
8392
|
+
*/
|
|
8393
|
+
200: HoldingPnlResponseDto;
|
|
8394
|
+
/**
|
|
8395
|
+
* Invalid asOf format/value/future date, invalid accountId format, or unsupported method
|
|
8396
|
+
*/
|
|
8397
|
+
400: unknown;
|
|
8398
|
+
/**
|
|
8399
|
+
* User not authenticated
|
|
8400
|
+
*/
|
|
8401
|
+
401: unknown;
|
|
8402
|
+
};
|
|
8403
|
+
};
|
|
8404
|
+
};
|
|
8405
|
+
'/api/v1/{region}/bean/prices': {
|
|
8406
|
+
post: {
|
|
8407
|
+
req: PriceControllerCreateData;
|
|
8408
|
+
res: {
|
|
8409
|
+
/**
|
|
8410
|
+
* Price created successfully
|
|
8411
|
+
*/
|
|
8412
|
+
201: PriceResponseDto;
|
|
8413
|
+
/**
|
|
8414
|
+
* Currency or quoteCurrency commodity not found
|
|
8415
|
+
*/
|
|
8416
|
+
404: unknown;
|
|
8417
|
+
/**
|
|
8418
|
+
* Price already exists for this currency pair and date
|
|
8419
|
+
*/
|
|
8420
|
+
409: unknown;
|
|
8421
|
+
};
|
|
8422
|
+
};
|
|
8423
|
+
get: {
|
|
8424
|
+
req: PriceControllerFindAllData;
|
|
8425
|
+
res: {
|
|
8426
|
+
/**
|
|
8427
|
+
* Prices retrieved successfully
|
|
8428
|
+
*/
|
|
8429
|
+
200: PriceListResponseDto;
|
|
8430
|
+
};
|
|
8431
|
+
};
|
|
8432
|
+
};
|
|
8433
|
+
'/api/v1/{region}/bean/prices/{id}': {
|
|
8434
|
+
get: {
|
|
8435
|
+
req: PriceControllerFindOneData;
|
|
8436
|
+
res: {
|
|
8437
|
+
/**
|
|
8438
|
+
* Price retrieved successfully
|
|
8439
|
+
*/
|
|
8440
|
+
200: PriceResponseDto;
|
|
8441
|
+
/**
|
|
8442
|
+
* Price not found
|
|
8443
|
+
*/
|
|
8444
|
+
404: unknown;
|
|
8445
|
+
};
|
|
8446
|
+
};
|
|
8447
|
+
put: {
|
|
8448
|
+
req: PriceControllerUpdateData;
|
|
8449
|
+
res: {
|
|
8450
|
+
/**
|
|
8451
|
+
* Price updated successfully
|
|
8452
|
+
*/
|
|
8453
|
+
200: PriceResponseDto;
|
|
8454
|
+
/**
|
|
8455
|
+
* Price not found
|
|
8456
|
+
*/
|
|
8457
|
+
404: unknown;
|
|
8458
|
+
/**
|
|
8459
|
+
* Updated price conflicts with existing price
|
|
8460
|
+
*/
|
|
8461
|
+
409: unknown;
|
|
8462
|
+
};
|
|
8463
|
+
};
|
|
8464
|
+
delete: {
|
|
8465
|
+
req: PriceControllerDeleteData;
|
|
8466
|
+
res: {
|
|
8467
|
+
/**
|
|
8468
|
+
* Price deleted successfully
|
|
8469
|
+
*/
|
|
8470
|
+
204: void;
|
|
8471
|
+
/**
|
|
8472
|
+
* Price not found
|
|
8473
|
+
*/
|
|
8474
|
+
404: unknown;
|
|
8475
|
+
};
|
|
8476
|
+
};
|
|
8477
|
+
};
|
|
8478
|
+
'/api/v1/{region}/bean/prices/bulk': {
|
|
8479
|
+
post: {
|
|
8480
|
+
req: PriceControllerBulkCreateData;
|
|
8481
|
+
res: {
|
|
8482
|
+
/**
|
|
8483
|
+
* Prices created successfully
|
|
8484
|
+
*/
|
|
8485
|
+
201: Array<PriceResponseDto>;
|
|
8486
|
+
};
|
|
8487
|
+
};
|
|
8488
|
+
};
|
|
7757
8489
|
'/api/v1/{region}/reporting/portfolio/trends': {
|
|
7758
8490
|
get: {
|
|
7759
8491
|
req: ReportingControllerGetPortfolioTrendsData;
|