Unsubscribe from Channels
End one or more subscriptions on the current connection in a single command.
/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.
unsubscribeEnd one or more subscriptions on this connection.
idCommandIdrequiredClient-assigned command correlation identifier, unique among commands in flight on this connection.
cmdstringrequiredSelects the unsubscribe command.
paramsUnsubscribeCommandParamsrequiredIdentifies the subscriptions to end as a canonical array.
Show propertiesHide properties
sidsSubscriptionIdListrequiredCanonical non-empty list of distinct subscription identifiers.
unsubscribedConfirm that one or more subscriptions ended.
idCommandIdrequiredClient-assigned command correlation identifier, unique among commands in flight on this connection.
typestringrequiredIdentifies a successful unsubscribe response.
msgUnsubscribedPayloadrequiredSubscriptions ended atomically in request order.
Show propertiesHide properties
subscriptionsSubscriptionRefListrequiredCanonical non-empty list of ended subscriptions in request order.
Show propertiesHide properties
SubscriptionRefsidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
tickerTickerA human-meaningful natural key naming a single-leg or multi-leg market.
invalid_messageThe JSON or common command envelope is invalid.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
fieldstringJSON path to the invalid field when one can be identified.
invalid_paramsCommand params fail schema or semantic validation.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
fieldstringJSON path to the invalid param when one can be identified.
command_id_in_useAnother command with the supplied identifier is still in flight.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
subscription_not_foundThe subscription identifier is not active on this connection.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
sidSubscriptionIdrequiredExchange-assigned subscription ID whose lifetime is this WebSocket connection.
capacity_exceededA standing-resource limit prevents command admission.
codestringrequiredStable machine-readable error code.
detailErrorDetailrequiredHuman-readable occurrence detail that clients must not parse.
instanceErrorInstancerequiredRequest identifier for troubleshooting with exchange support.
scopestringrequiredBoundary at which the standing-resource limit applies.
connectionmemberprocessresourcestringrequiredRetained or concurrent resource that reached its limit.
in_flight_commandsactive_subscriptionsmarket_data_streamslimitinteger<int64>requiredEnforced maximum for the identified scope and resource.
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.
unsubscribe
{
"id": 2,
"cmd": "unsubscribe",
"params": {
"sids": [
7,
8
]
}
}unsubscribed
{
"id": 2,
"type": "unsubscribed",
"msg": {
"subscriptions": [
{
"sid": 7,
"ticker": "UDX-EXAMPLE-MARKET-A"
},
{
"sid": 8,
"ticker": "UDX-EXAMPLE-MARKET-B"
}
]
}
}invalid_message
{
"type": "error",
"msg": {
"code": "invalid_message",
"detail": "WebSocket command is not a valid JSON object",
"instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
}invalid_params
{
"id": 4,
"type": "error",
"msg": {
"code": "invalid_params",
"detail": "the orderbook channel requires tickers",
"instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef",
"field": "params.channels"
}
}command_id_in_use
{
"id": 4,
"type": "error",
"msg": {
"code": "command_id_in_use",
"detail": "WebSocket command ID is already in flight",
"instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
}subscription_not_found
{
"id": 4,
"type": "error",
"msg": {
"code": "subscription_not_found",
"detail": "subscription is not active on this connection",
"instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef",
"sid": 9
}
}capacity_exceeded
{
"id": 4,
"type": "error",
"msg": {
"code": "capacity_exceeded",
"detail": "WebSocket connection command capacity is exhausted",
"instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef",
"scope": "connection",
"resource": "in_flight_commands",
"limit": 32
}
}internal_error
{
"id": 4,
"type": "error",
"msg": {
"code": "internal_error",
"detail": "WebSocket command failed",
"instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
}
}