Delete Monitor
Delete the monitor for one account. You can create it again later.
Deleting a monitor also changes copiers
Deleting a monitor removes every trade copier that uses the account as its leader or as its single follower, and removes the account from group copiers (a group left with no followers is removed). This matches the web app on both brokers. The ids are listed in the copiers_removed warning.
Elite
The Management API requires an Elite subscription. See Authentication.
- NT8
- Tradovate
Endpoint
DELETE https://app.crosstrade.io/v1/api/manage/nt8/monitors/{account}
Headers
| Name | Required | Value |
|---|---|---|
| Authorization | Yes | Bearer <your API token> |
| If-Match | No | ETag from a previous read. The request fails with 412 if the monitor changed since then |
Path parameters
| Name | Type | Description |
|---|---|---|
account | string | Account name, URL-encoded (exact match, including case; no leading or trailing spaces) |
Code examples
- Python
- cURL
import requests
resp = requests.delete(
"https://app.crosstrade.io/v1/api/manage/nt8/monitors/Sim101",
headers={"Authorization": "Bearer YOUR_TOKEN"},
)
print(resp.status_code, resp.json())
curl -X DELETE "https://app.crosstrade.io/v1/api/manage/nt8/monitors/Sim101" \
-H "Authorization: Bearer YOUR_TOKEN"
Responses
- 200
- Other errors
{
"success": true,
"changed": true,
"changedFields": [
"account",
"active",
"autoFlattenTime",
"blockSignals",
"cleanSessionProtection",
"closingOnly",
"dailyLossLimit",
"dailyProfitTarget",
"includeCommissions",
"includeUnrealized",
"minimumProfit.enabled",
"minimumProfit.flatten",
"minimumProfit.signals",
"minimumProfit.threshold",
"minimumProfit.trigger",
"newsLockout.blockSignals",
"newsLockout.flatten",
"onLossLimit.flatten",
"onLossLimit.signals",
"onProfitTarget.flatten",
"onProfitTarget.signals",
"outlierProtection.enabled",
"outlierProtection.sensitivity",
"pnlMode",
"positionLossLimit",
"positionProfitTarget",
"switchesLocked",
"tradingWindows",
"trailingDrawdown.amount",
"trailingDrawdown.basis",
"trailingDrawdown.enabled",
"trailingDrawdown.flatten",
"trailingDrawdown.signals",
"trailingDrawdown.trigger",
"trailingDrawdown.unit"
],
"delivery": {
"status": "queued",
"target": "nt8_addon"
},
"warnings": [
{
"code": "copiers_removed",
"ids": [
"4b1f0c9e2d7a4c55b1e0"
],
"detail": "1 copier(s) that used this account were removed or updated."
}
],
"meta": {
"requestId": "req_9f2c1a0b7d3e4f51"
}
}
| Status | error | When |
|---|---|---|
| 400 | invalid_path | The account name in the path is not valid |
| 400 | unexpected_body | A body was sent |
| 401 | unauthorized | Missing or invalid token |
| 403 | elite_required, not_available | See Authentication |
| 404 | not_found | No monitor for this account on your login |
| 409 | tandem_dependency | The account is a follower in a Tandem copier |
| 409 | monitor_locked | Monitor Lock is holding this monitor until 5:00 PM ET |
| 409 | concurrent_modification | Another change to your monitors or copiers is in progress |
| 412 | precondition_failed | If-Match did not match |
| 429 | rate_limited, too_many_concurrent_requests | See Rate limits |
| 503 | management_read_only, management_busy, storage_unavailable, outcome_unknown | See Errors |
Endpoint
DELETE https://app.crosstrade.io/v1/api/manage/tradovate/monitors/{account}
Headers
| Name | Required | Value |
|---|---|---|
| Authorization | Yes | Bearer <your API token> |
| If-Match | No | ETag from a previous read. The request fails with 412 if the monitor changed since then |
Path parameters
| Name | Type | Description |
|---|---|---|
account | string | Account name, URL-encoded (matched in any case; no leading or trailing spaces) |
Code examples
- Python
- cURL
import requests
resp = requests.delete(
"https://app.crosstrade.io/v1/api/manage/tradovate/monitors/DEMO12345678",
headers={"Authorization": "Bearer YOUR_TOKEN"},
)
print(resp.status_code, resp.json())
curl -X DELETE "https://app.crosstrade.io/v1/api/manage/tradovate/monitors/DEMO12345678" \
-H "Authorization: Bearer YOUR_TOKEN"
Responses
- 200
- Other errors
{
"success": true,
"changed": true,
"changedFields": [
"account",
"active",
"autoFlattenTime",
"blockSignals",
"closingOnly",
"dailyLossLimit",
"dailyProfitTarget",
"environment",
"includeUnrealized",
"minimumProfit.enabled",
"minimumProfit.flatten",
"minimumProfit.signals",
"minimumProfit.threshold",
"minimumProfit.trigger",
"newsLockout.blockSignals",
"newsLockout.flatten",
"onLossLimit.flatten",
"onLossLimit.signals",
"onProfitTarget.flatten",
"onProfitTarget.signals",
"pnlMode",
"switchesLocked",
"tradingWindows",
"trailingDrawdown.amount",
"trailingDrawdown.basis",
"trailingDrawdown.enabled",
"trailingDrawdown.flatten",
"trailingDrawdown.signals",
"trailingDrawdown.trigger",
"trailingDrawdown.unit"
],
"delivery": {
"status": "automatic",
"target": "tradovate_engine"
},
"warnings": [
{
"code": "copiers_removed",
"ids": [
"9c3e5a7b1d2f4e6a8b0c"
],
"detail": "1 copier(s) that used this account were removed or updated."
}
],
"meta": {
"requestId": "req_9f2c1a0b7d3e4f51"
}
}
| Status | error | When |
|---|---|---|
| 400 | invalid_path | The account name in the path is not valid |
| 400 | unexpected_body | A body was sent |
| 401 | unauthorized | Missing or invalid token |
| 403 | elite_required, not_available | See Authentication |
| 404 | not_found | No monitor for this account on your login |
| 409 | tandem_dependency | The account is a follower in a Tandem copier |
| 409 | monitor_locked | Monitor Lock is holding this monitor until 5:00 PM ET |
| 409 | concurrent_modification | Another change to your monitors or copiers is in progress |
| 412 | precondition_failed | If-Match did not match |
| 429 | rate_limited, too_many_concurrent_requests | See Rate limits |
| 503 | management_read_only, management_busy, storage_unavailable, outcome_unknown | See Errors |
When it takes effect
NinjaTrader: the add-on stops enforcing the monitor right after the delete, or when it next connects. Tradovate: within about 10 seconds.
Notes
changedFieldslists every field the deleted monitor had a value for (fields that werenullare left out), and the change history keeps their last values.- A monitor on an account that is a follower in a Tandem copier cannot be deleted (
409 tandem_dependency). Nothing is changed in that case. - A delete costs 2 units of your change budget.