@clear-street/clearstreet 0.76.0 → 0.78.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 (124) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/client.d.mts +2 -2
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +2 -2
  5. package/client.d.ts.map +1 -1
  6. package/client.js +9 -1
  7. package/client.js.map +1 -1
  8. package/client.mjs +9 -1
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/index.d.mts +1 -1
  12. package/resources/index.d.mts.map +1 -1
  13. package/resources/index.d.ts +1 -1
  14. package/resources/index.d.ts.map +1 -1
  15. package/resources/index.js.map +1 -1
  16. package/resources/index.mjs.map +1 -1
  17. package/resources/v1/accounts.d.mts +38 -13
  18. package/resources/v1/accounts.d.mts.map +1 -1
  19. package/resources/v1/accounts.d.ts +38 -13
  20. package/resources/v1/accounts.d.ts.map +1 -1
  21. package/resources/v1/calendar.d.mts +10 -5
  22. package/resources/v1/calendar.d.mts.map +1 -1
  23. package/resources/v1/calendar.d.ts +10 -5
  24. package/resources/v1/calendar.d.ts.map +1 -1
  25. package/resources/v1/index.d.mts +3 -2
  26. package/resources/v1/index.d.mts.map +1 -1
  27. package/resources/v1/index.d.ts +3 -2
  28. package/resources/v1/index.d.ts.map +1 -1
  29. package/resources/v1/index.js +3 -1
  30. package/resources/v1/index.js.map +1 -1
  31. package/resources/v1/index.mjs +1 -0
  32. package/resources/v1/index.mjs.map +1 -1
  33. package/resources/v1/instrument-data/instrument-data.d.mts +90 -45
  34. package/resources/v1/instrument-data/instrument-data.d.mts.map +1 -1
  35. package/resources/v1/instrument-data/instrument-data.d.ts +90 -45
  36. package/resources/v1/instrument-data/instrument-data.d.ts.map +1 -1
  37. package/resources/v1/instrument-data/instrument-data.js.map +1 -1
  38. package/resources/v1/instrument-data/instrument-data.mjs.map +1 -1
  39. package/resources/v1/instrument-data/market-data.d.mts +29 -14
  40. package/resources/v1/instrument-data/market-data.d.mts.map +1 -1
  41. package/resources/v1/instrument-data/market-data.d.ts +29 -14
  42. package/resources/v1/instrument-data/market-data.d.ts.map +1 -1
  43. package/resources/v1/instrument-data/news.d.mts +10 -5
  44. package/resources/v1/instrument-data/news.d.mts.map +1 -1
  45. package/resources/v1/instrument-data/news.d.ts +10 -5
  46. package/resources/v1/instrument-data/news.d.ts.map +1 -1
  47. package/resources/v1/instruments.d.mts +44 -22
  48. package/resources/v1/instruments.d.mts.map +1 -1
  49. package/resources/v1/instruments.d.ts +44 -22
  50. package/resources/v1/instruments.d.ts.map +1 -1
  51. package/resources/v1/omni-ai/index.d.mts +1 -1
  52. package/resources/v1/omni-ai/index.d.mts.map +1 -1
  53. package/resources/v1/omni-ai/index.d.ts +1 -1
  54. package/resources/v1/omni-ai/index.d.ts.map +1 -1
  55. package/resources/v1/omni-ai/index.js.map +1 -1
  56. package/resources/v1/omni-ai/index.mjs.map +1 -1
  57. package/resources/v1/omni-ai/messages.d.mts +4 -0
  58. package/resources/v1/omni-ai/messages.d.mts.map +1 -1
  59. package/resources/v1/omni-ai/messages.d.ts +4 -0
  60. package/resources/v1/omni-ai/messages.d.ts.map +1 -1
  61. package/resources/v1/omni-ai/omni-ai.d.mts +27 -29
  62. package/resources/v1/omni-ai/omni-ai.d.mts.map +1 -1
  63. package/resources/v1/omni-ai/omni-ai.d.ts +27 -29
  64. package/resources/v1/omni-ai/omni-ai.d.ts.map +1 -1
  65. package/resources/v1/omni-ai/omni-ai.js.map +1 -1
  66. package/resources/v1/omni-ai/omni-ai.mjs.map +1 -1
  67. package/resources/v1/omni-ai/responses.d.mts +9 -2
  68. package/resources/v1/omni-ai/responses.d.mts.map +1 -1
  69. package/resources/v1/omni-ai/responses.d.ts +9 -2
  70. package/resources/v1/omni-ai/responses.d.ts.map +1 -1
  71. package/resources/v1/omni-ai/threads.d.mts +1 -1
  72. package/resources/v1/omni-ai/threads.d.ts +1 -1
  73. package/resources/v1/orders.d.mts +30 -15
  74. package/resources/v1/orders.d.mts.map +1 -1
  75. package/resources/v1/orders.d.ts +30 -15
  76. package/resources/v1/orders.d.ts.map +1 -1
  77. package/resources/v1/positions.d.mts +33 -14
  78. package/resources/v1/positions.d.mts.map +1 -1
  79. package/resources/v1/positions.d.ts +33 -14
  80. package/resources/v1/positions.d.ts.map +1 -1
  81. package/resources/v1/screener.d.mts +396 -0
  82. package/resources/v1/screener.d.mts.map +1 -0
  83. package/resources/v1/screener.d.ts +396 -0
  84. package/resources/v1/screener.d.ts.map +1 -0
  85. package/resources/v1/screener.js +107 -0
  86. package/resources/v1/screener.js.map +1 -0
  87. package/resources/v1/screener.mjs +103 -0
  88. package/resources/v1/screener.mjs.map +1 -0
  89. package/resources/v1/v1.d.mts +11 -3
  90. package/resources/v1/v1.d.mts.map +1 -1
  91. package/resources/v1/v1.d.ts +11 -3
  92. package/resources/v1/v1.d.ts.map +1 -1
  93. package/resources/v1/v1.js +4 -0
  94. package/resources/v1/v1.js.map +1 -1
  95. package/resources/v1/v1.mjs +4 -0
  96. package/resources/v1/v1.mjs.map +1 -1
  97. package/resources/v1/watchlist.d.mts +4 -2
  98. package/resources/v1/watchlist.d.mts.map +1 -1
  99. package/resources/v1/watchlist.d.ts +4 -2
  100. package/resources/v1/watchlist.d.ts.map +1 -1
  101. package/src/client.ts +11 -3
  102. package/src/resources/index.ts +1 -1
  103. package/src/resources/v1/accounts.ts +41 -13
  104. package/src/resources/v1/calendar.ts +10 -5
  105. package/src/resources/v1/index.ts +31 -2
  106. package/src/resources/v1/instrument-data/instrument-data.ts +90 -45
  107. package/src/resources/v1/instrument-data/market-data.ts +29 -14
  108. package/src/resources/v1/instrument-data/news.ts +10 -5
  109. package/src/resources/v1/instruments.ts +44 -22
  110. package/src/resources/v1/omni-ai/index.ts +0 -1
  111. package/src/resources/v1/omni-ai/messages.ts +4 -0
  112. package/src/resources/v1/omni-ai/omni-ai.ts +27 -32
  113. package/src/resources/v1/omni-ai/responses.ts +9 -2
  114. package/src/resources/v1/omni-ai/threads.ts +1 -1
  115. package/src/resources/v1/orders.ts +30 -15
  116. package/src/resources/v1/positions.ts +35 -14
  117. package/src/resources/v1/screener.ts +550 -0
  118. package/src/resources/v1/v1.ts +70 -3
  119. package/src/resources/v1/watchlist.ts +4 -2
  120. package/src/version.ts +1 -1
  121. package/version.d.mts +1 -1
  122. package/version.d.ts +1 -1
  123. package/version.js +1 -1
  124. package/version.mjs +1 -1
@@ -173,53 +173,63 @@ export interface Instrument {
173
173
  venue: string;
174
174
 
175
175
  /**
176
- * Average daily share volume from the security definition.
176
+ * Average daily share volume from the security definition. When a null/undefined
177
+ * value is observed, it indicates that there is no available data.
177
178
  */
178
179
  adv?: string | null;
179
180
 
180
181
  /**
181
- * The expiration date for options instruments
182
+ * @deprecated Deprecated. Always null. When a null/undefined value is observed, it
183
+ * indicates it does not apply.
182
184
  */
183
185
  expiry?: string | null;
184
186
 
185
187
  /**
186
- * The type of security (e.g., Common Stock, ETF)
188
+ * The type of security (e.g., Common Stock, ETF) When a null/undefined value is
189
+ * observed, it indicates that there is no available data.
187
190
  */
188
191
  instrument_type?: V1API.SecurityType | null;
189
192
 
190
193
  /**
191
- * The percent of a long position's value you must post as margin
194
+ * The percent of a long position's value you must post as margin When a
195
+ * null/undefined value is observed, it indicates that there is no available data.
192
196
  */
193
197
  long_margin_rate?: string | null;
194
198
 
195
199
  /**
196
- * The full name of the instrument or its issuer
200
+ * The full name of the instrument or its issuer When a null/undefined value is
201
+ * observed, it indicates that there is no available data.
197
202
  */
198
203
  name?: string | null;
199
204
 
200
205
  /**
201
- * Notional average daily volume (ADV multiplied by previous close price).
206
+ * Notional average daily volume (ADV multiplied by previous close price). When a
207
+ * null/undefined value is observed, it indicates that there is no available data.
202
208
  */
203
209
  notional_adv?: string | null;
204
210
 
205
211
  /**
206
212
  * Available options expiration dates for this instrument. Present only when
207
- * `include_options_expiry_dates=true` in the request.
213
+ * `include_options_expiry_dates=true` in the request. When a null/undefined value
214
+ * is observed, it indicates it does not apply.
208
215
  */
209
216
  options_expiry_dates?: Array<string> | null;
210
217
 
211
218
  /**
212
- * Last close price from the security definition.
219
+ * Last close price from the security definition. When a null/undefined value is
220
+ * observed, it indicates that there is no available data.
213
221
  */
214
222
  previous_close?: string | null;
215
223
 
216
224
  /**
217
- * The percent of a short position's value you must post as margin
225
+ * The percent of a short position's value you must post as margin When a
226
+ * null/undefined value is observed, it indicates that there is no available data.
218
227
  */
219
228
  short_margin_rate?: string | null;
220
229
 
221
230
  /**
222
- * The strike price for options instruments
231
+ * @deprecated Deprecated. Always null. When a null/undefined value is observed, it
232
+ * indicates it does not apply.
223
233
  */
224
234
  strike_price?: string | null;
225
235
  }
@@ -292,47 +302,56 @@ export interface InstrumentCore {
292
302
  venue: string;
293
303
 
294
304
  /**
295
- * Average daily share volume from the security definition.
305
+ * Average daily share volume from the security definition. When a null/undefined
306
+ * value is observed, it indicates that there is no available data.
296
307
  */
297
308
  adv?: string | null;
298
309
 
299
310
  /**
300
- * The expiration date for options instruments
311
+ * @deprecated Deprecated. Always null. When a null/undefined value is observed, it
312
+ * indicates it does not apply.
301
313
  */
302
314
  expiry?: string | null;
303
315
 
304
316
  /**
305
- * The type of security (e.g., Common Stock, ETF)
317
+ * The type of security (e.g., Common Stock, ETF) When a null/undefined value is
318
+ * observed, it indicates that there is no available data.
306
319
  */
307
320
  instrument_type?: V1API.SecurityType | null;
308
321
 
309
322
  /**
310
- * The percent of a long position's value you must post as margin
323
+ * The percent of a long position's value you must post as margin When a
324
+ * null/undefined value is observed, it indicates that there is no available data.
311
325
  */
312
326
  long_margin_rate?: string | null;
313
327
 
314
328
  /**
315
- * The full name of the instrument or its issuer
329
+ * The full name of the instrument or its issuer When a null/undefined value is
330
+ * observed, it indicates that there is no available data.
316
331
  */
317
332
  name?: string | null;
318
333
 
319
334
  /**
320
- * Notional average daily volume (ADV multiplied by previous close price).
335
+ * Notional average daily volume (ADV multiplied by previous close price). When a
336
+ * null/undefined value is observed, it indicates that there is no available data.
321
337
  */
322
338
  notional_adv?: string | null;
323
339
 
324
340
  /**
325
- * Last close price from the security definition.
341
+ * Last close price from the security definition. When a null/undefined value is
342
+ * observed, it indicates that there is no available data.
326
343
  */
327
344
  previous_close?: string | null;
328
345
 
329
346
  /**
330
- * The percent of a short position's value you must post as margin
347
+ * The percent of a short position's value you must post as margin When a
348
+ * null/undefined value is observed, it indicates that there is no available data.
331
349
  */
332
350
  short_margin_rate?: string | null;
333
351
 
334
352
  /**
335
- * The strike price for options instruments
353
+ * @deprecated Deprecated. Always null. When a null/undefined value is observed, it
354
+ * indicates it does not apply.
336
355
  */
337
356
  strike_price?: string | null;
338
357
  }
@@ -409,12 +428,14 @@ export interface OptionsContract {
409
428
  symbol: string;
410
429
 
411
430
  /**
412
- * Open interest (number of outstanding contracts), if available
431
+ * Open interest (number of outstanding contracts), if available When a
432
+ * null/undefined value is observed, it indicates that there is no available data.
413
433
  */
414
434
  open_interest?: number | null;
415
435
 
416
436
  /**
417
- * Instrument ID of the underlying instrument, when available
437
+ * Instrument ID of the underlying instrument, when available When a null/undefined
438
+ * value is observed, it indicates that there is no available data.
418
439
  */
419
440
  underlying_instrument_id?: string | null;
420
441
  }
@@ -454,7 +475,8 @@ export interface InstrumentGetInstrumentsParams {
454
475
  easy_to_borrow?: boolean;
455
476
 
456
477
  /**
457
- * Comma-separated instrument identifiers
478
+ * Comma-separated instrument identifiers: unique identifiers or symbols (symbol
479
+ * for equities, OSI for options)
458
480
  */
459
481
  instrument_ids?: Array<string>;
460
482
 
@@ -44,7 +44,6 @@ export {
44
44
  type PrefillNewOrderAction,
45
45
  type PrefillOrderAction,
46
46
  type PromptButtonAction,
47
- type ScreenerFilter,
48
47
  type StructuredAction,
49
48
  type StructuredActionButtonAction,
50
49
  type SuggestedActionsPayload,
@@ -63,6 +63,10 @@ export class Messages extends APIResource {
63
63
  export interface CreateFeedbackResponse {
64
64
  created_at: string;
65
65
 
66
+ /**
67
+ * When a null/undefined value is observed, it indicates that there is no available
68
+ * data.
69
+ */
66
70
  feedback_id?: string | null;
67
71
  }
68
72
 
@@ -3,6 +3,7 @@
3
3
  import { APIResource } from '../../../core/resource';
4
4
  import * as OmniAIAPI from './omni-ai';
5
5
  import * as OrdersAPI from '../orders';
6
+ import * as ScreenerAPI from '../screener';
6
7
  import * as EntitlementsAPI from './entitlements';
7
8
  import {
8
9
  DeleteEntitlementResponse,
@@ -90,12 +91,14 @@ export interface ActionButton {
90
91
  label: string;
91
92
 
92
93
  /**
93
- * Follow-up prompt to submit as the next user message.
94
+ * Follow-up prompt to submit as the next user message. When a null/undefined value
95
+ * is observed, it indicates it does not apply.
94
96
  */
95
97
  prompt?: PromptButtonAction | null;
96
98
 
97
99
  /**
98
- * Structured action in the same message to execute on click.
100
+ * Structured action in the same message to execute on click. When a null/undefined
101
+ * value is observed, it indicates it does not apply.
99
102
  */
100
103
  structuredAction?: StructuredActionButtonAction | null;
101
104
  }
@@ -115,7 +118,8 @@ export interface ChartPayload {
115
118
  actionButtons?: Array<ActionButton>;
116
119
 
117
120
  /**
118
- * Explicit series-driven chart definition.
121
+ * Explicit series-driven chart definition. When a null/undefined value is
122
+ * observed, it indicates it does not apply.
119
123
  */
120
124
  dataChart?: DataChart | null;
121
125
  }
@@ -221,12 +225,14 @@ export interface OpenChartAction {
221
225
  symbol: string;
222
226
 
223
227
  /**
224
- * Additional chart configuration (indicators, overlays, etc.)
228
+ * Additional chart configuration (indicators, overlays, etc.) When a
229
+ * null/undefined value is observed, it indicates it does not apply.
225
230
  */
226
231
  extras?: unknown;
227
232
 
228
233
  /**
229
- * Chart timeframe (e.g., "1D", "1W", "1M", "3M", "1Y", "5Y")
234
+ * Chart timeframe (e.g., "1D", "1W", "1M", "3M", "1Y", "5Y") When a null/undefined
235
+ * value is observed, it indicates it does not apply.
230
236
  */
231
237
  timeframe?: string | null;
232
238
  }
@@ -254,25 +260,34 @@ export interface OpenScreenerAction {
254
260
  /**
255
261
  * Filter criteria for the screener
256
262
  */
257
- filters: Array<ScreenerFilter>;
263
+ filters: Array<ScreenerAPI.ScreenerFilter>;
258
264
 
259
265
  /**
260
- * Optional field/column selection for screener results.
266
+ * Optional field/column selection for screener results. When a null/undefined
267
+ * value is observed, it indicates it does not apply.
268
+ */
269
+ columns?: Array<string> | null;
270
+
271
+ /**
272
+ * @deprecated Deprecated: use `columns` instead. Mirrors `columns`.
261
273
  */
262
274
  field_filter?: Array<string> | null;
263
275
 
264
276
  /**
265
- * Optional page size.
277
+ * Optional page size. When a null/undefined value is observed, it indicates it
278
+ * does not apply.
266
279
  */
267
280
  page_size?: number | null;
268
281
 
269
282
  /**
270
- * Optional sort field for screener rows.
283
+ * Optional sort field for screener rows. When a null/undefined value is observed,
284
+ * it indicates it does not apply.
271
285
  */
272
286
  sort_by?: string | null;
273
287
 
274
288
  /**
275
- * Optional sort direction (`ASC` or `DESC`).
289
+ * Optional sort direction (`ASC` or `DESC`). When a null/undefined value is
290
+ * observed, it indicates it does not apply.
276
291
  */
277
292
  sort_direction?: string | null;
278
293
  }
@@ -334,26 +349,6 @@ export interface PromptButtonAction {
334
349
  prompt: string;
335
350
  }
336
351
 
337
- /**
338
- * A single filter criterion for the screener.
339
- */
340
- export interface ScreenerFilter {
341
- /**
342
- * Field to filter on (e.g., "market_cap", "sector", "price")
343
- */
344
- field: string;
345
-
346
- /**
347
- * Comparison operator (e.g., "eq", "gte", "lte", "in")
348
- */
349
- operator: string;
350
-
351
- /**
352
- * Filter value
353
- */
354
- value: unknown;
355
- }
356
-
357
352
  /**
358
353
  * Structured actions that Omni AI can return to clients.
359
354
  *
@@ -413,7 +408,8 @@ export namespace StructuredAction {
413
408
  */
414
409
  export interface StructuredActionButtonAction {
415
410
  /**
416
- * UUID of a `structured_action` content part in the same message.
411
+ * UUID of a `structured_action` content part in the same message. When a
412
+ * null/undefined value is observed, it indicates it does not apply.
417
413
  */
418
414
  actionId?: string | null;
419
415
  }
@@ -455,7 +451,6 @@ export declare namespace OmniAI {
455
451
  type PrefillNewOrderAction as PrefillNewOrderAction,
456
452
  type PrefillOrderAction as PrefillOrderAction,
457
453
  type PromptButtonAction as PromptButtonAction,
458
- type ScreenerFilter as ScreenerFilter,
459
454
  type StructuredAction as StructuredAction,
460
455
  type StructuredActionButtonAction as StructuredActionButtonAction,
461
456
  type SuggestedActionsPayload as SuggestedActionsPayload,
@@ -81,6 +81,9 @@ export interface ErrorStatus {
81
81
 
82
82
  message: string;
83
83
 
84
+ /**
85
+ * When a null/undefined value is observed, it indicates it does not apply.
86
+ */
84
87
  details?: unknown | null;
85
88
  }
86
89
 
@@ -100,15 +103,19 @@ export interface Response {
100
103
  user_message_id: string;
101
104
 
102
105
  /**
103
- * Dynamic response content container. May include thinking parts.
106
+ * When a null/undefined value is observed, it indicates that there is no available
107
+ * data.
104
108
  */
105
109
  content?: ResponseContent | null;
106
110
 
107
111
  /**
108
- * Shared sanitized error payload.
112
+ * When a null/undefined value is observed, it indicates it does not apply.
109
113
  */
110
114
  error?: ErrorStatus | null;
111
115
 
116
+ /**
117
+ * When a null/undefined value is observed, it indicates it does not apply.
118
+ */
112
119
  output_message_id?: string | null;
113
120
  }
114
121
 
@@ -216,7 +216,7 @@ export interface Message {
216
216
  thread_id: string;
217
217
 
218
218
  /**
219
- * Shared sanitized error payload.
219
+ * When a null/undefined value is observed, it indicates it does not apply.
220
220
  */
221
221
  error?: ResponsesAPI.ErrorStatus | null;
222
222
  }
@@ -414,7 +414,8 @@ export interface Order {
414
414
  venue: string;
415
415
 
416
416
  /**
417
- * Average fill price across all executions
417
+ * Average fill price across all executions When a null/undefined value is
418
+ * observed, it indicates that there is no available data.
418
419
  */
419
420
  average_fill_price?: string | null;
420
421
 
@@ -425,7 +426,8 @@ export interface Order {
425
426
 
426
427
  /**
427
428
  * Timestamp when the order will expire (UTC). Present when time_in_force is
428
- * GOOD_TILL_DATE.
429
+ * GOOD_TILL_DATE. When a null/undefined value is observed, it indicates it does
430
+ * not apply.
429
431
  */
430
432
  expires_at?: string | null;
431
433
 
@@ -435,65 +437,78 @@ export interface Order {
435
437
  extended_hours?: boolean | null;
436
438
 
437
439
  /**
438
- * Limit offset for trailing stop-limit orders (signed)
440
+ * Limit offset for trailing stop-limit orders (signed) When a null/undefined value
441
+ * is observed, it indicates it does not apply.
439
442
  */
440
443
  limit_offset?: string | null;
441
444
 
442
445
  /**
443
- * Limit price (for LIMIT and STOP_LIMIT orders)
446
+ * Limit price (for LIMIT and STOP_LIMIT orders) When a null/undefined value is
447
+ * observed, it indicates it does not apply.
444
448
  */
445
449
  limit_price?: string | null;
446
450
 
447
451
  /**
448
452
  * Parent order queue state, present when the order is awaiting release or
449
- * released.
453
+ * released. When a null/undefined value is observed, it indicates it does not
454
+ * apply.
450
455
  */
451
456
  queue_state?: QueueState | null;
452
457
 
453
458
  /**
454
- * Scheduled release time for orders awaiting release.
459
+ * Scheduled release time for orders awaiting release. When a null/undefined value
460
+ * is observed, it indicates it does not apply.
455
461
  */
456
462
  releases_at?: string | null;
457
463
 
458
464
  /**
459
- * Stop price (for STOP and STOP_LIMIT orders)
465
+ * Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is
466
+ * observed, it indicates it does not apply.
460
467
  */
461
468
  stop_price?: string | null;
462
469
 
463
470
  /**
464
- * Current trailing limit price computed by the trailing strategy
471
+ * Current trailing limit price computed by the trailing strategy When a
472
+ * null/undefined value is observed, it indicates it does not apply.
465
473
  */
466
474
  trailing_limit_px?: string | null;
467
475
 
468
476
  /**
469
- * Trailing offset amount for trailing orders
477
+ * Trailing offset amount for trailing orders When a null/undefined value is
478
+ * observed, it indicates it does not apply.
470
479
  */
471
480
  trailing_offset?: string | null;
472
481
 
473
482
  /**
474
- * Trailing offset type for trailing orders
483
+ * Trailing offset type for trailing orders When a null/undefined value is
484
+ * observed, it indicates it does not apply.
475
485
  */
476
486
  trailing_offset_type?: TrailingOffsetType | null;
477
487
 
478
488
  /**
479
- * Current trailing stop price computed by the trailing strategy
489
+ * Current trailing stop price computed by the trailing strategy When a
490
+ * null/undefined value is observed, it indicates it does not apply.
480
491
  */
481
492
  trailing_stop_px?: string | null;
482
493
 
483
494
  /**
484
- * Trailing watermark price for trailing orders
495
+ * Trailing watermark price for trailing orders When a null/undefined value is
496
+ * observed, it indicates it does not apply.
485
497
  */
486
498
  trailing_watermark_px?: string | null;
487
499
 
488
500
  /**
489
- * Trailing watermark timestamp for trailing orders
501
+ * Trailing watermark timestamp for trailing orders When a null/undefined value is
502
+ * observed, it indicates it does not apply.
490
503
  */
491
504
  trailing_watermark_ts?: string | null;
492
505
 
493
506
  /**
494
507
  * Instrument ID of the option's underlying instrument. Populated only for options
495
- * orders; `null` for non-options and for options whose underlier cannot be
496
- * resolved.
508
+ * orders. A `null` means one of two things: the order is not an option, so the
509
+ * field does not apply; or the order is an option whose underlier has not yet been
510
+ * resolved. When a null/undefined value is observed, it indicates it does not
511
+ * apply.
497
512
  */
498
513
  underlying_instrument_id?: string | null;
499
514
  }
@@ -215,55 +215,72 @@ export interface Position {
215
215
  symbol: string;
216
216
 
217
217
  /**
218
- * The average price paid per share or contract for this position
218
+ * The average price paid per share or contract for this position When a
219
+ * null/undefined value is observed, it indicates that there is no available data.
219
220
  */
220
221
  avg_price?: string | null;
221
222
 
222
223
  /**
223
- * The closing price used to value the position for the last trading day
224
+ * The closing price used to value the position for the last trading day When a
225
+ * null/undefined value is observed, it indicates that there is no available data.
224
226
  */
225
227
  closing_price?: string | null;
226
228
 
227
229
  /**
228
- * The market date associated with `closing_price`
230
+ * The market date associated with `closing_price` When a null/undefined value is
231
+ * observed, it indicates that there is no available data.
229
232
  */
230
233
  closing_price_date?: string | null;
231
234
 
232
235
  /**
233
- * The total cost basis for this position
236
+ * The total cost basis for this position When a null/undefined value is observed,
237
+ * it indicates that there is no available data.
234
238
  */
235
239
  cost_basis?: string | null;
236
240
 
241
+ /**
242
+ * The realized profit or loss for this position for the current day When a
243
+ * null/undefined value is observed, it indicates that there is no available data.
244
+ */
245
+ daily_realized_pnl?: string | null;
246
+
237
247
  /**
238
248
  * The unrealized profit or loss for this position relative to the previous close
249
+ * When a null/undefined value is observed, it indicates that there is no available
250
+ * data.
239
251
  */
240
252
  daily_unrealized_pnl?: string | null;
241
253
 
242
254
  /**
243
255
  * The unrealized profit/loss for the position for the current day, expressed as a
244
- * percentage of the baseline value (range: 0-100).
256
+ * percentage of the baseline value (range: 0-100). When a null/undefined value is
257
+ * observed, it indicates that there is no available data.
245
258
  */
246
259
  daily_unrealized_pnl_pct?: string | null;
247
260
 
248
261
  /**
249
- * The current market price of the instrument
262
+ * The current market price of the instrument When a null/undefined value is
263
+ * observed, it indicates that there is no available data.
250
264
  */
251
265
  instrument_price?: string | null;
252
266
 
253
267
  /**
254
- * Identifier of the underlying instrument, when available
268
+ * Identifier of the underlying instrument, when available When a null/undefined
269
+ * value is observed, it indicates it does not apply.
255
270
  */
256
271
  underlying_instrument_id?: string | null;
257
272
 
258
273
  /**
259
274
  * The total unrealized profit or loss for this position based on current market
260
- * value
275
+ * value When a null/undefined value is observed, it indicates that there is no
276
+ * available data.
261
277
  */
262
278
  unrealized_pnl?: string | null;
263
279
 
264
280
  /**
265
281
  * The unrealized profit/loss for the position, expressed as a percentage of the
266
- * position's cost basis (range: 0-100).
282
+ * position's cost basis (range: 0-100). When a null/undefined value is observed,
283
+ * it indicates that there is no available data.
267
284
  */
268
285
  unrealized_pnl_pct?: string | null;
269
286
  }
@@ -315,12 +332,14 @@ export interface PositionInstruction {
315
332
 
316
333
  /**
317
334
  * Number of contracts accepted by the clearing venue. Populated once the
318
- * instruction reaches `ACCEPTED`.
335
+ * instruction reaches `ACCEPTED`. When a null/undefined value is observed, it
336
+ * indicates that there is no available data.
319
337
  */
320
338
  accepted_quantity?: string | null;
321
339
 
322
340
  /**
323
- * When the instruction was first accepted by the service.
341
+ * When the instruction was first accepted by the service. When a null/undefined
342
+ * value is observed, it indicates that there is no available data.
324
343
  */
325
344
  created_at?: string | null;
326
345
 
@@ -328,12 +347,13 @@ export interface PositionInstruction {
328
347
  * Human-readable explanation populated on any non-success terminal status —
329
348
  * `REJECTED` or `CANCEL_FAILED`. On a `207 Multi-Status` batch submit the
330
349
  * top-level `error` field summarizes the batch; per-row detail continues to live
331
- * here.
350
+ * here. When a null/undefined value is observed, it indicates it does not apply.
332
351
  */
333
352
  rejection_reason?: string | null;
334
353
 
335
354
  /**
336
- * When the instruction's lifecycle state last changed.
355
+ * When the instruction's lifecycle state last changed. When a null/undefined value
356
+ * is observed, it indicates that there is no available data.
337
357
  */
338
358
  updated_at?: string | null;
339
359
  }
@@ -467,7 +487,8 @@ export interface PositionGetPositionsParams {
467
487
  | 'MARKET_VALUE'
468
488
  | 'POSITION_TYPE'
469
489
  | 'UNREALIZED_PNL'
470
- | 'DAILY_UNREALIZED_PNL';
490
+ | 'DAILY_UNREALIZED_PNL'
491
+ | 'DAILY_REALIZED_PNL';
471
492
 
472
493
  /**
473
494
  * Sort direction