Deal and order history
Deals and past orders in a time range.
List deals
The account's deals in a time range (MT5's HistorySelect), read fresh from its terminal.
Path
The account's id, acc_ and 26 characters, as the dashboard shows it.
Query
The range's start: broker server time, seconds since 1970, included.
The range's end: broker server time, seconds since 1970, included. Not before from.
Response
A list of theseThe order that made the deal.
The position's id (identifier).
MT5's DEAL_TYPE: buy, sell, or a balance operation.
MT5's DEAL_ENTRY: in opens or adds, out closes, inout reverses, out_by closes by an opposite position.
MT5's DEAL_REASON: who or what made the deal (expert for the API, sl, tp, so for a stop out).
Broker server time, milliseconds since 1970.
Errors
| 401 | invalid_api_key | The key is not a workspace's current key (a rolled key stops working within about a minute). |
| 401 | missing_api_key | No API key: send it as |
| 404 | no_such_account | No such account, or one the key's workspace doesn't have: the two look the same. |
| 422 | invalid_request | A field, query parameter or header is missing, malformed or not allowed, or the body is not JSON. Nothing was sent. |
| 422 | range_too_large | The history range holds more than one answer can carry: ask for a shorter range. |
| 503 | account_not_connected | The account's terminal is not connected to the engine (stopped, starting, or restarting). Nothing was sent, except by the kill switch: engaging it still engages it, and may already have deleted pending orders. |
| 503 | bad_command | The terminal refused the command, for example a negative |
| 503 | engine_busy | The account's engine host has too many calls in flight (256). Nothing was done; try again. |
| 503 | engine_unavailable | The account's engine host is not connected to Pipsocket, or disconnected while the call waited. A trade it already had is still settled: look it up. |
| 503 | terminal_error | The terminal did not give the answer asked for. |
| 504 | engine_timeout | The account's engine did not answer within 30 seconds. |
| 504 | terminal_timeout | The account's terminal did not answer within 5 seconds. |
List past orders
The account's orders no longer pending in a time range (MT5's HistorySelect), with their final state, read fresh from its terminal.
Path
The account's id, acc_ and 26 characters, as the dashboard shows it.
Query
The range's start: broker server time, seconds since 1970, included.
The range's end: broker server time, seconds since 1970, included. Not before from.
Response
A list of theseMT5's ENUM_ORDER_TYPE: buy and sell are market orders (ORDER_TYPE_BUY, ORDER_TYPE_SELL); buy_limit, sell_limit, buy_stop, sell_stop, buy_stop_limit and sell_stop_limit are pending orders (ORDER_TYPE_BUY_LIMIT and so on); close_by is ORDER_TYPE_CLOSE_BY.
MT5's ORDER_STATE.
Broker server time, milliseconds since 1970.
Broker server time, milliseconds since 1970.
Errors
| 401 | invalid_api_key | The key is not a workspace's current key (a rolled key stops working within about a minute). |
| 401 | missing_api_key | No API key: send it as |
| 404 | no_such_account | No such account, or one the key's workspace doesn't have: the two look the same. |
| 422 | invalid_request | A field, query parameter or header is missing, malformed or not allowed, or the body is not JSON. Nothing was sent. |
| 422 | range_too_large | The history range holds more than one answer can carry: ask for a shorter range. |
| 503 | account_not_connected | The account's terminal is not connected to the engine (stopped, starting, or restarting). Nothing was sent, except by the kill switch: engaging it still engages it, and may already have deleted pending orders. |
| 503 | bad_command | The terminal refused the command, for example a negative |
| 503 | engine_busy | The account's engine host has too many calls in flight (256). Nothing was done; try again. |
| 503 | engine_unavailable | The account's engine host is not connected to Pipsocket, or disconnected while the call waited. A trade it already had is still settled: look it up. |
| 503 | terminal_error | The terminal did not give the answer asked for. |
| 504 | engine_timeout | The account's engine did not answer within 30 seconds. |
| 504 | terminal_timeout | The account's terminal did not answer within 5 seconds. |