CPlugin

MT4 v2 :: Config

API v2 (beta) · MT4 · 51 operations · base URL https://cloud.mywebapi.com · OpenAPI v2 (JSON) · Redoc

Every call needs Authorization: Bearer $TOKEN — an OAuth 2.0 client-credentials token from https://auth.cplugin.net/connect/token (scope webapi). $TRADE_PLATFORM_ID is the id of a trade platform registered in Toolbox.

Operations

Get common config (live)

GET /api/v2/MT4/{tradePlatform}/CfgRequestCommon

Server-wide MT4 common configuration via the wrapper's CfgRequestCommon Manager-live read.

Manager-live read (round-trip to MT4 server) — sibling of ManagerCommon. Returns the same curated MT4Common DTO (Name/Owner/Build/Version/TimeZone), but sourced via the configuration-system entry point rather than the manager-context one. Pump cache is NOT consulted; data reflects the live server state.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestCommon" \
  -H "Authorization: Bearer $TOKEN"

Update common config

POST /api/v2/MT4/{tradePlatform}/CfgUpdateCommon

Update server-wide common settings — Type 1 mutator.

Manager (live) call. Reads the current ConCommon from the MT4 server, overlays the fields in MT4CommonUpdate onto it (secret-preservation: fields not in the DTO keep their server value), and writes the merged struct back via CfgUpdateCommon.

Preserved fields the DTO does not touch:

  • Runtime counters (LastOrder, LastLogin, LostLogin, optimization timestamps, overnight rollover state).

  • Protocol identity (ServerVersion, ServerBuild).

  • Bind / web address arrays (variable-length nested collections — own endpoints planned).

  • Demo-account subsystem, paths, rollover/statement modes (sensitive admin areas with separate endpoints).

Wine x64 safe: wrapper uses cpp.AllocSafe() (single struct pack, no UnpackObject loop). Idempotency-Key strongly recommended — overwriting common settings affects every connected client.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4CommonUpdate (application/json) — Replacement fields. Omitted fields keep their server value.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateCommon" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "", "owner": "", "timeZone": 0, "daylightCorrection": 0, "timeZoneReal": 0, "timeSync": "" }'

List holiday config

GET /api/v2/MT4/{tradePlatform}/CfgRequestHoliday

All holiday-calendar entries configured on the MT4 server, paginated.

Manager-live read (round-trip). Holidays describe trading-suspension dates per symbol or symbol-group. Each entry carries date components (Year/Month/Day), a work-time window (From/To, minutes from midnight, both 0 for full closure), the affected Symbol (or "All"), a free-form Description, and an Enable flag. Ordering: by (Year, Month, Day, From, Symbol) ascending so cursors are stable and unique. The cursor is an opaque base64 string produced by CursorCodec from the composite "{YYYYMMDD * 10000 + From:D14}|{Symbol}" key — the Symbol tiebreaker covers the case where multiple holidays share date and From minute (per-symbol partial-day closures), guaranteeing pagination never drops rows even inside same-(date,From) clusters.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestHoliday" \
  -H "Authorization: Bearer $TOKEN"

List manager configs

GET /api/v2/MT4/{tradePlatform}/CfgRequestManager

All MT4 manager-account configurations on the connected server, paginated by Login.

Manager-live read (round-trip). Each entry surfaces the manager's Login/Name/Groups/MailBox, the 19 boolean permission rights (Manager, Money, Broker, Admin, Reports, Trades, MarketWatch, etc.), IP-filter range, and InfoDepth. Internal wrapper fields (SecGroups, Unused, ExpTime, Reserved) are dropped from the v2 contract.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestManager" \
  -H "Authorization: Bearer $TOKEN"

Get access-hour matrix

GET /api/v2/MT4/{tradePlatform}/CfgRequestTime

Server access-hour matrix (per-hour 7×24 allow/deny grid) from the MT4 server's ConTime configuration.

Manager-live read (round-trip). Returns MT4ServerTime with a flat 168-element AccessHours array; each element is 0 (denied) or 1 (allowed) for one hour of the week. Layout: index = day*24 + hour, day 0 = Sunday (MT4 convention). Internal DaysControl and Reserved wrapper fields are not surfaced.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestTime" \
  -H "Authorization: Bearer $TOKEN"

Update access-hour matrix

POST /api/v2/MT4/{tradePlatform}/CfgUpdateTime

Update the 7×24 access-hour matrix — Type 1 mutator.

Manager (live) call. Reads the current ConTime, replaces the 168-hour access matrix with the supplied AccessHours, and writes back. The wrapper's internal DaysControl (server housekeeping) and Reserved (forward-compat padding) fields are preserved across the round-trip.

AccessHours must be exactly 168 entries long; index = day * 24 + hour with day 0 = Sunday. Each value is 0 (denied) or 1 (allowed) — any other value is passed through verbatim (the wrapper does not validate, and MT4 may treat anything non-zero as allowed depending on build).

Echoes the merged MT4ServerTime in the response.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4ServerTime (application/json) — Replacement access matrix. AccessHours.Length must be 168.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateTime" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "accessHours": [0] }'

List IP firewall rules

GET /api/v2/MT4/{tradePlatform}/CfgRequestAccess

All firewall (IP access) rules configured on the MT4 server, paginated.

Manager-live read (round-trip). Each entry describes an IP range (IpFrom..IpTo, widened uint→long for JSON safety) with an Action flag and a free-form Comment. Ordering: by (IpFrom, IpTo) ascending. Cursor is an opaque base64 string holding the composite key "{IpFrom:D10}|{IpTo:D10}" — D10 width matches uint range (max 4_294_967_295 = 10 digits) so lexicographic compare matches numeric compare, and the '|' delimiter cannot appear in IP values.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestAccess" \
  -H "Authorization: Bearer $TOKEN"

Get backup config

GET /api/v2/MT4/{tradePlatform}/CfgRequestBackup

MT4 server backup configuration (full + archive + export schedules, watchdog HA pair settings).

Manager-live read (round-trip). Returns the wrapper's ConBackup as MT4Backup DTO — full/archive/export schedule enums and paths, last completion timestamps, and HA-watchdog fields. The wrapper's WatchPassword (slave-server credential) is intentionally dropped from the v2 contract for security and is NOT present in the response payload.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestBackup" \
  -H "Authorization: Bearer $TOKEN"

Update backup config

POST /api/v2/MT4/{tradePlatform}/CfgUpdateBackup

Update server backup configuration — Type 1 mutator.

Manager (live) call. Reads the current ConBackup, overlays the fields in MT4Backup onto it, and writes back via CfgUpdateBackup. Two classes of preserved fields:

  • Slave-server credential — WatchPassword stays whatever the wrapper read live. It is unreachable from the v2 request body (DTO does not expose it).

  • Last-completion timestamps — FullBackupLastTime, ArchiveLastTime, ExportLastTime, WatchTimestamp. Server-derived runtime state that clients must not overwrite.

Echoes the merged MT4Backup in the response.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4Backup (application/json) — Replacement backup configuration. Server-derived timestamps and the watch password are preserved.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateBackup" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "fullBackupPath": "", "fullBackupPeriod": "H1", "fullBackupStore": "Mn1", "fullBackupShift": 0, "fullBackupLastTime": "2026-01-01T00:00:00Z", "externalPath": "" }'

Update sync rule

POST /api/v2/MT4/{tradePlatform}/CfgUpdateSync

Update a chart-history synchronization rule — Type 1 mutator.

Manager (live) call. Sync configurations are paged on the read side (see CfgRequestSync); the v2 contract identifies a rule by the composite key (Server, Login). Flow:

  • Read the current list via CfgRequestSync.

  • Find the entry whose (Server, Login) matches the body. Missing entry → NotFound envelope.

  • Apply DTO overlay onto the matched entry — the replication credential (Password) carried by the live struct is preserved.

  • Write the merged struct back.

Echoes the merged MT4Sync in the response.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4Sync (application/json) — Replacement fields; Server+Login identify the row.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateSync" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "server": "", "login": "", "enable": 0, "mode": "Add", "from": 0, "to": 0 }'

Update feeder config

POST /api/v2/MT4/{tradePlatform}/CfgUpdateFeeder

Update a quote/news feeder configuration — Type 1 mutator.

Manager (live) call. Feeder configurations are paged on the read side (see CfgRequestFeeder); the v2 contract identifies a feeder by its Name. Same read-modify-write flow as CfgUpdateSync; the datafeed credential (Password) is preserved server-side.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4Feeder (application/json) — Replacement fields; Name identifies the feeder.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateFeeder" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "", "file": "", "server": "", "login": "", "keywords": "", "enable": 0 }'

Update gateway account

POST /api/v2/MT4/{tradePlatform}/CfgUpdateGatewayAccount

Update an STP gateway-account entry — Type 1 mutator.

Manager (live) call. Gateway-account entries are paged on the read side (see CfgRequestGatewayAccount); the v2 contract identifies an entry by its stable internal Id. Flow:

  • Read the current list via CfgRequestGatewayAccount.

  • Find the entry whose Id matches the body. Missing entry → NotFound envelope.

  • Apply DTO overlay onto the matched entry — the STP MT4 credential (Password) carried by the live struct is preserved.

  • Write the merged struct back.

Echoes the merged MT4GatewayAccount in the response.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4GatewayAccount (application/json) — Replacement fields; Id identifies the row.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateGatewayAccount" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "enable": false, "name": "", "id": 0, "type": 0, "login": 0, "address": "" }'

Update gateway markup

POST /api/v2/MT4/{tradePlatform}/CfgUpdateGatewayMarkup

Update a gateway markup rule — Type 1 mutator.

Manager (live) call. Markup rules are paged on the read side (see CfgRequestGatewayMarkup); the v2 contract identifies a rule by the composite key (Source, Symbol) (same cursor key the read endpoint uses). Same read-modify-write flow as CfgUpdateGatewayAccount; the wrapper's 16-int reserved padding is preserved.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4GatewayMarkup (application/json) — Replacement fields; Source+Symbol identify the row.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateGatewayMarkup" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "enable": false, "source": "", "symbol": "", "accountName": "", "accountId": 0, "bidMarkup": 0 }'

Update gateway rule

POST /api/v2/MT4/{tradePlatform}/CfgUpdateGatewayRule

Update an STP gateway-rule entry — Type 1 mutator.

Manager (live) call. Gateway rules are paged on the read side (see CfgRequestGatewayRule); the v2 contract identifies a rule by its public Name. Same read-modify-write flow; the two wrapper reserved padding blocks (RequestRreserved 32-int, ExeReserved 25-int) are preserved server-side.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4GatewayRule (application/json) — Replacement fields; Name identifies the rule.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateGatewayRule" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "enable": false, "name": "", "requestSymbol": "", "requestGroup": "", "exeAccountName": "", "exeAccountId": 0 }'

Update LiveUpdate config

POST /api/v2/MT4/{tradePlatform}/CfgUpdateLiveUpdate

Update a LiveUpdate service configuration — Type 1 mutator.

Manager (live) call. LiveUpdate entries are paged on the read side (see CfgRequestLiveUpdate); the v2 contract identifies an entry by its Company field (same cursor key the read endpoint uses). Flow: read live list → match by Company → overlay → write back. The 128-element Files descriptor table and the runtime Connections counter are preserved server-side.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4LiveUpdate (application/json) — Replacement fields; Company identifies the entry.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateLiveUpdate" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "company": "", "path": "", "version": 0, "build": 0, "maxConnect": 0, "connections": 0 }'

Update manager config

POST /api/v2/MT4/{tradePlatform}/CfgUpdateManager

Update a manager-account configuration — Type 1 mutator.

Manager (live) call. Manager-account entries are paged on the read side (see CfgRequestManager); the v2 contract identifies an entry by Login. Flow: read live list → match by Login → overlay (19 permission flags + IP filter + MailBox/Groups/InfoDepth) → write back. The wrapper's Name (read-only — server sets it), SecGroups (32-entry permission table), ExpTime, Unused, and Reserved are preserved.

IpFrom/IpTo in the body are long (DTO widens the wrapper's uint for safe JSON numerics) — values outside [0, uint.MaxValue] are rejected with errorCode=Validation before ApplyTo, to avoid a runtime OverflowException from Mapperly's checked cast.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4ManagerRights (application/json) — Replacement fields; Login identifies the manager.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateManager" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "login": 0, "name": "", "groups": "", "mailBox": "", "infoDepth": 0, "manager": false }'

Update IP firewall rule

POST /api/v2/MT4/{tradePlatform}/CfgUpdateAccess/{pos}

Update an IP firewall rule at a given list position — Type 1 mutator.

Manager (live) call. The wrapper's CfgUpdateAccess(cfg, pos) signature requires a position rather than a unique-key lookup (the rule table has no stable identifiers — multiple rules can carry the same range/action/comment). The v2 endpoint exposes the position as a route parameter; callers must read the current list via CfgRequestAccess first and pass the index of the row to update. Flow:

  • Read the live list via CfgRequestAccess.

  • Bounds-check pos against the list length — out of range yields a NotFound envelope.

  • Apply DTO overlay onto list[pos].

  • Write back with CfgUpdateAccess(merged, pos).

IpFrom/IpTo in the body must fit in [0, uint.MaxValue] — out-of-range values are rejected with errorCode=Validation before the Mapperly checked-narrowing cast can throw.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the firewall list
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4Access (application/json) — Replacement contents for the row at pos

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateAccess/$POS" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "action": 0, "ipFrom": 0, "ipTo": 0, "comment": "" }'

Update data-server entry

POST /api/v2/MT4/{tradePlatform}/CfgUpdateDataServer/{pos}

Update a DataServer (access-server) entry at a given list position — Type 1 mutator.

Same position-based read-modify-write pattern as CfgUpdateAccess. Preserves internal padding (Reserved1, Reserved2) and the Next pointer. Loading/IpInternal in the body must fit in [0, uint.MaxValue].

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the DataServer list
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4DataServer (application/json) — Replacement contents for the row at pos

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateDataServer/$POS" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "server": "", "ip": 0, "description": "", "isProxy": 0, "priority": 0, "loading": 0 }'

Update holiday entry

POST /api/v2/MT4/{tradePlatform}/CfgUpdateHoliday/{pos}

Update a holiday-calendar entry at a given list position — Type 1 mutator.

Position-based read-modify-write. The wrapper stores Enable as int (0/1) — the DTO surfaces it as bool; the mapper bridges with a BoolToInt helper. The 13-int Reserved padding and Next pointer are preserved.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the holiday list
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4Holiday (application/json) — Replacement contents for the row at pos

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateHoliday/$POS" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "year": 0, "month": 0, "day": 0, "from": 0, "to": 0, "symbol": "" }'

Update symbol group

POST /api/v2/MT4/{tradePlatform}/CfgUpdateSymbolGroup/{pos}

Update a symbol group at a given list position — Type 1 mutator.

Position-based read-modify-write. ConSymbolGroup has no reserved padding or internal pointers, so the overlay is trivial.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the symbol-group list
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Request body

MT4SymbolGroup (application/json) — Replacement contents for the row at pos

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgUpdateSymbolGroup/$POS" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "", "description": "" }'

List gateway accounts

GET /api/v2/MT4/{tradePlatform}/CfgRequestGatewayAccount

All STP gateway-account configuration entries on the MT4 server, paginated by stable internal Id.

Manager-live read (round-trip). Each entry describes an external MT4 server connection used for STP order routing: public Name, an internal Id (stable identifier — used as the cursor key), the external server Login + Address, a NotifyLogins fixed-size array of 8 broker-side recipients, and a Flags bitmap. The wrapper's Password field (STP MT4 credential) is intentionally excluded from the v2 contract.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestGatewayAccount" \
  -H "Authorization: Bearer $TOKEN"

List gateway markups

GET /api/v2/MT4/{tradePlatform}/CfgRequestGatewayMarkup

All MT4 gateway-markup rules (per-symbol bid/ask spread adjustments applied to STP-routed quotes), paginated.

Manager-live read (round-trip). Each entry maps an external Source (symbol/mask/group) onto a local Symbol with per-side pip markups (BidMarkup/AskMarkup). Ordering: by (Source, Symbol) ascending. Cursor is an opaque base64 string holding the composite key "{Source}|{Symbol}" — MT4 symbol wildcards use * and ? (not |), so the delimiter is safe.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestGatewayMarkup" \
  -H "Authorization: Bearer $TOKEN"

List gateway rules

GET /api/v2/MT4/{tradePlatform}/CfgRequestGatewayRule

All MT4 gateway-rule entries (STP execution routing policies), paginated by Name.

Manager-live read (round-trip). Each rule matches incoming orders by RequestSymbol + RequestGroup and routes them to a configured execution gateway-account (ExeAccountName/ExeAccountId) with per-rule slippage and volume limits. Name is assumed unique within the rules table and serves as the cursor key.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestGatewayRule" \
  -H "Authorization: Bearer $TOKEN"

List data servers

GET /api/v2/MT4/{tradePlatform}/CfgRequestDataServer

All MT4 access-server (data-server) entries advertised to clients for connection, paginated by Server name.

Manager-live read (round-trip). Returns the broker-side advertised list of connection endpoints — each entry: Server (host:port), Ip, Description, IsProxy flag, Priority (0-7 base, 255 = idle), Loading (UINT_MAX = no reporting), IpInternal, IsWitness flag. Internal Reserved padding and the Next pointer chain are dropped.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestDataServer" \
  -H "Authorization: Bearer $TOKEN"

List feeder configs

GET /api/v2/MT4/{tradePlatform}/CfgRequestFeeder

All quote/news feeder configurations on the MT4 server, paginated by Name.

Manager-live read (round-trip). Each entry: Name, File (loader path), Server (upstream), Login, Keywords (news filter), Enable flag, DataFeedMode (quotes/news/both), connection timeouts (Timeout, TimeoutReconnect, TimeoutSleep, AttempsSleep), NewsLangId. The wrapper's Password (datafeed credentials) is intentionally excluded from the v2 contract.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestFeeder" \
  -H "Authorization: Bearer $TOKEN"

List LiveUpdate configs

GET /api/v2/MT4/{tradePlatform}/CfgRequestLiveUpdate

All MT4 LiveUpdate service configurations on the server, paginated by Company name.

Manager-live read (round-trip). Each entry: Company (cursor key), Path, Version/Build, MaxConnect, current Connections (read-only), Type, Enable flag, TotalFiles. The wrapper's 128-element per-file Files descriptor table is dropped from this payload for tractability; a dedicated per-file endpoint will follow.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestLiveUpdate" \
  -H "Authorization: Bearer $TOKEN"

List sync rules

GET /api/v2/MT4/{tradePlatform}/CfgRequestSync

All chart-history synchronization rules configured on the MT4 server, paginated by Server name.

Manager-live read (round-trip). Each rule pulls historical bars from an upstream source — Server (cursor key) + Login identify the source, Mode/From/To/Securities define the sync scope, and TimeCorrection (minutes) adjusts incoming bar timestamps. The wrapper's Password (replication credentials) is intentionally excluded from the v2 contract.

Timeout: 10 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: Nothing was changed; the request is safe to repeat.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
limit query integer (int32) no Maximum number of items to return in one page. Omit to return all items in a single page. Maximum allowed value is 5000.
cursor query string no Opaque continuation token. Pass the value from the previous response's meta.paging.nextCursor to fetch the next page; omit for the first page.
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 10 s (read). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgRequestSync" \
  -H "Authorization: Bearer $TOKEN"

Delete IP firewall rule

POST /api/v2/MT4/{tradePlatform}/CfgDeleteAccess/{pos}

Deletes an entry from the server's IP firewall (Access) configuration table by zero-based row position.

Manager-live POST. Maps to the wrapper's CfgDeleteAccess(int pos). Read the current table via CfgRequestAccess, find the target row's index, then delete. Destructive — pair with Idempotency-Key on retry.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the access-rules table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteAccess/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete data-server entry

POST /api/v2/MT4/{tradePlatform}/CfgDeleteDataServer/{pos}

Deletes an entry from the server's access-server (DataServer) configuration table by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the data-server table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteDataServer/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete feeder config

POST /api/v2/MT4/{tradePlatform}/CfgDeleteFeeder/{pos}

Deletes an entry from the quote/news feeder configuration table by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the feeders table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteFeeder/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete gateway account

POST /api/v2/MT4/{tradePlatform}/CfgDeleteGatewayAccount/{pos}

Deletes an STP gateway-account configuration entry by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the gateway-accounts table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteGatewayAccount/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete gateway markup

POST /api/v2/MT4/{tradePlatform}/CfgDeleteGatewayMarkup/{pos}

Deletes a per-symbol gateway markup rule by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the gateway-markup table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteGatewayMarkup/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete gateway rule

POST /api/v2/MT4/{tradePlatform}/CfgDeleteGatewayRule/{pos}

Deletes an STP execution-routing (gateway) rule by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the gateway-rules table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteGatewayRule/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete holiday entry

POST /api/v2/MT4/{tradePlatform}/CfgDeleteHoliday/{pos}

Deletes a holiday-calendar entry by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the holiday table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteHoliday/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete LiveUpdate config

POST /api/v2/MT4/{tradePlatform}/CfgDeleteLiveUpdate/{pos}

Deletes a LiveUpdate service configuration by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the live-update table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteLiveUpdate/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete manager config

POST /api/v2/MT4/{tradePlatform}/CfgDeleteManager/{pos}

Deletes a manager-account configuration entry by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the managers table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteManager/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete symbol config

POST /api/v2/MT4/{tradePlatform}/CfgDeleteSymbol/{pos}

Deletes a symbol configuration entry by zero-based row position. This permanently removes the symbol from the server — pair with Idempotency-Key and prefer SymbolHide when you only want to suspend visibility.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the symbols table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteSymbol/$POS" \
  -H "Authorization: Bearer $TOKEN"

Delete sync rule

POST /api/v2/MT4/{tradePlatform}/CfgDeleteSync/{pos}

Deletes a chart-history synchronization rule by zero-based row position.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based row index in the sync-rules table
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgDeleteSync/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder IP firewall rule

POST /api/v2/MT4/{tradePlatform}/CfgShiftAccess/{pos}

Reorders an entry in the access-rules table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement (positive = down, negative = up)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftAccess/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder data-server entry

POST /api/v2/MT4/{tradePlatform}/CfgShiftDataServer/{pos}

Reorders an entry in the data-servers table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement (positive = down, negative = up)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftDataServer/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder feeder config

POST /api/v2/MT4/{tradePlatform}/CfgShiftFeeder/{pos}

Reorders an entry in the feeders table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement (positive = down, negative = up)
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftFeeder/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder gateway account

POST /api/v2/MT4/{tradePlatform}/CfgShiftGatewayAccount/{pos}

Reorders an entry in the gateway-accounts table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftGatewayAccount/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder gateway markup

POST /api/v2/MT4/{tradePlatform}/CfgShiftGatewayMarkup/{pos}

Reorders an entry in the gateway-markup table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftGatewayMarkup/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder gateway rule

POST /api/v2/MT4/{tradePlatform}/CfgShiftGatewayRule/{pos}

Reorders an entry in the gateway-rules table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftGatewayRule/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder trading group

POST /api/v2/MT4/{tradePlatform}/CfgShiftGroup/{pos}

Reorders an entry in the trading-groups table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftGroup/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder holiday entry

POST /api/v2/MT4/{tradePlatform}/CfgShiftHoliday/{pos}

Reorders an entry in the holiday-calendar table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftHoliday/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder LiveUpdate config

POST /api/v2/MT4/{tradePlatform}/CfgShiftLiveUpdate/{pos}

Reorders an entry in the live-update table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftLiveUpdate/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder manager config

POST /api/v2/MT4/{tradePlatform}/CfgShiftManager/{pos}

Reorders an entry in the managers table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftManager/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder plugin entry

POST /api/v2/MT4/{tradePlatform}/CfgShiftPlugin/{pos}

Reorders an entry in the plugins table by relative displacement.

Unlike the deferred CfgRequestPlugin read endpoint, the shift call does not dereference ConPluginParam.Params — it only reorders existing rows by index. Safe under wine x64.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftPlugin/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder symbol entry

POST /api/v2/MT4/{tradePlatform}/CfgShiftSymbol/{pos}

Reorders an entry in the symbols table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftSymbol/$POS" \
  -H "Authorization: Bearer $TOKEN"

Reorder sync rule

POST /api/v2/MT4/{tradePlatform}/CfgShiftSync/{pos}

Reorders an entry in the sync-rules table by relative displacement.

Timeout: 15 s by default, adjustable per request with the X-Request-Timeout header. When the trade server does not answer in time: The operation may still be completed by the server (X-Request-Outcome: unknown): check its result before repeating it.

Parameters

NameInTypeRequiredDescription
tradePlatform path string (uuid) yes Trade platform id (GUID)
pos path integer (int32) yes Zero-based source row index
shift query integer (int32) no Relative displacement
X-Request-Timeout header number (double) no How long to wait for the trade server, in seconds (1–300). Default for this operation: 15 s (change). The query parameter requestTimeout does the same for clients that cannot set headers. The applied value is returned in the X-Request-Timeout-Applied response header.

Responses

Example

curl -X POST "https://cloud.mywebapi.com/api/v2/MT4/$TRADE_PLATFORM_ID/CfgShiftSync/$POS" \
  -H "Authorization: Bearer $TOKEN"

Schemas

Types the operations above take and return, with their first-level properties; * marks a required one. The full graph is in the OpenAPI specification.

MT4CommonApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Common v2 DTO for MT4 server-wide common settings. Curated subset of the wrapper's ConCommon struct — exposes fields useful to clients while shielding the v2 contract from MetaQuotes schema drift.
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4CommonUpdate

v2 Type 1 mutator DTO for MT4 server-wide common settings. Curated subset of the wrapper's ConCommon struct — exposes the fields most likely to need adjustment from a SaaS surface while leaving runtime counters, derived state, and the wrapper's internal arrays to the secret-preservation overlay on the controller side.

PropertyTypeDescription
name string, nullable Trade server display name.
owner string, nullable Broker / company display name.
timeZone integer (int32) Server time zone offset from UTC, in hours.
daylightCorrection integer (int32) DST correction setting (server-specific integer).
timeZoneReal integer (int32) Real time-zone (no DST) offset from UTC, in hours.
timeSync string, nullable NTP server hostname for clock sync.
minClient integer (int32) Minimum acceptable client build number.
minApi integer (int32) Minimum acceptable Manager API build number.
keepEmails integer (int32) How long (days) to keep mailbox messages.
keepTicks integer (int32) How long (days) to keep tick history.
antiFlood integer (int32) Anti-flood threshold (requests per second).
floodControl integer (int32) Flood-control behaviour mode.

MT4HolidayListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Holiday[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4ManagerRightsListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4ManagerRights[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4ServerTimeApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4ServerTime v2 DTO for the MT4 server's per-hour access matrix (wrapper's ConTime.Days field). 168-element flat array; each element is 0 (denied) or 1 (allowed) for one hour of the week. Layout: index = day * 24 + hour, day-of-week 0..6 matches MT4's native convention where day 0 = Sunday. Example: AccessHours[24..47] covers Monday's 24 hours. Internal DaysControl and Reserved wrapper fields are not part of the v2 contract.
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4ServerTime

v2 DTO for the MT4 server's per-hour access matrix (wrapper's ConTime.Days field). 168-element flat array; each element is 0 (denied) or 1 (allowed) for one hour of the week. Layout: index = day * 24 + hour, day-of-week 0..6 matches MT4's native convention where day 0 = Sunday. Example: AccessHours[24..47] covers Monday's 24 hours. Internal DaysControl and Reserved wrapper fields are not part of the v2 contract.

PropertyTypeDescription
accessHours integer (int32)[] 7×24 = 168 hourly access flags. Index = day*24 + hour; day 0 = Sunday (MT4 convention). 0 = denied, 1 = allowed.

MT4AccessListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Access[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4BackupApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Backup v2 DTO for the MT4 server's backup configuration (wrapper's ConBackup). Curated subset — drops the WatchPassword field (slave-server credential) for security. All other wrapper public fields are preserved, enums are surfaced as enum types (V2JsonContext serializes them as strings via UseStringEnumConverter=true).
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4Backup

v2 DTO for the MT4 server's backup configuration (wrapper's ConBackup). Curated subset — drops the WatchPassword field (slave-server credential) for security. All other wrapper public fields are preserved, enums are surfaced as enum types (V2JsonContext serializes them as strings via UseStringEnumConverter=true).

PropertyTypeDescription
fullBackupPath string, nullable Filesystem path where full backups are written
fullBackupPeriod BackupExecutionPeriod Full backup schedule period (1h / 4h / 1d)
fullBackupStore BackupStorePeriod How long full backups are retained (1m / 3m / 6m / 1y)
fullBackupShift integer (int32) Full backup time-shift in minutes
fullBackupLastTime string (date-time) Last full backup completion timestamp (UTC)
externalPath string, nullable Path to external processing directory
archivePeriod ArcBackupExecutionPeriod Archive backup schedule period (5m / 15m / 30m / 1h)
archiveStore ArcBackupStorePeriod How long archive backups are retained (1w / 2w / 1m / 3m / 6m)
archiveShift integer (int32) Archive backup time-shift in minutes
archiveLastTime string (date-time) Last archive backup completion timestamp (UTC)
exportSecurities string, nullable Comma-separated list of exported securities
exportPath string, nullable Path to export script
exportPeriod ExportExecutionPeriod Export schedule period (1m / 5m / 15m / 30m / 1h)
exportLastTime string (date-time) Last export completion timestamp (UTC)
watchRole ServerRole Server role in HA pair (stand-alone / master / slave)
watchOpposite string, nullable Opposite server's IP:port string (not secret)
watchIp integer (int32) Watchdog IP (32-bit, raw wrapper representation)
watchState WatchdogState Watchdog state
watchFailover WatchdogFailoverMode Watchdog failover mode
watchTimeout integer (int32) Watchdog response timeout, seconds
watchLogin integer (int32) Watchdog login
watchTimestamp integer (int32) Watchdog last-seen timestamp (raw int — wrapper does not auto-convert)

MT4Sync

v2 DTO for a single MT4 chart-history synchronization rule. Curated subset of the wrapper's ConSync — drops the Reserved padding, the Next pointer chain, the unused port slot, AND the Password field (replication credentials to the upstream sync source).

PropertyTypeDescription
server string, nullable Upstream sync server address (used as cursor key)
login string, nullable Replication login (upstream credential identifier)
enable integer (int32) Enable flag (0 = disabled, 1 = enabled — raw wrapper int)
mode SynchronizationMode Synchronization mode (Add / Update / Insert — wrapper enum)
from integer (int32) Sync range start (negative = whole chart)
to integer (int32) Sync range end (negative = whole chart)
securities string, nullable Comma-separated list of symbols to synchronize
timeCorrection integer (int32) Time correction in minutes applied to incoming bars

MT4SyncApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Sync v2 DTO for a single MT4 chart-history synchronization rule. Curated subset of the wrapper's ConSync — drops the Reserved padding, the Next pointer chain, the unused port slot, AND the Password field (replication credentials to the upstream sync source).
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4Feeder

v2 DTO for a single MT4 quote/news feeder configuration. Curated subset of the wrapper's ConFeeder — drops the wrapper's Unused reserved blob AND the Password field (datafeed credentials).

PropertyTypeDescription
name string, nullable Feeder name (used as cursor key — assumed unique)
file string, nullable Datafeed loader filename (DLL or script path)
server string, nullable Upstream feeder server address
login string, nullable Datafeed login (upstream credential identifier)
keywords string, nullable Keywords for news filtering
enable integer (int32) Enable flag (0 = disabled, 1 = enabled — raw wrapper int)
dataFeedMode DataFeedMode Feed mode (quotes / news / both — wrapper enum)
timeout integer (int32) Maximum freeze time in seconds before considered stalled (default ~120)
timeoutReconnect integer (int32) Reconnect delay before "sleep" attempts threshold (default ~5s)
timeoutSleep integer (int32) Reconnect delay after "sleep" attempts threshold (default ~60s)
attempsSleep integer (int32) Reconnect count before switching to sleep timeout
newsLangId integer (int32) News language id

MT4FeederApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Feeder v2 DTO for a single MT4 quote/news feeder configuration. Curated subset of the wrapper's ConFeeder — drops the wrapper's Unused reserved blob AND the Password field (datafeed credentials).
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4GatewayAccount

v2 DTO for a single MT4 STP gateway-account configuration entry. Curated subset of the wrapper's ConGatewayAccount — drops the 23-int Reserved block AND the Password field (STP MT4 credential to the external server). NotifyLogins is preserved as int[8] because the wrapper exposes a fixed-size 8-slot array.

PropertyTypeDescription
enable boolean Whether the gateway-account entry is active
name string, nullable Public name of the gateway account
id integer (int32) Internal id (stable identifier)
type integer (int32) Gateway type (obsolete in modern MT4 builds — preserved for API completeness)
login integer (int32) STP MT4 login (account number on the external server)
address string, nullable External MT4 server address (host:port string)
notifyLogins integer (int32)[] Logins of broker managers receiving internal-email gateway notifications (fixed-size 8 slots)
flags EnGatewayAccountFlags Gateway-account flag bitmap (wrapper enum, serialized as string)

MT4GatewayAccountApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4GatewayAccount v2 DTO for a single MT4 STP gateway-account configuration entry. Curated subset of the wrapper's ConGatewayAccount — drops the 23-int Reserved block AND the Password field (STP MT4 credential to the external server). NotifyLogins is preserved as int[8] because the wrapper exposes a fixed-size 8-slot array.
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4GatewayMarkup

v2 DTO for a single MT4 gateway markup rule. Curated subset of the wrapper's ConGatewayMarkup — drops the 16-int Reserved padding. Source describes the external symbol (or a wildcard/group mask) being mapped onto Symbol on this server, with per-side spread adjustments BidMarkup and AskMarkup expressed in pips.

PropertyTypeDescription
enable boolean Whether the markup rule is active
source string, nullable External symbol name, mask, or symbol-group identifier
symbol string, nullable Local symbol name this markup applies to
accountName string, nullable Gateway-account name (obsolete in modern MT4 builds — preserved for API completeness)
accountId integer (int32) Gateway-account internal id (obsolete — see AccountName note)
bidMarkup integer (int32) Bid-side markup in pips (added to the external bid quote)
askMarkup integer (int32) Ask-side markup in pips (added to the external ask quote)

MT4GatewayMarkupApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4GatewayMarkup v2 DTO for a single MT4 gateway markup rule. Curated subset of the wrapper's ConGatewayMarkup — drops the 16-int Reserved padding. Source describes the external symbol (or a wildcard/group mask) being mapped onto Symbol on this server, with per-side spread adjustments BidMarkup and AskMarkup expressed in pips.
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4GatewayRule

v2 DTO for a single MT4 gateway-rule entry (STP execution routing policy). Curated subset of the wrapper's ConGatewayRule — drops the internal RequestRreserved/ExeReserved padding blocks. Each rule selects orders by RequestSymbol and RequestGroup (each can be an exact name, a wildcard mask, or a group identifier), then routes them to ExeAccount (named externally), with execution limits expressed in pips and lots.

PropertyTypeDescription
enable boolean Whether the rule is active
name string, nullable Public name of the rule (assumed unique within the rules table — used as cursor key)
requestSymbol string, nullable Order-matching symbol name, mask, or symbol-group identifier
requestGroup string, nullable Order-matching account group name or group mask
exeAccountName string, nullable Execution gateway-account name
exeAccountId integer (int32) Execution gateway-account internal id
exeMaxDeviation integer (int32) Maximum allowed deviation (pips) between requested and executed price
exeMaxProfitSlippage integer (int32) Maximum slippage in pips on profit-side execution
exeMaxProfitSlippageLots integer (int32) Maximum slippage volume in lots on profit-side execution
exeMaxLosingSlippage integer (int32) Maximum slippage in pips on losing-side execution
exeMaxLosingSlippageLots integer (int32) Maximum slippage volume in lots on losing-side execution
exeAccountPos integer (int32) Current open position on the execution account
exeVolumePercent integer (int32) Coverage percentage (volume routed externally vs. internal book)
exeFlags integer (int32) Execution flags bitmap (raw wrapper int)

MT4GatewayRuleApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4GatewayRule v2 DTO for a single MT4 gateway-rule entry (STP execution routing policy). Curated subset of the wrapper's ConGatewayRule — drops the internal RequestRreserved/ExeReserved padding blocks. Each rule selects orders by RequestSymbol and RequestGroup (each can be an exact name, a wildcard mask, or a group identifier), then routes them to ExeAccount (named externally), with execution limits expressed in pips and lots.
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4LiveUpdate

v2 DTO for a single MT4 LiveUpdate configuration entry. Curated subset of the wrapper's ConLiveUpdate — exposes the metadata (Company, Path, Version/Build, connection limits and counters, Type, Enable, TotalFiles). The wrapper's Files array (128-element LiveInfoFile descriptor table) is intentionally deferred to a future endpoint to keep this payload tractable; v2 callers needing per-file detail will get a separate CfgRequestLiveUpdateFiles in a later slice.

PropertyTypeDescription
company string, nullable Company name advertised by the LiveUpdate service (used as cursor key)
path string, nullable Filesystem path to the LiveUpdate files
version integer (int32) Service version number
build integer (int32) Service build number
maxConnect integer (int32) Maximum simultaneous client connections allowed
connections integer (int32) Currently active client connections (read-only counter)
type integer (int32) LiveUpdate kind/type (raw wrapper int — LIVE_UPDATE_* constants)
enable integer (int32) Enable flag (0 = disabled, 1 = enabled — raw wrapper int)
totalFiles integer (int32) Total files served

MT4LiveUpdateApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4LiveUpdate v2 DTO for a single MT4 LiveUpdate configuration entry. Curated subset of the wrapper's ConLiveUpdate — exposes the metadata (Company, Path, Version/Build, connection limits and counters, Type, Enable, TotalFiles). The wrapper's Files array (128-element LiveInfoFile descriptor table) is intentionally deferred to a future endpoint to keep this payload tractable; v2 callers needing per-file detail will get a separate CfgRequestLiveUpdateFiles in a later slice.
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4ManagerRights

v2 DTO for an MT4 manager-account configuration entry. Curated subset of the wrapper's ConManager struct — exposes Login/Name/Groups/MailBox, the 19 boolean permission rights, IP-filter fields, and InfoDepth. Drops internal fields: SecGroups, ExpTime, Unused, Reserved blocks. IPFrom/IPTo are widened from uint to long so the JSON-serialized value fits inside JS Number safely (no precision loss).

PropertyTypeDescription
login integer (int32) Manager account login (read-only)
name string, nullable Display name of the manager (read-only on the wrapper side)
groups string, nullable Comma-separated list of managed group names (wildcard '*' allowed)
mailBox string, nullable Internal mailbox name used for manager mail
infoDepth integer (int32) Maximum reportable history depth, in days
manager boolean
money boolean
online boolean
riskMan boolean
broker boolean
admin boolean
logs boolean
reports boolean
trades boolean
marketWatch boolean
email boolean
userDetails boolean
seeTrades boolean
news boolean
plugins boolean
market boolean
notifications boolean
serverReports boolean
techSupport boolean
ipFilter integer (int32) IP filtering mode (0 = disabled; non-zero = enabled — raw MT4 wrapper value, semantics preserved)
ipFrom integer (int64) IP range start (uint widened to long for safe JSON numeric serialization)
ipTo integer (int64) IP range end (uint widened to long for safe JSON numeric serialization)

MT4ManagerRightsApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4ManagerRights v2 DTO for an MT4 manager-account configuration entry. Curated subset of the wrapper's ConManager struct — exposes Login/Name/Groups/MailBox, the 19 boolean permission rights, IP-filter fields, and InfoDepth. Drops internal fields: SecGroups, ExpTime, Unused, Reserved blocks. IPFrom/IPTo are widened from uint to long so the JSON-serialized value fits inside JS Number safely (no precision loss).
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4Access

v2 DTO for a single MT4 firewall (access) rule. Curated subset of the wrapper's ConAccess struct — drops the 17-int Reserved padding. IpFrom/IpTo are widened from uint to long so the JSON-serialized numeric value fits inside JS Number safely (no precision loss).

PropertyTypeDescription
action integer (int32) Firewall rule action — raw MT4 value preserved (FW_BLOCK / FW_PERMIT per the wrapper's enum encoding; surfaced as int because the wrapper itself surfaces it as int).
ipFrom integer (int64) IP range start (uint widened to long for JSON safety)
ipTo integer (int64) IP range end (uint widened to long for JSON safety)
comment string, nullable Free-form comment for the rule

MT4AccessApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Access v2 DTO for a single MT4 firewall (access) rule. Curated subset of the wrapper's ConAccess struct — drops the 17-int Reserved padding. IpFrom/IpTo are widened from uint to long so the JSON-serialized numeric value fits inside JS Number safely (no precision loss).
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4DataServer

v2 DTO for a single MT4 access-server (DataServer) configuration entry. Curated subset of the wrapper's ConDataServer — drops the internal Reserved1/Reserved2 padding and the Next pointer chain. Loading and IpInternal are widened from uint to long for JSON-safe numeric serialization.

PropertyTypeDescription
server string, nullable Server address as "host:port" or "host"
ip integer (int32) Server IP (raw wrapper int — sign-preserved; high-bit IPs may serialize as negative)
description string, nullable Free-form server description
isProxy integer (int32) Whether the server can act as a proxy (0/1; raw wrapper int preserved)
priority integer (int32) Connection priority: 0-7 base, 255 = idle
loading integer (int64) Reported server load (UINT_MAX = no information reported)
ipInternal integer (int64) Internal IP address (widened uint → long)
isWitness integer (int32) Failover-witness flag (0 / 1)

MT4DataServerApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4DataServer v2 DTO for a single MT4 access-server (DataServer) configuration entry. Curated subset of the wrapper's ConDataServer — drops the internal Reserved1/Reserved2 padding and the Next pointer chain. Loading and IpInternal are widened from uint to long for JSON-safe numeric serialization.
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4Holiday

v2 DTO for a single MT4 holiday-calendar entry. Curated subset of the wrapper's ConHoliday struct — exposes the broker-facing fields and drops the internal Reserved/Next pointer block. Date is split into Year/Month/Day ints (wire-compatible with the wrapper, no DateTime conversion to avoid timezone ambiguity for date-only entries).

PropertyTypeDescription
year integer (int32) Calendar year of the holiday (e.g. 2026)
month integer (int32) Calendar month, 1..12
day integer (int32) Day-of-month, 1..31
from integer (int32) Work-day start time, in minutes from midnight (0 if closed all day)
to integer (int32) Work-day end time, in minutes from midnight
symbol string, nullable Symbol name, symbol group name, or "All" for global holiday
description string, nullable Free-form description of the holiday
enable boolean Whether the holiday entry is active

MT4HolidayApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Holiday v2 DTO for a single MT4 holiday-calendar entry. Curated subset of the wrapper's ConHoliday struct — exposes the broker-facing fields and drops the internal Reserved/Next pointer block. Date is split into Year/Month/Day ints (wire-compatible with the wrapper, no DateTime conversion to avoid timezone ambiguity for date-only entries).
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4SymbolGroup

v2 DTO describing a single MT4 symbol group (security category). Mirrors the wrapper's ConSymbolGroup — which only carries Name and Description as fixed-size ANSI fields. There is no ProfitCurrency on the MT4-side group struct (that lives on per-symbol settings, not on the group level), so the DTO faithfully exposes only what exists.

PropertyTypeDescription
name string, nullable Group name (e.g. "Forex", "CFD", "Metals")
description string, nullable Human-readable description of the group

MT4SymbolGroupApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4SymbolGroup v2 DTO describing a single MT4 symbol group (security category). Mirrors the wrapper's ConSymbolGroup — which only carries Name and Description as fixed-size ANSI fields. There is no ProfitCurrency on the MT4-side group struct (that lives on per-symbol settings, not on the group level), so the DTO faithfully exposes only what exists.
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4GatewayAccountListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4GatewayAccount[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4GatewayMarkupListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4GatewayMarkup[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4GatewayRuleListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4GatewayRule[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4DataServerListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4DataServer[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4FeederListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Feeder[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4LiveUpdateListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4LiveUpdate[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4SyncListApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data MT4Sync[]
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

BooleanApiResponse

Unified v2 response envelope: data is the payload (null on error); error is the error object (null on success, always serialised); meta contains response metadata (activityId and optional paging). HTTP status is always 200.

PropertyTypeDescription
data boolean
error ApiError v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.
meta ApiMeta Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

MT4Common

v2 DTO for MT4 server-wide common settings. Curated subset of the wrapper's ConCommon struct — exposes fields useful to clients while shielding the v2 contract from MetaQuotes schema drift.

PropertyTypeDescription
name string, nullable Trade server name
owner string, nullable Broker / company display name
build integer (int32) Trade server build number
version integer (int32) Trade server version
timeZone integer (int32) Server time zone offset from UTC, in hours (DST-adjusted)

ApiError

v2 error body. Code is the stable transport error code; ManagerCode is the raw MT4 ResultCode (serialized as a string for a known enum member, or as a number for an unrecognised value returned by MT4); Message is a human-readable description.

PropertyTypeDescription
code WebApiErrorCode Stable transport-level error code.
managerCode ResultCode Raw MT4/MT5 manager result code, when the error came from the trading platform; otherwise null.
message string, nullable Human-readable error description.

ApiMeta

Response metadata. ActivityId is the W3C trace-id for correlation in Seq/SigNoz. Paging is present only on paginated list responses; otherwise it is omitted — the global JSON context policy serialises null fields, so we override that here with System.Text.Json.Serialization.JsonIgnoreCondition.WhenWritingNull.

PropertyTypeDescription
activityId string, nullable W3C trace id for correlating this response in logs and tracing (Seq/SigNoz).
paging PagingMeta Pagination info; present only on list responses, omitted otherwise.

BackupExecutionPeriod

Values: H1, H4, D1

BackupStorePeriod

Values: Mn1, Mn3, Mn6, Y1

ArcBackupExecutionPeriod

Values: M5, M15, M30, H1

ArcBackupStorePeriod

Values: W1, W2, Mn1, Mn3, Mn6

ExportExecutionPeriod

Values: M1, M5, M15, M30, H1

ServerRole

Values: StandAlone, Master, Slave

WatchdogState

Values: Disconnected, Synchronizing, Synchronized

WatchdogFailoverMode

Values: Off, Most, Full

SynchronizationMode

Values: Add, Update, Insert, Delete, Last

DataFeedMode

Values: Quotes, News, QuotesNews

EnGatewayAccountFlags

Values: None, Quotes