@firela/api-types 0.0.0-canary.2fbeefe9 → 0.0.0-canary.3d558482

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.
@@ -6,9 +6,9 @@ export type CreateAccountDto = {
6
6
  */
7
7
  path: string;
8
8
  /**
9
- * Account open date
9
+ * Account open date (server defaults to today)
10
10
  */
11
- openDate: string;
11
+ openDate?: string;
12
12
  /**
13
13
  * Allowed currencies (null = no restriction)
14
14
  */
@@ -37,9 +37,9 @@ export type CreateAccountDto = {
37
37
  */
38
38
  icon?: string;
39
39
  /**
40
- * Additional metadata
40
+ * Open directive metadata (NOT an opening-balance amount — use the opening-balance endpoint)
41
41
  */
42
- openMeta?: {
42
+ openDirectiveMeta?: {
43
43
  [key: string]: unknown;
44
44
  };
45
45
  /**
@@ -117,9 +117,9 @@ export type AccountResponseDto = {
117
117
  */
118
118
  icon?: string;
119
119
  /**
120
- * Account metadata
120
+ * Open directive metadata (ADR-0115 Decision 9)
121
121
  */
122
- openMeta?: {
122
+ openDirectiveMeta?: {
123
123
  [key: string]: unknown;
124
124
  };
125
125
  /**
@@ -186,9 +186,9 @@ export type UpdateAccountDto = {
186
186
  */
187
187
  icon?: string;
188
188
  /**
189
- * Additional metadata (merged with existing)
189
+ * Open directive metadata (merged with existing; NOT an opening-balance amount)
190
190
  */
191
- openMeta?: {
191
+ openDirectiveMeta?: {
192
192
  [key: string]: unknown;
193
193
  };
194
194
  /**
@@ -217,6 +217,28 @@ export type ReopenAccountDto = {
217
217
  reopenDate?: string;
218
218
  };
219
219
 
220
+ export type CreateOpeningBalanceDto = {
221
+ /**
222
+ * Opening balance amount (non-negative)
223
+ */
224
+ amount: number;
225
+ /**
226
+ * Currency code
227
+ */
228
+ currency: string;
229
+ /**
230
+ * Opening-balance date (defaults to now)
231
+ */
232
+ date?: string;
233
+ };
234
+
235
+ export type OpeningBalanceResultDto = {
236
+ /**
237
+ * Created opening-balance transaction id.
238
+ */
239
+ transactionId: string;
240
+ };
241
+
220
242
  export type AccountStandardResponseDto = {
221
243
  /**
222
244
  * Account path (hierarchical, colon-separated)
@@ -3048,6 +3070,26 @@ export type SignupDto = {
3048
3070
  turnstileToken?: string;
3049
3071
  };
3050
3072
 
3073
+ export type SignupResponseDto = {
3074
+ /**
3075
+ * JWT auth token
3076
+ */
3077
+ authToken: string;
3078
+ /**
3079
+ * Auto-generated access token
3080
+ */
3081
+ accessToken: string;
3082
+ /**
3083
+ * Assigned user role
3084
+ */
3085
+ role: 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
3086
+ };
3087
+
3088
+ /**
3089
+ * Assigned user role
3090
+ */
3091
+ export type role = 'USER' | 'ADMIN' | 'DEMO' | 'INACTIVE' | 'PAID' | 'OPS';
3092
+
3051
3093
  export type UpdateUserSettingDto = {
3052
3094
  /**
3053
3095
  * Security ID
@@ -3152,6 +3194,180 @@ export type UpdatePropertyDto = {
3152
3194
  value: string;
3153
3195
  };
3154
3196
 
3197
+ export type CurrencyBalanceDto = {
3198
+ /**
3199
+ * ISO 4217 currency code
3200
+ */
3201
+ currency: string;
3202
+ /**
3203
+ * Balance amount
3204
+ */
3205
+ balance: string;
3206
+ };
3207
+
3208
+ export type TimeSeriesPointDto = {
3209
+ /**
3210
+ * Date in YYYY-MM-DD format
3211
+ */
3212
+ date: string;
3213
+ /**
3214
+ * Value at this date (in base currency)
3215
+ */
3216
+ value: string;
3217
+ /**
3218
+ * Change from previous point
3219
+ */
3220
+ change?: {
3221
+ [key: string]: unknown;
3222
+ };
3223
+ /**
3224
+ * Total assets at this date (in base currency)
3225
+ */
3226
+ assets?: string;
3227
+ /**
3228
+ * Total liabilities at this date (in base currency)
3229
+ */
3230
+ liabilities?: string;
3231
+ /**
3232
+ * Multi-currency breakdown for this point
3233
+ */
3234
+ byCurrency?: Array<CurrencyBalanceDto>;
3235
+ };
3236
+
3237
+ export type TrendSummaryDto = {
3238
+ /**
3239
+ * Value at start of period
3240
+ */
3241
+ startValue: string;
3242
+ /**
3243
+ * Value at end of period
3244
+ */
3245
+ endValue: string;
3246
+ /**
3247
+ * Total change over period
3248
+ */
3249
+ totalChange: string;
3250
+ /**
3251
+ * Total change percentage
3252
+ */
3253
+ totalChangePercentage: string;
3254
+ };
3255
+
3256
+ export type MultiCurrencyPointDto = {
3257
+ /**
3258
+ * Date in YYYY-MM-DD format
3259
+ */
3260
+ date: string;
3261
+ /**
3262
+ * Balances by currency
3263
+ */
3264
+ byCurrency: Array<CurrencyBalanceDto>;
3265
+ };
3266
+
3267
+ export type PortfolioTrendsResponseDto = {
3268
+ /**
3269
+ * Time series data points
3270
+ */
3271
+ series: Array<TimeSeriesPointDto>;
3272
+ /**
3273
+ * Period summary
3274
+ */
3275
+ summary: TrendSummaryDto;
3276
+ /**
3277
+ * Period requested
3278
+ */
3279
+ period: string;
3280
+ /**
3281
+ * Data granularity
3282
+ */
3283
+ granularity: string;
3284
+ /**
3285
+ * Base currency for converted values
3286
+ */
3287
+ currency: string;
3288
+ /**
3289
+ * Multi-currency time series (each point has currency breakdown)
3290
+ */
3291
+ byCurrency?: Array<MultiCurrencyPointDto>;
3292
+ /**
3293
+ * Exchange rate warnings
3294
+ */
3295
+ warnings?: Array<ExchangeRateWarningDto>;
3296
+ };
3297
+
3298
+ export type CashFlowPointDto = {
3299
+ /**
3300
+ * Month key (YYYY-MM)
3301
+ */
3302
+ month: string;
3303
+ /**
3304
+ * Income in base currency (absolute, converted)
3305
+ */
3306
+ income: string;
3307
+ /**
3308
+ * Expense in base currency (absolute, converted)
3309
+ */
3310
+ expense: string;
3311
+ /**
3312
+ * netSavings = income − expense (savings positive)
3313
+ */
3314
+ netSavings: string;
3315
+ };
3316
+
3317
+ export type CashFlowTrendSummaryDto = {
3318
+ /**
3319
+ * Total income across the period
3320
+ */
3321
+ totalIncome: string;
3322
+ /**
3323
+ * Total expense across the period
3324
+ */
3325
+ totalExpense: string;
3326
+ /**
3327
+ * income − expense across the period
3328
+ */
3329
+ totalNetSavings: string;
3330
+ /**
3331
+ * totalNetSavings divided by the window length (N months, incl. zero-filled)
3332
+ */
3333
+ averageMonthlyNetSavings: string;
3334
+ };
3335
+
3336
+ export type CashFlowTrendsResponseDto = {
3337
+ /**
3338
+ * Monthly cash-flow series (fixed N-month window, zero-filled)
3339
+ */
3340
+ series: Array<CashFlowPointDto>;
3341
+ /**
3342
+ * Period totals
3343
+ */
3344
+ summary: CashFlowTrendSummaryDto;
3345
+ /**
3346
+ * Period requested
3347
+ */
3348
+ period: string;
3349
+ /**
3350
+ * Data granularity (v1 returns month buckets)
3351
+ */
3352
+ granularity: string;
3353
+ /**
3354
+ * Base currency for converted values
3355
+ */
3356
+ currency: string;
3357
+ /**
3358
+ * Exchange rate warnings (e.g. missing rate for a currency)
3359
+ */
3360
+ warnings?: Array<ExchangeRateWarningDto>;
3361
+ };
3362
+
3363
+ export type GenerateSnapshotBody = unknown;
3364
+
3365
+ export type GenerateSnapshotResponse = unknown;
3366
+
3367
+ export type BackfillSnapshotsBody = unknown;
3368
+
3369
+ export type BackfillSnapshotsResponse = unknown;
3370
+
3155
3371
  export type CreateBeanEventDto = {
3156
3372
  /**
3157
3373
  * Life event date (ISO 8601)
@@ -4408,19 +4624,15 @@ export type liabilitySubType = 'borrow' | 'repay';
4408
4624
  */
4409
4625
  export type equitySubType = 'opening' | 'adjustment';
4410
4626
 
4411
- export type CreatePlatformDto = {
4412
- /**
4413
- * Platform name
4414
- */
4415
- name: string;
4627
+ export type PlatformListItemDto = {
4416
4628
  /**
4417
- * Platform canonical identifier (lowercase, kebab-case)
4629
+ * Global platform ID
4418
4630
  */
4419
- canonical: string;
4631
+ id: string;
4420
4632
  /**
4421
- * Platform aliases (multi-language names for lookup)
4633
+ * Platform name
4422
4634
  */
4423
- aliases: Array<string>;
4635
+ name: string;
4424
4636
  /**
4425
4637
  * Platform URL
4426
4638
  */
@@ -4437,13 +4649,21 @@ export type CreatePlatformDto = {
4437
4649
  | 'INSURANCE'
4438
4650
  | 'OTHER';
4439
4651
  /**
4440
- * Platform logo URL
4652
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4441
4653
  */
4442
- logoUrl?: string;
4654
+ canonical: string;
4443
4655
  /**
4444
- * Whether the platform is active
4656
+ * Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)
4445
4657
  */
4446
- isActive?: boolean;
4658
+ suggestedSegment: string;
4659
+ /**
4660
+ * Logo URL
4661
+ */
4662
+ logoUrl: string | null;
4663
+ /**
4664
+ * Whether user has accounts using this platform
4665
+ */
4666
+ isBound: boolean;
4447
4667
  };
4448
4668
 
4449
4669
  /**
@@ -4458,27 +4678,23 @@ export type type3 =
4458
4678
  | 'INSURANCE'
4459
4679
  | 'OTHER';
4460
4680
 
4461
- export type UpdatePlatformDto = {
4462
- /**
4463
- * Platform name
4464
- */
4465
- name?: string;
4681
+ export type PlatformMatchResultDto = {
4466
4682
  /**
4467
- * Platform canonical identifier (lowercase, kebab-case)
4683
+ * Global platform ID
4468
4684
  */
4469
- canonical?: string;
4685
+ id: string;
4470
4686
  /**
4471
- * Platform aliases (multi-language names for lookup)
4687
+ * Platform name (e.g., "ICBC")
4472
4688
  */
4473
- aliases?: Array<string>;
4689
+ name: string;
4474
4690
  /**
4475
- * Platform URL
4691
+ * Canonical identifier in ACCOUNT_RE format (e.g., "icbc")
4476
4692
  */
4477
- url?: string;
4693
+ canonical: string;
4478
4694
  /**
4479
4695
  * Platform type
4480
4696
  */
4481
- type?:
4697
+ type:
4482
4698
  | 'BANK'
4483
4699
  | 'BROKERAGE'
4484
4700
  | 'CRYPTO_EXCHANGE'
@@ -4487,18 +4703,127 @@ export type UpdatePlatformDto = {
4487
4703
  | 'INSURANCE'
4488
4704
  | 'OTHER';
4489
4705
  /**
4490
- * Platform logo URL
4706
+ * Suggested path segment — canonical, already in ACCOUNT_RE format
4491
4707
  */
4492
- logoUrl?: string;
4708
+ suggestedSegment: string;
4493
4709
  /**
4494
- * Whether the platform is active
4710
+ * Logo URL
4495
4711
  */
4496
- isActive?: boolean;
4712
+ logoUrl: string | null;
4713
+ /**
4714
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4715
+ */
4716
+ matchType: 'exact' | 'prefix' | 'substring';
4497
4717
  };
4498
4718
 
4499
- export type NetWorthByCurrencyDto = {
4719
+ /**
4720
+ * How this row matched: 'exact' > 'prefix' > 'substring'
4721
+ */
4722
+ export type matchType = 'exact' | 'prefix' | 'substring';
4723
+
4724
+ export type PlatformMatchResponseDto = {
4500
4725
  /**
4501
- * Net worth by currency
4726
+ * Ranked matches, best tier first (at most 10 rows)
4727
+ */
4728
+ platforms: Array<PlatformMatchResultDto>;
4729
+ /**
4730
+ * Overall match quality — top row's tier, or 'none' when no hits
4731
+ */
4732
+ matchType: 'none' | 'exact' | 'prefix' | 'substring';
4733
+ /**
4734
+ * Total matches before LIMIT (truncation transparency)
4735
+ */
4736
+ total: number;
4737
+ /**
4738
+ * true when total > platforms.length (more matches exist)
4739
+ */
4740
+ hasMore: boolean;
4741
+ };
4742
+
4743
+ /**
4744
+ * Overall match quality — top row's tier, or 'none' when no hits
4745
+ */
4746
+ export type matchType2 = 'none' | 'exact' | 'prefix' | 'substring';
4747
+
4748
+ export type CreatePlatformDto = {
4749
+ /**
4750
+ * Platform name
4751
+ */
4752
+ name: string;
4753
+ /**
4754
+ * Platform canonical identifier (lowercase, kebab-case)
4755
+ */
4756
+ canonical: string;
4757
+ /**
4758
+ * Platform aliases (multi-language names for lookup)
4759
+ */
4760
+ aliases: Array<string>;
4761
+ /**
4762
+ * Platform URL
4763
+ */
4764
+ url: string;
4765
+ /**
4766
+ * Platform type
4767
+ */
4768
+ type:
4769
+ | 'BANK'
4770
+ | 'BROKERAGE'
4771
+ | 'CRYPTO_EXCHANGE'
4772
+ | 'PAYMENT'
4773
+ | 'INVESTMENT'
4774
+ | 'INSURANCE'
4775
+ | 'OTHER';
4776
+ /**
4777
+ * Platform logo URL
4778
+ */
4779
+ logoUrl?: string;
4780
+ /**
4781
+ * Whether the platform is active
4782
+ */
4783
+ isActive?: boolean;
4784
+ };
4785
+
4786
+ export type UpdatePlatformDto = {
4787
+ /**
4788
+ * Platform name
4789
+ */
4790
+ name?: string;
4791
+ /**
4792
+ * Platform canonical identifier (lowercase, kebab-case)
4793
+ */
4794
+ canonical?: string;
4795
+ /**
4796
+ * Platform aliases (multi-language names for lookup)
4797
+ */
4798
+ aliases?: Array<string>;
4799
+ /**
4800
+ * Platform URL
4801
+ */
4802
+ url?: string;
4803
+ /**
4804
+ * Platform type
4805
+ */
4806
+ type?:
4807
+ | 'BANK'
4808
+ | 'BROKERAGE'
4809
+ | 'CRYPTO_EXCHANGE'
4810
+ | 'PAYMENT'
4811
+ | 'INVESTMENT'
4812
+ | 'INSURANCE'
4813
+ | 'OTHER';
4814
+ /**
4815
+ * Platform logo URL
4816
+ */
4817
+ logoUrl?: string;
4818
+ /**
4819
+ * Whether the platform is active
4820
+ */
4821
+ isActive?: boolean;
4822
+ };
4823
+
4824
+ export type NetWorthByCurrencyDto = {
4825
+ /**
4826
+ * Net worth by currency
4502
4827
  */
4503
4828
  netWorth: Array<BalanceByCurrencyDto>;
4504
4829
  /**
@@ -5209,185 +5534,18 @@ export type HoldingPnlResponseDto = {
5209
5534
  */
5210
5535
  export type method = 'average' | 'FIFO';
5211
5536
 
5212
- export type CurrencyBalanceDto = {
5213
- /**
5214
- * ISO 4217 currency code
5215
- */
5216
- currency: string;
5217
- /**
5218
- * Balance amount
5219
- */
5220
- balance: string;
5221
- };
5222
-
5223
- export type TimeSeriesPointDto = {
5224
- /**
5225
- * Date in YYYY-MM-DD format
5226
- */
5227
- date: string;
5228
- /**
5229
- * Value at this date (in base currency)
5230
- */
5231
- value: string;
5232
- /**
5233
- * Change from previous point
5234
- */
5235
- change?: {
5236
- [key: string]: unknown;
5237
- };
5238
- /**
5239
- * Total assets at this date (in base currency)
5240
- */
5241
- assets?: string;
5242
- /**
5243
- * Total liabilities at this date (in base currency)
5244
- */
5245
- liabilities?: string;
5246
- /**
5247
- * Multi-currency breakdown for this point
5248
- */
5249
- byCurrency?: Array<CurrencyBalanceDto>;
5250
- };
5251
-
5252
- export type TrendSummaryDto = {
5253
- /**
5254
- * Value at start of period
5255
- */
5256
- startValue: string;
5257
- /**
5258
- * Value at end of period
5259
- */
5260
- endValue: string;
5261
- /**
5262
- * Total change over period
5263
- */
5264
- totalChange: string;
5265
- /**
5266
- * Total change percentage
5267
- */
5268
- totalChangePercentage: string;
5269
- };
5270
-
5271
- export type MultiCurrencyPointDto = {
5272
- /**
5273
- * Date in YYYY-MM-DD format
5274
- */
5275
- date: string;
5276
- /**
5277
- * Balances by currency
5278
- */
5279
- byCurrency: Array<CurrencyBalanceDto>;
5280
- };
5281
-
5282
- export type PortfolioTrendsResponseDto = {
5283
- /**
5284
- * Time series data points
5285
- */
5286
- series: Array<TimeSeriesPointDto>;
5287
- /**
5288
- * Period summary
5289
- */
5290
- summary: TrendSummaryDto;
5291
- /**
5292
- * Period requested
5293
- */
5294
- period: string;
5295
- /**
5296
- * Data granularity
5297
- */
5298
- granularity: string;
5299
- /**
5300
- * Base currency for converted values
5301
- */
5302
- currency: string;
5303
- /**
5304
- * Multi-currency time series (each point has currency breakdown)
5305
- */
5306
- byCurrency?: Array<MultiCurrencyPointDto>;
5307
- /**
5308
- * Exchange rate warnings
5309
- */
5310
- warnings?: Array<ExchangeRateWarningDto>;
5311
- };
5312
-
5313
- export type CashFlowPointDto = {
5314
- /**
5315
- * Month key (YYYY-MM)
5316
- */
5317
- month: string;
5318
- /**
5319
- * Income in base currency (absolute, converted)
5320
- */
5321
- income: string;
5322
- /**
5323
- * Expense in base currency (absolute, converted)
5324
- */
5325
- expense: string;
5326
- /**
5327
- * netSavings = income − expense (savings positive)
5328
- */
5329
- netSavings: string;
5330
- };
5331
-
5332
- export type CashFlowTrendSummaryDto = {
5333
- /**
5334
- * Total income across the period
5335
- */
5336
- totalIncome: string;
5337
- /**
5338
- * Total expense across the period
5339
- */
5340
- totalExpense: string;
5341
- /**
5342
- * income − expense across the period
5343
- */
5344
- totalNetSavings: string;
5345
- /**
5346
- * totalNetSavings divided by the window length (N months, incl. zero-filled)
5347
- */
5348
- averageMonthlyNetSavings: string;
5349
- };
5350
-
5351
- export type CashFlowTrendsResponseDto = {
5352
- /**
5353
- * Monthly cash-flow series (fixed N-month window, zero-filled)
5354
- */
5355
- series: Array<CashFlowPointDto>;
5356
- /**
5357
- * Period totals
5358
- */
5359
- summary: CashFlowTrendSummaryDto;
5360
- /**
5361
- * Period requested
5362
- */
5363
- period: string;
5364
- /**
5365
- * Data granularity (v1 returns month buckets)
5366
- */
5367
- granularity: string;
5368
- /**
5369
- * Base currency for converted values
5370
- */
5371
- currency: string;
5537
+ export type AnonymousLoginDto = {
5372
5538
  /**
5373
- * Exchange rate warnings (e.g. missing rate for a currency)
5539
+ * Access token for anonymous login
5374
5540
  */
5375
- warnings?: Array<ExchangeRateWarningDto>;
5541
+ accessToken: string;
5376
5542
  };
5377
5543
 
5378
- export type GenerateSnapshotBody = unknown;
5379
-
5380
- export type GenerateSnapshotResponse = unknown;
5381
-
5382
- export type BackfillSnapshotsBody = unknown;
5383
-
5384
- export type BackfillSnapshotsResponse = unknown;
5385
-
5386
- export type AnonymousLoginDto = {
5544
+ export type AnonymousLoginResponseDto = {
5387
5545
  /**
5388
- * Access token for anonymous login
5546
+ * JWT auth token
5389
5547
  */
5390
- accessToken: string;
5548
+ authToken: string;
5391
5549
  };
5392
5550
 
5393
5551
  export type AccountControllerCreateData = {
@@ -5501,6 +5659,21 @@ export type AccountControllerReopenData = {
5501
5659
 
5502
5660
  export type AccountControllerReopenResponse = AccountResponseDto;
5503
5661
 
5662
+ export type AccountControllerAddOpeningBalanceData = {
5663
+ /**
5664
+ * Account UUID
5665
+ */
5666
+ id: string;
5667
+ /**
5668
+ * Region code for tenant context
5669
+ */
5670
+ region: 'cn' | 'us' | 'de' | 'gb';
5671
+ requestBody: CreateOpeningBalanceDto;
5672
+ };
5673
+
5674
+ export type AccountControllerAddOpeningBalanceResponse =
5675
+ OpeningBalanceResultDto;
5676
+
5504
5677
  export type AccountStandardsControllerGetTemplatesData = {
5505
5678
  /**
5506
5679
  * Region code (cn, us, de)
@@ -6582,7 +6755,7 @@ export type UserControllerSignupUserData = {
6582
6755
  requestBody: SignupDto;
6583
6756
  };
6584
6757
 
6585
- export type UserControllerSignupUserResponse = unknown;
6758
+ export type UserControllerSignupUserResponse = SignupResponseDto;
6586
6759
 
6587
6760
  export type UserControllerDeleteUserData = {
6588
6761
  /**
@@ -6627,31 +6800,92 @@ export type PropertyControllerGetAllResponse = unknown;
6627
6800
 
6628
6801
  export type PropertyControllerGetByKeyData = {
6629
6802
  /**
6630
- * Property key
6803
+ * Property key
6804
+ */
6805
+ key: string;
6806
+ };
6807
+
6808
+ export type PropertyControllerGetByKeyResponse = unknown;
6809
+
6810
+ export type PropertyControllerUpdateData = {
6811
+ /**
6812
+ * Property key
6813
+ */
6814
+ key: string;
6815
+ requestBody: UpdatePropertyDto;
6816
+ };
6817
+
6818
+ export type PropertyControllerUpdateResponse = unknown;
6819
+
6820
+ export type PropertyControllerDeleteData = {
6821
+ /**
6822
+ * Property key
6823
+ */
6824
+ key: string;
6825
+ };
6826
+
6827
+ export type PropertyControllerDeleteResponse = void;
6828
+
6829
+ export type ReportingControllerGetPortfolioTrendsData = {
6830
+ /**
6831
+ * Data granularity
6832
+ */
6833
+ granularity?: 'day' | 'week' | 'month';
6834
+ /**
6835
+ * Time period
6836
+ */
6837
+ period?: '1m' | '3m' | '6m' | '1y';
6838
+ /**
6839
+ * Region code for tenant context
6840
+ */
6841
+ region: 'cn' | 'us' | 'de' | 'gb';
6842
+ };
6843
+
6844
+ export type ReportingControllerGetPortfolioTrendsResponse =
6845
+ PortfolioTrendsResponseDto;
6846
+
6847
+ export type ReportingControllerGetCashFlowTrendsData = {
6848
+ /**
6849
+ * Data granularity (accepted for API symmetry; v1 returns month buckets)
6850
+ */
6851
+ granularity?: 'day' | 'week' | 'month';
6852
+ /**
6853
+ * Time period
6854
+ */
6855
+ period?: '1m' | '3m' | '6m' | '1y';
6856
+ /**
6857
+ * Region code for tenant context
6631
6858
  */
6632
- key: string;
6859
+ region: 'cn' | 'us' | 'de' | 'gb';
6633
6860
  };
6634
6861
 
6635
- export type PropertyControllerGetByKeyResponse = unknown;
6862
+ export type ReportingControllerGetCashFlowTrendsResponse =
6863
+ CashFlowTrendsResponseDto;
6636
6864
 
6637
- export type PropertyControllerUpdateData = {
6865
+ export type ReportingControllerGenerateSnapshotData = {
6638
6866
  /**
6639
- * Property key
6867
+ * Region code for tenant context
6640
6868
  */
6641
- key: string;
6642
- requestBody: UpdatePropertyDto;
6869
+ region: 'cn' | 'us' | 'de' | 'gb';
6870
+ /**
6871
+ * Optional date (defaults to today)
6872
+ */
6873
+ requestBody: GenerateSnapshotBody;
6643
6874
  };
6644
6875
 
6645
- export type PropertyControllerUpdateResponse = unknown;
6876
+ export type ReportingControllerGenerateSnapshotResponse =
6877
+ GenerateSnapshotResponse;
6646
6878
 
6647
- export type PropertyControllerDeleteData = {
6879
+ export type ReportingControllerBackfillSnapshotsData = {
6648
6880
  /**
6649
- * Property key
6881
+ * Region code for tenant context
6650
6882
  */
6651
- key: string;
6883
+ region: 'cn' | 'us' | 'de' | 'gb';
6884
+ requestBody: BackfillSnapshotsBody;
6652
6885
  };
6653
6886
 
6654
- export type PropertyControllerDeleteResponse = void;
6887
+ export type ReportingControllerBackfillSnapshotsResponse =
6888
+ BackfillSnapshotsResponse;
6655
6889
 
6656
6890
  export type EventControllerCreateData = {
6657
6891
  /**
@@ -7066,7 +7300,8 @@ export type PlatformControllerCreateData = {
7066
7300
 
7067
7301
  export type PlatformControllerCreateResponse = unknown;
7068
7302
 
7069
- export type PlatformControllerGetPlatformListResponse = unknown;
7303
+ export type PlatformControllerGetPlatformListResponse =
7304
+ Array<PlatformListItemDto>;
7070
7305
 
7071
7306
  export type PlatformControllerMatchPlatformsData = {
7072
7307
  /**
@@ -7079,7 +7314,7 @@ export type PlatformControllerMatchPlatformsData = {
7079
7314
  region?: string;
7080
7315
  };
7081
7316
 
7082
- export type PlatformControllerMatchPlatformsResponse = unknown;
7317
+ export type PlatformControllerMatchPlatformsResponse = PlatformMatchResponseDto;
7083
7318
 
7084
7319
  export type PlatformControllerUpdateData = {
7085
7320
  /**
@@ -7197,74 +7432,13 @@ export type HoldingPnlControllerGetHoldingPnlData = {
7197
7432
 
7198
7433
  export type HoldingPnlControllerGetHoldingPnlResponse = HoldingPnlResponseDto;
7199
7434
 
7200
- export type ReportingControllerGetPortfolioTrendsData = {
7201
- /**
7202
- * Data granularity
7203
- */
7204
- granularity?: 'day' | 'week' | 'month';
7205
- /**
7206
- * Time period
7207
- */
7208
- period?: '1m' | '3m' | '6m' | '1y';
7209
- /**
7210
- * Region code for tenant context
7211
- */
7212
- region: 'cn' | 'us' | 'de' | 'gb';
7213
- };
7214
-
7215
- export type ReportingControllerGetPortfolioTrendsResponse =
7216
- PortfolioTrendsResponseDto;
7217
-
7218
- export type ReportingControllerGetCashFlowTrendsData = {
7219
- /**
7220
- * Data granularity (accepted for API symmetry; v1 returns month buckets)
7221
- */
7222
- granularity?: 'day' | 'week' | 'month';
7223
- /**
7224
- * Time period
7225
- */
7226
- period?: '1m' | '3m' | '6m' | '1y';
7227
- /**
7228
- * Region code for tenant context
7229
- */
7230
- region: 'cn' | 'us' | 'de' | 'gb';
7231
- };
7232
-
7233
- export type ReportingControllerGetCashFlowTrendsResponse =
7234
- CashFlowTrendsResponseDto;
7235
-
7236
- export type ReportingControllerGenerateSnapshotData = {
7237
- /**
7238
- * Region code for tenant context
7239
- */
7240
- region: 'cn' | 'us' | 'de' | 'gb';
7241
- /**
7242
- * Optional date (defaults to today)
7243
- */
7244
- requestBody: GenerateSnapshotBody;
7245
- };
7246
-
7247
- export type ReportingControllerGenerateSnapshotResponse =
7248
- GenerateSnapshotResponse;
7249
-
7250
- export type ReportingControllerBackfillSnapshotsData = {
7251
- /**
7252
- * Region code for tenant context
7253
- */
7254
- region: 'cn' | 'us' | 'de' | 'gb';
7255
- requestBody: BackfillSnapshotsBody;
7256
- };
7257
-
7258
- export type ReportingControllerBackfillSnapshotsResponse =
7259
- BackfillSnapshotsResponse;
7260
-
7261
7435
  export type ApiKeysControllerCreateApiKeyResponse = unknown;
7262
7436
 
7263
7437
  export type AuthControllerAccessTokenLoginData = {
7264
7438
  requestBody: AnonymousLoginDto;
7265
7439
  };
7266
7440
 
7267
- export type AuthControllerAccessTokenLoginResponse = unknown;
7441
+ export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
7268
7442
 
7269
7443
  export type CacheControllerFlushCacheResponse = unknown;
7270
7444
 
@@ -7412,6 +7586,25 @@ export type $OpenApiTs = {
7412
7586
  };
7413
7587
  };
7414
7588
  };
7589
+ '/api/v1/{region}/bean/accounts/{id}/opening-balance': {
7590
+ post: {
7591
+ req: AccountControllerAddOpeningBalanceData;
7592
+ res: {
7593
+ /**
7594
+ * Opening-balance transaction created
7595
+ */
7596
+ 201: OpeningBalanceResultDto;
7597
+ /**
7598
+ * Account not found
7599
+ */
7600
+ 404: unknown;
7601
+ /**
7602
+ * An opening balance already exists for this account
7603
+ */
7604
+ 409: unknown;
7605
+ };
7606
+ };
7607
+ };
7415
7608
  '/api/v1/{region}/bean/account-standards': {
7416
7609
  get: {
7417
7610
  req: AccountStandardsControllerGetTemplatesData;
@@ -8591,7 +8784,7 @@ export type $OpenApiTs = {
8591
8784
  /**
8592
8785
  * User created successfully
8593
8786
  */
8594
- 201: unknown;
8787
+ 201: SignupResponseDto;
8595
8788
  /**
8596
8789
  * Invalid Turnstile token (when Turnstile is enabled)
8597
8790
  */
@@ -8748,6 +8941,78 @@ export type $OpenApiTs = {
8748
8941
  };
8749
8942
  };
8750
8943
  };
8944
+ '/api/v1/{region}/reporting/portfolio/trends': {
8945
+ get: {
8946
+ req: ReportingControllerGetPortfolioTrendsData;
8947
+ res: {
8948
+ /**
8949
+ * Trends retrieved successfully
8950
+ */
8951
+ 200: PortfolioTrendsResponseDto;
8952
+ /**
8953
+ * User not authenticated
8954
+ */
8955
+ 401: unknown;
8956
+ };
8957
+ };
8958
+ };
8959
+ '/api/v1/{region}/reporting/cash-flow/trends': {
8960
+ get: {
8961
+ req: ReportingControllerGetCashFlowTrendsData;
8962
+ res: {
8963
+ /**
8964
+ * Cash-flow trends retrieved successfully
8965
+ */
8966
+ 200: CashFlowTrendsResponseDto;
8967
+ /**
8968
+ * User not authenticated
8969
+ */
8970
+ 401: unknown;
8971
+ };
8972
+ };
8973
+ };
8974
+ '/api/v1/{region}/reporting/snapshots/generate': {
8975
+ post: {
8976
+ req: ReportingControllerGenerateSnapshotData;
8977
+ res: {
8978
+ /**
8979
+ * Snapshot generated successfully
8980
+ */
8981
+ 200: GenerateSnapshotResponse;
8982
+ /**
8983
+ * Invalid date format
8984
+ */
8985
+ 400: unknown;
8986
+ /**
8987
+ * User not authenticated
8988
+ */
8989
+ 401: unknown;
8990
+ };
8991
+ };
8992
+ };
8993
+ '/api/v1/{region}/reporting/snapshots/backfill': {
8994
+ post: {
8995
+ req: ReportingControllerBackfillSnapshotsData;
8996
+ res: {
8997
+ /**
8998
+ * Backfill completed successfully
8999
+ */
9000
+ 200: BackfillSnapshotsResponse;
9001
+ /**
9002
+ * Invalid date format or range
9003
+ */
9004
+ 400: unknown;
9005
+ /**
9006
+ * User not authenticated
9007
+ */
9008
+ 401: unknown;
9009
+ /**
9010
+ * Backfill already in progress for this user
9011
+ */
9012
+ 409: unknown;
9013
+ };
9014
+ };
9015
+ };
8751
9016
  '/api/v1/{region}/bean/events': {
8752
9017
  post: {
8753
9018
  req: EventControllerCreateData;
@@ -9291,7 +9556,7 @@ export type $OpenApiTs = {
9291
9556
  /**
9292
9557
  * List of platforms with user binding status
9293
9558
  */
9294
- 200: unknown;
9559
+ 200: Array<PlatformListItemDto>;
9295
9560
  };
9296
9561
  };
9297
9562
  };
@@ -9300,9 +9565,9 @@ export type $OpenApiTs = {
9300
9565
  req: PlatformControllerMatchPlatformsData;
9301
9566
  res: {
9302
9567
  /**
9303
- * List of matching platforms with suggested segment names
9568
+ * Matching platforms with overall match type and truncation flag
9304
9569
  */
9305
- 200: unknown;
9570
+ 200: PlatformMatchResponseDto;
9306
9571
  };
9307
9572
  };
9308
9573
  };
@@ -9424,78 +9689,6 @@ export type $OpenApiTs = {
9424
9689
  };
9425
9690
  };
9426
9691
  };
9427
- '/api/v1/{region}/reporting/portfolio/trends': {
9428
- get: {
9429
- req: ReportingControllerGetPortfolioTrendsData;
9430
- res: {
9431
- /**
9432
- * Trends retrieved successfully
9433
- */
9434
- 200: PortfolioTrendsResponseDto;
9435
- /**
9436
- * User not authenticated
9437
- */
9438
- 401: unknown;
9439
- };
9440
- };
9441
- };
9442
- '/api/v1/{region}/reporting/cash-flow/trends': {
9443
- get: {
9444
- req: ReportingControllerGetCashFlowTrendsData;
9445
- res: {
9446
- /**
9447
- * Cash-flow trends retrieved successfully
9448
- */
9449
- 200: CashFlowTrendsResponseDto;
9450
- /**
9451
- * User not authenticated
9452
- */
9453
- 401: unknown;
9454
- };
9455
- };
9456
- };
9457
- '/api/v1/{region}/reporting/snapshots/generate': {
9458
- post: {
9459
- req: ReportingControllerGenerateSnapshotData;
9460
- res: {
9461
- /**
9462
- * Snapshot generated successfully
9463
- */
9464
- 200: GenerateSnapshotResponse;
9465
- /**
9466
- * Invalid date format
9467
- */
9468
- 400: unknown;
9469
- /**
9470
- * User not authenticated
9471
- */
9472
- 401: unknown;
9473
- };
9474
- };
9475
- };
9476
- '/api/v1/{region}/reporting/snapshots/backfill': {
9477
- post: {
9478
- req: ReportingControllerBackfillSnapshotsData;
9479
- res: {
9480
- /**
9481
- * Backfill completed successfully
9482
- */
9483
- 200: BackfillSnapshotsResponse;
9484
- /**
9485
- * Invalid date format or range
9486
- */
9487
- 400: unknown;
9488
- /**
9489
- * User not authenticated
9490
- */
9491
- 401: unknown;
9492
- /**
9493
- * Backfill already in progress for this user
9494
- */
9495
- 409: unknown;
9496
- };
9497
- };
9498
- };
9499
9692
  '/api/v1/auth/api-keys': {
9500
9693
  post: {
9501
9694
  res: {
@@ -9517,7 +9710,7 @@ export type $OpenApiTs = {
9517
9710
  /**
9518
9711
  * Login successful
9519
9712
  */
9520
- 200: unknown;
9713
+ 200: AnonymousLoginResponseDto;
9521
9714
  /**
9522
9715
  * Invalid access token
9523
9716
  */