@firela/api-types 0.0.0-canary.78c2840b → 0.0.0-canary.792fa5f1

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.
@@ -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 = {
@@ -620,9 +675,9 @@ export type PostingDetailDto = {
620
675
  */
621
676
  accountId: string;
622
677
  /**
623
- * Account name
678
+ * Fully-qualified Beancount account path
624
679
  */
625
- accountName: string;
680
+ account: string;
626
681
  /**
627
682
  * Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
628
683
  */
@@ -3411,6 +3466,8 @@ export type SupportedProvidersResponseDto = {
3411
3466
 
3412
3467
  export type ParserTelemetryReportDto = unknown;
3413
3468
 
3469
+ export type UncoveredFormatMissDto = unknown;
3470
+
3414
3471
  export type ProcessNlpDto = {
3415
3472
  /**
3416
3473
  * Natural language text describing a transaction (Chinese)
@@ -4196,8 +4253,21 @@ export type AccountItemWithAssetClassDto = {
4196
4253
  * Risk level
4197
4254
  */
4198
4255
  riskLevel?: string;
4256
+ /**
4257
+ * ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
4258
+ */
4259
+ source?: 'USER_META' | 'FIAT_CURRENCY' | 'OPENBB_MAPPING' | 'FALLBACK';
4199
4260
  };
4200
4261
 
4262
+ /**
4263
+ * ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
4264
+ */
4265
+ export type source2 =
4266
+ | 'USER_META'
4267
+ | 'FIAT_CURRENCY'
4268
+ | 'OPENBB_MAPPING'
4269
+ | 'FALLBACK';
4270
+
4201
4271
  export type AssetClassGroupDto = {
4202
4272
  /**
4203
4273
  * Asset class name
@@ -4284,6 +4354,12 @@ export type AssetClassSummaryDto = {
4284
4354
  * Exchange rate warnings
4285
4355
  */
4286
4356
  warnings?: Array<AccountExchangeRateWarningDto>;
4357
+ /**
4358
+ * 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.
4359
+ */
4360
+ fallback?: {
4361
+ [key: string]: unknown;
4362
+ };
4287
4363
  };
4288
4364
 
4289
4365
  export type AssetClassAccountsResponseDto = {
@@ -4295,6 +4371,56 @@ export type AssetClassAccountsResponseDto = {
4295
4371
  * Summary statistics
4296
4372
  */
4297
4373
  summary: AssetClassSummaryDto;
4374
+ /**
4375
+ * ADR-0105 §6 holding-level grey-area bucket (source=FALLBACK holdings peeled out of groups). Present only for groupBy=holdingAssetClass when FALLBACK holdings exist.
4376
+ */
4377
+ uncategorized?: AssetClassGroupDto;
4378
+ };
4379
+
4380
+ export type HoldingAssetClassAccountSliceDto = {
4381
+ /**
4382
+ * Account ID
4383
+ */
4384
+ accountId: string;
4385
+ /**
4386
+ * Full account path
4387
+ */
4388
+ accountPath: string;
4389
+ /**
4390
+ * Currency of the holding with the largest converted base value; undefined when no holding is convertible
4391
+ */
4392
+ accountCurrency?: string;
4393
+ /**
4394
+ * Account's market value in base currency (Σ converted holdings; grey bucket included)
4395
+ */
4396
+ marketValueBase: string;
4397
+ /**
4398
+ * Share of the global total (0-100). 0 when globalTotal is zero (no NaN/Infinity).
4399
+ */
4400
+ shareOfTotalPct: number;
4401
+ /**
4402
+ * Per-account asset-class breakdown
4403
+ */
4404
+ groups: Array<AssetClassGroupDto>;
4405
+ /**
4406
+ * Per-account grey bucket (source=FALLBACK holdings, incl. broker cash)
4407
+ */
4408
+ uncategorized?: AssetClassGroupDto;
4409
+ /**
4410
+ * Every holding row for this account (account ID in each row’s `id` field)
4411
+ */
4412
+ holdings: Array<AccountItemWithAssetClassDto>;
4413
+ };
4414
+
4415
+ export type HoldingAssetClassCrossAccountResponseDto = {
4416
+ /**
4417
+ * Merged cross-account holding aggregation
4418
+ */
4419
+ global: AssetClassAccountsResponseDto;
4420
+ /**
4421
+ * Per-account slices
4422
+ */
4423
+ byAccount: Array<HoldingAssetClassAccountSliceDto>;
4298
4424
  };
4299
4425
 
4300
4426
  export type CashFlowByCurrencyDto = {
@@ -4376,6 +4502,303 @@ export type CashFlowResponseDto = {
4376
4502
  warnings?: Array<ExchangeRateWarningDto>;
4377
4503
  };
4378
4504
 
4505
+ export type MonetaryDto = {
4506
+ /**
4507
+ * Amount (Decimal string)
4508
+ */
4509
+ amount: string;
4510
+ /**
4511
+ * ISO 4217 currency
4512
+ */
4513
+ currency: string;
4514
+ /**
4515
+ * Converted to user base currency (Decimal string)
4516
+ */
4517
+ baseCcyEquivalent?: {
4518
+ [key: string]: unknown;
4519
+ } | null;
4520
+ };
4521
+
4522
+ export type CurrentPriceDto = {
4523
+ /**
4524
+ * Price amount (Decimal string)
4525
+ */
4526
+ amount: string;
4527
+ /**
4528
+ * Price currency (ISO 4217)
4529
+ */
4530
+ currency: string;
4531
+ /**
4532
+ * Price date (ISO 8601)
4533
+ */
4534
+ date: string;
4535
+ /**
4536
+ * Price source
4537
+ */
4538
+ source: 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
4539
+ };
4540
+
4541
+ /**
4542
+ * Price source
4543
+ */
4544
+ export type source3 = 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
4545
+
4546
+ export type FxRateDto = {
4547
+ from: string;
4548
+ to: string;
4549
+ /**
4550
+ * FX rate (Decimal string)
4551
+ */
4552
+ rate: string;
4553
+ /**
4554
+ * Rate date (ISO 8601)
4555
+ */
4556
+ date: string;
4557
+ };
4558
+
4559
+ export type HoldingPnlRowDto = {
4560
+ /**
4561
+ * Account UUID
4562
+ */
4563
+ accountId: string;
4564
+ /**
4565
+ * Full account path
4566
+ */
4567
+ accountPath: string;
4568
+ /**
4569
+ * Account settlement currency (ISO 4217), from cost currency
4570
+ */
4571
+ accountCcy?: {
4572
+ [key: string]: unknown;
4573
+ } | null;
4574
+ /**
4575
+ * Broker type derived from Platform.type
4576
+ */
4577
+ brokerType?: {
4578
+ [key: string]: unknown;
4579
+ } | null;
4580
+ /**
4581
+ * Commodity symbol
4582
+ */
4583
+ symbol: string;
4584
+ /**
4585
+ * Chart segment token (libs/common resolver)
4586
+ */
4587
+ chartToken: 'equity' | 'fund' | 'bond' | 'cash' | 'other';
4588
+ assetClass: string;
4589
+ assetSubClass?: {
4590
+ [key: string]: unknown;
4591
+ } | null;
4592
+ /**
4593
+ * Net held units (Decimal string)
4594
+ */
4595
+ units: string;
4596
+ /**
4597
+ * Average cost per unit; null when cost currency conflicts or no cost
4598
+ */
4599
+ averageCostPerUnit?: MonetaryDto | null;
4600
+ /**
4601
+ * Cost basis of held units
4602
+ */
4603
+ costBasis?: MonetaryDto | null;
4604
+ /**
4605
+ * Market value at asOf price
4606
+ */
4607
+ marketValue?: MonetaryDto | null;
4608
+ /**
4609
+ * Price used for market value
4610
+ */
4611
+ currentPrice?: CurrentPriceDto | null;
4612
+ /**
4613
+ * Unrealized P&L in base currency (Decimal string); null when any FX/price missing
4614
+ */
4615
+ unrealizedPnlBase?: {
4616
+ [key: string]: unknown;
4617
+ } | null;
4618
+ /**
4619
+ * Unrealized P&L % (Decimal string)
4620
+ */
4621
+ unrealizedPnlPct?: {
4622
+ [key: string]: unknown;
4623
+ } | null;
4624
+ /**
4625
+ * Historical FX rate applied to cost basis
4626
+ */
4627
+ costFxRate?: FxRateDto | null;
4628
+ /**
4629
+ * FX rate applied to market value
4630
+ */
4631
+ marketFxRate?: FxRateDto | null;
4632
+ /**
4633
+ * Share of invested assets % (Decimal string); only for invested chartTokens
4634
+ */
4635
+ pctOfInvestedAssets?: {
4636
+ [key: string]: unknown;
4637
+ } | null;
4638
+ /**
4639
+ * 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
4640
+ */
4641
+ realizedPnl?: MonetaryDto | null;
4642
+ };
4643
+
4644
+ /**
4645
+ * Chart segment token (libs/common resolver)
4646
+ */
4647
+ export type chartToken = 'equity' | 'fund' | 'bond' | 'cash' | 'other';
4648
+
4649
+ export type HoldingPnlWarningDto = {
4650
+ /**
4651
+ * Warning type
4652
+ */
4653
+ type:
4654
+ | 'MISSING_COST_FX_RATE'
4655
+ | 'MISSING_MARKET_FX_RATE'
4656
+ | 'MISSING_SALE_PRICE'
4657
+ | 'MISSING_REALIZED_FX_RATE'
4658
+ | 'OVERSOLD_LOTS'
4659
+ | 'NO_PRICE'
4660
+ | 'MIXED_COST_CURRENCY';
4661
+ symbol?: {
4662
+ [key: string]: unknown;
4663
+ } | null;
4664
+ accountId?: {
4665
+ [key: string]: unknown;
4666
+ } | null;
4667
+ currency?: {
4668
+ [key: string]: unknown;
4669
+ } | null;
4670
+ };
4671
+
4672
+ /**
4673
+ * Warning type
4674
+ */
4675
+ export type type4 =
4676
+ | 'MISSING_COST_FX_RATE'
4677
+ | 'MISSING_MARKET_FX_RATE'
4678
+ | 'MISSING_SALE_PRICE'
4679
+ | 'MISSING_REALIZED_FX_RATE'
4680
+ | 'OVERSOLD_LOTS'
4681
+ | 'NO_PRICE'
4682
+ | 'MIXED_COST_CURRENCY';
4683
+
4684
+ export type HoldingPnlResponseDto = {
4685
+ asOfDate: string;
4686
+ baseCurrency: string;
4687
+ /**
4688
+ * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4689
+ */
4690
+ method: 'average' | 'FIFO';
4691
+ rows: Array<HoldingPnlRowDto>;
4692
+ warnings: Array<HoldingPnlWarningDto>;
4693
+ };
4694
+
4695
+ /**
4696
+ * Realized-P&L lot-matching method (FIFO or average). Unrealized cost basis remains average regardless of this value (#473).
4697
+ */
4698
+ export type method = 'average' | 'FIFO';
4699
+
4700
+ export type CreateBeanPriceDto = {
4701
+ /**
4702
+ * Currency being priced (e.g., USD, AAPL, BTC)
4703
+ */
4704
+ currency: string;
4705
+ /**
4706
+ * Quote currency (pricing currency, e.g., CNY, EUR)
4707
+ */
4708
+ quoteCurrency: string;
4709
+ /**
4710
+ * Price amount (MUST be >= 0 per Beancount spec, supports up to 15 decimal places). Zero allowed for conversion entries, negative strictly prohibited.
4711
+ */
4712
+ amount: number;
4713
+ /**
4714
+ * Price date (ISO 8601 format)
4715
+ */
4716
+ date: string;
4717
+ /**
4718
+ * Metadata (validated by Zod schema, max field lengths enforced)
4719
+ */
4720
+ metadata?: {
4721
+ [key: string]: unknown;
4722
+ };
4723
+ };
4724
+
4725
+ export type PriceResponseDto = {
4726
+ /**
4727
+ * Unique identifier
4728
+ */
4729
+ id: string;
4730
+ /**
4731
+ * User ID (owner of the price)
4732
+ */
4733
+ userId: string;
4734
+ /**
4735
+ * Currency being priced (e.g., USD, AAPL, BTC)
4736
+ */
4737
+ currency: string;
4738
+ /**
4739
+ * Quote currency (pricing currency, e.g., USD, CNY)
4740
+ */
4741
+ quoteCurrency: string;
4742
+ /**
4743
+ * Price amount (corresponds to Beancount Amount.number). Supports up to 15 decimal places.
4744
+ */
4745
+ amount: number;
4746
+ /**
4747
+ * Price date (ISO 8601 format). Represents the date this price was valid.
4748
+ */
4749
+ date: string;
4750
+ /**
4751
+ * Metadata (corresponds to Beancount meta field). Contains source, confidence, note, etc.
4752
+ */
4753
+ meta: {
4754
+ [key: string]: unknown;
4755
+ };
4756
+ /**
4757
+ * Creation timestamp
4758
+ */
4759
+ createdAt: string;
4760
+ /**
4761
+ * Last update timestamp
4762
+ */
4763
+ updatedAt: string;
4764
+ };
4765
+
4766
+ export type PriceListResponseDto = {
4767
+ /**
4768
+ * List of prices
4769
+ */
4770
+ items: Array<PriceResponseDto>;
4771
+ /**
4772
+ * Total number of prices
4773
+ */
4774
+ total: number;
4775
+ };
4776
+
4777
+ export type UpdateBeanPriceDto = {
4778
+ /**
4779
+ * Currency being priced
4780
+ */
4781
+ currency?: string;
4782
+ /**
4783
+ * Quote currency (pricing currency)
4784
+ */
4785
+ quoteCurrency?: string;
4786
+ /**
4787
+ * Price amount (MUST be >= 0 per Beancount spec)
4788
+ */
4789
+ amount?: number;
4790
+ /**
4791
+ * Price date (ISO 8601 format)
4792
+ */
4793
+ date?: string;
4794
+ /**
4795
+ * Metadata
4796
+ */
4797
+ metadata?: {
4798
+ [key: string]: unknown;
4799
+ };
4800
+ };
4801
+
4379
4802
  export type CurrencyBalanceDto = {
4380
4803
  /**
4381
4804
  * ISO 4217 currency code
@@ -5794,9 +6217,9 @@ export type ProviderSyncControllerSyncData = {
5794
6217
  | 'beancount-direct'
5795
6218
  | 'parsed-bill';
5796
6219
  /**
5797
- * Region code
6220
+ * Region code for tenant context
5798
6221
  */
5799
- region: unknown;
6222
+ region: 'cn' | 'us' | 'de' | 'gb';
5800
6223
  requestBody: ProviderSyncDto;
5801
6224
  };
5802
6225
 
@@ -5835,6 +6258,29 @@ export type TelemetryControllerReportTelemetryData = {
5835
6258
 
5836
6259
  export type TelemetryControllerReportTelemetryResponse = unknown;
5837
6260
 
6261
+ export type TelemetryControllerReportCoverageMissData = {
6262
+ /**
6263
+ * Region code for tenant context
6264
+ */
6265
+ region: 'cn' | 'us' | 'de' | 'gb';
6266
+ requestBody: UncoveredFormatMissDto;
6267
+ };
6268
+
6269
+ export type TelemetryControllerReportCoverageMissResponse = unknown;
6270
+
6271
+ export type TelemetryControllerGetCoverageMetricsData = {
6272
+ /**
6273
+ * Region code for tenant context
6274
+ */
6275
+ region: 'cn' | 'us' | 'de' | 'gb';
6276
+ /**
6277
+ * Top-N uncovered formats (default 10)
6278
+ */
6279
+ topN?: unknown;
6280
+ };
6281
+
6282
+ export type TelemetryControllerGetCoverageMetricsResponse = unknown;
6283
+
5838
6284
  export type NlpControllerProcessNaturalLanguageData = {
5839
6285
  /**
5840
6286
  * Region code for tenant context
@@ -5888,6 +6334,10 @@ export type DashboardControllerGetNetWorthData = {
5888
6334
  export type DashboardControllerGetNetWorthResponse = NetWorthResponseDto;
5889
6335
 
5890
6336
  export type DashboardControllerGetAccountsData = {
6337
+ /**
6338
+ * Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
6339
+ */
6340
+ accountId?: string;
5891
6341
  /**
5892
6342
  * Date for balance calculation (ISO 8601 format)
5893
6343
  */
@@ -5895,7 +6345,11 @@ export type DashboardControllerGetAccountsData = {
5895
6345
  /**
5896
6346
  * Grouping strategy
5897
6347
  */
5898
- groupBy?: 'platform' | 'assetClass';
6348
+ groupBy?:
6349
+ | 'platform'
6350
+ | 'assetClass'
6351
+ | 'holdingAssetClass'
6352
+ | 'holdingAssetClassByAccount';
5899
6353
  /**
5900
6354
  * Region code for tenant context
5901
6355
  */
@@ -5904,7 +6358,8 @@ export type DashboardControllerGetAccountsData = {
5904
6358
 
5905
6359
  export type DashboardControllerGetAccountsResponse =
5906
6360
  | AccountsResponseDto
5907
- | AssetClassAccountsResponseDto;
6361
+ | AssetClassAccountsResponseDto
6362
+ | HoldingAssetClassCrossAccountResponseDto;
5908
6363
 
5909
6364
  export type DashboardControllerGetCashFlowData = {
5910
6365
  /**
@@ -5919,6 +6374,124 @@ export type DashboardControllerGetCashFlowData = {
5919
6374
 
5920
6375
  export type DashboardControllerGetCashFlowResponse = CashFlowResponseDto;
5921
6376
 
6377
+ export type HoldingPnlControllerGetHoldingPnlData = {
6378
+ /**
6379
+ * Scope to a single account
6380
+ */
6381
+ accountId?: string;
6382
+ /**
6383
+ * As-of date (ISO 8601), defaults to today
6384
+ */
6385
+ asOf?: string;
6386
+ /**
6387
+ * Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
6388
+ */
6389
+ method?: 'FIFO' | 'average';
6390
+ /**
6391
+ * Region code for tenant context
6392
+ */
6393
+ region: 'cn' | 'us' | 'de' | 'gb';
6394
+ };
6395
+
6396
+ export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
6397
+
6398
+ export type PriceControllerCreateData = {
6399
+ /**
6400
+ * Region code for tenant context
6401
+ */
6402
+ region: 'cn' | 'us' | 'de' | 'gb';
6403
+ requestBody: CreateBeanPriceDto;
6404
+ };
6405
+
6406
+ export type PriceControllerCreateResponse = PriceResponseDto;
6407
+
6408
+ export type PriceControllerFindAllData = {
6409
+ /**
6410
+ * Filter by currency (e.g., BTC, AAPL, USD)
6411
+ */
6412
+ currency?: string;
6413
+ /**
6414
+ * Filter prices from this date (ISO 8601 format)
6415
+ */
6416
+ dateFrom?: string;
6417
+ /**
6418
+ * Filter prices to this date (ISO 8601 format)
6419
+ */
6420
+ dateTo?: string;
6421
+ /**
6422
+ * Number of items per page (default: 20, max: 100)
6423
+ */
6424
+ limit?: number;
6425
+ /**
6426
+ * Page number for pagination (default: 1)
6427
+ */
6428
+ page?: number;
6429
+ /**
6430
+ * Filter by quote currency (pricing currency, e.g., USD, CNY)
6431
+ */
6432
+ quoteCurrency?: string;
6433
+ /**
6434
+ * Region code for tenant context
6435
+ */
6436
+ region: 'cn' | 'us' | 'de' | 'gb';
6437
+ /**
6438
+ * Search term for currency or quoteCurrency (case-insensitive partial match)
6439
+ */
6440
+ search?: string;
6441
+ };
6442
+
6443
+ export type PriceControllerFindAllResponse = PriceListResponseDto;
6444
+
6445
+ export type PriceControllerFindOneData = {
6446
+ /**
6447
+ * Price ID
6448
+ */
6449
+ id: string;
6450
+ /**
6451
+ * Region code for tenant context
6452
+ */
6453
+ region: 'cn' | 'us' | 'de' | 'gb';
6454
+ };
6455
+
6456
+ export type PriceControllerFindOneResponse = PriceResponseDto;
6457
+
6458
+ export type PriceControllerUpdateData = {
6459
+ /**
6460
+ * Price ID
6461
+ */
6462
+ id: string;
6463
+ /**
6464
+ * Region code for tenant context
6465
+ */
6466
+ region: 'cn' | 'us' | 'de' | 'gb';
6467
+ requestBody: UpdateBeanPriceDto;
6468
+ };
6469
+
6470
+ export type PriceControllerUpdateResponse = PriceResponseDto;
6471
+
6472
+ export type PriceControllerDeleteData = {
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 PriceControllerDeleteResponse = void;
6484
+
6485
+ export type PriceControllerBulkCreateData = {
6486
+ /**
6487
+ * Region code for tenant context
6488
+ */
6489
+ region: 'cn' | 'us' | 'de' | 'gb';
6490
+ requestBody: Array<string>;
6491
+ };
6492
+
6493
+ export type PriceControllerBulkCreateResponse = Array<PriceResponseDto>;
6494
+
5922
6495
  export type ReportingControllerGetPortfolioTrendsData = {
5923
6496
  /**
5924
6497
  * Data granularity
@@ -7658,6 +8231,32 @@ export type $OpenApiTs = {
7658
8231
  };
7659
8232
  };
7660
8233
  };
8234
+ '/api/v1/{region}/bean/import/parser-coverage-miss': {
8235
+ post: {
8236
+ req: TelemetryControllerReportCoverageMissData;
8237
+ res: {
8238
+ /**
8239
+ * Coverage miss report received
8240
+ */
8241
+ 200: unknown;
8242
+ /**
8243
+ * Unauthorized
8244
+ */
8245
+ 401: unknown;
8246
+ };
8247
+ };
8248
+ };
8249
+ '/api/v1/{region}/bean/import/parser-coverage-metrics': {
8250
+ get: {
8251
+ req: TelemetryControllerGetCoverageMetricsData;
8252
+ res: {
8253
+ /**
8254
+ * Coverage metrics
8255
+ */
8256
+ 200: unknown;
8257
+ };
8258
+ };
8259
+ };
7661
8260
  '/api/v1/{region}/bean/nlp/process': {
7662
8261
  post: {
7663
8262
  req: NlpControllerProcessNaturalLanguageData;
@@ -7727,7 +8326,10 @@ export type $OpenApiTs = {
7727
8326
  /**
7728
8327
  * Accounts retrieved successfully. Response type depends on groupBy parameter.
7729
8328
  */
7730
- 200: AccountsResponseDto | AssetClassAccountsResponseDto;
8329
+ 200:
8330
+ | AccountsResponseDto
8331
+ | AssetClassAccountsResponseDto
8332
+ | HoldingAssetClassCrossAccountResponseDto;
7731
8333
  /**
7732
8334
  * User not authenticated
7733
8335
  */
@@ -7754,6 +8356,109 @@ export type $OpenApiTs = {
7754
8356
  };
7755
8357
  };
7756
8358
  };
8359
+ '/api/v1/{region}/investment/holdings/pnl': {
8360
+ get: {
8361
+ req: HoldingPnlControllerGetHoldingPnlData;
8362
+ res: {
8363
+ /**
8364
+ * Holding P&L retrieved successfully
8365
+ */
8366
+ 200: HoldingPnlResponseDto;
8367
+ /**
8368
+ * Invalid asOf format/value/future date, invalid accountId format, or unsupported method
8369
+ */
8370
+ 400: unknown;
8371
+ /**
8372
+ * User not authenticated
8373
+ */
8374
+ 401: unknown;
8375
+ };
8376
+ };
8377
+ };
8378
+ '/api/v1/{region}/bean/prices': {
8379
+ post: {
8380
+ req: PriceControllerCreateData;
8381
+ res: {
8382
+ /**
8383
+ * Price created successfully
8384
+ */
8385
+ 201: PriceResponseDto;
8386
+ /**
8387
+ * Currency or quoteCurrency commodity not found
8388
+ */
8389
+ 404: unknown;
8390
+ /**
8391
+ * Price already exists for this currency pair and date
8392
+ */
8393
+ 409: unknown;
8394
+ };
8395
+ };
8396
+ get: {
8397
+ req: PriceControllerFindAllData;
8398
+ res: {
8399
+ /**
8400
+ * Prices retrieved successfully
8401
+ */
8402
+ 200: PriceListResponseDto;
8403
+ };
8404
+ };
8405
+ };
8406
+ '/api/v1/{region}/bean/prices/{id}': {
8407
+ get: {
8408
+ req: PriceControllerFindOneData;
8409
+ res: {
8410
+ /**
8411
+ * Price retrieved successfully
8412
+ */
8413
+ 200: PriceResponseDto;
8414
+ /**
8415
+ * Price not found
8416
+ */
8417
+ 404: unknown;
8418
+ };
8419
+ };
8420
+ put: {
8421
+ req: PriceControllerUpdateData;
8422
+ res: {
8423
+ /**
8424
+ * Price updated successfully
8425
+ */
8426
+ 200: PriceResponseDto;
8427
+ /**
8428
+ * Price not found
8429
+ */
8430
+ 404: unknown;
8431
+ /**
8432
+ * Updated price conflicts with existing price
8433
+ */
8434
+ 409: unknown;
8435
+ };
8436
+ };
8437
+ delete: {
8438
+ req: PriceControllerDeleteData;
8439
+ res: {
8440
+ /**
8441
+ * Price deleted successfully
8442
+ */
8443
+ 204: void;
8444
+ /**
8445
+ * Price not found
8446
+ */
8447
+ 404: unknown;
8448
+ };
8449
+ };
8450
+ };
8451
+ '/api/v1/{region}/bean/prices/bulk': {
8452
+ post: {
8453
+ req: PriceControllerBulkCreateData;
8454
+ res: {
8455
+ /**
8456
+ * Prices created successfully
8457
+ */
8458
+ 201: Array<PriceResponseDto>;
8459
+ };
8460
+ };
8461
+ };
7757
8462
  '/api/v1/{region}/reporting/portfolio/trends': {
7758
8463
  get: {
7759
8464
  req: ReportingControllerGetPortfolioTrendsData;