Skip to content

Messages

Top

ProtoOAAccountAuthReq

Request for the authorizing trading account session. Requires established authorized connection with the client application using ProtoOAApplicationAuthReq.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ACCOUNT_AUTH_REQ
ctidTraderAccountId int64 required The unique identifier of the trader's account in cTrader platform.
accessToken string required The Access Token issued for providing access to the Trader's Account.

ProtoOAAccountAuthRes

Response to the ProtoOAApplicationAuthRes request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ACCOUNT_AUTH_RES
ctidTraderAccountId int64 required The unique identifier of the trader's account in cTrader platform.

ProtoOAAccountDisconnectEvent

Event that is sent when the established session for an account is dropped on the server side. A new session must be authorized for the account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ACCOUNT_DISCONNECT_EVENT
ctidTraderAccountId int64 required The unique identifier of the trader's account in cTrader platform.

ProtoOAAccountLogoutReq

Request for logout of trading account session.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ACCOUNT_LOGOUT_REQ
ctidTraderAccountId int64 required The unique identifier of the trader's account in cTrader platform.

ProtoOAAccountLogoutRes

Response to the ProtoOATraderLogoutReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ACCOUNT_LOGOUT_RES
ctidTraderAccountId int64 required The unique identifier of the trader's account in cTrader platform.

ProtoOAAccountsTokenInvalidatedEvent

Event that is sent when a session to a specific trader's account is terminated by the server but the existing connections with the other trader's accounts are maintained.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ACCOUNTS_TOKEN_INVALIDATED_EVENT
ctidTraderAccountIds int64 repeated The unique identifier of the trader's account in cTrader platform.
reason string optional The disconnection reason explained. For example: Access Token is expired or recalled.

ProtoOAAmendOrderReq

Request for amending the existing pending order. Allowed only if the Access Token has "trade" permissions for the trading account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_AMEND_ORDER_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
orderId int64 required The unique ID of the order.
volume int64 optional Volume, represented in 0.01 of a unit (e.g. cents).
limitPrice double optional The Limit Price, can be specified for the LIMIT order only.
stopPrice double optional The Stop Price, can be specified for the STOP and the STOP_LIMIT orders.
expirationTimestamp int64 optional The exact Order expiration time. Should be set for the Good Till Date orders.
stopLoss double optional The absolute Stop Loss price (e.g. 1.23456). Not supported for the MARKER orders.
takeProfit double optional The absolute Take Profit price (e.g. 1.23456). Not supported for the MARKER orders.
slippageInPoints int32 optional Slippage distance for the MARKET_RANGE and the STOP_LIMIT orders.
relativeStopLoss int64 optional The relative Stop Loss can be specified instead of the absolute one. Specified in 1/100000 of a unit of price. For BUY stopLoss = entryPrice - relativeStopLoss, for SELL stopLoss = entryPrice + relativeStopLoss.
relativeTakeProfit int64 optional The relative Take Profit can be specified instead of the absolute one. Specified in 1/100000 of a unit of price. For BUY takeProfit = entryPrice + relativeTakeProfit, for SELL takeProfit = entryPrice - relativeTakeProfit.
guaranteedStopLoss bool optional If TRUE then the Stop Loss is guaranteed. Available for the French Risk or the Guaranteed Stop Loss Accounts.
trailingStopLoss bool optional If TRUE then the Trailing Stop Loss is applied.
stopTriggerMethod ProtoOAOrderTriggerMethod optional Trigger method for the STOP or the STOP_LIMIT pending order. Default: TRADE

ProtoOAAmendPositionSLTPReq

Request for amending StopLoss and TakeProfit of existing position. Allowed only if the accessToken has "trade" permissions for the trading account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_AMEND_POSITION_SLTP_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
positionId int64 required The unique ID of the position to amend.
stopLoss double optional Absolute Stop Loss price (1.23456 for example).
takeProfit double optional Absolute Take Profit price (1.26543 for example).
guaranteedStopLoss bool optional If TRUE then the Stop Loss is guaranteed. Available for the French Risk or the Guaranteed Stop Loss Accounts.
trailingStopLoss bool optional If TRUE then the Trailing Stop Loss is applied.
stopLossTriggerMethod ProtoOAOrderTriggerMethod optional The Stop trigger method for the Stop Loss/Take Profit order. Default: TRADE

ProtoOAApplicationAuthReq

Request for the authorizing an application to work with the cTrader platform Proxies.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_APPLICATION_AUTH_REQ
clientId string required The unique Client ID provided during the registration.
clientSecret string required The unique Client Secret provided during the registration.

ProtoOAApplicationAuthRes

Response to the ProtoOAApplicationAuthReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_APPLICATION_AUTH_RES

ProtoOAAssetClassListReq

Request for a list of asset classes available for the trader's account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ASSET_CLASS_LIST_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOAAssetClassListRes

Response to the ProtoOAAssetListReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ASSET_CLASS_LIST_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
assetClass ProtoOAAssetClass repeated List of the asset classes.

ProtoOAAssetListReq

Request for the list of assets available for a trader's account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ASSET_LIST_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOAAssetListRes

Response to the ProtoOAAssetListReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ASSET_LIST_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
asset ProtoOAAsset repeated The list of assets.

ProtoOACancelOrderReq

Request for cancelling existing pending order. Allowed only if the accessToken has "trade" permissions for the trading account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_CANCEL_ORDER_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
orderId int64 required The unique ID of the order.

ProtoOACashFlowHistoryListReq

Request for getting Trader's historical data of deposits and withdrawals.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_CASH_FLOW_HISTORY_LIST_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
fromTimestamp int64 required The UNIX time from which the search starts >=0 (1-1-1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week).
toTimestamp int64 required The UNIX time where to stop searching <= 2147483646000 (19-1-2038).

ProtoOACashFlowHistoryListRes

Response to the ProtoOACashFlowHistoryListReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_CASH_FLOW_HISTORY_LIST_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
depositWithdraw ProtoOADepositWithdraw repeated The list of deposit and withdrawal operations.

ProtoOAClientDisconnectEvent

Event that is sent when the connection with the client application is cancelled by the server. All the sessions for the traders' accounts will be terminated.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_CLIENT_DISCONNECT_EVENT
reason string optional The disconnection reason explained. For example: The application access was blocked by cTrader Administrator.

ProtoOAClosePositionReq

Request for closing or partially closing of an existing position. Allowed only if the accessToken has "trade" permissions for the trading account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_CLOSE_POSITION_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
positionId int64 required The unique ID of the position to close.
volume int64 required Volume to close, represented in 0.01 of a unit (e.g. cents).

ProtoOADealListReq

Request for getting Trader's deals historical data (execution details).

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_DEAL_LIST_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
fromTimestamp int64 required The UNIX time from which the search starts >=0 (1-1-1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week).
toTimestamp int64 required The UNIX time where to stop searching <= 2147483646000 (19-1-2038).
maxRows int32 optional The maximum number of the deals to return.

ProtoOADealListRes

The response to the ProtoOADealListRes request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_DEAL_LIST_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
deal ProtoOADeal repeated The list of the deals.
hasMore bool required If TRUE then the response will provide more than 10000 deals.

ProtoOADepthEvent

Event that is sent when the structure of depth of market is changed. Requires subscription on the depth of markets for the symbol, see ProtoOASubscribeDepthQuotesReq.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_DEPTH_EVENT
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId uint64 required Unique identifier of the Symbol in cTrader platform.
newQuotes ProtoOADepthQuote repeated The list of changes in the depth of market quotes.
deletedQuotes uint64 repeated The list of quotes to delete.

ProtoOAErrorRes

Generic response when an ERROR occurred.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ERROR_RES
ctidTraderAccountId int64 optional The unique identifier of the trader's account in cTrader platform.
errorCode string required The name of the ProtoErrorCode or the other custom ErrorCodes (e.g. ProtoCHErrorCode).
description string optional The error description.
maintenanceEndTimestamp int64 optional The timestamp in seconds when the current maintenance session will be ended.

ProtoOAExecutionEvent

Event that is sent following the successful order acceptance or execution by the server. Acts as response to the ProtoOANewOrderReq, ProtoOACancelOrderReq, ProtoOAAmendOrderReq, ProtoOAAmendPositionSLTPReq, ProtoOAClosePositionReq requests. Also, the event is sent when a Deposit/Withdrawal took place.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_EXECUTION_EVENT
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
executionType ProtoOAExecutionType required Type of the order operation. For example: ACCEPTED, FILLED, etc.
position ProtoOAPosition optional Reference to the position linked with the execution
order ProtoOAOrder optional Reference to the initial order.
deal ProtoOADeal optional Reference to the deal (execution).
bonusDepositWithdraw ProtoOABonusDepositWithdraw optional Reference to the Bonus Deposit or Withdrawal operation.
depositWithdraw ProtoOADepositWithdraw optional Reference to the Deposit or Withdrawal operation.
errorCode string optional The name of the ProtoErrorCode or the other custom ErrorCodes (e.g. ProtoCHErrorCode).
isServerEvent bool optional If TRUE then the event generated by the server logic instead of the trader's request. (e.g. stop-out).

ProtoOAExpectedMarginReq

Request for getting the margin estimate. Can be used before sending a new order request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_EXPECTED_MARGIN_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 required Unique identifier of the Symbol in cTrader platform.
volume int64 repeated Volume represented in 0.01 of a unit (e.g. cents).

ProtoOAExpectedMarginRes

The response to the ProtoOAExpectedMarginReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_EXPECTED_MARGIN_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
margin ProtoOAExpectedMargin repeated The buy and sell margin estimate.
moneyDigits uint32 optional Specifies the exponent of the monetary values. E.g. moneyDigits = 8 must be interpret as business value multiplied by 10^8, then real balance would be 10053099944 / 10^8 = 100.53099944. Affects margin.buyMargin, margin.sellMargin.

ProtoOAGetAccountListByAccessTokenReq

Request for getting the list of granted trader's account for the access token.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_REQ
accessToken string required The Access Token issued for providing access to the Trader's Account.

ProtoOAGetAccountListByAccessTokenRes

Response to the ProtoOAGetAccountListByAccessTokenReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_RES
accessToken string required The Access Token issued for providing access to the Trader's Account.
permissionScope ProtoOAClientPermissionScope optional SCOPE_VIEW, SCOPE_TRADE.
ctidTraderAccount ProtoOACtidTraderAccount repeated The list of the accounts.

ProtoOAGetCtidProfileByTokenReq

Request for getting details of Trader's profile. Limited due to GDRP requirements.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_GET_CTID_PROFILE_BY_TOKEN_REQ
accessToken string required The Access Token issued for providing access to the Trader's Account.

ProtoOAGetCtidProfileByTokenRes

Response to the ProtoOAGetCtidProfileByTokenReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_GET_CTID_PROFILE_BY_TOKEN_RES
profile ProtoOACtidProfile required Trader's profile.

ProtoOAGetTickDataReq

Request for getting historical tick data for the symbol.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_GET_TICKDATA_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 required Unique identifier of the Symbol in cTrader platform.
type ProtoOAQuoteType required Bid/Ask (½).
fromTimestamp int64 required The exact time of starting the search in milliseconds. Must be bigger of equal to zero (1-1-1970). Validation: toTimestamp - fromTimestamp <= 604800000 (1 week).
toTimestamp int64 required The exact time of finishing the search in milliseconds <= 2147483646000 (19-1-2038).

ProtoOAGetTickDataRes

Response to the ProtoOAGetTickDataReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_GET_TICKDATA_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
tickData ProtoOATickData repeated The list of ticks.
hasMore bool required If TRUE then the number of records by filter is larger than chunkSize, the response contains the number of records that is equal to chunkSize.

ProtoOAGetTrendbarsReq

Request for getting historical trend bars for the symbol.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_GET_TRENDBARS_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
fromTimestamp int64 required The exact time of starting the search in milliseconds. Must be bigger or equal to zero (1-1-1970). Validation: toTimestamp - fromTimestamp <= X, where X depends on series period: M1, M2, M3, M4, M5: 302400000 (5 weeks); M10, M15, M30, H1: 21168000000 (35 weeks), H4, H12, D1: 31622400000 (1 year); W1, MN1: 158112000000 (5 years).
toTimestamp int64 required The exact time of finishing the search in milliseconds. Smaller or equal to 2147483646000 (19-1-2038).
period ProtoOATrendbarPeriod required Specifies period of trend bar series (e.g. M1, M10, etc.).
symbolId int64 required Unique identifier of the Symbol in cTrader platform.

ProtoOAGetTrendbarsRes

Response to the ProtoOAGetTrendbarsReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_GET_TRENDBARS_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
period ProtoOATrendbarPeriod required Specifies period of trend bar series (e.g. M1, M10, etc.).
timestamp int64 required Equals to toTimestamp from the request.
trendbar ProtoOATrendbar repeated The list of trend bars.
symbolId int64 optional Unique identifier of the Symbol in cTrader platform.

ProtoOAMarginCallListReq

Request for a list of existing margin call thresholds configured for a user.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_MARGIN_CALL_LIST_REQ
ctidTraderAccountId int64 required

ProtoOAMarginCallListRes

Response with a list of existing user Margin Calls, usually contains 3 items.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_MARGIN_CALL_LIST_RES
marginCall ProtoOAMarginCall repeated

ProtoOAMarginCallTriggerEvent

Event that is sent when account margin level reaches target marginLevelThreshold. Event is sent no more than once every 10 minutes to avoid spamming.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_MARGIN_CALL_TRIGGER_EVENT
ctidTraderAccountId int64 required
marginCall ProtoOAMarginCall required

ProtoOAMarginCallUpdateEvent

Event that is sent when a Margin Call threshold configuration is updated.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_MARGIN_CALL_UPDATE_EVENT
ctidTraderAccountId int64 required
marginCall ProtoOAMarginCall required

ProtoOAMarginCallUpdateReq

Request to modify marginLevelThreshold of specified marginCallType for ctidTraderAccountId.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_MARGIN_CALL_UPDATE_REQ
ctidTraderAccountId int64 required
marginCall ProtoOAMarginCall required

ProtoOAMarginCallUpdateRes

If this response received, it means that margin call was successfully updated.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_MARGIN_CALL_UPDATE_RES

ProtoOAMarginChangedEvent

Event that is sent when the margin allocated to a specific position is changed.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_MARGIN_CHANGED_EVENT
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
positionId uint64 required The unique ID of the position.
usedMargin uint64 required The new value of the margin used.
moneyDigits uint32 optional Specifies the exponent of the monetary values. E.g. moneyDigits = 8 must be interpret as business value multiplied by 10^8, then real balance would be 10053099944 / 10^8 = 100.53099944. Affects usedMargin.

ProtoOANewOrderReq

Request for sending a new trading order. Allowed only if the accessToken has the "trade" permissions for the trading account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_NEW_ORDER_REQ
ctidTraderAccountId int64 required The unique identifier of the trader's account in cTrader platform.
symbolId int64 required The unique identifier of a symbol in cTrader platform.
orderType ProtoOAOrderType required The type of an order - MARKET, LIMIT, STOP, MARKET_RANGE, STOP_LIMIT.
tradeSide ProtoOATradeSide required The trade direction - BUY or SELL.
volume int64 required The volume represented in 0.01 of a unit (e.g. US$ 10.00 = 1000).
limitPrice double optional The limit price, can be specified for the LIMIT order only.
stopPrice double optional Stop Price, can be specified for the STOP and the STOP_LIMIT orders only.
timeInForce ProtoOATimeInForce optional The specific order execution or expiration instruction - GOOD_TILL_DATE, GOOD_TILL_CANCEL, IMMEDIATE_OR_CANCEL, FILL_OR_KILL, MARKET_ON_OPEN. Default: GOOD_TILL_CANCEL
expirationTimestamp int64 optional The exact Order expiration time. Should be set for the Good Till Date orders.
stopLoss double optional The absolute Stop Loss price (1.23456 for example). Not supported for the MARKER orders.
takeProfit double optional The absolute Take Profit price (1.23456 for example). Unsupported for the MARKER orders.
comment string optional User-specified comment. MaxLength = 512.
baseSlippagePrice double optional Base price to calculate relative slippage price for MARKET_RANGE order.
slippageInPoints int32 optional Slippage distance for MARKET_RANGE and STOP_LIMIT order.
label string optional User-specified label. MaxLength = 100.
positionId int64 optional Reference to the existing position if the Order is intended to modify it.
clientOrderId string optional Optional user-specific clientOrderId (similar to FIX ClOrderID). MaxLength = 50.
relativeStopLoss int64 optional Relative Stop Loss that can be specified instead of the absolute as one. Specified in 1/100000 of unit of a price. For BUY stopLoss = entryPrice - relativeStopLoss, for SELL stopLoss = entryPrice + relativeStopLoss.
relativeTakeProfit int64 optional Relative Take Profit that can be specified instead of the absolute one. Specified in 1/100000 of unit of a price. For BUY takeProfit = entryPrice + relativeTakeProfit, for SELL takeProfit = entryPrice - relativeTakeProfit.
guaranteedStopLoss bool optional If TRUE then stopLoss is guaranteed. Available for the French Risk or the Guaranteed Stop Loss Accounts.
trailingStopLoss bool optional If TRUE then the Stop Loss is Trailing.
stopTriggerMethod ProtoOAOrderTriggerMethod optional Trigger method for the STOP or the STOP_LIMIT pending order. Default: TRADE

ProtoOAOrderErrorEvent

Event that is sent when errors occur during the order requests.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_ORDER_ERROR_EVENT
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
errorCode string required The name of the ProtoErrorCode or the other custom ErrorCodes (e.g. ProtoCHErrorCode).
orderId int64 optional The unique ID of the order.
positionId int64 optional The unique ID of the position.
description string optional The error description.

ProtoOAReconcileReq

Request for getting Trader's current open positions and pending orders data.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_RECONCILE_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOAReconcileRes

The response to the ProtoOAReconcileReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_RECONCILE_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
position ProtoOAPosition repeated The list of trader's account open positions.
order ProtoOAOrder repeated The list of trader's account pending orders.

ProtoOARefreshTokenReq

Request to refresh the access token using refresh token of granted trader's account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_REFRESH_TOKEN_REQ
refreshToken string required The Refresh Token issued for updating Access Token.

ProtoOARefreshTokenRes

Response to the ProtoOARefreshTokenReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_REFRESH_TOKEN_RES
accessToken string required The Access Token issued for providing access to the Trader's Account.
tokenType string required bearer
expiresIn int64 required Access Token expiration in seconds
refreshToken string required

ProtoOASpotEvent

Event that is sent when a new spot event is generated on the server side. Requires subscription on the spot events, see ProtoOASubscribeSpotsReq.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SPOT_EVENT
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 required Unique identifier of the Symbol in cTrader platform.
bid uint64 optional Bid price. Specified in 1/100_000 of unit of a price. (e.g. 1.23 -> 123_000)
ask uint64 optional Ask price. Specified in 1/100_000 of unit of a price.
trendbar ProtoOATrendbar repeated Returns live trend bar. Requires subscription on the trend bars.
sessionClose uint64 optional Last session close. Specified in 1/100_000 of unit of a price.

ProtoOASubscribeDepthQuotesReq

Request for subscribing on depth of market of the specified symbol.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SUBSCRIBE_DEPTH_QUOTES_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 repeated Unique identifier of the Symbol in cTrader platform.

ProtoOASubscribeDepthQuotesRes

Response to the ProtoOASubscribeDepthQuotesReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SUBSCRIBE_DEPTH_QUOTES_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOASubscribeLiveTrendbarReq

Request for subscribing for live trend bars. Requires subscription on the spot events, see ProtoOASubscribeSpotsReq.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SUBSCRIBE_LIVE_TRENDBAR_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
period ProtoOATrendbarPeriod required Specifies period of trend bar series (e.g. M1, M10, etc.).
symbolId int64 required Unique identifier of the Symbol in cTrader platform.

ProtoOASubscribeLiveTrendbarRes

Response to the ProtoOASubscribeLiveTrendbarReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SUBSCRIBE_LIVE_TRENDBAR_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOASubscribeSpotsReq

Request for subscribing on spot events of the specified symbol.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SUBSCRIBE_SPOTS_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 repeated Unique identifier of the Symbol in cTrader platform.

ProtoOASubscribeSpotsRes

Response to the ProtoOASubscribeSpotsReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SUBSCRIBE_SPOTS_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOASymbolByIdReq

Request for getting a full symbol entity.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOL_BY_ID_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 repeated Unique identifier of the symbol in cTrader platform.

ProtoOASymbolByIdRes

Response to the ProtoOASymbolByIdReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOL_BY_ID_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbol ProtoOASymbol repeated Symbol entity with the full set of fields.
archivedSymbol ProtoOAArchivedSymbol repeated Archived symbols.

ProtoOASymbolCategoryListReq

Request for a list of symbol categories available for a trading account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOL_CATEGORY_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOASymbolCategoryListRes

Response to the ProtoSymbolCategoryListReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOL_CATEGORY_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolCategory ProtoOASymbolCategory repeated The list of symbol categories.

ProtoOASymbolChangedEvent

Event that is sent when the symbol is changed on the Server side.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOL_CHANGED_EVENT
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 repeated Unique identifier of the Symbol in cTrader platform.

ProtoOASymbolsForConversionReq

Request for getting a conversion chain between two assets that consists of several symbols. Use when no direct quote is available

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOLS_FOR_CONVERSION_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
firstAssetId int64 required The ID of the firs asset in the conversation chain. e.g.: for EUR/USD the firstAssetId is EUR ID and lastAssetId is USD ID.
lastAssetId int64 required The ID of the last asset in the conversation chain. e.g.: for EUR/USD the firstAssetId is EUR ID and lastAssetId is USD ID.

ProtoOASymbolsForConversionRes

Response to the ProtoOASymbolsForConversionReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOLS_FOR_CONVERSION_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbol ProtoOALightSymbol repeated Conversion chain of the symbols (e.g. EUR/USD, USD/JPY, GBP/JPY -> EUR/GBP).

ProtoOASymbolsListReq

Request for a list of symbols available for a trading account. Symbol entries are returned with the limited set of fields.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOLS_LIST_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
includeArchivedSymbols bool optional Default: false

ProtoOASymbolsListRes

Response to the ProtoOASymbolsListReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_SYMBOLS_LIST_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbol ProtoOALightSymbol repeated The list of symbols.
archivedSymbol ProtoOAArchivedSymbol repeated The list of archived symbols.

ProtoOATraderReq

Request for getting data of Trader's Account.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_TRADER_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOATraderRes

Response to the ProtoOATraderReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_TRADER_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
trader ProtoOATrader required The Trader account information.

ProtoOATraderUpdatedEvent

Event that is sent when a Trader is updated on Server side.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_TRADER_UPDATE_EVENT
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
trader ProtoOATrader required The Trader account information.

ProtoOATrailingSLChangedEvent

Event that is sent when the level of the Trailing Stop Loss is changed due to the price level changes.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_TRAILING_SL_CHANGED_EVENT
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
positionId int64 required The unique ID of the position.
orderId int64 required The unique ID of the order.
stopPrice double required New value of the Stop Loss price.
utcLastUpdateTimestamp int64 required The exact UTC time when the Stop Loss was updated.

ProtoOAUnsubscribeDepthQuotesReq

Request for unsubscribing from the depth of market of the specified symbol.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_UNSUBSCRIBE_DEPTH_QUOTES_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 repeated Unique identifier of the Symbol in cTrader platform.

ProtoOAUnsubscribeDepthQuotesRes

Response to the ProtoOAUnsubscribeDepthQuotesReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_UNSUBSCRIBE_DEPTH_QUOTES_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOAUnsubscribeLiveTrendbarReq

Request for unsubscribing from the live trend bars.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_UNSUBSCRIBE_LIVE_TRENDBAR_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
period ProtoOATrendbarPeriod required Specifies period of trend bar series (e.g. M1, M10, etc.).
symbolId int64 required Unique identifier of the Symbol in cTrader platform.

ProtoOAUnsubscribeLiveTrendbarRes

Response to the ProtoOASubscribeLiveTrendbarReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_UNSUBSCRIBE_LIVE_TRENDBAR_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOAUnsubscribeSpotsReq

Request for unsubscribing from the spot events of the specified symbol.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_UNSUBSCRIBE_SPOTS_REQ
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.
symbolId int64 repeated Unique identifier of the Symbol in cTrader platform.

ProtoOAUnsubscribeSpotsRes

Response to the ProtoOASubscribeSpotsRes request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_UNSUBSCRIBE_SPOTS_RES
ctidTraderAccountId int64 required Unique identifier of the trader's account. Used to match responses to trader's accounts.

ProtoOAVersionReq

Request for getting the proxy version. Can be used to check the current version of the Open API scheme.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_VERSION_REQ

ProtoOAVersionRes

Response to the ProtoOAVersionReq request.

Field Type Label Description
payloadType ProtoOAPayloadType optional Default: PROTO_OA_VERSION_RES
version string required The current version of the server application.