Skip to main content

GET Execution by Order ID

Get execution by order ID NT8​

Retrieve all executions (fills) associated with a specific order ID. This searches across all accounts and matches against both the current broker-assigned order ID and the original order ID, so it will find fills even if the order was modified or replaced during its lifetime.

This is particularly useful for confirming that an order filled, checking the exact fill price and commission, or auditing the execution history of a replaced order chain.

Endpoint​

GET /v1/api/executions/order/{orderId}

Headers​

NameValue
Content-Typeapplication/json
AuthorizationBearer <token>

Path parameters​

NameTypeRequiredDescription
orderIdstringRequiredThe order ID to search for. Matches both the current and original order ID

Code examples​

import requests

token = 'my-secret-token'
url = "https://app.crosstrade.io/v1/api/executions/order/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}")

Response​

{
"orderId": "4641c835c6d048ebb6fc71fc06f91543",
"count": 1,
"executions": [
{
"id": "a46d199f5ea54ddbaddc400d345ddd1a",
"type": "NinjaTrader.Cbi.Execution",
"time": "2026-03-18T13:57:05.1886119",
"epoch": 1773867425188,
"name": "",
"orderId": "4641c835c6d048ebb6fc71fc06f91543",
"originalOrderId": "4641c835c6d048ebb6fc71fc06f91543",
"account": "Sim101",
"serverName": "DESKTOP-200Q1V3",
"instrument": "MES 12-26",
"instrumentType": "Future",
"position": 7,
"marketPosition": "Long",
"positionStrategy": 0,
"price": 6615.25,
"quantity": 1,
"rate": 1.0,
"commission": "0.85",
"slippage": 0.0,
"lotSize": 1.0,
"isEntry": true,
"isEntryStrategy": false,
"isExit": false,
"isExitStrategy": false,
"isInitialEntry": false,
"isLastExit": false,
"isSod": false,
"barsInProgress": 0,
"exchange": "Default"
}
],
"success": true
}

Platform nuances​

info

Note that a count of 0 is not an error. The order may exist but simply hasn't filled yet, or the order ID may not exist at all. If you need to distinguish between these cases, query the order directly via GET /v1/api/accounts/{account}/orders/{id} first.

WebSocket API​

This request can also be made over the WebSocket API. The orderId path parameter is passed inside args.

{
"action": "rpc",
"id": "my-request",
"api": "GetExecutionsByOrderId",
"args": {
"orderId": "492281fc515e431692da57d957cfebb6"
}
}