Stream Quotes
Quote lifecycle frames for every quote visible to the caller’s member. A frame can omit requester_id. The subscription stays active when it is absent.
/wsAuthorization
UDX-Access-KeyAPI key · headerrequiredOpaque API key ID.
UDX-Access-TimestampAPI key · headerrequiredUnix time in milliseconds, within 30 seconds of server time.
UDX-Access-SignatureAPI key · headerrequiredStandard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt. Sign timestamp + "GET" + "/ws"; the upgrade request has no body hash and no idempotency key.
quote_openedDeliver one quote that landed live on the exchange.
typestringrequiredIdentifies a quote that opened.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgQuoterequiredA single-sided quote.
Show propertiesHide properties
quote_idEntityIdrequiredAn exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.
client_quote_idstringThe quoter's correlation identifier. Present only on quotes the caller's member submitted; a quote answering the caller's RFQ omits it.
quoter_idstringThe participant identifier of the user who created this quote.
requester_idstringThe participant identifier of the user who created the RFQ this quote responds to. Omitted when the parent RFQ is temporarily unavailable.
rfq_idstringrequiredThe RFQ this quote responds to.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
sideOrderSiderequiredOrder side.
buysellpricestringrequiredQuote price in YES price space, in dollars.
quantitystringrequiredNumber of contracts offered.
statusQuoteStatusrequiredQuote status.
openacceptedconfirmedcanceledrejectedcancellation_reasonstringWhy the quote was canceled. Present only when status is canceled.
done_awayexpired_before_acceptancecanceled_by_maker_or_last_look_expiredrejection_reasonstringWhy the quote was rejected. Present only when status is rejected.
market_closedmarket_unknownnot_open_for_quotingexpiredduplicate_client_idrejected_by_makerexchange_rejectedexpires_atstring<date-time>The current quote deadline. While the quote is accepted, this is the end of the maker's last-look window.
quote_acceptedDeliver one quote a taker accepted, now in the maker's last-look window.
typestringrequiredIdentifies a quote a taker accepted.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgQuoterequiredA single-sided quote.
Show propertiesHide properties
quote_idEntityIdrequiredAn exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.
client_quote_idstringThe quoter's correlation identifier. Present only on quotes the caller's member submitted; a quote answering the caller's RFQ omits it.
quoter_idstringThe participant identifier of the user who created this quote.
requester_idstringThe participant identifier of the user who created the RFQ this quote responds to. Omitted when the parent RFQ is temporarily unavailable.
rfq_idstringrequiredThe RFQ this quote responds to.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
sideOrderSiderequiredOrder side.
buysellpricestringrequiredQuote price in YES price space, in dollars.
quantitystringrequiredNumber of contracts offered.
statusQuoteStatusrequiredQuote status.
openacceptedconfirmedcanceledrejectedcancellation_reasonstringWhy the quote was canceled. Present only when status is canceled.
done_awayexpired_before_acceptancecanceled_by_maker_or_last_look_expiredrejection_reasonstringWhy the quote was rejected. Present only when status is rejected.
market_closedmarket_unknownnot_open_for_quotingexpiredduplicate_client_idrejected_by_makerexchange_rejectedexpires_atstring<date-time>The current quote deadline. While the quote is accepted, this is the end of the maker's last-look window.
quote_confirmedDeliver one quote the maker confirmed during last look.
typestringrequiredIdentifies a quote the maker confirmed.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgQuoterequiredA single-sided quote.
Show propertiesHide properties
quote_idEntityIdrequiredAn exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.
client_quote_idstringThe quoter's correlation identifier. Present only on quotes the caller's member submitted; a quote answering the caller's RFQ omits it.
quoter_idstringThe participant identifier of the user who created this quote.
requester_idstringThe participant identifier of the user who created the RFQ this quote responds to. Omitted when the parent RFQ is temporarily unavailable.
rfq_idstringrequiredThe RFQ this quote responds to.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
sideOrderSiderequiredOrder side.
buysellpricestringrequiredQuote price in YES price space, in dollars.
quantitystringrequiredNumber of contracts offered.
statusQuoteStatusrequiredQuote status.
openacceptedconfirmedcanceledrejectedcancellation_reasonstringWhy the quote was canceled. Present only when status is canceled.
done_awayexpired_before_acceptancecanceled_by_maker_or_last_look_expiredrejection_reasonstringWhy the quote was rejected. Present only when status is rejected.
market_closedmarket_unknownnot_open_for_quotingexpiredduplicate_client_idrejected_by_makerexchange_rejectedexpires_atstring<date-time>The current quote deadline. While the quote is accepted, this is the end of the maker's last-look window.
quote_canceledDeliver one quote that was canceled, expired, or ended without a trade.
typestringrequiredIdentifies a quote that was canceled.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgQuoterequiredA single-sided quote.
Show propertiesHide properties
quote_idEntityIdrequiredAn exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.
client_quote_idstringThe quoter's correlation identifier. Present only on quotes the caller's member submitted; a quote answering the caller's RFQ omits it.
quoter_idstringThe participant identifier of the user who created this quote.
requester_idstringThe participant identifier of the user who created the RFQ this quote responds to. Omitted when the parent RFQ is temporarily unavailable.
rfq_idstringrequiredThe RFQ this quote responds to.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
sideOrderSiderequiredOrder side.
buysellpricestringrequiredQuote price in YES price space, in dollars.
quantitystringrequiredNumber of contracts offered.
statusQuoteStatusrequiredQuote status.
openacceptedconfirmedcanceledrejectedcancellation_reasonstringWhy the quote was canceled. Present only when status is canceled.
done_awayexpired_before_acceptancecanceled_by_maker_or_last_look_expiredrejection_reasonstringWhy the quote was rejected. Present only when status is rejected.
market_closedmarket_unknownnot_open_for_quotingexpiredduplicate_client_idrejected_by_makerexchange_rejectedexpires_atstring<date-time>The current quote deadline. While the quote is accepted, this is the end of the maker's last-look window.
quote_rejectedDeliver one quote the exchange rejected or the maker passed on.
typestringrequiredIdentifies a quote that was rejected.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
seqSequenceNumberrequiredGap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
msgQuoterequiredA single-sided quote.
Show propertiesHide properties
quote_idEntityIdrequiredAn exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.
client_quote_idstringThe quoter's correlation identifier. Present only on quotes the caller's member submitted; a quote answering the caller's RFQ omits it.
quoter_idstringThe participant identifier of the user who created this quote.
requester_idstringThe participant identifier of the user who created the RFQ this quote responds to. Omitted when the parent RFQ is temporarily unavailable.
rfq_idstringrequiredThe RFQ this quote responds to.
tickerTickerrequiredA human-meaningful natural key naming a single-leg or multi-leg market.
sideOrderSiderequiredOrder side.
buysellpricestringrequiredQuote price in YES price space, in dollars.
quantitystringrequiredNumber of contracts offered.
statusQuoteStatusrequiredQuote status.
openacceptedconfirmedcanceledrejectedcancellation_reasonstringWhy the quote was canceled. Present only when status is canceled.
done_awayexpired_before_acceptancecanceled_by_maker_or_last_look_expiredrejection_reasonstringWhy the quote was rejected. Present only when status is rejected.
market_closedmarket_unknownnot_open_for_quotingexpiredduplicate_client_idrejected_by_makerexchange_rejectedexpires_atstring<date-time>The current quote deadline. While the quote is accepted, this is the end of the maker's last-look window.
permission_deniedThe caller lacks required access.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
channel_unavailableThe channel's upstream source cannot serve the operation right now. Retry with backoff; the connection stays usable.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
internal_errorAn unexpected failure left connection state safe to continue.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
Channel Bindings
wsmethodGETheadersUDX-Access-KeystringrequiredOpaque API key ID.
UDX-Access-TimestampstringrequiredUnix time in milliseconds, within 30 seconds of server time.
UDX-Access-SignaturestringrequiredStandard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt. Sign timestamp + "GET" + "/ws"; the upgrade request has no body hash and no idempotency key.
Sec-WebSocket-ProtocolstringrequiredNegotiated dated WebSocket API version.
quote_opened
{
"type": "quote_opened",
"sid": 11,
"seq": 2,
"msg": {
"quote_id": "QUOTE-EXAMPLE-1",
"client_quote_id": "my-quote-1",
"rfq_id": "RFQ-EXAMPLE-1",
"ticker": "UDX-EXAMPLE-MARKET-A",
"side": "sell",
"price": "0.55",
"quantity": "100",
"status": "open"
}
}quote_accepted
{
"type": "quote_accepted",
"sid": 11,
"seq": 3,
"msg": {
"quote_id": "QUOTE-EXAMPLE-1",
"client_quote_id": "my-quote-1",
"rfq_id": "RFQ-EXAMPLE-1",
"ticker": "UDX-EXAMPLE-MARKET-A",
"side": "sell",
"price": "0.55",
"quantity": "100",
"status": "accepted"
}
}quote_confirmed
{
"type": "quote_confirmed",
"sid": 11,
"seq": 4,
"msg": {
"quote_id": "QUOTE-EXAMPLE-1",
"client_quote_id": "my-quote-1",
"rfq_id": "RFQ-EXAMPLE-1",
"ticker": "UDX-EXAMPLE-MARKET-A",
"side": "sell",
"price": "0.55",
"quantity": "100",
"status": "confirmed"
}
}quote_canceled
{
"type": "quote_canceled",
"sid": 11,
"seq": 5,
"msg": {
"quote_id": "QUOTE-EXAMPLE-1",
"client_quote_id": "my-quote-1",
"rfq_id": "RFQ-EXAMPLE-1",
"ticker": "UDX-EXAMPLE-MARKET-A",
"side": "sell",
"price": "0.55",
"quantity": "100",
"status": "canceled",
"cancellation_reason": "canceled_by_maker_or_last_look_expired"
}
}quote_rejected
{
"type": "quote_rejected",
"sid": 11,
"seq": 6,
"msg": {
"quote_id": "QUOTE-EXAMPLE-1",
"client_quote_id": "my-quote-1",
"rfq_id": "RFQ-EXAMPLE-1",
"ticker": "UDX-EXAMPLE-MARKET-A",
"side": "sell",
"price": "0.55",
"quantity": "100",
"status": "rejected",
"rejection_reason": "not_open_for_quoting"
}
}permission_denied
{
"type": "error",
"sid": 7,
"msg": {
"code": "permission_denied",
"detail": "the market is no longer visible to this member",
"instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
}
}channel_unavailable
{
"type": "error",
"sid": 7,
"msg": {
"code": "channel_unavailable",
"detail": "current market data is unavailable for this subscription",
"instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
}
}internal_error
{
"type": "error",
"sid": 7,
"msg": {
"code": "internal_error",
"detail": "the subscription could not be continued",
"instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
}
}