API

Contents

Also we have WebSockets description

ExternalAccountCreate

Request

POST /api/ExternalAccountCreate.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body:

Required Fields:
Optional Fields:

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body:

Examples

Success

Status Code: 200

{
    "ExternalAccountID": "test123",
    "AccountLogin": "Platform1_Demo_1234",
    "RespDateTime": "2019-11-14 06:42:09.888",
    "Outcome": 0,
    "Description": "Account Created" 
}

Error

Status Code: 400

Case: field externalAccountID is not specified

{
  "Error": "Field externalAccountID is empty"
}

ExternalAccountUpdateUserInfo

Request

POST /api/ExternalAccountUpdateUserInfo.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "ExternalAccountID": "00661070",
    "RespDateTime": "2019-11-22 12:12:19.890",
    "Outcome": 0,
    "Description": "User info was successfully updated"
}

Error

Case: trying to update a non-existing account

Status Code: 400

{
    "ExternalAccountID": "00661071",
    "RespDateTime": "2019-11-22 12:13:34.989",
    "Outcome": 50010,
    "Description": "Account is not valid"
}

ExternalAccountUpdateTraderInfo

Request

POST /api/ExternalAccountUpdateTraderInfo.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "ExternalAccountID": "00661070",
    "RespDateTime": "2019-11-22 12:21:10.395",
    "Outcome": 0,
    "Description": "Trader info was successfully updated"
}

Error

Case: trying to update a non-existing account

Status Code: 400

{
    "ExternalAccountID": "00661071",
    "RespDateTime": "2019-11-22 12:13:34.989",
    "Outcome": 50010,
    "Description": "Account is not valid"
}

ExternalAccountUpdatePersonalAccountInfo

Request

POST /api/ExternalAccountUpdatePersonalAccountInfo.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "ExternalAccountID": "00661070",
    "RespDateTime": "2019-11-22 12:24:20.174",
    "Outcome": 0,
    "Description": "Personal account info was successfully updated"
}

Error

Case: trying to update a non-existing account

Status Code: 400

{
    "ExternalAccountID": "00661071",
    "RespDateTime": "2019-11-22 12:13:34.989",
    "Outcome": 50010,
    "Description": "Account is not valid"
}

ExternalAccountDeposit

Request

POST /api/ExternalAccountDeposit.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "ExternalAccountID": "00661070",
    "RespDateTime": "2019-11-22 12:26:51.307",
    "Outcome": 0,
    "Description": "Deposit complete"
}

Error

Case: trying to make a deposit to a non-existing account

Status Code: 400

{
    "ExternalAccountID": "00661071",
    "RespDateTime": "2019-11-22 12:13:34.989",
    "Outcome": 50010,
    "Description": "Account is not valid"
}

ExternalAccountWithdrawal

Request

POST /api/ExternalAccountWithdrawal.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "ExternalAccountID": "00661070",
    "DocumentID": "2",
    "RespDateTime": "2019-11-22 12:27:52.716",
    "Outcome": 0,
    "Description": "Withdrawal complete"
}

Error

Case: trying to make a withdrawal from a non-existing account

Status Code: 400

{
    "ExternalAccountID": "00661071",
    "DocumentID": "3",
    "RespDateTime": "2019-11-22 12:13:34.989",
    "Outcome": 50010,
    "Description": "Account is not valid"
}

ExternalAccountRetrieveRunningTrades

Request

POST /api/ExternalAccountRetrieveRunningTrades.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Trades format

Examples

Success

Status Code: 200

{
    "Trades": [
        {
            "OrderID": 636,
            "SymbolID": 6,
            "OrderType": 2,
            "ExternalAccountID": "00661070",
            "Volume": 12340000.0,
            "OpenTime": "15.11.2019 11:10:42",
            "OpenPrice": 0.74947,
            "StopLoss": 0.0,
            "TakeProfit": 0.0,
            "TrailingStop": 0.0,
            "Margin": 92484.6,
            "Profit": 0.0,
            "CurrentPrice": 0.7497,
            "CloseTime": "30.12.1899",
            "ClosePrice": 0.0,
            "TransactionFees": -24.68,
            "Rollover": 0.0
        }
    ],
    "RespDateTime": "2019-11-22 12:31:18.706",
    "Outcome": 0,
    "Description": "Success"
}

Error

Case: trying to retrieve running trades of a non-existing account

Status Code: 400

{
    "Trades": [],
    "RespDateTime": "2019-11-22 12:13:34.989",
    "Outcome": 50010,
    "Description": "Account is not valid"
}

AccountRetrieveRunningTrades

Request

POST /api/AccountRetrieveRunningTrades.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Trades format

Examples

Success

Status Code: 200

{
    "Trades": [
        {
            "ExternalAccountID": "00661070",
            "OrderID": 1588,
            "TradeGroupID": 0,
            "Symbol" : "DJ30.c",
            "SymbolID": 1,
            "OrderType": 2,
            "Volume": 10000.000000000,
            "LotVolume": 10000.000000000,
            "OpenTime": "2020-01-10T12:00:55.06Z",
            "OpenPrice": 1.01534000,
            "CurrentPrice": 1.0158462,
            "Profit": 1.0000,
            "StopLoss": 0.0,
            "TakeProfit": 0.0,
            "TrailingStop": 0,
            "Margin": 100.0000,
            "TransactionFee": 0.0,
            "Rollover": 0.0000
        }
    ],
    "Outcome": 0,
    "RespDateTime": "2020-02-07T17:25:17.6238448+05:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

ExternalAccountRetrieveTradeHistory

Request

POST /api/ExternalAccountRetrieveTradeHistory.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Trades format

Examples

Success

Status Code: 200

{
    "Trades": [
        {
            "ExternalAccountID": "123",
            "OrderID": 13521,
            "Symbol": "DJ30.c",
            "OrderType": "Sell",
            "Volume": 10.000000000,
            "LotVolume": 10.0000000000000,
            "OpenTime": "2023-04-28T14:35:34.833Z",
            "OpenPrice": 33986.60000000,
            "StopLoss": 34003.00000000,
            "TakeProfit": 33970.20000000,
            "TrailingStop": 0,
            "Margin": 6797.3200,
            "Profit": 164.0000,
            "CloseTime": "2023-04-28T14:37:10.57Z",
            "ClosePrice": 33970.20000000,
            "TransactionFee": -1.3600,
            "Rollover": 0.0000,
            "ClearProfit": 162.6400,
            "LoseTradesCount": 8,
            "ProfitableTradesCount": 6,
            "TotalTrades": 18,
            "TotalProfit": -36872.3800,
            "ProfitAmountSum": 4901.2200,
            "LossAmountSum": -41773.6000
        }
    ],
    "Outcome": 0,
    "RespDateTime": "2024-08-28T23:11:09.7150932-07:00",
    "Description": "Success"
}

Error

Case: trying to retrieve trade history of non-existing account

Status Code: 400

{
    "Trades": [],
    "RespDateTime": "2019-11-22 12:13:34.989",
    "Outcome": 50010,
    "Description": "Account is not valid"
}

AccountRetrieveTradeHistory

Request

POST /api/AccountRetrieveTradeHistory.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Search Filter specification

Search filters allow you to filter trades with specific conditions. Currently only AccountRetrieveTradeHistory method is supported. searchFilters is an array of filters you want to apply to the search. Every search filter must contain field and condition fields. According to the condition, different value fields are required, those are described below. A quick example:

[
    {
        "field": "SymbolID", // Field to filter
        "condition": "in", // Condition
        "valueRange": [1, 2, 3] // Values to filter from, that is, SymbolID must be 1, 2 or 3
    },
    {
        "field": "Volume",
        "condition": "between", // 'between' condition requires 'valueFrom' and 'valueTo'
        "valueFrom": 100,
        "valueTo": 10000 // Volume is >= 100 and <= 10,000
    },
    {
        "field": "Profit",
        "condition": "gt", // 'gt' requires 'value'
        "value": 10 // profit is greater than 10
    }
]

Please note, that in the actual request JSON comments are NOT supported. Although you can include whitespace (new lines/spaces/tabulations/etc). JSON fields (condition, valueFrom, valueTo, etc) are NOT case-sensitive, but field names are (SymbolID, Volume, etc).

Search Filter Conditions

These conditions are supported:

Supported Fields and their conditions

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

SearchFilters:

[
    {
        "field": "SymbolID",
        "condition": "in",
        "valueRange": [1,3]
    },
    {
        "field": "Profit",
        "condition": "gte",
        "value": -10
    }
]

totalOnly is false

Status Code: 200

{
    "Trades": [
        {
            "ExternalAccountID": "extacc1",
            "OrderID": 578,
            "Symbol": "USDCHF",
            "OrderType": "Buy",
            "Volume": 10000.000000000,
            "OpenTime": "2021-05-26T09:06:47.04Z",
            "OpenPrice": 1.01344000,
            "StopLoss": 0.0,
            "TakeProfit": 0.0,
            "TrailingStop": 0,
            "Margin": 100.0000,
            "Profit": 5.8200,
            "CloseTime": "2021-05-26T09:06:51.327Z",
            "ClosePrice": 1.01403000,
            "TransactionFee": -0.0400,
            "Rollover": 0.0000,
            "ClearProfit": 5.7800
        }
    ],
    "ProfitableTradesData": {
        "Count": 3,
        "ProfitSum": 7.0600
    },
    "LossTradesData": {
        "Count": 1,
        "LossSum": -7.6400
    },
    "TradeCount": 4,
    "TotalProfit": -0.5800,
    "Outcome": 0,
    "RespDateTime": "2021-06-01T15:04:50.6393203+05:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

ExternalAccountRetrieveAccountDetails

Request

POST /api/ExternalAccountRetrieveAccountDetails.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

AccountDetails format

Examples

Success

Status Code: 200

{
    "AccountDetails": [
        {
            "TraderID": 13,
            "TradeGroupID": "12",
            "TradeGroupName": "demoforex",
            "ExternalAccountID": "extacc1",
            "PersonalAccountID": 41,
            "UsedMargin": 0.0,
            "Balance": 278447.5600,
            "FreeMargin": 278447.5600,
            "Equity": 278447.5600,
            "UPL": 0.0,
            "Credit": 100.0000,
            "CreatedAt": "2023-04-24T12:03:02Z",
            "IsDisabled": false,
            "LastIpAddress": "10.10.23.5",
            "IsLocked": false,
            "IsReadonly": false,
        }
    ],
    "Outcome": 0,
    "RespDateTime": "2021-05-31T11:43:54.8692877+05:00",
    "Description": "Success"
}

Error

Case: account is invalid

Status Code: 400

{
    "Balance": 0.0,
    "UPL": 0.0,
    "Equity": 0.0,
    "FreeMargin": 0.0,
    "UsedMargin": 0.0,
    "RespDateTime": "2019-11-22 12:44:12.776",
    "Outcome": 13,
    "Description": "Invalid Account."
}

AccountRetrieveAccountDetails

Request

POST /api/AccountRetrieveAccountDetails.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

    "AccountDetails": [
        {
            "TraderID": 13,
            "TradeGroupID": "12",
            "ExternalAccountID": "00661070",
            "PersonalAccountID": 41,
            "UsedMargin": 100.0000,
            "Balance": 278448.2800,
            "FreeMargin": 278073.5400,
            "Equity": 278173.5400,
            "UPL": -274.74
        },
        {
            "TraderID": 23,
            "TradeGroupID": "12",
            "ExternalAccountID": "00661071",
            "PersonalAccountID": 51,
            "UsedMargin": 0.3200,
            "Balance": 52.9200,
            "FreeMargin": 52.6000,
            "Equity": 53.5300,
            "UPL": 0.61
        }
    ],
    "Outcome": 0,
    "RespDateTime": "2020-02-07T17:25:17.6238448+05:00",
    "Description": "Success"

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountRetrieveTransactionHistory

Request

POST /api/AccountRetrieveTransactionHistory.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

TransactionHistory format

Examples

Success

Status Code: 200

{
    "TransactionHistory": [
        {
            "ExternalAccountID": "81",
            "TransactionType": "Deposit",
            "IncomeAmount": 10000.0000,
            "TransactionTime": "2019-12-21T11:42:39Z",
            "Comments": null,
            "DocumentID" : 1
        }
    ],
    "Outcome": 0,
    "RespDateTime": "2020-02-07T17:25:17.6238448+05:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

ExternalAccountCredit

Request

POST /api/ExternalAccountCredit.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "ExternalAccountID": "81",
    "RespDateTime": "2021-05-24T10:57:33.4974325Z",
    "Outcome": 0,
    "Description": "Credit complete"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

ExternalAccountCheckPassword

Request

POST /api/ExternalAccountCheckPassword.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "PasswordCorrect": true,
    "RespDateTime": "2021-05-24 11:58:13.036",
    "Outcome": 0,
    "Description": "true"
}

Error

Case: Invalid account

Status Code: 400

{
  "Error": "Invalid Account."
}

ExternalAccountDisable

Request

POST /api/ExternalAccountDisable.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "RespDateTime": "2021-05-31 11:58:13.036",
    "Outcome": 0,
    "Description": "Success."
}

Error

Case: Invalid account

Status Code: 400

{
  "Error": "Invalid Account."
}

ExternalAccountEnable

Request

POST /api/ExternalAccountEnable.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "RespDateTime": "2021-05-31 11:58:13.036",
    "Outcome": 0,
    "Description": "Success."
}

Error

Case: Invalid account

Status Code: 400

{
  "Error": "Invalid Account."
}

RetrieveAllAccounts

Request

POST /api/RetrieveAllAccounts.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Accounts format

Examples

Success

Status Code: 200

{
    "Accounts": [],
    "RespDateTime": "2021-05-31 11:58:13.036",
    "Outcome": 0,
    "Description": "Success."
}

RetrieveCurrencies

Request

POST /api/RetrieveCurrencies.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Currencies format

Examples

Success

Status Code: 200

{
    "Currencies": [], 
    "RespDateTime": "2021-05-31 11:58:13.036",
    "Outcome": 0,
    "Description": "Success."
}

RetrieveGroupNames

Request

POST /api/RetrieveGroupNames.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

TradeGroups format
Suggestion format
SuggestionTradeGroupDefault format
Template format
TradeGroupDefault format
TradeGroupLotType format
TradeGroupDefaultTraderSetting format

Examples

Success

Status Code: 200

{
    "TradeGroups": [
        {
            "TradeGroupID": 12,
            "TradeGroupName": "demoforex",
            "LiquidationMarginRate": 30,
            "DocumentPrecision": 2,
            "PersonalAccountID": 31,
            "IntroducingBrokerPersonalAccountId": null,
            "EnableStandard": true,
            "EnableMini": true,
            "EnableMicro": true,
            "WithdrawalLimit": 25,
            "MinimumSpread": -1,
            "TransactionFee": 2.0000,
            "MinTransactionFee": 0.0000,
            "TransactionFeeIBShare": 0.0000,
            "TemplateTradeGroupID": 0,
            "Rebate_LPRate": 0.0000,
            "Rebate_Default_TraderRate": 0.0000,
            "Rebate_RA_ReferrerRate": 0.0000,
            "Rebate_RA_TraderRate": 0.0000,
            "Rebate_RA_IBRate": 0.0000,
            "Rebate_Default_IBRate": 0.0000,
            "IsActive": false,
            "GroupName_Prefix": null,
            "IsNakedSellAllowed": false,
            "LiquidityProviderPersonalAccountID": 1021,
            "IsTradingDisabled": false,
            "ShowMostPopularStrategies": false,
            "UseVolumeTrading": false,
            "ShowAlgoSubscriptions": true,
            "TradeGroupExt": null,
            "MarkupRebate_SharingMode": 2,
            "MarkupRebate_Default_TraderRate": 0.00000000,
            "MarkupRebate_RA_ReferrerRate": 0.00000000,
            "MarkupRebate_RA_TraderRate": 0.00000000,
            "MarkupRebate_RA_IBRate": 0.00000000,
            "MarkupRebate_Default_IBRate": 0.00000000,
            "MarkupRebate_RA_SystemRate": 100.00000000,
            "MarkupRebate_Default_SystemRate": 100.00000000,
            "TraderWatchListSuggestion": {
                "WatchListSuggestionID": 0,
                "WatchListSuggestionName": null
            },
            "TraderWatchListSuggestionID": 0,
            "TraderWatchListSuggestionTradeGroupDefault": {
                "SuggestionTradeGroupID": 0,
                "SuggestionID": null,
                "TradeGroupID": null
            },
            "WatchListTemplate": {
                "TemplateID": 0,
                "WatchListTemplateName": null
            },
            "WatchListTemplateID": 0,
            "WatchListTradeGroupDefault": {
                "TradeGroupTemplateID": 0,
                "TemplateID": null,
                "TradeGroupID": null
            },
            "Challenge_ActiveDays": null,
            "Challenge_WinCriteria": null,
            "Challenge_LoseCriteriaDay": null,
            "Challenge_LoseCriteriaOverall": null,
            "Challenge_InitialBalance": null,
            "Challenge_ChildGroupId": null,
            "Challenge_ChildGroupName": null,
            "Challenge_EmailTemplatePath": null,
            "LotTypeId": 0,
            "TradeGroupLotType": null,
            "TradeGroupDefaultTraderSetting": {
                "TradeGroupDefaultTraderSettingID": null,
                "TradeGroupID": null,
                "AskLine": null,
                "BidLine": null,
                "OneClickTrading": null,
                "Sound": null,
                "TradesOnChart": null,
                "OneClickAmount": null,
                "OneClickStopLoss": null,
                "OneClickStopLossUnit": null,
                "OneClickTakeProfit": null,
                "OneClickTakeProfitUnit": null,
                "OneClickTrailingStop": null,
                "ChartCount": null,
                "UseSltpForNonOneClickOrders": null,
                "CiqLayouts": null,
                "CiqPreferences": null,
                "CiqDrawings": null,
                "PendingOrderAccountRisk": null,
                "PendingOrderSlPips": null,
                "PendingOrderTpPips": null,
                "UseAutoTradeSizing": null,
                "UseAdvancedVolumeSettings": null,
                "FavoriteSymbols": null,
                "ShowNotifications": null,
                "TvLayout": null,
                "TvStudies": null,
                "ViewMode": null,
                "AlwaysShowDefaultView": null,
                "LotTrading": null
            },
            "Challenge_CloseOrdersOnSchedule": null,
            "ConnectionPointPool": 0,
            "CreditProfitSplitPercent": 0,
            "ProfitProfitSplitPercent": 0
        }
    ],
    "RespDateTime": "2021-05-31 11:58:13.036",
    "Outcome": 0,
    "Description": "Success."
}

RetrieveSymbols

Request

POST /api/RetrieveSymbols.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Symbols format
SpikingFilterSettings format
MaxSpreadValidatorSettings format

Examples

Success

Status Code: 200

{
    "Symbols": [
         {
            "DefaultVolume": 100000.0000,
            "DecimalPlaces": 5,
            "PipSize": 0.00010000,
            "LongName": "US Dollar vs Canadian Dollar",
            "InternalName": "USD/CAD",
            "SymbolID": 1001,
            "SymbolName": "USD/CAD",
            "BaseCurrency": "USD",
            "CounterCurrency": "CAD",
            "ProfitCalcType": 1,
            "MarginCalcType": 1,
            "RolloverBuy": -0.63250000,
            "RolloverSell": -0.50600000,
            "RolloverCalcType": 4,
            "QuoteSource": "/QSActive800061",
            "SourceSymbolName": "USD/CAD",
            "BCConvertSymbolID": null,
            "CCConvertSymbolID": null,
            "SymbolCategory": 1,
            "MaxPrice": 10000000.00000000,
            "MinPrice": 0.00000000,
            "EnableStandard": true,
            "EnableMini": true,
            "EnableMicro": true,
            "MaxVolume": 100000000.00000000,
            "MinVolume": 1000.00000000,
            "TradingStep": 1000.00000000,
            "TickSize": 0.00000000,
            "TickPrice": 0.00000000,
            "Percentage": 1.00000000,
            "SortOrder": 1063,
            "IsActive": false,
            "SymbolCategoryName": "Forex",
            "SpikingFilter": {
                "WorkingPeriod": 0,
                "MaxReinitCount": 0,
                "MaximumDifference": 0.00
            },
            "MaxSpreadValidator": {
                "MaxSpread": 0
            },
            "IsAddingToTradeGroup": true,
            "SymbolTripleDayType": 3
        }
    ],
    "RespDateTime": "2021-05-31 11:58:13.036",
    "Outcome": 0,
    "Description": "Success."
}

Error

Case: Invalid account

Status Code: 400

{
  "Error": "Invalid Account."
}

RetrieveLastPrices

Request

POST /api/RetrieveLastPrices.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Prices format

Examples

Success

Status Code: 200

{
    "Prices": [
        {
            "SymbolID": 1,
            "SymbolName": "AUDUSD",
            "Bid": 1.111,
            "Ask": 1.112,
            "Timestamp": "2021-05-31 11:58:13.036"
        }
    ],
    "RespDateTime": "2021-05-31 11:58:13.036",
    "Outcome": 0,
    "Description": "Success."
}

ReferralAgentCreate

Request

POST /api/ReferralAgentCreate.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

AccountDetails format

Examples

Success

Status Code: 200

{
    "AccountDetails": {
        "AccountLogin": "RA",
        "PersonalAccountID": 1121,
        "IntroducingBrokerPersonalAccountID": 0
    },
    "Outcome": 0,
    "RespDateTime": "2023-12-04T11:37:44.3553774+05:00",
    "Description": "Account Created"
}

IntroducingBrokerCreate

Request

POST /api/IntroducingBrokerCreate.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

AccountDetails format

Examples

Success

Status Code: 200

{
    "AccountDetails": {
        "AccountLogin": "IB",
        "PersonalAccountID": 1121
    },
    "Outcome": 0,
    "RespDateTime": "2023-12-04T11:37:44.3553774+05:00",
    "Description": "Account Created"
}

AccountRetrieveInfo

Request

POST /api/AccountRetrieveInfo.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

    "AccountDetails": {
        "AccountLogin": "TestRA-1",
        "PersonalAccountID": 4251,
        "Country": null,
        "Email": "",
        "FirstName": "",
        "MiddleName": "",
        "LastName": "",
        "TotalBalance": 0.0,
        "FreeBalance": 0.0
    },
    "Outcome": 0,
    "RespDateTime": "2024-01-12T16:12:05.6589663+05:00",
    "Description": "Success"
    "Outcome": 0,
    "RespDateTime": "2024-01-12T16:18:45.0057186+05:00",
    "Description": "Not found"

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AgentWithdrawal

Request

POST /api/AgentWithdrawal.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

    "Outcome": 0,
    "RespDateTime": "2024-01-22T20:44:45.5445269+05:00",
    "Description": "Success"
    "Outcome": 0,
    "RespDateTime": "2024-01-22T20:49:39.009175+05:00",
    "Description": "Not found"
    "Outcome": 0,
    "RespDateTime": "2024-01-22T20:50:28.044697+05:00",
    "Description": "Not enought free balance"

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AgentDeposit

Request

POST /api/AgentDeposit.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

    "Outcome": 0,
    "RespDateTime": "2024-01-22T20:44:45.5445269+05:00",
    "Description": "Success"
    "Outcome": 0,
    "RespDateTime": "2024-01-22T20:49:39.009175+05:00",
    "Description": "Not found"

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountReferralAgentDelete

Request

POST /api/AccountReferralAgentDelete.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

    "Outcome": 0,
    "RespDateTime": "2024-01-22T20:44:45.5445269+05:00",
    "Description": "Success"
    "Outcome": 0,
    "RespDateTime": "2024-01-22T20:49:39.009175+05:00",
    "Description": "Not found"

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountReferralAccountHistory

Request

POST /api/AccountReferralAccountHistory.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

AccountingDocument format

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-08-29T04:04:12.0621853-07:00",
    "Description": "Success",
    "AccountingDocuments": [
        {
            "CommandID": 1492,
            "CommandTime": "2023-04-24T12:03:02Z",
            "CommandType": 1,
            "CommandTypeName": "Deposit",
            "CommandOrigin": 2,
            "CommandSenderLoginName": "SYSTEM",
            "DocumentID": 3664,
            "IncomeItem": 1,
            "Amount": 50000.0000,
            "Balance": 50000.0000,
            "OrderID": 0,
            "SymbolName": null,
            "DecimalPlaces": 0,
            "Volume": 0.0,
            "CommandVolume": 0.0,
            "LotType": "Standard",
            "LotSize": 0.0,
            "CommandPrice": 0.0,
            "PersonalAccountID": 3921,
            "LoginName": "gianluca.lussi@gmail.com",
            "TraderID": 0,
            "TraderName": "SYSTEM",
            "FirstName": "Gianluca",
            "LastName": "Lussi",
            "AccountName": "gianluca.lussi@gmail.com (Gianluca Lussi)"
        },
        .
        .
        .
    ]
}
    "Outcome": 0,
    "RespDateTime": "2024-01-22T20:49:39.009175+05:00",
    "Description": "Not found"

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountCreditDeposit

Request

POST /api/AccountCreditDeposit.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-02-12T14:58:25.0153481+00:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountCreditWithdraw

Request

POST /api/AccountCreditWithdraw.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-02-12T14:58:25.0153481+00:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountOrderCreditDeposit

Request

POST /api/AccountOrderCreditDeposit.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-02-12T14:58:25.0153481+00:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountOrderCreditWithdraw

Request

POST /api/AccountOrderCreditWithdraw.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-02-12T14:58:25.0153481+00:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountUpdateUserInfo

Request

POST /api/AccountUpdateUserInfo.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-02-12T14:58:25.0153481+00:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

TraderCloseAll

Request

POST /api/TraderCloseAll.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "TraderId": 140363,
    "outcome": 0,
    "description": "Success"
}
{
  "Error": "Invalid traderID"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

RetrieveOrderDetails

Request

POST /api/RetrieveOrderDetails.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

OrderDetails format

Examples

Success

Status Code: 200

{
    "OrderDetails": {
        "TraderId": 11053,
        "OrderId": 10369,
        "SymbolName": "USD/JPY",
        "OrderType": "Buy",
        "Volume": 10000.000000000,
        "OpenTime": "2023-09-13T07:06:05.897",
        "OpenPrice": 147.27,
        "CurrentPrice": 151.383,
        "Profit": 271.69,
        "StopLoss": 0.0,
        "TakeProfit": 0.0,
        "TrailingStop": 0,
        "Margin": 100.0000
    },
    "Outcome": 0,
    "RespDateTime": "2024-03-28T08:17:38.6302706+00:00",
    "Description": "Success"
}
{
    "OrderDetails": null,
    "Outcome": 1,
    "RespDateTime": "2024-03-28T12:11:59.9243454+00:00",
    "Description": "Order with order id 103 has never existed"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

RetrieveOrderDetails_v2

Request

POST /api/RetrieveOrderDetails_v2.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

OrderDetails format
OrderHistory format

Examples

Success

Status Code: 200

{
    "OrderDetails": {
        "PersonalAccountId": 47071,
        "TraderId": 46563,
        "TraderName": "Michal_Šadibol",
        "OrderId": 3816901,
        "TradeGroupId": 232,
        "TradeGroupName": "2PhaseEvaluation-Phase1",
        "SymbolName": "XAU/USD",
        "SymbolId": 1084,
        "OrderType": "Buy",
        "Volume": 0.000000000,
        "InitialVolume": 3.000000000,
        "LotVolume": 3.000000000,
        "OpenPrice": 3351.44000000,
        "TakeProfit": 3353.59000000,
        "Margin": 0.0000,
        "LastIpAddress": "178.143.46.44",
        "OpenTime": "2025-08-04T02:15:04.0633333+00:00",
        "CloseTime": "2025-08-04T02:16:49.8233333+00:00",
        "TotalProfit": 3.0600,
        "TotalTransactionFee": -0.3000,
        "OrderHistory": [
            {
                "OrderId": 3816901,
                "StateId": 3816901,
                "OrderType": "Buy",
                "OpenPrice": 3351.44000000,
                "Volume": 3.000000000,
                "Margin": 502.7200,
                "CommandPrice": 3351.44000000,
                "CommandVolume": 3.000000000,
                "CommandMargin": 502.7200,
                "CommandRequestPrice": 3351.44000000,
                "CommandDeviation": 0.0,
                "StateOpenDate": "2025-08-04T02:15:04.0633333+00:00",
                "StateCloseDate": "2025-08-04T02:15:09.94+00:00",
                "TransactionFee": -0.1500,
                "IpAddress": "178.143.46.44",
                "CommandType": "OpenMarket"
            },
            {
                "OrderId": 3816901,
                "StateId": 3816903,
                "OrderType": "Buy",
                "OpenPrice": 3351.44000000,
                "Volume": 3.000000000,
                "TakeProfit": 3353.59000000,
                "Margin": 502.7200,
                "CommandPrice": 3353.59000000,
                "CommandVolume": 0.000000000,
                "CommandMargin": 0.0000,
                "StateOpenDate": "2025-08-04T02:15:09.94+00:00",
                "StateCloseDate": "2025-08-04T02:16:49.8233333+00:00",
                "IpAddress": "178.143.46.44",
                "CommandType": "SetTakeProfit"
            },
            {
                "OrderId": 3816901,
                "StateId": 3816905,
                "OrderType": "Buy",
                "OpenPrice": 3351.44000000,
                "Volume": 0.000000000,
                "TakeProfit": 3353.59000000,
                "Margin": 0.0000,
                "CommandPrice": 3352.46000000,
                "CommandVolume": -3.000000000,
                "CommandMargin": -502.7200,
                "CommandRequestPrice": 0.00000000,
                "CommandDeviation": 0.0,
                "StateOpenDate": "2025-08-04T02:16:49.8233333+00:00",
                "Profit": 3.0600,
                "TransactionFee": -0.1500,
                "IpAddress": "178.143.46.44",
                "CommandType": "CloseMarket"
            }
        ]
    },
    "Outcome": 0,
    "RespDateTime": "2025-09-11T06:26:39.5367677+00:00",
    "Description": "Success"
}
{
    "Outcome": 1,
    "RespDateTime": "2025-09-11T06:27:18.4881091+00:00",
    "Description": "Not found"
}}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

AccountRetrieveAccountStatement

Request

POST /api/AccountRetrieveAccountStatement.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "AccountStatements": [
        {
            "DisplayName": "AccountStatement",
            "PersonalInfoExt": null,
            "SystemExt": 0,
            "PersonalAccountID": 13,
            "CompletedPositions": 0,
            "ProfitForCompletedPositions": 0.0,
            "RolloverForCompletedPositions": 0.0,
            "SubaccountFeeForCompletedPositions": 0.0,
            "RebateForCompletedPositions": 0.0,
            "OrderCreditForCompletedPositions": 0.0,
            "TransactionFeeForCompletedPositions": 0.0,
            "GSTForCompletedPositions": 0.0,
            "WithholdingForCompletedPositions": 0.0,
            "OpenPositionsLeft": 0,
            "RolloverForOpenPositions": 0.0,
            "SubaccountFeeForOpenPositions": 0.0,
            "RebateForOpenPositions": 0.0,
            "OrderCreditForOpenPositions": 0.0,
            "TransactionFeeForOpenPositions": 0.0,
            "GSTForOpenPositions": 0.0,
            "WithholdingForOpenPositions": 0.0,
            "TotalAccountCredit": 0.0,
            "TotalDeposit": 0.0,
            "TotalWithdrawal": 0.0,
            "GrandTotalCharges": 0.0,
            "TotalSubaccountFee": 0.0,
            "TotalRebate": 0.0,
            "TotalOrderCredit": 0.0,
            "TotalForCompletedPositions": 0.0,
            "TotalForOpenPositions": 0.0,
            "TotalProfit": 0.0,
            "TotalRollover": 0.0,
            "TotalTransactionFee": 0.0,
            "TotalGST": 0.0,
            "TotalWithholding": 0.0,
            "MoneyMovements": [],
            "Symbols": [],
            "StartingBalance": 0.0,
            "EndingBalance": 0.0,
            "Upl": 0.0,
            "ReportName": "Report \"Account status\"",
            "ReportTimeZone": {
                "Id": "Eastern Standard Time",
                "DisplayName": "(UTC-05:00) Eastern Time (USA and Canada)",
                "StandardName": "US Eastern Time (winter)",
                "DaylightName": "US Eastern Time (summer)",
                "BaseUtcOffset": "-05:00:00",
                "AdjustmentRules": [
                    {
                        "DateStart": "0001-01-01T00:00:00",
                        "DateEnd": "2006-12-31T00:00:00",
                        "DaylightDelta": "01:00:00",
                        "DaylightTransitionStart": {
                            "TimeOfDay": "0001-01-01T02:00:00",
                            "Month": 4,
                            "Week": 1,
                            "Day": 1,
                            "DayOfWeek": 0,
                            "IsFixedDateRule": false
                        },
                        "DaylightTransitionEnd": {
                            "TimeOfDay": "0001-01-01T02:00:00",
                            "Month": 10,
                            "Week": 5,
                            "Day": 1,
                            "DayOfWeek": 0,
                            "IsFixedDateRule": false
                        },
                        "BaseUtcOffsetDelta": "00:00:00"
                    },
                    {
                        "DateStart": "2007-01-01T00:00:00",
                        "DateEnd": "9999-12-31T00:00:00",
                        "DaylightDelta": "01:00:00",
                        "DaylightTransitionStart": {
                            "TimeOfDay": "0001-01-01T02:00:00",
                            "Month": 3,
                            "Week": 2,
                            "Day": 1,
                            "DayOfWeek": 0,
                            "IsFixedDateRule": false
                        },
                        "DaylightTransitionEnd": {
                            "TimeOfDay": "0001-01-01T02:00:00",
                            "Month": 11,
                            "Week": 1,
                            "Day": 1,
                            "DayOfWeek": 0,
                            "IsFixedDateRule": false
                        },
                        "BaseUtcOffsetDelta": "00:00:00"
                    }
                ],
                "SupportsDaylightSavingTime": true
            },
            "PeriodBegin": "2023-01-01T00:00:00",
            "PeriodEnd": "2024-04-04T00:00:00",
            "Disclaimer": "",
            "TradeGroupPermissions": null,
            "ViewerPersonalAccountID": 21
        }
    ],
    "Outcome": 0,
    "RespDateTime": "2024-04-05T19:11:12.8760901+03:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

CheckPrices

Request

GET /api/CheckPrices.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "UnupdatedSymbols": "USDCHF GBPUSD USDJPY EURUSD USDCAD AUDUSD NZDUSD DQS CADJPY EURGBP GBPJPY XAU XAG"
}
{
    "UnupdatedSymbols": null

}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

ExternalAccountChallengeCreate

Request

POST /api/ExternalAccountChallengeCreate.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "AccountLogin": "13",
    "AccountEmail": "13",
    "ExternalAccountID": "13"
}

Error

Case: signature is wrong

Status Code: 400

{
    Error: wrong signature
}

ExternalAccountIDUpdate

Request

POST /api/ExternalAccountIDUpdate.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

-ExternalAccountID - uppdeted id

Examples

Success

Status Code: 200

{
    "ExternalAccountID": "15"
}

Error Signature is wrong

Case:

Status Code: 400

{
   Error: wrong signature
}

ExternalAccountRetrieveTransactionHistory

Request

GET /api/ExternalAccountRetrieveTransactionHistory.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

TransactionHistory format

Examples

Success

Status Code: 200

{
   "TransactionHistory": [],
    "Count": 0,
    "Outcome": 0,
    "RespDateTime": "2024-04-05T21:23:56.799927+03:00",
    "Description": "Success" 
}
{
   "TransactionHistory": [],
    "Count": 0,
    "Outcome": 1,
    "RespDateTime": "2024-04-05T21:24:20.129487+03:00",
    "Description": "The string is not recognized as a valid DateTime value."
}

Error

Case: Signature is wrong

Status Code: 400

{
    Error: worng signature 
}

Ping

Request

GET /api/Ping.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Message": "OK",
    "RespDateTime": "2024-04-05T21:27:55.672804+03:00"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

RetrieveAccountsByEmail

Request

GET /api/RetrieveAccountsByEmail.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

AccountDetails format

Examples

Success

Status Code: 200

{
    "Accounts": [
        {
            "TraderID": 13,
            "TradeGroupID": 12,
            "TradeGroupName": "demoforex",
            "ExternalAccountID": "00661070",
            "PersonalAccountID": 41,
            "LoginName": "ITClient-1",
            "UsedMargin": 0.0,
            "Balance": 278448.3000,
            "FreeMargin": 0.0,
            "Equity": 0.0,
            "UPL": 0.0,
            "Credit": 0.0000,
            "CreatedAt": "0001-01-01T00:00:00",
            "IsDisabled": false,
            "LastIpAddress": null,
            "IsLocked": false,
            "IsReadonly": false
        }
    ],
    "Outcome": 1,
    "RespDateTime": "2024-04-05T21:38:43.2654236+03:00",
    "Description": "&&&"
{
    "Accounts": [],
    "Outcome": 1,
    "RespDateTime": "2024-04-05T21:43:41.1742106+03:00",
    "Description": "field Email is empty"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

PersonalAccountEnable

Request

GET /api/PersonalAccountEnable.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

-Outcome -RespDateTime -Description

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-04-09T00:46:03.6271151+03:00",
    "Description": "Success."
}

Error

Case: User Does not exist

Status Code: 400

{
  "Error": "User Does not exist"
}

PersonalAccountDisable

Request

GET /api/PersonalAccountDisable.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

-Outcome -RespDateTime -Description

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-04-09T00:46:03.6271151+03:00",
    "Description": "Success."
}

Error

Case: User Does not exist

Status Code: 400

{
  "Error": "User Does not exist"
}

GetTopTradersOverallSystem

Request

GET /api/GetTopTradersOverallSystem.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Traders format

Examples

Success

Status Code: 200

{
    "Traders": [
        {
            "TraderID": 23,
            "LoginName": "ITClient-2",
            "PersonalAccount": {
                "PersonalAccountID": 51,
                "LoginName": "ITClient-2",
                "Email": "john.smith@forexdevelopment.com",
                "FirstName": "John",
                "MiddleName": null,
                "LastName": "Smith",
                "Address1": "Address1",
                "Address2": "Address2",
                "City": "New York City",
                "State": "NY",
                "Country": {
                    "CountryID": 1,
                    "CountryName": "United States"
                },
                "ZipCode": "10005",
                "PhoneNumber": "212-656-3000",
                "CreationTime": "0001-01-01T00:00:00",
                "DisplayName": "ITClient-2 (John Smith)",
                "FirstDepositTime": "0001-01-01T00:00:00"
            },
            "Balance": 0.0000,
            "Margin": 0.0000,
            "Upl": 0.000000,
            "Equity": 0.000000,
            "FreeMargin": 0.000000,
            "MarginUtilization": 0.00000000000000000,
            "MarginUtilizationPercentage": 0.00000000000000000,
            "Profit": 0.0000,
            "TradeGroupID": 12,
            "TradeGroupName": "demoforex"
        }
    ],
    "RespDateTime": "2024-04-09T10:44:04.2629652+00:00",
    "Description": "Success"
}

Error

Case: wrong orderBy

Status Code: 400

{
  "Error": "Invalid param value: `orderBy`. Allowed values: Balance, Margin, Upl, Equity, FreeMargin, MarginUtilization, Profit"
}

GetServerTime

Request

GET /api/GetServerTime.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

-ServerTime - ServerTime

Examples

Success

Status Code: 200

{
    "ServerTime": "2024-04-08T21:54:41.283Z"
}

Error

Case: Signature is wrong

Status Code: 400

{
  Error: wrong signature
}

GetFixAccountsList

Request

GET /api/GetFixAccountsList.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    &&&
}

Error

Case:

Status Code: 400

{
  &&&
}

MakeTraderReadOnly

Request

POST /api/MakeTraderReadOnly.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "Invalid externalAccountId"
}
{
  "Error": "Invalid traderId"
}

MakeTraderReadWrite

Request

POST /api/MakeTraderReadWrite.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "Invalid externalAccountId"
}
{
  "Error": "Invalid traderId"
}

TraderSettingsClone

Request

POST /api/TraderSettingsClone.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-05-02T17:13:13.8026823+00:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "traderIdFrom = 9187 does not exist"
}
{
  "Error": "externalAccountIdFrom = dfgs12 does not exist"
}

Request

POST /api/CreateLoginLink.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields:

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Link": "https://webtrader1.company1.com/sign-in?Token=5fd3b0215f8447129e257364eddd694f",
    "ExpirationDate": "2024-08-12T13:35:33.273Z",
    "Outcome": 0,
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "Trader is not found"
}

Request

POST /api/AccountResetPassword.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields:

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Password" : "123456",
    "Info" : "Password reset completed",
    "ExpirationDate": "2024-08-12T13:35:33.273Z",
    "Outcome": 0,
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "PersonalAccountID not found!"
}

OpenPositionOrder

Request

POST /api/OpenPositionOrder.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields:

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Password" : "123456",
    "Info" : "Password reset completed",
    "ExpirationDate": "2024-08-12T13:35:33.273Z",
    "Outcome": 0,
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "PersonalAccountID not found!"
}

CloseAllTrades

Request

POST /api/CloseAllTrades.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "TraderId": 140363,
    "outcome": 0,
    "description": "Success"
}
{
  "Error": "Invalid traderID"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

UnlockAccount

Request

POST /api/UnlockAccount.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields:

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "PersonalAccount is not found"
}

RetrieveOrderHistory

Request

POST /api/RetrieveOrderHistory.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

OrderHistory format

Examples

Success

Status Code: 200

{
   {
    "OrderHistory": [
        {
            "OrderId": 568,
            "TraderId": 13,
            "StateId": 2,
            "SymbolName": "EURUSD",
            "OrderType": "Buy Limit",
            "Volume": 0.0,
            "StateOpenDate": "2008-10-12T09:15:00Z",
            "CommandPrice": 0.0,
            "StopLoss": null,
            "TakeProfit": null,
            "TrailingStop": null,
            "Margin": 0.0000,
            "Profit": 0.0,
            "TransactionFee": 0.0000,
            "Rollover": 0.0000,
            "ClearProfit": 0.0000
        },
        {
            "OrderId": 568,
            "TraderId": 13,
            "StateId": 1,
            "SymbolName": "EURUSD",
            "OrderType": "Buy Limit",
            "Volume": 0.0,
            "StateOpenDate": "2008-10-12T09:00:00Z",
            "CommandPrice": 0.97610000,
            "StopLoss": null,
            "TakeProfit": null,
            "TrailingStop": null,
            "Margin": 0.0000,
            "Profit": 0.0,
            "TransactionFee": 0.0000,
            "Rollover": 0.0000,
            "ClearProfit": 0.0000
        }
    ],
    "Outcome": 0,
    "RespDateTime": "2024-10-30T23:45:15.5449644-07:00",
    "Description": "Success"
}
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

RetrieveIOSConfig

Request

POST /api/RetrieveIOSConfig.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "Not found"
}

RetrieveRunningTrades

Request

POST /api/RetrieveRunningTrades.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

ℹ️ If both PersonalAccountID and ExternalAccountID are empty, data for all accounts will be returned.

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

OrderDetails format
OrderHistory format

Examples

Success

Status Code: 200

{
    "RunningTrades": [
        {
            "PersonalAccountId": 1181,
            "TraderId": 793,
            "TraderName": "Dominik Kovarik",
            "OrderId": 623,
            "TradeGroupId": 12,
            "TradeGroupName": "demoforex",
            "SymbolName": "AAPL.OQ",
            "SymbolId": 1124,
            "OrderType": "Buy",
            "Volume": 1.000000000,
            "InitialVolume": 1.000000000,
            "LotVolume": 1.000000000,
            "OpenPrice": 169.65000000,
            "Margin": 8.4800,
            "CurrentPrice": 226.76000000,
            "UPL": 57.11,
            "OpenTime": "2024-04-05T15:04:26.54+00:00",
            "TotalRollover": -5.9000,
            "OrderHistory": [
                {
                    "OrderId": 623,
                    "StateId": 623,
                    "OrderType": "Buy",
                    "OpenPrice": 169.65000000,
                    "Volume": 1.000000000,
                    "Margin": 8.4800,
                    "CommandPrice": 169.65000000,
                    "CommandVolume": 1.000000000,
                    "CommandMargin": 8.4800,
                    "CommandRequestPrice": 169.65000000,
                    "CommandDeviation": 0.0,
                    "StateOpenDate": "2024-04-05T15:04:26.54+00:00",
                    "StateCloseDate": "2024-04-05T21:00:00.0966667+00:00",
                    "CommandType": "OpenMarket"
                },
                {
                    "OrderId": 623,
                    "StateId": 637,
                    "OrderType": "Buy",
                    "OpenPrice": 169.65000000,
                    "Volume": 1.000000000,
                    "Margin": 8.4800,
                    "CommandVolume": 0.000000000,
                    "CommandMargin": 0.0000,
                    "StateOpenDate": "2024-04-05T21:00:00.0966667+00:00",
                    "StateCloseDate": "2025-09-10T21:00:00.4533333+00:00",
                    "Rollover": -5.9000,
                    "CommandType": "Rollover"
                }
            ]
        }
    ],
    "TotalCount": 502,
    "Outcome": 0,
    "RespDateTime": "2025-09-11T06:26:39.5367677+00:00",
    "Description": "Success"
}
{
    "Outcome": 1,
    "RespDateTime": "2025-09-11T06:27:18.4881091+00:00",
    "Description": "Not found"
}}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

RetrieveTradeHistory

Request

POST /api/RetrieveTradeHistory.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

ℹ️ If both PersonalAccountID and ExternalAccountID are empty, data for all accounts will be returned.

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

OrderDetails format
OrderHistory format

Examples

Success

Status Code: 200

{
    "TradeHistory": [
        {
            "PersonalAccountId": 49991,
            "TraderId": 49453,
            "TraderName": "Test_Iskander_08",
            "OrderId": 3824953,
            "TradeGroupId": 12,
            "TradeGroupName": "demoforex",
            "SymbolName": "GBP/USD",
            "SymbolId": 1018,
            "OrderType": "Buy",
            "Volume": 0.000000000,
            "InitialVolume": 100000.000000000,
            "LotVolume": 100000.000000000,
            "OpenPrice": 1.05014000,
            "Margin": 0.0000,
            "LastIpAddress": "83.219.243.121",
            "OpenTime": "2025-09-01T09:48:03.9666667+00:00",
            "CloseTime": "2025-09-01T09:49:40.1333333+00:00",
            "TotalProfit": -9026.0000,
            "TotalTransactionFee": -0.4000,
            "OrderHistory": [
                {
                    "OrderId": 3824953,
                    "StateId": 3824953,
                    "OrderType": "Buy",
                    "OpenPrice": 1.05014000,
                    "Volume": 100000.000000000,
                    "Margin": 1050.1400,
                    "CommandPrice": 1.05014000,
                    "CommandVolume": 100000.000000000,
                    "CommandMargin": 1050.1400,
                    "CommandRequestPrice": 1.05014000,
                    "CommandDeviation": 0.0,
                    "StateOpenDate": "2025-09-01T09:48:03.9666667+00:00",
                    "StateCloseDate": "2025-09-01T09:49:40.1333333+00:00",
                    "TransactionFee": -0.2100,
                    "IpAddress": "83.219.243.121",
                    "CommandType": "OpenMarket"
                },
                {
                    "OrderId": 3824953,
                    "StateId": 3824955,
                    "OrderType": "Buy",
                    "OpenPrice": 1.05014000,
                    "Volume": 0.000000000,
                    "Margin": 0.0000,
                    "CommandPrice": 0.95988000,
                    "CommandVolume": -100000.000000000,
                    "CommandMargin": -1050.1400,
                    "CommandRequestPrice": 0.00000000,
                    "CommandDeviation": 0.0,
                    "StateOpenDate": "2025-09-01T09:49:40.1333333+00:00",
                    "Profit": -9026.0000,
                    "TransactionFee": -0.1900,
                    "IpAddress": "83.219.243.121",
                    "CommandType": "CloseMarket"
                }
            ]
        },
        {
            "PersonalAccountId": 49991,
            "TraderId": 49453,
            "TraderName": "Test_Iskander_08",
            "OrderId": 3824961,
            "TradeGroupId": 12,
            "TradeGroupName": "demoforex",
            "SymbolName": "GBP/USD",
            "SymbolId": 1018,
            "OrderType": "Buy",
            "Volume": 0.000000000,
            "InitialVolume": 1000.000000000,
            "LotVolume": 1000.000000000,
            "OpenPrice": 0.95326000,
            "Margin": 0.0000,
            "LastIpAddress": "83.219.243.121",
            "OpenTime": "2025-09-01T09:49:53.1233333+00:00",
            "CloseTime": "2025-09-01T09:52:14.32+00:00",
            "TotalProfit": 96.6200,
            "OrderHistory": [
                {
                    "OrderId": 3824961,
                    "StateId": 3824961,
                    "OrderType": "Buy",
                    "OpenPrice": 0.95326000,
                    "Volume": 1000.000000000,
                    "Margin": 9.5300,
                    "CommandPrice": 0.95326000,
                    "CommandVolume": 1000.000000000,
                    "CommandMargin": 9.5300,
                    "CommandRequestPrice": 0.95326000,
                    "CommandDeviation": 0.0,
                    "StateOpenDate": "2025-09-01T09:49:53.1233333+00:00",
                    "StateCloseDate": "2025-09-01T09:52:14.32+00:00",
                    "IpAddress": "83.219.243.121",
                    "CommandType": "OpenMarket"
                },
                {
                    "OrderId": 3824961,
                    "StateId": 3824967,
                    "OrderType": "Buy",
                    "OpenPrice": 0.95326000,
                    "Volume": 0.000000000,
                    "Margin": 0.0000,
                    "CommandPrice": 1.04988000,
                    "CommandVolume": -1000.000000000,
                    "CommandMargin": -9.5300,
                    "CommandRequestPrice": 0.00000000,
                    "CommandDeviation": 0.0,
                    "StateOpenDate": "2025-09-01T09:52:14.32+00:00",
                    "Profit": 96.6200,
                    "IpAddress": "83.219.243.121",
                    "CommandType": "CloseMarket"
                }
            ]
        }
    ],
    "TotalCount": 172,
    "Outcome": 0,
    "RespDateTime": "2025-09-11T06:39:01.7845744+00:00",
    "Description": "Success"
}
{
    "Outcome": 1,
    "RespDateTime": "2025-09-11T06:27:18.4881091+00:00",
    "Description": "Not found"
}}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

ExternalAccountCreditDeposit

Request

POST /api/ExternalAccountCreditDeposit.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-02-12T14:58:25.0153481+00:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}

ExternalAccountCreditWithdraw

Request

POST /api/ExternalAccountCreditWithdraw.ashx

Headers: NONE

Content-Type: application/x-www-form-urlencoded

Body

Required Fields
Optional Fields

Response

Headers: NONE

Content-Type: application/json; charset=utf-8

Body

Examples

Success

Status Code: 200

{
    "Outcome": 0,
    "RespDateTime": "2024-02-12T14:58:25.0153481+00:00",
    "Description": "Success"
}

Error

Case: Signature is wrong

Status Code: 400

{
  "Error": "wrong signature"
}