Skip to main content
This request adds one or more streams to the current WebSocket connection. Streams must be added with subscribe after connecting — they cannot be requested in the connection URL.

Request

{
  "message": "subscribe",
  "content": {
    "clientRequestId": "cfff0f58-8780-4cf2-b3d3-6439fed37304",
    "subscriptions": [
      "optionsPositions",
      "optionsOpenOrders",
      "publicOrderBook"
    ]
  }
}
FieldTypeRequiredDescription
messagestringYessubscribe
content.clientRequestIdstringNoClient-generated UUID for correlation
content.subscriptionsarrayYesOne or more subscriptions to add

Response

{
  "resultType": "subscribed",
  "data": {
    "activeSubscriptions": ["orders", "optionsPositions", "optionsOpenOrders", "publicOrderBook"],
    "requestedSubscriptions": ["optionsPositions", "optionsOpenOrders", "publicOrderBook"],
    "clientRequestId": "cfff0f58-8780-4cf2-b3d3-6439fed37304",
    "statusCode": 200
  }
}
FieldTypeRequiredDescription
resultTypestringYessubscribed
data.activeSubscriptionsarrayYesAll currently active subscriptions after the operation
data.requestedSubscriptionsarrayYesThe subscriptions requested to be added
data.clientRequestIdstringNoClient-generated UUID for correlation
data.statusCodenumberYes200

Allowed Subscription Values

Subscription ValueDescription
ordersOrder creation and cancellation requests and notifications (active by default on connect)
optionsContractsContract definitions with mark price, IV, and Greeks (scoped by underlying + expiration)
optionsQuotesTop-of-book bid/ask with IV (scoped by underlying + expiration)
publicOrderBookOrder book snapshots and deltas for a contract
publicTradesPublic trade executions for a contract
optionsPositionsYour open positions
optionsOpenOrdersYour open orders
optionsRecentOrdersYour recent order history
optionsSettlementsYour settlement results at expiry
The account summary stream is managed for you — issue an emitOptionsAccountSummary request and updates are delivered automatically; it is not a subscribe value.

Behavior

  • Only new subscriptions are added to the connection
  • Re-subscribing to an already active subscription is a no-op
  • Existing subscriptions remain unaffected
  • Changes apply immediately
  • Safe to call repeatedly (idempotent)
  • Does not affect other connections
  • Does not require reconnecting