Skip to main content

PUT Change Order

One or all of the following fields in an order can be modified: limit price, stop price, and quantity. You can optionally set a specific strategy ID to ensure the order and strategy match.

Change an existing order by ID

PUT /v1/api/accounts/{account}/orders/{orderId}/change

Headers

NameValue
Content-Typeapplication/json
AuthorizationBearer <token>

Path Parameters

NameTypeRequiredDescription
accountstringRequiredName of account in NT8

Query Parameters

NameTypeRequiredDescription
orderIdstringRequiredID of the order to by replaced

Body

NameTypeRequiredDescription
quantityintegerOptionalContract quantity of new order
limitPricefloatOptionalLimit price when changing limit order type
stopPricefloatOptionalStop price when changing stop order type
strategyIdstringOptionalATM strategy ID, forces matching of both order ID and strategy ID

Code Examples

import requests

token = 'my-secret-token'

url = "https://app.crosstrade.io/v1/api/accounts/Sim101/orders/64e8164f337c4bcfb2abc3468ff5fa20/change"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
data = {
"quantity": 2,
# "limitPrice": 6000
# "stopPrice": 0,
# "strategyId": "MyAtmStrategy"
}

try:
response = requests.put(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

{
"orderId": "36f59a2f4594436084484b92350ca25a",
"success": true
}

WebSocket API

This request can also be made over the WebSocket API. The account and orderId path parameters and request body fields are all passed inside args.

{
"action": "rpc",
"id": "my-request-id",
"api": "Change",
"args": {
"account": "Sim101",
"orderId": "492281fc515e431692da57d957cfebb6",
"quantity": 2,
"limitPrice": 5400.00
}
}