Skip to content

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"
  }
}