GET Order
Get order by ID
GET /v1/api/accounts/{account}/orders/{orderId}
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
account | string | Required | Name of account in NT8 |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
orderId | string | Required | NT8-assigned order ID or the custom orderId supplied to Place Order. |
Order ID lookup
CrossTrade first attempts to match the current NT8 order ID. If that is not found, it also asks NT8 to resolve the caller-supplied ID stored in the order's UserData XML under AutomatedTradingOrderId. This lets you query by the custom orderId you sent at placement even if NT8, the broker, or a prop firm later changes the live order ID.
Code Examples
- Python
- JavaScript
- cURL
import requests
token = 'my-secret-token'
url = "https://app.crosstrade.io/v1/api/accounts/Sim101/orders/492281fc515e431692da57d957cfebb6"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
try:
response = requests.get(url, headers=headers)
print(f"Response Code: {response.status_code}, Response Text: {response.text}")
except Exception as e:
print(f"An error occurred: {e}")
const token = 'my-secret-token';
const url = "https://app.crosstrade.io/v1/api/accounts/Sim101/orders/492281fc515e431692da57d957cfebb6";
fetch(url, {
method: "GET",
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json"
}
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));
TOKEN="my-secret-token"
curl -X GET "https://app.crosstrade.io/v1/api/accounts/Sim101/orders/492281fc515e431692da57d957cfebb6" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
Response
- 200
- 400
{
"account": "Sim101",
"orderId": "50cca7b8051146c684087db511107983",
"instrument": "ES 12-25",
"instrumentType": "Future",
"orderType": "Market",
"orderState": "CancelPending",
"quantity": 1,
"averageFillPrice": 0.0,
"filled": 0,
"fromEntrySignal": null,
"gtd": "2099-12-01T00:00:00.0000000",
"hasOverfill": false,
"isBacktestOrder": false,
"limitPrice": 0.0,
"limitPriceChanged": 0.0,
"ocoId": "",
"orderAction": "Buy",
"quantityChanged": 0,
"stopPrice": 0.0,
"stopPriceChanged": 0.0,
"time": "2025-09-05T07:17:36.4864736",
"epoch": 1725545856486,
"timeInForce": "Day",
"name": "",
"isLimit": false,
"isLiveUntilCancelled": false,
"isLong": true,
"isMarket": true,
"isMarketIfTouched": false,
"isShort": false,
"isSimulatedStop": false,
"isStopLimit": false,
"isStopMarket": false,
"isTrackingConfigured": false,
"isTrackingEnabled": false,
"userData": "<NinjaTrader />",
"ownerStrategy": {
"id": null,
"name": null,
"displayName": null
},
"success": true
}
{
"error": "Invalid request"
}
WebSocket API
This request can also be made over the WebSocket API. The account and orderId path parameters are passed inside args. The orderId value may be either the current NT8 order ID or your custom placement ID.
{
"action": "rpc",
"id": "my-request-id",
"api": "GetOrder",
"args": {
"account": "Sim101",
"orderId": "492281fc515e431692da57d957cfebb6"
}
}