GET Order Status
- NT8
- Tradovate
Get order status by ID NT8
Returns the current status of one order without loading its full lifecycle.
Endpoint
GET /v1/api/accounts/{account}/orders/{orderId}/status
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
account | string | Required | Name of account in NT8 |
orderId | string | Required | ID of the order in NT8 |
Code examples
- Python
- JavaScript
- cURL
import requests
token = 'my-secret-token'
url = "https://app.crosstrade.io/v1/api/accounts/Sim101/orders/492281fc515e431692da57d957cfebb6/status"
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/status";
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/status" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
Response
- 200
- 400
{
"status": "Filled",
"success": true
}
{
"error": "Invalid request"
}
Platform nuances
statusis the current NinjaTraderOrderStatestring.- The add-on searches orders across all loaded accounts by NT8 order ID, then falls back to the caller-supplied user order ID. The
{account}route segment is passed through by HTTP but does not scope this status lookup inside the add-on.
WebSocket API
This request can also be made over the WebSocket API. The account and orderId path parameters are passed inside args.
{
"action": "rpc",
"id": "my-request-id",
"api": "GetOrderStatus",
"args": {
"account": "Sim101",
"orderId": "492281fc515e431692da57d957cfebb6"
}
}
Get order status by ID Tradovate
Returns a slim live-status object for one Tradovate order without loading its full lifecycle. No NinjaTrader add-on is involved, so the read works even while NinjaTrader is closed.
Endpoint
GET /v1/api/tv/accounts/{account}/orders/{id}/status
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
account | string | Required | Tradovate account name, for example DEMO12345678. |
id | string | Required | Tradovate order id, for example 123456789. |
Code examples
- Python
- JavaScript
- cURL
import requests
token = 'my-secret-token'
url = "https://app.crosstrade.io/v1/api/tv/accounts/DEMO12345678/orders/123456789/status"
headers = {
"Authorization": f"Bearer {token}"
}
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/tv/accounts/DEMO12345678/orders/123456789/status";
fetch(url, {
method: "GET",
headers: {
"Authorization": `Bearer ${token}`
}
})
.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/tv/accounts/DEMO12345678/orders/123456789/status" \
-H "Authorization: Bearer $TOKEN"
Response
The response uses the Tradovate read envelope. data contains orderId, status, action, accountId, contractId, and timestamp.
{
"success": true,
"data": {
"orderId": 123456789,
"status": "Filled",
"action": "Buy",
"accountId": 12345,
"contractId": 67890,
"timestamp": "2026-05-22T14:31:48.911Z"
}
}
Platform nuances
- Tradovate uses
{id}in this route, while the NT8 route uses{orderId}. {account}remains a required path segment; the current read resolves the order by its Tradovate order id.statusis the TradovateordStatusstring, such asWorking,Filled,Canceled, orRejected.
See the Tradovate API overview for the full route list and error table.