Skip to content
UDX
2026-08-11

Stream orders

Order lifecycle frames for the caller’s own orders.

SEND/ws
Authorization
Authorization
UDX-Access-KeyAPI key · headerrequired

Opaque API key ID.

UDX-Access-TimestampAPI key · headerrequired

Unix time in milliseconds, within 30 seconds of server time.

UDX-Access-SignatureAPI key · headerrequired

Standard-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.

Messages
order_restingDeliver one of the caller's orders resting in the book.
typestringrequired

Identifies an order that is resting.

sidSubscriptionIdrequired

Exchange-assigned subscription ID whose lifetime is this WebSocket connection.

min 1 · max 9007199254740991
seqSequenceNumberrequired

Gap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.

min 1 · max 9007199254740991
msgOrderrequired

An order.

Show properties
order_idEntityIdrequired

An exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.

min length 1
client_order_idClientId

A client-supplied correlation identifier.

account_idstringrequired

The account the order was placed under.

min length 1
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
sideOrderSiderequired

Order side.

Allowed:buysell
quantityFixedPointQuantityrequired

A quantity in contracts as a fixed-point decimal string.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
pricestringrequired

Limit price in YES price space, in dollars, regardless of side.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
time_in_forceOrderTimeInForcerequired

Order time in force.

Allowed:gtciocfokdaygttunknown
expires_atstring<date-time>

When the order expires. Present only when time_in_force is gtt.

max length 40
statusOrderStatusrequired

An order's status.

Allowed:restingpartially_filledfilledcanceledexpiredrejected
rejection_reasonstring

Why the exchange rejected the order. Present only when status is rejected.

Allowed:duplicate_client_order_idself_trade_preventedmarket_closedinsufficient_fundsprice_out_of_boundsquantity_out_of_boundspost_only_would_crossno_liquidityquote_unavailablequote_terms_mismatchquote_already_acceptedrate_limitedexpires_at_invalidexchange_rejected
filled_quantitystringrequired

The quantity of the order that has been filled.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
remaining_quantitystringrequired

The quantity of the order that is currently resting.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
average_fill_pricestring

Volume-weighted average fill price. Present when filled_quantity > 0.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
fees_paidstringrequired

Total fees collected on the order so far, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
created_atstring<date-time>required

When the order was created.

max length 40
order_partially_filledDeliver one of the caller's orders that filled in part.
typestringrequired

Identifies an order that partially filled.

sidSubscriptionIdrequired

Exchange-assigned subscription ID whose lifetime is this WebSocket connection.

min 1 · max 9007199254740991
seqSequenceNumberrequired

Gap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.

min 1 · max 9007199254740991
msgOrderrequired

An order.

Show properties
order_idEntityIdrequired

An exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.

min length 1
client_order_idClientId

A client-supplied correlation identifier.

account_idstringrequired

The account the order was placed under.

min length 1
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
sideOrderSiderequired

Order side.

Allowed:buysell
quantityFixedPointQuantityrequired

A quantity in contracts as a fixed-point decimal string.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
pricestringrequired

Limit price in YES price space, in dollars, regardless of side.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
time_in_forceOrderTimeInForcerequired

Order time in force.

Allowed:gtciocfokdaygttunknown
expires_atstring<date-time>

When the order expires. Present only when time_in_force is gtt.

max length 40
statusOrderStatusrequired

An order's status.

Allowed:restingpartially_filledfilledcanceledexpiredrejected
rejection_reasonstring

Why the exchange rejected the order. Present only when status is rejected.

Allowed:duplicate_client_order_idself_trade_preventedmarket_closedinsufficient_fundsprice_out_of_boundsquantity_out_of_boundspost_only_would_crossno_liquidityquote_unavailablequote_terms_mismatchquote_already_acceptedrate_limitedexpires_at_invalidexchange_rejected
filled_quantitystringrequired

The quantity of the order that has been filled.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
remaining_quantitystringrequired

The quantity of the order that is currently resting.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
average_fill_pricestring

Volume-weighted average fill price. Present when filled_quantity > 0.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
fees_paidstringrequired

Total fees collected on the order so far, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
created_atstring<date-time>required

When the order was created.

max length 40
order_filledDeliver one of the caller's orders that filled completely.
typestringrequired

Identifies an order that filled.

sidSubscriptionIdrequired

Exchange-assigned subscription ID whose lifetime is this WebSocket connection.

min 1 · max 9007199254740991
seqSequenceNumberrequired

Gap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.

min 1 · max 9007199254740991
msgOrderrequired

An order.

Show properties
order_idEntityIdrequired

An exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.

min length 1
client_order_idClientId

A client-supplied correlation identifier.

account_idstringrequired

The account the order was placed under.

min length 1
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
sideOrderSiderequired

Order side.

Allowed:buysell
quantityFixedPointQuantityrequired

A quantity in contracts as a fixed-point decimal string.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
pricestringrequired

Limit price in YES price space, in dollars, regardless of side.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
time_in_forceOrderTimeInForcerequired

Order time in force.

Allowed:gtciocfokdaygttunknown
expires_atstring<date-time>

When the order expires. Present only when time_in_force is gtt.

max length 40
statusOrderStatusrequired

An order's status.

Allowed:restingpartially_filledfilledcanceledexpiredrejected
rejection_reasonstring

Why the exchange rejected the order. Present only when status is rejected.

Allowed:duplicate_client_order_idself_trade_preventedmarket_closedinsufficient_fundsprice_out_of_boundsquantity_out_of_boundspost_only_would_crossno_liquidityquote_unavailablequote_terms_mismatchquote_already_acceptedrate_limitedexpires_at_invalidexchange_rejected
filled_quantitystringrequired

The quantity of the order that has been filled.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
remaining_quantitystringrequired

The quantity of the order that is currently resting.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
average_fill_pricestring

Volume-weighted average fill price. Present when filled_quantity > 0.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
fees_paidstringrequired

Total fees collected on the order so far, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
created_atstring<date-time>required

When the order was created.

max length 40
order_canceledDeliver one of the caller's orders that was canceled.
typestringrequired

Identifies an order that was canceled.

sidSubscriptionIdrequired

Exchange-assigned subscription ID whose lifetime is this WebSocket connection.

min 1 · max 9007199254740991
seqSequenceNumberrequired

Gap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.

min 1 · max 9007199254740991
msgOrderrequired

An order.

Show properties
order_idEntityIdrequired

An exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.

min length 1
client_order_idClientId

A client-supplied correlation identifier.

account_idstringrequired

The account the order was placed under.

min length 1
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
sideOrderSiderequired

Order side.

Allowed:buysell
quantityFixedPointQuantityrequired

A quantity in contracts as a fixed-point decimal string.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
pricestringrequired

Limit price in YES price space, in dollars, regardless of side.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
time_in_forceOrderTimeInForcerequired

Order time in force.

Allowed:gtciocfokdaygttunknown
expires_atstring<date-time>

When the order expires. Present only when time_in_force is gtt.

max length 40
statusOrderStatusrequired

An order's status.

Allowed:restingpartially_filledfilledcanceledexpiredrejected
rejection_reasonstring

Why the exchange rejected the order. Present only when status is rejected.

Allowed:duplicate_client_order_idself_trade_preventedmarket_closedinsufficient_fundsprice_out_of_boundsquantity_out_of_boundspost_only_would_crossno_liquidityquote_unavailablequote_terms_mismatchquote_already_acceptedrate_limitedexpires_at_invalidexchange_rejected
filled_quantitystringrequired

The quantity of the order that has been filled.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
remaining_quantitystringrequired

The quantity of the order that is currently resting.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
average_fill_pricestring

Volume-weighted average fill price. Present when filled_quantity > 0.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
fees_paidstringrequired

Total fees collected on the order so far, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
created_atstring<date-time>required

When the order was created.

max length 40
order_expiredDeliver one of the caller's orders that expired.
typestringrequired

Identifies an order that expired.

sidSubscriptionIdrequired

Exchange-assigned subscription ID whose lifetime is this WebSocket connection.

min 1 · max 9007199254740991
seqSequenceNumberrequired

Gap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.

min 1 · max 9007199254740991
msgOrderrequired

An order.

Show properties
order_idEntityIdrequired

An exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.

min length 1
client_order_idClientId

A client-supplied correlation identifier.

account_idstringrequired

The account the order was placed under.

min length 1
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
sideOrderSiderequired

Order side.

Allowed:buysell
quantityFixedPointQuantityrequired

A quantity in contracts as a fixed-point decimal string.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
pricestringrequired

Limit price in YES price space, in dollars, regardless of side.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
time_in_forceOrderTimeInForcerequired

Order time in force.

Allowed:gtciocfokdaygttunknown
expires_atstring<date-time>

When the order expires. Present only when time_in_force is gtt.

max length 40
statusOrderStatusrequired

An order's status.

Allowed:restingpartially_filledfilledcanceledexpiredrejected
rejection_reasonstring

Why the exchange rejected the order. Present only when status is rejected.

Allowed:duplicate_client_order_idself_trade_preventedmarket_closedinsufficient_fundsprice_out_of_boundsquantity_out_of_boundspost_only_would_crossno_liquidityquote_unavailablequote_terms_mismatchquote_already_acceptedrate_limitedexpires_at_invalidexchange_rejected
filled_quantitystringrequired

The quantity of the order that has been filled.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
remaining_quantitystringrequired

The quantity of the order that is currently resting.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
average_fill_pricestring

Volume-weighted average fill price. Present when filled_quantity > 0.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
fees_paidstringrequired

Total fees collected on the order so far, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
created_atstring<date-time>required

When the order was created.

max length 40
order_rejectedDeliver one of the caller's orders that the exchange rejected.
typestringrequired

Identifies an order that was rejected.

sidSubscriptionIdrequired

Exchange-assigned subscription ID whose lifetime is this WebSocket connection.

min 1 · max 9007199254740991
seqSequenceNumberrequired

Gap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.

min 1 · max 9007199254740991
msgOrderrequired

An order.

Show properties
order_idEntityIdrequired

An exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.

min length 1
client_order_idClientId

A client-supplied correlation identifier.

account_idstringrequired

The account the order was placed under.

min length 1
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
sideOrderSiderequired

Order side.

Allowed:buysell
quantityFixedPointQuantityrequired

A quantity in contracts as a fixed-point decimal string.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
pricestringrequired

Limit price in YES price space, in dollars, regardless of side.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
time_in_forceOrderTimeInForcerequired

Order time in force.

Allowed:gtciocfokdaygttunknown
expires_atstring<date-time>

When the order expires. Present only when time_in_force is gtt.

max length 40
statusOrderStatusrequired

An order's status.

Allowed:restingpartially_filledfilledcanceledexpiredrejected
rejection_reasonstring

Why the exchange rejected the order. Present only when status is rejected.

Allowed:duplicate_client_order_idself_trade_preventedmarket_closedinsufficient_fundsprice_out_of_boundsquantity_out_of_boundspost_only_would_crossno_liquidityquote_unavailablequote_terms_mismatchquote_already_acceptedrate_limitedexpires_at_invalidexchange_rejected
filled_quantitystringrequired

The quantity of the order that has been filled.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
remaining_quantitystringrequired

The quantity of the order that is currently resting.

max length 24 · matches ^[0-9]+(\.[0-9]{1,2})?$
average_fill_pricestring

Volume-weighted average fill price. Present when filled_quantity > 0.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
fees_paidstringrequired

Total fees collected on the order so far, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
created_atstring<date-time>required

When the order was created.

max length 40
Errors
channel_unavailableThe channel's upstream source cannot serve the operation right now. Retry with backoff; the connection stays usable.
codestringrequired

Stable machine-readable error code.

detailErrorDetailrequired

Human-readable occurrence detail that clients must not parse.

min length 1 · max length 500
instanceErrorInstancerequired

Request identifier for troubleshooting with exchange support.

max length 100 · matches ^urn:request-id:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
internal_errorAn unexpected failure left connection state safe to continue.
codestringrequired

Stable machine-readable error code.

detailErrorDetailrequired

Human-readable occurrence detail that clients must not parse.

min length 1 · max length 500
instanceErrorInstancerequired

Request identifier for troubleshooting with exchange support.

max length 100 · matches ^urn:request-id:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Channel Bindings
Channel Bindings
ws
methodGET
headers
UDX-Access-Keystringrequired

Opaque API key ID.

min length 1 · max length 255
UDX-Access-Timestampstringrequired

Unix time in milliseconds, within 30 seconds of server time.

max length 13 · matches ^[0-9]{13}$
UDX-Access-Signaturestringrequired

Standard-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.

min length 1 · max length 1024
Sec-WebSocket-Protocolstringrequired

Negotiated dated WebSocket API version.

Examples
order_resting
{
  "type": "order_resting",
  "sid": 13,
  "seq": 2,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "resting",
    "filled_quantity": "0",
    "remaining_quantity": "100",
    "fees_paid": "0.00",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
order_partially_filled
{
  "type": "order_partially_filled",
  "sid": 13,
  "seq": 3,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "partially_filled",
    "filled_quantity": "40",
    "remaining_quantity": "60",
    "average_fill_price": "0.55",
    "fees_paid": "0.02",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
order_filled
{
  "type": "order_filled",
  "sid": 13,
  "seq": 4,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "filled",
    "filled_quantity": "100",
    "remaining_quantity": "0",
    "average_fill_price": "0.55",
    "fees_paid": "0.05",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
order_canceled
{
  "type": "order_canceled",
  "sid": 13,
  "seq": 5,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "canceled",
    "filled_quantity": "0",
    "remaining_quantity": "0",
    "fees_paid": "0.00",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
order_expired
{
  "type": "order_expired",
  "sid": 13,
  "seq": 6,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "day",
    "status": "expired",
    "filled_quantity": "0",
    "remaining_quantity": "0",
    "fees_paid": "0.00",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
order_rejected
{
  "type": "order_rejected",
  "sid": 13,
  "seq": 7,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "rejected",
    "rejection_reason": "self_trade_prevented",
    "filled_quantity": "0",
    "remaining_quantity": "0",
    "fees_paid": "0.00",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
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"
  }
}