@clear-street/clearstreet 0.93.1 → 0.95.0

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.
Files changed (128) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/package.json +1 -1
  3. package/resources/v1/accounts.d.mts +27 -44
  4. package/resources/v1/accounts.d.mts.map +1 -1
  5. package/resources/v1/accounts.d.ts +27 -44
  6. package/resources/v1/accounts.d.ts.map +1 -1
  7. package/resources/v1/index.d.mts +5 -4
  8. package/resources/v1/index.d.mts.map +1 -1
  9. package/resources/v1/index.d.ts +5 -4
  10. package/resources/v1/index.d.ts.map +1 -1
  11. package/resources/v1/index.js +3 -1
  12. package/resources/v1/index.js.map +1 -1
  13. package/resources/v1/index.mjs +1 -0
  14. package/resources/v1/index.mjs.map +1 -1
  15. package/resources/v1/instrument-data/index.d.mts +1 -1
  16. package/resources/v1/instrument-data/index.d.mts.map +1 -1
  17. package/resources/v1/instrument-data/index.d.ts +1 -1
  18. package/resources/v1/instrument-data/index.d.ts.map +1 -1
  19. package/resources/v1/instrument-data/index.js.map +1 -1
  20. package/resources/v1/instrument-data/index.mjs.map +1 -1
  21. package/resources/v1/instrument-data/instrument-data.d.mts +70 -5
  22. package/resources/v1/instrument-data/instrument-data.d.mts.map +1 -1
  23. package/resources/v1/instrument-data/instrument-data.d.ts +70 -5
  24. package/resources/v1/instrument-data/instrument-data.d.ts.map +1 -1
  25. package/resources/v1/instrument-data/instrument-data.js +6 -4
  26. package/resources/v1/instrument-data/instrument-data.js.map +1 -1
  27. package/resources/v1/instrument-data/instrument-data.mjs +6 -4
  28. package/resources/v1/instrument-data/instrument-data.mjs.map +1 -1
  29. package/resources/v1/instrument-data/market-data.d.mts +48 -1
  30. package/resources/v1/instrument-data/market-data.d.mts.map +1 -1
  31. package/resources/v1/instrument-data/market-data.d.ts +48 -1
  32. package/resources/v1/instrument-data/market-data.d.ts.map +1 -1
  33. package/resources/v1/instruments.d.mts +66 -8
  34. package/resources/v1/instruments.d.mts.map +1 -1
  35. package/resources/v1/instruments.d.ts +66 -8
  36. package/resources/v1/instruments.d.ts.map +1 -1
  37. package/resources/v1/instruments.js +4 -2
  38. package/resources/v1/instruments.js.map +1 -1
  39. package/resources/v1/instruments.mjs +4 -2
  40. package/resources/v1/instruments.mjs.map +1 -1
  41. package/resources/v1/omni-ai/index.d.mts +1 -1
  42. package/resources/v1/omni-ai/index.d.mts.map +1 -1
  43. package/resources/v1/omni-ai/index.d.ts +1 -1
  44. package/resources/v1/omni-ai/index.d.ts.map +1 -1
  45. package/resources/v1/omni-ai/index.js.map +1 -1
  46. package/resources/v1/omni-ai/index.mjs.map +1 -1
  47. package/resources/v1/omni-ai/omni-ai.d.mts +169 -3
  48. package/resources/v1/omni-ai/omni-ai.d.mts.map +1 -1
  49. package/resources/v1/omni-ai/omni-ai.d.ts +169 -3
  50. package/resources/v1/omni-ai/omni-ai.d.ts.map +1 -1
  51. package/resources/v1/omni-ai/omni-ai.js.map +1 -1
  52. package/resources/v1/omni-ai/omni-ai.mjs.map +1 -1
  53. package/resources/v1/orders.d.mts +60 -22
  54. package/resources/v1/orders.d.mts.map +1 -1
  55. package/resources/v1/orders.d.ts +60 -22
  56. package/resources/v1/orders.d.ts.map +1 -1
  57. package/resources/v1/orders.js +5 -1
  58. package/resources/v1/orders.js.map +1 -1
  59. package/resources/v1/orders.mjs +5 -1
  60. package/resources/v1/orders.mjs.map +1 -1
  61. package/resources/v1/private-markets/index.d.mts +3 -0
  62. package/resources/v1/private-markets/index.d.mts.map +1 -0
  63. package/resources/v1/private-markets/index.d.ts +3 -0
  64. package/resources/v1/private-markets/index.d.ts.map +1 -0
  65. package/resources/v1/private-markets/index.js +9 -0
  66. package/resources/v1/private-markets/index.js.map +1 -0
  67. package/resources/v1/private-markets/index.mjs +4 -0
  68. package/resources/v1/private-markets/index.mjs.map +1 -0
  69. package/resources/v1/private-markets/offerings.d.mts +369 -0
  70. package/resources/v1/private-markets/offerings.d.mts.map +1 -0
  71. package/resources/v1/private-markets/offerings.d.ts +369 -0
  72. package/resources/v1/private-markets/offerings.d.ts.map +1 -0
  73. package/resources/v1/private-markets/offerings.js +46 -0
  74. package/resources/v1/private-markets/offerings.js.map +1 -0
  75. package/resources/v1/private-markets/offerings.mjs +42 -0
  76. package/resources/v1/private-markets/offerings.mjs.map +1 -0
  77. package/resources/v1/private-markets/private-markets.d.mts +10 -0
  78. package/resources/v1/private-markets/private-markets.d.mts.map +1 -0
  79. package/resources/v1/private-markets/private-markets.d.ts +10 -0
  80. package/resources/v1/private-markets/private-markets.d.ts.map +1 -0
  81. package/resources/v1/private-markets/private-markets.js +17 -0
  82. package/resources/v1/private-markets/private-markets.js.map +1 -0
  83. package/resources/v1/private-markets/private-markets.mjs +12 -0
  84. package/resources/v1/private-markets/private-markets.mjs.map +1 -0
  85. package/resources/v1/private-markets.d.mts +2 -0
  86. package/resources/v1/private-markets.d.mts.map +1 -0
  87. package/resources/v1/private-markets.d.ts +2 -0
  88. package/resources/v1/private-markets.d.ts.map +1 -0
  89. package/resources/v1/private-markets.js +6 -0
  90. package/resources/v1/private-markets.js.map +1 -0
  91. package/resources/v1/private-markets.mjs +3 -0
  92. package/resources/v1/private-markets.mjs.map +1 -0
  93. package/resources/v1/screener.d.mts +3 -0
  94. package/resources/v1/screener.d.mts.map +1 -1
  95. package/resources/v1/screener.d.ts +3 -0
  96. package/resources/v1/screener.d.ts.map +1 -1
  97. package/resources/v1/screener.js +3 -0
  98. package/resources/v1/screener.js.map +1 -1
  99. package/resources/v1/screener.mjs +3 -0
  100. package/resources/v1/screener.mjs.map +1 -1
  101. package/resources/v1/v1.d.mts +12 -8
  102. package/resources/v1/v1.d.mts.map +1 -1
  103. package/resources/v1/v1.d.ts +12 -8
  104. package/resources/v1/v1.d.ts.map +1 -1
  105. package/resources/v1/v1.js +4 -0
  106. package/resources/v1/v1.js.map +1 -1
  107. package/resources/v1/v1.mjs +4 -0
  108. package/resources/v1/v1.mjs.map +1 -1
  109. package/src/resources/v1/accounts.ts +27 -50
  110. package/src/resources/v1/index.ts +5 -1
  111. package/src/resources/v1/instrument-data/index.ts +1 -0
  112. package/src/resources/v1/instrument-data/instrument-data.ts +82 -4
  113. package/src/resources/v1/instrument-data/market-data.ts +55 -1
  114. package/src/resources/v1/instruments.ts +74 -7
  115. package/src/resources/v1/omni-ai/index.ts +2 -0
  116. package/src/resources/v1/omni-ai/omni-ai.ts +202 -2
  117. package/src/resources/v1/orders.ts +68 -29
  118. package/src/resources/v1/private-markets/index.ts +27 -0
  119. package/src/resources/v1/private-markets/offerings.ts +477 -0
  120. package/src/resources/v1/private-markets/private-markets.ts +61 -0
  121. package/src/resources/v1/private-markets.ts +3 -0
  122. package/src/resources/v1/screener.ts +3 -0
  123. package/src/resources/v1/v1.ts +14 -2
  124. package/src/version.ts +1 -1
  125. package/version.d.mts +1 -1
  126. package/version.d.ts +1 -1
  127. package/version.js +1 -1
  128. package/version.mjs +1 -1
@@ -165,7 +165,10 @@ export interface AccountBalances {
165
165
  account_id: number;
166
166
 
167
167
  /**
168
- * The total buying power available in the account.
168
+ * The total buying power available in the account: base buying power plus the open
169
+ * order adjustment, where base buying power is maintenance margin excess times the
170
+ * multiplier for intraday and initial margin excess times the multiplier for
171
+ * overnight.
169
172
  */
170
173
  buying_power: string;
171
174
 
@@ -189,18 +192,14 @@ export interface AccountBalances {
189
192
  */
190
193
  daily_realized_pnl: string;
191
194
 
192
- /**
193
- * Total profit or loss since start of day.
194
- */
195
- daily_total_pnl: string;
196
-
197
195
  /**
198
196
  * Total unrealized profit or loss across all positions relative to prior close.
199
197
  */
200
198
  daily_unrealized_pnl: string;
201
199
 
202
200
  /**
203
- * The total equity in the account.
201
+ * The total equity in the account: cash plus long market value plus short market
202
+ * value, where short market value is negative.
204
203
  */
205
204
  equity: string;
206
205
 
@@ -215,7 +214,9 @@ export interface AccountBalances {
215
214
  margin_type: MarginType;
216
215
 
217
216
  /**
218
- * Signed buying-power correction from open orders.
217
+ * Buying power correction from open orders, computed as projected buying power
218
+ * minus actual buying power. A negative value means open orders are consuming
219
+ * buying power.
219
220
  */
220
221
  open_order_adjustment: string;
221
222
 
@@ -261,7 +262,8 @@ export interface AccountBalances {
261
262
  margin_details?: MarginDetails | null;
262
263
 
263
264
  /**
264
- * Applied multiplier for margin calculations. When a null/undefined value is
265
+ * Margin multiplier: 4 during intraday sessions (pre-market, regular, and
266
+ * after-hours) and 2 during the overnight session. When a null/undefined value is
265
267
  * observed, it indicates it does not apply.
266
268
  */
267
269
  multiplier?: string | null;
@@ -301,20 +303,16 @@ export interface AccountBalancesSod {
301
303
  asof?: string | null;
302
304
 
303
305
  /**
304
- * @deprecated Start-of-day day-trade buying power. When a null/undefined value is
305
- * observed, it indicates it does not apply.
306
- */
307
- day_trade_buying_power?: string | null;
308
-
309
- /**
310
- * Start-of-day maintenance margin excess. When a null/undefined value is observed,
311
- * it indicates it does not apply.
306
+ * Start-of-day maintenance margin excess: the difference between equity and the
307
+ * maintenance margin requirement. When a null/undefined value is observed, it
308
+ * indicates it does not apply.
312
309
  */
313
310
  maintenance_margin_excess?: string | null;
314
311
 
315
312
  /**
316
- * Start-of-day maintenance margin requirement. When a null/undefined value is
317
- * observed, it indicates it does not apply.
313
+ * Start-of-day maintenance margin requirement: the amount of equity required to
314
+ * maintain current positions. When a null/undefined value is observed, it
315
+ * indicates it does not apply.
318
316
  */
319
317
  maintenance_margin_requirement?: string | null;
320
318
 
@@ -473,18 +471,12 @@ export interface Address {
473
471
 
474
472
  export interface MarginDetails {
475
473
  /**
476
- * @deprecated The number of day trades executed over the 5 most recent trading
477
- * days.
478
- */
479
- day_trade_count: number;
480
-
481
- /**
482
- * Initial margin excess for trade-date balances.
474
+ * The difference between equity and the initial margin requirement.
483
475
  */
484
476
  initial_margin_excess: string;
485
477
 
486
478
  /**
487
- * Initial margin requirement for trade-date balances.
479
+ * The amount of equity required to open new positions.
488
480
  */
489
481
  initial_margin_requirement: string;
490
482
 
@@ -494,12 +486,12 @@ export interface MarginDetails {
494
486
  intraday_details: MarginSessionDetails;
495
487
 
496
488
  /**
497
- * Maintenance margin excess for trade-date balances.
489
+ * The difference between equity and the maintenance margin requirement.
498
490
  */
499
491
  maintenance_margin_excess: string;
500
492
 
501
493
  /**
502
- * Maintenance margin requirement for trade-date balances.
494
+ * The amount of equity required to maintain current positions.
503
495
  */
504
496
  maintenance_margin_requirement: string;
505
497
 
@@ -508,19 +500,6 @@ export interface MarginDetails {
508
500
  */
509
501
  overnight_details: MarginSessionDetails;
510
502
 
511
- /**
512
- * @deprecated `true` if the account is currently flagged as a PDT, otherwise
513
- * `false`.
514
- */
515
- pattern_day_trader: boolean;
516
-
517
- /**
518
- * @deprecated The amount of day-trade buying power used during the current trading
519
- * day. When null/undefined, the value should be assumed to be zero. The field is
520
- * omitted to simplify the response.
521
- */
522
- day_trade_buying_power_usage?: string | null;
523
-
524
503
  /**
525
504
  * Optional top margin contributors, returned only when explicitly requested.
526
505
  */
@@ -547,23 +526,21 @@ export interface MarginDetailsUsage {
547
526
 
548
527
  export interface MarginSessionDetails {
549
528
  /**
550
- * Maximum buying power available in the account during the session.
529
+ * Maximum buying power available in the account during the session: base buying
530
+ * power plus the open order adjustment, where base buying power is maintenance
531
+ * margin excess times the multiplier for intraday and initial margin excess times
532
+ * the multiplier for overnight.
551
533
  */
552
534
  buying_power: string;
553
535
 
554
536
  /**
555
- * Effective multiplier for margin calculations during the session.
537
+ * Margin multiplier for the session: 4 during intraday sessions (pre-market,
538
+ * regular, and after-hours) and 2 during the overnight session.
556
539
  */
557
540
  multiplier?: string | null;
558
541
  }
559
542
 
560
543
  export interface MarginTopContributor {
561
- /**
562
- * @deprecated Day-trade buying power consumed by fills against this underlying on
563
- * the current trade date. Populated only for pattern day trader accounts.
564
- */
565
- day_trade_buying_power_usage: string;
566
-
567
544
  /**
568
545
  * Initial margin requirement attributable to this underlying.
569
546
  */
@@ -67,6 +67,7 @@ export {
67
67
  type InstrumentFundamentals,
68
68
  type InstrumentIncomeStatement,
69
69
  type InstrumentIncomeStatementList,
70
+ type InstrumentIpoEvent,
70
71
  type InstrumentSplitEvent,
71
72
  type PriceTarget,
72
73
  type ReportTime,
@@ -92,6 +93,7 @@ export {
92
93
  type InstrumentCore,
93
94
  type InstrumentCoreList,
94
95
  type ListingType,
96
+ type OptionExpiryDate,
95
97
  type OptionsContract,
96
98
  type OptionsContractList,
97
99
  type InstrumentGetInstrumentByIDResponse,
@@ -122,9 +124,11 @@ export {
122
124
  type OpenEntitlementConsentAction,
123
125
  type OpenScreenerAction,
124
126
  type PrefillCancelOrderAction,
127
+ type PrefillCancelOrderRequest,
125
128
  type PrefillModifyOrderAction,
126
129
  type PrefillModifyOrderRequest,
127
130
  type PrefillNewOrderAction,
131
+ type PrefillNewOrderRequest,
128
132
  type PrefillOrderAction,
129
133
  type PromptButtonAction,
130
134
  type StructuredAction,
@@ -133,7 +137,6 @@ export {
133
137
  } from './omni-ai/index';
134
138
  export {
135
139
  Orders,
136
- type CancelOrderRequest,
137
140
  type Execution,
138
141
  type ExecutionList,
139
142
  type InstrumentIDOrSymbol,
@@ -186,6 +189,7 @@ export {
186
189
  type PositionGetPositionsParams,
187
190
  type PositionSubmitPositionInstructionsParams,
188
191
  } from './positions';
192
+ export { PrivateMarkets } from './private-markets/index';
189
193
  export {
190
194
  Screener,
191
195
  type FieldLookback,
@@ -21,6 +21,7 @@ export {
21
21
  type InstrumentFundamentals,
22
22
  type InstrumentIncomeStatement,
23
23
  type InstrumentIncomeStatementList,
24
+ type InstrumentIpoEvent,
24
25
  type InstrumentSplitEvent,
25
26
  type PriceTarget,
26
27
  type ReportTime,
@@ -41,13 +41,15 @@ export class InstrumentData extends APIResource {
41
41
  news: NewsAPI.News = new NewsAPI.News(this._client);
42
42
 
43
43
  /**
44
- * List instrument events across all securities, grouped by date.
44
+ * List instrument events across all securities, grouped by date. Results are
45
+ * paginated via `page_size` / `page_token`; a date's events may span two pages.
45
46
  *
46
47
  * Date range defaults (anchored on the current trading day, or the next trading
47
48
  * day if today is a weekend or US market holiday):
48
49
  *
49
50
  * - Unfiltered (no `instrument_ids`): a single trading day (`from_date` =
50
- * `to_date` = anchor); the requested span is capped at 6 days.
51
+ * `to_date` = anchor). If only one bound is given, the other defaults to 6 days
52
+ * from it; there is no maximum span once both bounds are given.
51
53
  * - Filtered (with `instrument_ids`): a 30-day lookback ending on the anchor
52
54
  * (`from_date` = anchor − 30 days, `to_date` = anchor).
53
55
  *
@@ -137,8 +139,8 @@ export class InstrumentData extends APIResource {
137
139
  }
138
140
 
139
141
  /**
140
- * Retrieves corporate events (dividends, splits, etc.) for an instrument, grouped
141
- * by event type.
142
+ * Retrieves corporate events (earnings, dividends, splits, IPO) for an instrument,
143
+ * grouped by event type. Filter to specific types via `event_types`.
142
144
  *
143
145
  * Date range defaults:
144
146
  *
@@ -1059,6 +1061,11 @@ export interface InstrumentEventsData {
1059
1061
  */
1060
1062
  instrument_id: string;
1061
1063
 
1064
+ /**
1065
+ * IPO events
1066
+ */
1067
+ ipos: Array<InstrumentIpoEvent>;
1068
+
1062
1069
  /**
1063
1070
  * Stock split events
1064
1071
  */
@@ -1359,6 +1366,58 @@ export interface InstrumentIncomeStatement {
1359
1366
 
1360
1367
  export type InstrumentIncomeStatementList = Array<InstrumentIncomeStatement>;
1361
1368
 
1369
+ /**
1370
+ * Represents an IPO event for an instrument
1371
+ */
1372
+ export interface InstrumentIpoEvent {
1373
+ /**
1374
+ * The date of the IPO
1375
+ */
1376
+ date: string;
1377
+
1378
+ /**
1379
+ * IPO action. When a null/undefined value is observed, it indicates that there is
1380
+ * no available data.
1381
+ */
1382
+ actions?: string | null;
1383
+
1384
+ /**
1385
+ * IPO announced timestamp. When a null/undefined value is observed, it indicates
1386
+ * that there is no available data.
1387
+ */
1388
+ announced_at?: string | null;
1389
+
1390
+ /**
1391
+ * IPO company name. When a null/undefined value is observed, it indicates that
1392
+ * there is no available data.
1393
+ */
1394
+ company?: string | null;
1395
+
1396
+ /**
1397
+ * IPO exchange. When a null/undefined value is observed, it indicates that there
1398
+ * is no available data.
1399
+ */
1400
+ exchange?: string | null;
1401
+
1402
+ /**
1403
+ * IPO market cap. When a null/undefined value is observed, it indicates that there
1404
+ * is no available data.
1405
+ */
1406
+ market_cap?: string | null;
1407
+
1408
+ /**
1409
+ * IPO price range. When a null/undefined value is observed, it indicates that
1410
+ * there is no available data.
1411
+ */
1412
+ price_range?: string | null;
1413
+
1414
+ /**
1415
+ * IPO shares offered. When a null/undefined value is observed, it indicates that
1416
+ * there is no available data.
1417
+ */
1418
+ shares?: string | null;
1419
+ }
1420
+
1362
1421
  /**
1363
1422
  * Represents a stock split event for an instrument
1364
1423
  */
@@ -1473,6 +1532,18 @@ export interface InstrumentDataGetAllInstrumentEventsParams {
1473
1532
  */
1474
1533
  instrument_ids?: Array<OrdersAPI.InstrumentIDOrSymbol>;
1475
1534
 
1535
+ /**
1536
+ * The number of items to return per page. Only used when page_token is not
1537
+ * provided.
1538
+ */
1539
+ page_size?: number;
1540
+
1541
+ /**
1542
+ * Token for retrieving the next or previous page of results. Contains encoded
1543
+ * pagination state; when provided, page_size is ignored.
1544
+ */
1545
+ page_token?: string;
1546
+
1476
1547
  /**
1477
1548
  * The end date for the query range, inclusive (YYYY-MM-DD).
1478
1549
  */
@@ -1540,6 +1611,12 @@ export interface InstrumentDataGetInstrumentCashFlowStatementsParams {
1540
1611
  }
1541
1612
 
1542
1613
  export interface InstrumentDataGetInstrumentEventsParams {
1614
+ /**
1615
+ * Filter by event type(s). Comma-delimited list. Example:
1616
+ * `event_types=EARNINGS,IPO`.
1617
+ */
1618
+ event_types?: Array<AllEventsEventType>;
1619
+
1543
1620
  /**
1544
1621
  * The start date for the query range, inclusive (YYYY-MM-DD).
1545
1622
  */
@@ -1599,6 +1676,7 @@ export declare namespace InstrumentData {
1599
1676
  type InstrumentFundamentals as InstrumentFundamentals,
1600
1677
  type InstrumentIncomeStatement as InstrumentIncomeStatement,
1601
1678
  type InstrumentIncomeStatementList as InstrumentIncomeStatementList,
1679
+ type InstrumentIpoEvent as InstrumentIpoEvent,
1602
1680
  type InstrumentSplitEvent as InstrumentSplitEvent,
1603
1681
  type PriceTarget as PriceTarget,
1604
1682
  type ReportTime as ReportTime,
@@ -248,6 +248,22 @@ export interface SnapshotLastTrade {
248
248
  * instruments, whose level is computed rather than traded.
249
249
  */
250
250
  size: number;
251
+
252
+ /**
253
+ * Exchange timestamp of the most recent last-sale eligible trade. For index
254
+ * instruments, the time the index level was computed. Absent when the trade
255
+ * carries no timestamp. When a null/undefined value is observed, it indicates that
256
+ * there is no available data.
257
+ */
258
+ timestamp?: string | null;
259
+
260
+ /**
261
+ * ISO 10383 Market Identifier Code (MIC) of the venue where the most recent
262
+ * last-sale eligible trade took place. Absent when the trade carries no venue;
263
+ * index levels are computed rather than traded and have no venue. When a
264
+ * null/undefined value is observed, it indicates that there is no available data.
265
+ */
266
+ venue?: string | null;
251
267
  }
252
268
 
253
269
  /**
@@ -266,6 +282,20 @@ export interface SnapshotQuote {
266
282
  */
267
283
  ask_size?: number | null;
268
284
 
285
+ /**
286
+ * Exchange timestamp of the best ask. Absent when the ask side carries no
287
+ * timestamp. When a null/undefined value is observed, it indicates that there is
288
+ * no available data.
289
+ */
290
+ ask_timestamp?: string | null;
291
+
292
+ /**
293
+ * ISO 10383 Market Identifier Code (MIC) of the venue currently holding the
294
+ * national best offer (NBBO). Absent when the ask side carries no venue. When a
295
+ * null/undefined value is observed, it indicates that there is no available data.
296
+ */
297
+ ask_venue?: string | null;
298
+
269
299
  /**
270
300
  * Current best bid. Absent when no bid is available (one-sided quote). When a
271
301
  * null/undefined value is observed, it indicates that there is no available data.
@@ -278,6 +308,20 @@ export interface SnapshotQuote {
278
308
  */
279
309
  bid_size?: number | null;
280
310
 
311
+ /**
312
+ * Exchange timestamp of the best bid. Absent when the bid side carries no
313
+ * timestamp. When a null/undefined value is observed, it indicates that there is
314
+ * no available data.
315
+ */
316
+ bid_timestamp?: string | null;
317
+
318
+ /**
319
+ * ISO 10383 Market Identifier Code (MIC) of the venue currently holding the
320
+ * national best bid (NBBO). Absent when the bid side carries no venue. When a
321
+ * null/undefined value is observed, it indicates that there is no available data.
322
+ */
323
+ bid_venue?: string | null;
324
+
281
325
  /**
282
326
  * Midpoint of bid and ask. Absent when either side is missing. When a
283
327
  * null/undefined value is observed, it indicates that there is no available data.
@@ -300,9 +344,19 @@ export interface SnapshotSession {
300
344
  change_percent: string;
301
345
 
302
346
  /**
303
- * Previous session close price.
347
+ * Previous session close price. Corporate-action-adjusted (stock dividends, cash
348
+ * dividends, and forward/reverse splits) when an adjustment exists for the close
349
+ * date; the raw close otherwise.
304
350
  */
305
351
  previous_close: string;
352
+
353
+ /**
354
+ * Unadjusted (raw) previous session close. Present only when a corporate-action
355
+ * adjustment exists for the previous close date; when no adjustment exists,
356
+ * `previous_close` is the raw close and this field is omitted. When a
357
+ * null/undefined value is observed, it indicates that there is no available data.
358
+ */
359
+ previous_close_unadjusted?: string | null;
306
360
  }
307
361
 
308
362
  export interface MarketDataGetDailySummariesResponse extends Shared.BaseResponse {
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { APIResource } from '../../core/resource';
4
4
  import * as Shared from '../shared';
5
+ import * as OrdersAPI from './orders';
5
6
  import * as V1API from './v1';
6
7
  import { APIPromise } from '../../core/api-promise';
7
8
  import { RequestOptions } from '../../internal/request-options';
@@ -47,8 +48,10 @@ export class Instruments extends APIResource {
47
48
  /**
48
49
  * List options contracts.
49
50
  *
50
- * Returns options contracts for a given underlier with options-specific metadata.
51
- * Exactly one underlier identifier must be provided.
51
+ * Returns options contracts with options-specific metadata. Exactly one identifier
52
+ * must be provided: `underlier`/`underlying_instrument_id` (list all contracts for
53
+ * that underlier) or `contract_ids` (look up specific contracts directly).
54
+ * `expiry`/`contract_type` apply as filters in either case.
52
55
  *
53
56
  * @example
54
57
  * ```ts
@@ -175,6 +178,13 @@ export interface Instrument {
175
178
  */
176
179
  adv?: string | null;
177
180
 
181
+ /**
182
+ * Corporate-action-adjusted last close; present only when an adjustment exists for
183
+ * the previous_close date. When a null/undefined value is observed, it indicates
184
+ * that there is no available data.
185
+ */
186
+ cax_adjusted_previous_close?: string | null;
187
+
178
188
  /**
179
189
  * The type of security (e.g., Common Stock, ETF) When a null/undefined value is
180
190
  * observed, it indicates that there is no available data.
@@ -194,16 +204,28 @@ export interface Instrument {
194
204
  name?: string | null;
195
205
 
196
206
  /**
197
- * Notional average daily volume (ADV multiplied by previous close price). When a
198
- * null/undefined value is observed, it indicates that there is no available data.
207
+ * Notional average daily volume (ADV multiplied by the cax-adjusted close when
208
+ * present, the raw previous close otherwise). When a null/undefined value is
209
+ * observed, it indicates that there is no available data.
199
210
  */
200
211
  notional_adv?: string | null;
201
212
 
202
213
  /**
203
- * Available options expiration dates for this instrument. Present only when
214
+ * Available options expiration dates for this instrument, each annotated with
215
+ * which settlement cycles have listed contracts on it. Present only when
204
216
  * `include_options_expiry_dates=true` in the request. When a null/undefined value
205
217
  * is observed, it indicates it does not apply.
206
218
  */
219
+ options_contract_expiry_dates?: Array<OptionExpiryDate> | null;
220
+
221
+ /**
222
+ * @deprecated Available options expiration dates for this instrument. Present only
223
+ * when `include_options_expiry_dates=true` in the request.
224
+ *
225
+ * Deprecated: use `options_contract_expiry_dates`, which carries the same dates
226
+ * annotated with settlement-cycle information. When a null/undefined value is
227
+ * observed, it indicates it does not apply.
228
+ */
207
229
  options_expiry_dates?: Array<string> | null;
208
230
 
209
231
  /**
@@ -292,6 +314,13 @@ export interface InstrumentCore {
292
314
  */
293
315
  adv?: string | null;
294
316
 
317
+ /**
318
+ * Corporate-action-adjusted last close; present only when an adjustment exists for
319
+ * the previous_close date. When a null/undefined value is observed, it indicates
320
+ * that there is no available data.
321
+ */
322
+ cax_adjusted_previous_close?: string | null;
323
+
295
324
  /**
296
325
  * The type of security (e.g., Common Stock, ETF) When a null/undefined value is
297
326
  * observed, it indicates that there is no available data.
@@ -311,8 +340,9 @@ export interface InstrumentCore {
311
340
  name?: string | null;
312
341
 
313
342
  /**
314
- * Notional average daily volume (ADV multiplied by previous close price). When a
315
- * null/undefined value is observed, it indicates that there is no available data.
343
+ * Notional average daily volume (ADV multiplied by the cax-adjusted close when
344
+ * present, the raw previous close otherwise). When a null/undefined value is
345
+ * observed, it indicates that there is no available data.
316
346
  */
317
347
  notional_adv?: string | null;
318
348
 
@@ -336,6 +366,29 @@ export type InstrumentCoreList = Array<InstrumentCore>;
336
366
  */
337
367
  export type ListingType = 'STANDARD' | 'FLEX' | 'OTC';
338
368
 
369
+ /**
370
+ * An options expiry date, annotated with which settlement cycles have listed
371
+ * contracts on it.
372
+ */
373
+ export interface OptionExpiryDate {
374
+ /**
375
+ * The expiration date.
376
+ */
377
+ date: string;
378
+
379
+ /**
380
+ * Whether this date has at least one listed contract that settles at the close (PM
381
+ * settlement) -- the standard cycle.
382
+ */
383
+ has_settles_on_close: boolean;
384
+
385
+ /**
386
+ * Whether this date has at least one listed contract that settles on the opening
387
+ * print (AM settlement).
388
+ */
389
+ has_settles_on_open: boolean;
390
+ }
391
+
339
392
  /**
340
393
  * An options contract with options-specific metadata
341
394
  */
@@ -514,6 +567,13 @@ export interface InstrumentGetInstrumentsParams {
514
567
  }
515
568
 
516
569
  export interface InstrumentGetOptionContractsParams {
570
+ /**
571
+ * Comma-separated contract instrument IDs (UUID) or OSI option symbols to look up
572
+ * directly, bypassing underlier expansion. Mutually exclusive with
573
+ * underlier/underlying_instrument_id; up to 100 values.
574
+ */
575
+ contract_ids?: Array<OrdersAPI.InstrumentIDOrSymbol>;
576
+
517
577
  /**
518
578
  * Filter by contract type: CALL or PUT
519
579
  */
@@ -524,6 +584,12 @@ export interface InstrumentGetOptionContractsParams {
524
584
  */
525
585
  expiry?: string;
526
586
 
587
+ /**
588
+ * Filter by settlement cycle: true for early-settling (AM, settle-on-open)
589
+ * contracts, false for normal (PM) contracts. Omit to return both.
590
+ */
591
+ is_settle_on_open?: boolean;
592
+
527
593
  /**
528
594
  * The number of items to return per page. Only used when page_token is not
529
595
  * provided.
@@ -603,6 +669,7 @@ export declare namespace Instruments {
603
669
  type InstrumentCore as InstrumentCore,
604
670
  type InstrumentCoreList as InstrumentCoreList,
605
671
  type ListingType as ListingType,
672
+ type OptionExpiryDate as OptionExpiryDate,
606
673
  type OptionsContract as OptionsContract,
607
674
  type OptionsContractList as OptionsContractList,
608
675
  type InstrumentGetInstrumentByIDResponse as InstrumentGetInstrumentByIDResponse,
@@ -41,9 +41,11 @@ export {
41
41
  type OpenEntitlementConsentAction,
42
42
  type OpenScreenerAction,
43
43
  type PrefillCancelOrderAction,
44
+ type PrefillCancelOrderRequest,
44
45
  type PrefillModifyOrderAction,
45
46
  type PrefillModifyOrderRequest,
46
47
  type PrefillNewOrderAction,
48
+ type PrefillNewOrderRequest,
47
49
  type PrefillOrderAction,
48
50
  type PromptButtonAction,
49
51
  type StructuredAction,