Skip to main content

POST Flatten Everything

Flatten all NT8 positions and orders

POST /v1/api/positions/flatten

Closes positions in all or one account that meet all of the specified criteria: account, instrument, market position.

WARNING: An empty JSON payload (i.e., no filters applied) to this endpoint will close all positions and all orders across all accounts.

Headers

NameValue
Content-Typeapplication/json
AuthorizationBearer <token>

Body

NameTypeRequiredDescription
accountstringOptionalName of the account
instrumentstringOptionalName of underlying instrument
marketPositionstringOptional"long" or "short"

Code Examples

import requests

url = "https://app.crosstrade.io/v1/api/positions/flatten"
headers = {
"Authorization": "Bearer frvO0lK6cXe9ML5ITNlEduwP5J1oNzLT0XTBRjR_OZ0",
"Content-Type": "application/json"
}
data = {
"account": "Sim101",
"instrument": "MES 12-25",
"marketPosition": "short"
}

try:
response = requests.post(url, headers=headers, json=data)
print(f"Response Code: {response.status_code}, Response Text: {response.text}")
except Exception as e:
print(f"An error occurred: {e}")

Response

{
"orderIds": [
"adb3868865de4b59b0e147b8300e4a29",
"2141df9fc0254ba9b34c8a5e38722249",
"16f6774e302748ce962f2d60b58b2eb1"
],
"closedPositions": [
{
"type": "NinjaTrader.Cbi.Position",
"account": "Sim101",
"instrument": "ES 12-25",
"instrumentType": "Future",
"marketPosition": "Short",
"quantity": 2,
"averagePrice": 5780.125,
"marketPrice": 5774.0,
"unrealizedProfitLoss": 612.5
}
],
"success": true
}

WebSocket API

This request can also be made over the WebSocket API.

warning

When providing filters (account, instrument, marketPosition), use "api": "Flatten". Use "api": "FlattenEverything" only for a complete flatten with no filters.

The REST endpoint (/v1/api/positions/flatten) handles this implicitly. The WebSocket function must be called explicitly.

// Flatten everything (no filters)
{
"action": "rpc",
"id": "my-request-id",
"api": "FlattenEverything",
"args": {}
}
// Flatten with filters
{
"action": "rpc",
"id": "my-request-id",
"api": "Flatten",
"args": {
"account": "Sim101",
"instrument": "MES 12-25",
"marketPosition": "short"
}
}