GET Execution by Order ID
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.
Get execution by order ID
GET /v1/api/executions/order/{orderId}
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
orderId | string | Required | The order ID to search for. Matches both the current and original order ID |
Code Examples
- Python
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
- 200
- 200 - no match
{
"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 03-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
}
{
"orderId": "nonexistent_id",
"count": 0,
"executions": []
}
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"
}
}