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.
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
Name
In
Type
Required
Description
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.
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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
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
Name
In
Type
Required
Description
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
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
Name
In
Type
Required
Description
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
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
Name
In
Type
Required
Description
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
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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.
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.
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.
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.
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.
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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
Name
In
Type
Required
Description
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.
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.
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.
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.
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.
Property
Type
Description
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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).
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).
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.
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).
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.
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).
Property
Type
Description
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)
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.
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).
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.
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.
Property
Type
Description
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)
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.
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.
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.
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.
Property
Type
Description
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.
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.
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.
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.
Property
Type
Description
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.
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.
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.
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.
Property
Type
Description
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.
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.
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.
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).
Property
Type
Description
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.
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).
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.
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).
Property
Type
Description
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.
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).
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.
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.
Property
Type
Description
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.
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.
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.
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).
Property
Type
Description
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.
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).
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.
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.
Property
Type
Description
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Property
Type
Description
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.
Property
Type
Description
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.
Property
Type
Description
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.