DeleteSymbolsList¶
Description: Deletes multiple symbols in one request.
Access Control¶
🛡️ Access Level Required:
SESSION_ADMIN
Requires super_admin. Permissions are checked against the cached staff manager record.
Each string item uses the same deletion guard as DeleteSymbol: active market positions and all four pending order types, including protected transitions, prevent deletion. Terminal historical records do not themselves prevent deletion.
Items are processed sequentially, not atomically. The result contains successful
deletions only, in request order. Blocked, missing or otherwise failed symbols are
omitted, with no per-item error details; the overall status remains 200 even if
none succeeds. Do not treat 200 as proof that every requested symbol was deleted.
Request Parameters¶
| Name | Type | Required | Description |
|---|---|---|---|
symbols |
array[string] | Yes | List of symbol names |
Response Parameters¶
| Name | Type | Description |
|---|---|---|
extID |
string | TCP request correlation identifier |
status |
integer | TCP status code |
data |
object | Response payload |
data.data |
array[object] | Successful deletions only; each object maps a requested symbol name to ASCII OK |
data.error |
string | Error code on request-level failure |
data.message |
string | Descriptive error message, when supplied |
Complete response example, for a request containing a deletable FREE_SYMBOL,
an active-order symbol and a missing symbol:
{
"extID": "delete-symbols-1",
"status": 200,
"data": { "data": [{ "FREE_SYMBOL": "OK" }] }
}
If all items are blocked or missing, the payload is {"data": []}.
Request-Level Errors¶
| Code | Error | Description |
|---|---|---|
| 400 | INVALID_DATA |
Missing/non-array symbols, or a non-string array element |
| 401 | PERMISSION_DENIED_ACCESS |
TCP session role is not allowed |
| 403 | RET_NOT_ENOUGH_RIGHTS |
Required staff permission is absent |
Element types are checked during iteration. A later non-string element returns
400 after earlier successful deletions have already taken effect. Those changes
are not rolled back, and the error response contains no success list:
{
"extID": "delete-symbols-2",
"status": 400,
"data": {
"error": "INVALID_DATA",
"message": "symbols array must contain only strings"
}
}