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
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
account | string | Required | Name of account in NT8 |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
orderId | string | Required | ID of the order to by replaced |
Body
| Name | Type | Required | Description |
|---|---|---|---|
quantity | integer | Optional | Contract quantity of new order |
limitPrice | float | Optional | Limit price when changing limit order type |
stopPrice | float | Optional | Stop price when changing stop order type |
strategyId | string | Optional | ATM strategy ID, forces matching of both order ID and strategy ID |
Code Examples
- Python
- JavaScript
- cURL
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}")
const token = 'my-secret-token';
const url = "https://app.crosstrade.io/v1/api/accounts/Sim101/orders/64e8164f337c4bcfb2abc3468ff5fa20/change";
const data = {
quantity: 2
// limitPrice: 6000,
// stopPrice: 0,
// strategyId: "MyAtmStrategy"
};
fetch(url, {
method: "PUT",
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json"
},
body: JSON.stringify(data)
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));
TOKEN="my-secret-token"
curl -X PUT "https://app.crosstrade.io/v1/api/accounts/Sim101/orders/64e8164f337c4bcfb2abc3468ff5fa20/change" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"quantity": 2
}'
Response
- 200
- 400
{
"orderId": "36f59a2f4594436084484b92350ca25a",
"success": true
}
{
"error": "Invalid request"
}
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
}
}