Get Order Status
Retrieve status and execution details of a specific order.
Endpoint
GET /api/v1/orders/{orderId}
Parameters
Order ID to retrieve (UUID v7)
RSA public key identifier for authentication
Base64-encoded RSA signature of the request payload.
Payload format: GET:/api/v1/orders/{orderId}
Example Request
curl -X GET "https://api.roxom.com/api/v1/orders/01234567-89ab-7def-8123-456789abcdea" \
-H "X-API-Key: your_api_key_here" \
-H "X-API-Signature: your_rsa_signature_here" \
-H "Content-Type: application/json"
Response
{
"data" : {
"order" : {
"id" : "01234567-89ab-7def-8123-456789abcdea" ,
"symbol" : "OIL-BTC" ,
"instType" : "perpetual" ,
"accountId" : "01234567-89ab-7def-8123-456789abcdef" ,
"type" : "limit" ,
"timeInForce" : "gtc" ,
"side" : "buy" ,
"qty" : "100.00" ,
"px" : "50000000" ,
"triggerPx" : null ,
"status" : "submitted" ,
"clientOrderId" : "my_order_001" ,
"createdAt" : 1685432112000 ,
"cancelAt" : null ,
"isTriggered" : null ,
"size" : "100.00" ,
"unit" : "sats"
}
}
}
Detailed order information Instrument type: “perpetual” or “btc”
Order type: “limit”, “market”, “stop”, “stoplimit”
Time in force: “gtc”, “gtd”, “ioc”
Order side: “buy” or “sell”
Order price (for limit/stoplimit)
Trigger price (for stop/stoplimit)
Display unit: “sats” or “btc”
Order Status Values
pendingsubmit : Order has been submitted but not yet processedwaitingtrigger : Order is waiting for trigger price to be reachedsubmitted : Order has been submitted and is active in the order bookpartiallyfilled : Order has been partially filled
filled : Order has been completely filledcancelled : Order was cancelledrejected : Order was rejectedinactive : Order is no longer active
pendingcancel : Cancel request has been submitted but not yet processedpartiallyfilledcancelled : Partially filled order has been cancelled
Fill Details
Each fill in the fills
array contains:
Individual trade execution details Unique identifier for this fill
Quantity executed in this fill
Execution price for this fill
Trading fee charged for this fill
Asset in which the fee was charged
ISO 8601 timestamp of execution
Market trade ID that matched this order
Whether this order was the maker in the trade
Real-time Updates
For real-time order status updates, use the WebSocket API:
// Subscribe to order updates
ws . send ( JSON . stringify ({
method: 'subscribe' ,
params: {
channel: 'orders'
},
id: 1
}));
// Receive order status changes
ws . onmessage = function ( event ) {
const data = JSON . parse ( event . data );
if ( data . channel === 'orders' ) {
console . log ( 'Order update:' , data . data );
}
};
Order Lifecycle
Order Submission
Order is submitted and receives initial validation. Status : NEW
Order Book Entry
Order passes validation and enters the order book. Status : PENDING
Matching Process
Order matching engine attempts to find counterparties. Status : PENDING or PARTIALLY_FILLED
Execution
Order is matched and executed (partially or fully). Status : PARTIALLY_FILLED or FILLED
Settlement
Balances are updated and confirmations sent. Final Status : FILLED, CANCELED, or EXPIRED
Error Handling
Order Not Found
{
"error" : {
"code" : 404 ,
"message" : "Order not found" ,
"details" : "Order 'order_invalid' does not exist or does not belong to this account"
},
"timestamp" : "2024-01-15T10:30:00Z" ,
"requestId" : "req_abc123"
}
Unauthorized Access
{
"error" : {
"code" : 403 ,
"message" : "Access denied" ,
"details" : "Order belongs to a different account"
},
"timestamp" : "2024-01-15T10:30:00Z" ,
"requestId" : "req_def456"
}