Account data
GET /api/v1/accounts/{login} returns only retcode and answer.
Within answer, only Login, Registration, LastAccess, Name, FirstName,
Balance, and Credit are allowed. All other MT5 fields are excluded.
Example successful response:
Registration and LastAccess are Unix
timestamps in seconds. This field list applies only to the account query;
errors retain the format described in Errors.
Open positions
GET /api/v1/accounts/{login}/positions returns a page of positions.
A successful response contains only retcode and an answer array.
Each position allows only these fields: Position, Symbol, Action, TimeCreate, PriceOpen, PriceCurrent, PriceSL, PriceTP, Volume, Profit, Storage.
Additional MT5 fields are excluded. Received values and types are preserved;
missing fields are omitted. With no positions, answer is [].
TimeCreate and TimeUpdate are Unix timestamps in seconds; their Msc
variants use milliseconds. Errors retain their usual format.
Keep the
Position ticket, owner Login, Symbol, Action, and Volume
to prepare a closing order. The ticket is not the ID returned when submitting an order.
GET /api/v1/accounts/{login}/positions/count queries the number of open positions.
Its result reflects the time of the query and may change before you read a page.
Active orders
A successful response contains onlyretcode and an answer array.
Each order allows only these fields: Order, Symbol, State, Type, TimeSetup, TimeExpiration, TypeTime, PriceOrder, PriceTrigger, PriceCurrent, PriceSL, PriceTP, VolumeInitial, VolumeCurrent.
Additional MT5 fields are excluded. Received values and types are preserved;
missing fields are omitted. With no orders, answer is [].
Time fields use Unix seconds and Msc variants use milliseconds; received
0 values are preserved. Errors retain their usual format.
GET /api/v1/accounts/{login}/orders queries active MT5 orders.
It accepts offset from 0 and total between 1 and 100, defaulting to 100.
It is not execution history. An executed market order does not necessarily remain
in this list. Use POST /api/v1/orders/{order}/modify to modify a pending order and POST /api/v1/orders/{order}/cancel to cancel it.
Traverse all pages
- Start with
offset=0and atotalwithin the route’s limit. - Process the
answerarray in the MT5 response. - If it contains fewer items than
total, stop. - If the page is full, increase
offsetbytotaland query the next page. - Apply a defensive page limit and respect the permitted request frequency.
GET /api/v1/accounts/{login}/deals?from=...&to=...&offset=0&total=100.
