@firela/api-types 0.0.0-canary.ce7c9749 → 0.0.0-canary.d41ffbd5

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.js CHANGED
@@ -556,7 +556,7 @@ var BeanAccountsService = class {
556
556
  }
557
557
  /**
558
558
  * Delete account
559
- * Deletes an account (only if no transactions)
559
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
560
560
  * @param data The data for the request.
561
561
  * @param data.id Account UUID
562
562
  * @param data.region Region code for tenant context
@@ -573,7 +573,7 @@ var BeanAccountsService = class {
573
573
  },
574
574
  errors: {
575
575
  404: "Account not found",
576
- 409: "Account has transactions and cannot be deleted"
576
+ 409: "Account has active transactions and cannot be deleted"
577
577
  }
578
578
  });
579
579
  }
package/dist/index.mjs CHANGED
@@ -524,7 +524,7 @@ var BeanAccountsService = class {
524
524
  }
525
525
  /**
526
526
  * Delete account
527
- * Deletes an account (only if no transactions)
527
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
528
528
  * @param data The data for the request.
529
529
  * @param data.id Account UUID
530
530
  * @param data.region Region code for tenant context
@@ -541,7 +541,7 @@ var BeanAccountsService = class {
541
541
  },
542
542
  errors: {
543
543
  404: "Account not found",
544
- 409: "Account has transactions and cannot be deleted"
544
+ 409: "Account has active transactions and cannot be deleted"
545
545
  }
546
546
  });
547
547
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firela/api-types",
3
- "version": "0.0.0-canary.ce7c9749",
3
+ "version": "0.0.0-canary.d41ffbd5",
4
4
  "description": "TypeScript types generated from IGN OpenAPI specification",
5
5
  "license": "MIT",
6
6
  "author": "FireLa Team",
@@ -124,6 +124,8 @@ export const $AccountResponseDto = {
124
124
  'STUDENT_LOAN',
125
125
  'CREDIT_CARD',
126
126
  'PERSONAL_LOAN',
127
+ 'ACCOUNTS_PAYABLE',
128
+ 'TAX_PAYABLE',
127
129
  'OTHER'
128
130
  ],
129
131
  nullable: true,
@@ -395,9 +397,47 @@ export const $AccountStandardResponseDto = {
395
397
  type: 'string',
396
398
  description: 'Icon identifier for UI display',
397
399
  example: 'bank-icbc'
400
+ },
401
+ productCategory: {
402
+ type: 'string',
403
+ description:
404
+ 'Onboarding product category (coarse grouping derived from assetSubClass)',
405
+ enum: [
406
+ 'cash',
407
+ 'investment',
408
+ 'credit_card',
409
+ 'loan',
410
+ 'payable_tax',
411
+ 'other'
412
+ ],
413
+ example: 'investment'
414
+ },
415
+ assetClass: {
416
+ type: 'string',
417
+ description:
418
+ 'Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules',
419
+ enum: [
420
+ 'LIQUIDITY',
421
+ 'EQUITY',
422
+ 'FIXED_INCOME',
423
+ 'PRECIOUS_METALS',
424
+ 'COMMODITY',
425
+ 'INSURANCE',
426
+ 'ALTERNATIVE_INVESTMENT',
427
+ 'PERSONAL_ASSETS',
428
+ 'LIABILITY',
429
+ 'REAL_ESTATE',
430
+ 'INDEX'
431
+ ]
432
+ },
433
+ assetSubClass: {
434
+ type: 'string',
435
+ description:
436
+ 'Asset sub-class (product type, derived at read time from classification rules)',
437
+ example: 'STOCK'
398
438
  }
399
439
  },
400
- required: ['path', 'type', 'description', 'tags', 'icon']
440
+ required: ['path', 'type', 'description', 'tags', 'icon', 'productCategory']
401
441
  } as const;
402
442
 
403
443
  export const $AccountStandardListResponseDto = {
@@ -5630,7 +5670,8 @@ export const $UpdateMapperDefaultsDto = {
5630
5670
  type: 'string',
5631
5671
  description: 'Source account for transactions (Beancount format)',
5632
5672
  example: 'Assets:CN:Alipay:Balance',
5633
- pattern: '^[A-Z][a-zA-Z0-9-]*:[a-zA-Z0-9-:]+$'
5673
+ pattern:
5674
+ '^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
5634
5675
  },
5635
5676
  currency: {
5636
5677
  type: 'string',
@@ -5644,13 +5685,15 @@ export const $UpdateMapperDefaultsDto = {
5644
5685
  type: 'string',
5645
5686
  description: 'Default expense account (optional)',
5646
5687
  example: 'Expenses:Unknown',
5647
- pattern: '^[A-Z][a-zA-Z0-9-]*:[a-zA-Z0-9-:]+$'
5688
+ pattern:
5689
+ '^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
5648
5690
  },
5649
5691
  incomeAccount: {
5650
5692
  type: 'string',
5651
5693
  description: 'Default income account (optional)',
5652
5694
  example: 'Income:Unknown',
5653
- pattern: '^[A-Z][a-zA-Z0-9-]*:[a-zA-Z0-9-:]+$'
5695
+ pattern:
5696
+ '^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
5654
5697
  },
5655
5698
  methodAccountMapping: {
5656
5699
  type: 'object',
@@ -5707,12 +5750,14 @@ export const $ProviderSyncConfigDto = {
5707
5750
  },
5708
5751
  defaultExpenseAccount: {
5709
5752
  type: 'string',
5710
- description: 'Default expense account for the second posting',
5753
+ description:
5754
+ 'Default expense account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).',
5711
5755
  example: 'Expenses:Unknown'
5712
5756
  },
5713
5757
  defaultIncomeAccount: {
5714
5758
  type: 'string',
5715
- description: 'Default income account for the second posting',
5759
+ description:
5760
+ 'Default income account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).',
5716
5761
  example: 'Income:Unknown'
5717
5762
  },
5718
5763
  filterPending: {
@@ -5727,12 +5772,7 @@ export const $ProviderSyncConfigDto = {
5727
5772
  example: 'acc_gocardless_001'
5728
5773
  }
5729
5774
  },
5730
- required: [
5731
- 'sourceAccount',
5732
- 'defaultCurrency',
5733
- 'defaultExpenseAccount',
5734
- 'defaultIncomeAccount'
5735
- ]
5775
+ required: ['sourceAccount', 'defaultCurrency']
5736
5776
  } as const;
5737
5777
 
5738
5778
  export const $ProviderSyncDto = {
@@ -5947,10 +5987,17 @@ export const $ProcessNlpDto = {
5947
5987
  properties: {
5948
5988
  message: {
5949
5989
  type: 'string',
5950
- description: 'Natural language text describing a transaction (Chinese)',
5951
- example: 'yesterday Starbucks spent 35 yuan',
5990
+ description:
5991
+ 'Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.',
5992
+ example: 'Starbucks 35',
5952
5993
  maxLength: 500
5953
5994
  },
5995
+ confirm: {
5996
+ type: 'boolean',
5997
+ description:
5998
+ 'Structured confirm signal — bypasses NL confirm-word matching when true. Send parsedData field edits alongside. The NL word-list path is the fallback.',
5999
+ example: true
6000
+ },
5954
6001
  sessionId: {
5955
6002
  type: 'string',
5956
6003
  description:
@@ -5966,9 +6013,20 @@ export const $ProcessNlpDto = {
5966
6013
  currency: 'CNY',
5967
6014
  payee: 'Starbucks'
5968
6015
  }
6016
+ },
6017
+ selectedRuleId: {
6018
+ type: 'string',
6019
+ description:
6020
+ 'confirm_rule echo-back: rule id selected from the prior confirm_rule response (matchedRule.id or alternatives[i].ruleId). Applied directly when the session is confirming_rule — no NL re-parse.',
6021
+ example: 'rule_abc123'
6022
+ },
6023
+ selectedAccount: {
6024
+ type: 'string',
6025
+ description:
6026
+ 'confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.',
6027
+ example: 'Expenses:Food:Coffee'
5969
6028
  }
5970
- },
5971
- required: ['message']
6029
+ }
5972
6030
  } as const;
5973
6031
 
5974
6032
  export const $NlpTransactionInfoDto = {
@@ -6290,7 +6348,8 @@ export const $NlpAccountConfirmationDataDto = {
6290
6348
  },
6291
6349
  suggestedAccount: {
6292
6350
  type: 'string',
6293
- description: 'Suggested replacement account',
6351
+ description:
6352
+ 'Suggested replacement account (omitted when no clear candidate)',
6294
6353
  example: 'Expenses:Food:Drinks'
6295
6354
  },
6296
6355
  similarAccounts: {
@@ -6312,7 +6371,6 @@ export const $NlpAccountConfirmationDataDto = {
6312
6371
  },
6313
6372
  required: [
6314
6373
  'invalidAccount',
6315
- 'suggestedAccount',
6316
6374
  'similarAccounts',
6317
6375
  'errorMessage',
6318
6376
  'transactionContext'
@@ -6485,7 +6543,8 @@ export const $NlpSuggestedAccountDto = {
6485
6543
  },
6486
6544
  confidence: {
6487
6545
  type: 'number',
6488
- description: 'Confidence score for this suggestion (0-1)',
6546
+ description:
6547
+ 'Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)',
6489
6548
  example: 0.9
6490
6549
  }
6491
6550
  },
@@ -6521,23 +6580,31 @@ export const $NlpDefaultAccountsDto = {
6521
6580
  properties: {
6522
6581
  asset: {
6523
6582
  type: 'string',
6524
- description: 'Default asset account',
6525
- example: 'Assets:Checking'
6583
+ description:
6584
+ 'Default OPEN asset account (MRU when multiple), or null when none/ambiguous',
6585
+ example: 'Assets:Checking',
6586
+ nullable: true
6526
6587
  },
6527
6588
  expense: {
6528
6589
  type: 'string',
6529
- description: 'Default expense account',
6530
- example: 'Expenses:Uncategorized'
6590
+ description:
6591
+ 'Default OPEN expense account (MRU when multiple), or null when none/ambiguous',
6592
+ example: 'Expenses:Food:Coffee',
6593
+ nullable: true
6531
6594
  },
6532
6595
  income: {
6533
6596
  type: 'string',
6534
- description: 'Default income account',
6535
- example: 'Income:Uncategorized'
6597
+ description:
6598
+ 'Default OPEN income account (MRU when multiple), or null when none/ambiguous',
6599
+ example: 'Income:Salary',
6600
+ nullable: true
6536
6601
  },
6537
6602
  liability: {
6538
6603
  type: 'string',
6539
- description: 'Default liability account',
6540
- example: 'Liabilities:CreditCard'
6604
+ description:
6605
+ 'Default OPEN liability account (MRU when multiple), or null when none/ambiguous',
6606
+ example: 'Liabilities:CreditCard',
6607
+ nullable: true
6541
6608
  }
6542
6609
  },
6543
6610
  required: ['asset', 'expense', 'income', 'liability']
@@ -6725,7 +6792,7 @@ export const $NlpResponseDto = {
6725
6792
  },
6726
6793
  suggestedAccounts: {
6727
6794
  description:
6728
- 'Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.',
6795
+ 'Suggested accounts for this transaction (#586). confirm/confirm_rule/confirm_account: predicted (source/destination carry confidence); created: actual persisted accounts (confidence omitted). confirm_account destination is the suggested replacement, never the invalid account.',
6729
6796
  allOf: [
6730
6797
  {
6731
6798
  $ref: '#/components/schemas/NlpSuggestedAccountsDto'
@@ -6734,7 +6801,7 @@ export const $NlpResponseDto = {
6734
6801
  },
6735
6802
  defaultAccounts: {
6736
6803
  description:
6737
- 'Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.',
6804
+ 'Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.',
6738
6805
  allOf: [
6739
6806
  {
6740
6807
  $ref: '#/components/schemas/NlpDefaultAccountsDto'
@@ -6780,13 +6847,26 @@ export const $PlatformListItemDto = {
6780
6847
  suggestedSegment: {
6781
6848
  type: 'string',
6782
6849
  description:
6783
- 'Suggested path segment — canonical with first char uppercased (ACC_COMP_NAME_RE)'
6850
+ 'Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")'
6784
6851
  },
6785
6852
  logoUrl: {
6786
6853
  type: 'string',
6787
6854
  description: 'Logo URL',
6788
6855
  nullable: true
6789
6856
  },
6857
+ countryCode: {
6858
+ type: 'string',
6859
+ description: 'ISO 3166-1 alpha-2 (UPPERCASE); null = global platform',
6860
+ example: 'CN',
6861
+ nullable: true
6862
+ },
6863
+ category: {
6864
+ type: 'string',
6865
+ description:
6866
+ 'Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.',
6867
+ nullable: true,
6868
+ example: 'DigitalWallet'
6869
+ },
6790
6870
  isBound: {
6791
6871
  type: 'boolean',
6792
6872
  description: 'Whether user has accounts using this platform'
@@ -6800,6 +6880,8 @@ export const $PlatformListItemDto = {
6800
6880
  'canonical',
6801
6881
  'suggestedSegment',
6802
6882
  'logoUrl',
6883
+ 'countryCode',
6884
+ 'category',
6803
6885
  'isBound'
6804
6886
  ]
6805
6887
  } as const;
@@ -6835,13 +6917,26 @@ export const $PlatformMatchResultDto = {
6835
6917
  suggestedSegment: {
6836
6918
  type: 'string',
6837
6919
  description:
6838
- 'Suggested path segment — canonical, already in ACCOUNT_RE format'
6920
+ 'Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")'
6839
6921
  },
6840
6922
  logoUrl: {
6841
6923
  type: 'string',
6842
6924
  description: 'Logo URL',
6843
6925
  nullable: true
6844
6926
  },
6927
+ countryCode: {
6928
+ type: 'string',
6929
+ description: 'ISO 3166-1 alpha-2 (UPPERCASE); null = global platform',
6930
+ example: 'CN',
6931
+ nullable: true
6932
+ },
6933
+ category: {
6934
+ type: 'string',
6935
+ description:
6936
+ 'Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.',
6937
+ nullable: true,
6938
+ example: 'DigitalWallet'
6939
+ },
6845
6940
  matchType: {
6846
6941
  type: 'string',
6847
6942
  description: "How this row matched: 'exact' > 'prefix' > 'substring'",
@@ -6855,6 +6950,8 @@ export const $PlatformMatchResultDto = {
6855
6950
  'type',
6856
6951
  'suggestedSegment',
6857
6952
  'logoUrl',
6953
+ 'countryCode',
6954
+ 'category',
6858
6955
  'matchType'
6859
6956
  ]
6860
6957
  } as const;
@@ -8103,3 +8200,146 @@ export const $AnonymousLoginResponseDto = {
8103
8200
  },
8104
8201
  required: ['authToken']
8105
8202
  } as const;
8203
+
8204
+ export const $SymbolSearchResultDto = {
8205
+ type: 'object',
8206
+ properties: {
8207
+ symbol: {
8208
+ type: 'string',
8209
+ example: 'AAPL'
8210
+ },
8211
+ name: {
8212
+ type: 'object',
8213
+ example: 'Apple Inc.',
8214
+ nullable: true
8215
+ },
8216
+ exchange: {
8217
+ type: 'object',
8218
+ example: 'US',
8219
+ nullable: true
8220
+ },
8221
+ assetType: {
8222
+ type: 'object',
8223
+ description: 'OpenBB asset_type (e.g. stock, etf)',
8224
+ example: 'stock',
8225
+ nullable: true
8226
+ },
8227
+ assetClass: {
8228
+ type: 'object',
8229
+ description: 'IGN asset class (region.types.ts ASSET_CLASSES)',
8230
+ example: 'EQUITY',
8231
+ nullable: true
8232
+ },
8233
+ assetSubClass: {
8234
+ type: 'object',
8235
+ description: 'IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)',
8236
+ example: 'STOCK',
8237
+ nullable: true
8238
+ },
8239
+ currency: {
8240
+ type: 'object',
8241
+ description: 'Trading currency (extra_data or inferred from exchange)',
8242
+ example: 'USD',
8243
+ nullable: true
8244
+ }
8245
+ },
8246
+ required: ['symbol']
8247
+ } as const;
8248
+
8249
+ export const $SymbolQuoteDto = {
8250
+ type: 'object',
8251
+ properties: {
8252
+ symbol: {
8253
+ type: 'string',
8254
+ example: 'AAPL'
8255
+ },
8256
+ name: {
8257
+ type: 'object',
8258
+ example: 'Apple Inc.',
8259
+ nullable: true
8260
+ },
8261
+ exchange: {
8262
+ type: 'object',
8263
+ example: 'US',
8264
+ nullable: true
8265
+ },
8266
+ assetType: {
8267
+ type: 'object',
8268
+ description: 'OpenBB asset_type',
8269
+ example: 'stock',
8270
+ nullable: true
8271
+ },
8272
+ assetClass: {
8273
+ type: 'object',
8274
+ description: 'IGN asset class',
8275
+ example: 'EQUITY',
8276
+ nullable: true
8277
+ },
8278
+ assetSubClass: {
8279
+ type: 'object',
8280
+ description: 'IGN asset sub-class',
8281
+ example: 'STOCK',
8282
+ nullable: true
8283
+ },
8284
+ currency: {
8285
+ type: 'object',
8286
+ description: 'Trading currency (extra_data or inferred from exchange)',
8287
+ example: 'USD',
8288
+ nullable: true
8289
+ },
8290
+ price: {
8291
+ type: 'object',
8292
+ description: 'Latest price (Decimal string)',
8293
+ example: '189.84',
8294
+ nullable: true
8295
+ },
8296
+ priceDate: {
8297
+ type: 'object',
8298
+ description: 'Date the price was observed (ISO yyyy-MM-dd)',
8299
+ example: '2026-08-05',
8300
+ nullable: true
8301
+ },
8302
+ changePercent: {
8303
+ type: 'object',
8304
+ description:
8305
+ 'Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.',
8306
+ example: 1.7,
8307
+ nullable: true
8308
+ },
8309
+ prevClose: {
8310
+ type: 'object',
8311
+ description: 'Previous close (Decimal string)',
8312
+ nullable: true
8313
+ },
8314
+ open: {
8315
+ type: 'object',
8316
+ description: 'Day open (Decimal string)',
8317
+ nullable: true
8318
+ },
8319
+ high: {
8320
+ type: 'object',
8321
+ description: 'Day high (Decimal string)',
8322
+ nullable: true
8323
+ },
8324
+ low: {
8325
+ type: 'object',
8326
+ description: 'Day low (Decimal string)',
8327
+ nullable: true
8328
+ },
8329
+ volume: {
8330
+ type: 'object',
8331
+ description: 'Day volume (Decimal string)',
8332
+ nullable: true
8333
+ },
8334
+ yearHigh: {
8335
+ type: 'object',
8336
+ description: '52-week high (Decimal string)',
8337
+ nullable: true
8338
+ },
8339
+ yearLow: {
8340
+ type: 'object',
8341
+ description: '52-week low (Decimal string)',
8342
+ nullable: true
8343
+ }
8344
+ }
8345
+ } as const;
@@ -257,6 +257,7 @@ import type {
257
257
  PlatformControllerFindAllResponse,
258
258
  PlatformControllerCreateData,
259
259
  PlatformControllerCreateResponse,
260
+ PlatformControllerGetPlatformListData,
260
261
  PlatformControllerGetPlatformListResponse,
261
262
  PlatformControllerMatchPlatformsData,
262
263
  PlatformControllerMatchPlatformsResponse,
@@ -288,7 +289,11 @@ import type {
288
289
  HealthControllerResetCircuitBreakerData,
289
290
  HealthControllerResetCircuitBreakerResponse,
290
291
  HealthControllerGetMetricsResponse,
291
- InfoControllerGetInfoResponse
292
+ InfoControllerGetInfoResponse,
293
+ SymbolControllerSearchData,
294
+ SymbolControllerSearchResponse,
295
+ SymbolControllerGetQuoteData,
296
+ SymbolControllerGetQuoteResponse
292
297
  } from './types.gen';
293
298
 
294
299
  export class BeanAccountsService {
@@ -407,7 +412,7 @@ export class BeanAccountsService {
407
412
 
408
413
  /**
409
414
  * Delete account
410
- * Deletes an account (only if no transactions)
415
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
411
416
  * @param data The data for the request.
412
417
  * @param data.id Account UUID
413
418
  * @param data.region Region code for tenant context
@@ -426,7 +431,7 @@ export class BeanAccountsService {
426
431
  },
427
432
  errors: {
428
433
  404: 'Account not found',
429
- 409: 'Account has transactions and cannot be deleted'
434
+ 409: 'Account has active transactions and cannot be deleted'
430
435
  }
431
436
  });
432
437
  }
@@ -3726,13 +3731,20 @@ export class BeanPlatformsService {
3726
3731
 
3727
3732
  /**
3728
3733
  * Get platform list for current user
3734
+ * @param data The data for the request.
3735
+ * @param data.region Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
3729
3736
  * @returns PlatformListItemDto List of platforms with user binding status
3730
3737
  * @throws ApiError
3731
3738
  */
3732
- public static platformControllerGetPlatformList(): CancelablePromise<PlatformControllerGetPlatformListResponse> {
3739
+ public static platformControllerGetPlatformList(
3740
+ data: PlatformControllerGetPlatformListData = {}
3741
+ ): CancelablePromise<PlatformControllerGetPlatformListResponse> {
3733
3742
  return __request(OpenAPI, {
3734
3743
  method: 'GET',
3735
- url: '/api/v1/bean/platforms/list'
3744
+ url: '/api/v1/bean/platforms/list',
3745
+ query: {
3746
+ region: data.region
3747
+ }
3736
3748
  });
3737
3749
  }
3738
3750
 
@@ -3740,7 +3752,7 @@ export class BeanPlatformsService {
3740
3752
  * Match platforms by name or alias
3741
3753
  * @param data The data for the request.
3742
3754
  * @param data.q Search query — Chinese name, English name, or abbreviation
3743
- * @param data.region Region code for category override lookup
3755
+ * @param data.region Region code (ISO 3166-1 alpha-2) that biases within-tier ordering (local-region platforms first); also the intended categoryOverrides key. Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
3744
3756
  * @returns PlatformMatchResponseDto Matching platforms with overall match type and truncation flag
3745
3757
  * @throws ApiError
3746
3758
  */
@@ -4169,3 +4181,53 @@ export class InfoService {
4169
4181
  });
4170
4182
  }
4171
4183
  }
4184
+
4185
+ export class MarketDataService {
4186
+ /**
4187
+ * Search market symbols by name or code
4188
+ * Ranked search over the openbb catalog. Empty `q` returns [].
4189
+ * @param data The data for the request.
4190
+ * @param data.q Search term — matched against symbol and instrument name. Empty string returns [].
4191
+ * @param data.limit Maximum number of results (clamped 1..50)
4192
+ * @param data.exchange Filter by exchange code (e.g. US, HK, SS, SZ)
4193
+ * @param data.assetType Filter by OpenBB asset_type (e.g. stock, etf)
4194
+ * @returns SymbolSearchResultDto Ranked search results
4195
+ * @throws ApiError
4196
+ */
4197
+ public static symbolControllerSearch(
4198
+ data: SymbolControllerSearchData
4199
+ ): CancelablePromise<SymbolControllerSearchResponse> {
4200
+ return __request(OpenAPI, {
4201
+ method: 'GET',
4202
+ url: '/api/v1/market/symbols/search',
4203
+ query: {
4204
+ q: data.q,
4205
+ limit: data.limit,
4206
+ exchange: data.exchange,
4207
+ assetType: data.assetType
4208
+ }
4209
+ });
4210
+ }
4211
+
4212
+ /**
4213
+ * Get a market symbol quote
4214
+ * @param data The data for the request.
4215
+ * @param data.symbol
4216
+ * @returns SymbolQuoteDto Symbol quote
4217
+ * @throws ApiError
4218
+ */
4219
+ public static symbolControllerGetQuote(
4220
+ data: SymbolControllerGetQuoteData
4221
+ ): CancelablePromise<SymbolControllerGetQuoteResponse> {
4222
+ return __request(OpenAPI, {
4223
+ method: 'GET',
4224
+ url: '/api/v1/market/symbols/{symbol}/quote',
4225
+ path: {
4226
+ symbol: data.symbol
4227
+ },
4228
+ errors: {
4229
+ 404: 'Symbol not found in the openbb catalog'
4230
+ }
4231
+ });
4232
+ }
4233
+ }