Files
ritmex-bot/docs/grvt/schemas/ws_cancel_feed_data_v1.md

6.0 KiB

!!! info "WSCancelFeedDataV1" |Name
Lite|Type|Required
Default| Description | |-|-|-|-| |stream
s |string|True|Stream name| |selector
s1 |string|True|Primary selector| |sequence_number
sn |string|True|A sequence number used to determine message order within a stream.
- If useGlobalSequenceNumber is false, this returns the gateway sequence number, which increments by one locally within each stream and resets on gateway restarts.
- If useGlobalSequenceNumber is true, this returns the global sequence number, which uniquely identifies messages across the cluster.
- A single cluster payload can be multiplexed into multiple stream payloads.
- To distinguish each stream payload, a dedupCounter is included.
- The returned sequence number is computed as: cluster_sequence_number * 10^5 + dedupCounter.| |feed
f |CancelStatusFeed|True|Data relating to the status of the cancellation attempt| ??? info "CancelStatusFeed" |Name
Lite|Type|Required
Default| Description | |-|-|-|-| |sub_account_id
sa |string|True|The subaccount ID that requested the cancellation| |client_order_id
co |string|True|A unique identifier for the active order within a subaccount, specified by the client| |order_id
oi |string|True|A unique 128-bit identifier for the order, deterministically generated within the GRVT backend| |reason
r |OrderRejectReason|True|The user-provided reason for cancelling the order| |update_time
ut |string|False
0|[Filled by GRVT Backend] Time at which the cancellation status was updated by GRVT in unix nanoseconds| |cancel_status
cs |CancelStatus|True|Status of the cancellation attempt| ??? info "OrderRejectReason" |Value| Description | |-|-| |UNSPECIFIED = 0|order is not cancelled or rejected| |CLIENT_CANCEL = 1|client called a Cancel API| |CLIENT_BULK_CANCEL = 2|client called a Bulk Cancel API| |CLIENT_SESSION_END = 3|client called a Session Cancel API, or set the WebSocket connection to 'cancelOrdersOnTerminate'| |MARKET_CANCEL = 4|the market order was cancelled after no/partial fill. Lower precedence than other TimeInForce cancel reasons| |IOC_CANCEL = 5|the IOC order was cancelled after no/partial fill| |AON_CANCEL = 6|the AON order was cancelled as it could not be fully matched| |FOK_CANCEL = 7|the FOK order was cancelled as it could not be fully matched| |EXPIRED = 8|the order was cancelled as it has expired| |FAIL_POST_ONLY = 9|the post-only order could not be posted into the orderbook| |FAIL_REDUCE_ONLY = 10|the reduce-only order would have caused position size to increase| |MM_PROTECTION = 11|the order was cancelled due to market maker protection trigger| |SELF_TRADE_PROTECTION = 12|the order was cancelled due to self-trade protection trigger| |SELF_MATCHED_SUBACCOUNT = 13|the order matched with another order from the same sub account| |OVERLAPPING_CLIENT_ORDER_ID = 14|an active order on your sub account shares the same clientOrderId| |BELOW_MARGIN = 15|the order will bring the sub account below initial margin requirement| |LIQUIDATION = 16|the sub account is liquidated (and all open orders are cancelled by Gravity)| |INSTRUMENT_INVALID = 17|instrument is invalid or not found on Gravity| |INSTRUMENT_DEACTIVATED = 18|instrument is no longer tradable on Gravity. (typically due to a market halt, or instrument expiry)| |SYSTEM_FAILOVER = 19|system failover resulting in loss of order state| |UNAUTHORISED = 20|the credentials used (userSession/apiKeySession/walletSignature) is not authorised to perform the action| |SESSION_KEY_EXPIRED = 21|the session key used to sign the order expired| |SUB_ACCOUNT_NOT_FOUND = 22|the subaccount does not exist| |NO_TRADE_PERMISSION = 23|the signature used to sign the order has no trade permission| |UNSUPPORTED_TIME_IN_FORCE = 24|the order payload does not contain a supported TimeInForce value| |MULTI_LEGGED_ORDER = 25|the order has multiple legs, but multiple legs are not supported by this venue| |EXCEED_MAX_POSITION_SIZE = 26|the order would have caused the subaccount to exceed the max position size| |EXCEED_MAX_SIGNATURE_EXPIRATION = 27|the signature supplied is more than 30 days in the future| |MARKET_ORDER_WITH_LIMIT_PRICE = 28|the market order has a limit price set| |CLIENT_CANCEL_ON_DISCONNECT_TRIGGERED = 29|client cancel on disconnect triggered| |OCO_COUNTER_PART_TRIGGERED = 30|the OCO counter part order was triggered| |REDUCE_ONLY_LIMIT = 31|the remaining order size was cancelled because it exceeded current position size| |CLIENT_REPLACE = 32|the order was replaced by a client replace request| |DERISK_MUST_BE_IOC = 33|the derisk order must be an IOC order| |DERISK_MUST_BE_REDUCE_ONLY = 34|the derisk order must be a reduce-only order| |DERISK_NOT_SUPPORTED = 35|derisk is not supported| |INVALID_ORDER_TYPE = 36|the order type is invalid| |CURRENCY_NOT_DEFINED = 37|the currency is not defined| ??? info "CancelStatus" |Value| Description | |-|-| |EXPIRED = 1|Cancellation has expired because corresponding order had not arrived within the defined time-to-live window.| |DROPPED_DUPLICATE = 2|This cancellation request was dropped because its TTL window overlaps with another cancellation request for the same order.|