Skip to main content

Trading API (0.1.0)

Download OpenAPI specification:Download

Accounts

Fetch account information

Authorizations:
StandardAuth

Responses

Response samples

Content type
application/json
{
  • "account": {
    }
}

Instruments

Fetch instrument information

Authorizations:
StandardAuth
query Parameters
search
string
Example: search=EURUSD

Search query to filter instruments by symbol

type
string
Example: type=currencies

Filter instruments by type

Responses

Response samples

Content type
application/json
{
  • "instruments": [
    ],
  • "ok": true
}

Fetch instrument information by symbol

Authorizations:
StandardAuth
path Parameters
symbol
required
string
Example: EURUSD

The symbol of the instrument to retrieve

Responses

Response samples

Content type
application/json
{
  • "ok": true,
  • "instrument": {
    }
}

Fetch detailed instruments information

Authorizations:
StandardAuth

Responses

Response samples

Content type
application/json
{
  • "defaultInstrument": "EURUSD",
  • "instruments": [
    ],
  • "timezone": "Europe/Berlin",
  • "messageType": "InstrumentsInfo"
}

Orders

Fetches all pending orders for the authorized trading account

Authorizations:
StandardAuth

Responses

Response samples

Content type
application/json
{
  • "orders": [
    ]
}

Create a new order

Authorizations:
StandardAuth
Request Body schema: application/json
required
symbol
required
string
type
required
string (OrderTypeEnum)
Enum: "market" "limit" "stop"
side
required
string (TradeSideEnum)
Enum: "buy" "sell"
size
required
string <decimal>
limitPrice
string or null <decimal>
stopPrice
string or null <decimal>
stopLoss
string or null <decimal>
trailingStopLossPct
number (TrailingStopLossPct)

Percentage at which trailing stop loss is triggered. Must be between 0 and 100.

takeProfit
string or null <decimal>
orderDuration
string (OrderDuration)
Enum: "GTC" "GTD" "GFD" "FOK" "IOC"
closePositionAfterSeconds
integer or null
invest
string or null <decimal>
positionId
integer or null <int64>

Responses

Request samples

Content type
application/json
{
  • "symbol": "EURUSD",
  • "type": "market",
  • "side": "buy",
  • "size": "0.01",
  • "limitPrice": "1.12345",
  • "stopPrice": "1.12345",
  • "stopLoss": "1.12345",
  • "trailingStopLossPct": 5,
  • "takeProfit": "1.12345",
  • "orderDuration": "GTC",
  • "closePositionAfterSeconds": 50,
  • "invest": "0.5",
  • "positionId": 15
}

Response samples

Content type
application/json
{
  • "id": 356,
  • "type": "market",
  • "symbol": "EURUSD",
  • "side": "buy",
  • "reason": "user_trading",
  • "positionId": null,
  • "limitPrice": "0.6",
  • "stopPrice": null,
  • "size": "0.1",
  • "takeProfit": null,
  • "stopLoss": null,
  • "trailingStopLossPct": 5,
  • "filledQuantity": null,
  • "placedAt": "2024-06-05T09:42:38.01044Z",
  • "executedAt": null,
  • "averagePrice": null,
  • "requestPrice": null,
  • "status": "new",
  • "orderDuration": "GTC"
}

Modify a pending order

Authorizations:
StandardAuth
path Parameters
orderId
required
integer
Example: 100

The order id to modify

Request Body schema: application/json
required

Pass only the parameters you would like to modify

size
string
limitPrice
string
stopPrice
string
stopLoss
string
takeProfit
string
trailingStopLossPct
number (TrailingStopLossPct)

Percentage at which trailing stop loss is triggered. Must be between 0 and 100.

Responses

Request samples

Content type
application/json
{
  • "size": "0.01",
  • "limitPrice": "1.12345",
  • "stopPrice": "1.12345",
  • "stopLoss": "1.12345",
  • "takeProfit": "1.12345",
  • "trailingStopLossPct": 5
}

Response samples

Content type
application/json
{
  • "id": 356,
  • "type": "market",
  • "symbol": "EURUSD",
  • "side": "buy",
  • "reason": "user_trading",
  • "positionId": null,
  • "limitPrice": "0.6",
  • "stopPrice": null,
  • "size": "0.1",
  • "takeProfit": null,
  • "stopLoss": null,
  • "trailingStopLossPct": 5,
  • "filledQuantity": null,
  • "placedAt": "2024-06-05T09:42:38.01044Z",
  • "executedAt": null,
  • "averagePrice": null,
  • "requestPrice": null,
  • "status": "new",
  • "orderDuration": "GTC"
}

Cancel a pending order

Authorizations:
StandardAuth
path Parameters
orderId
required
integer
Example: 100

The order id to cancel

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

Positions

Fetches all active positions (status open, new, in-closing etc.)

Authorizations:
StandardAuth

Responses

Response samples

Content type
application/json
{
  • "positions": [
    ]
}

Modify an active position

Authorizations:
StandardAuth
path Parameters
positionId
required
integer
Example: 1000

The position id to modify

Request Body schema: application/json
required

Pass only the parameters you would like to modify

stopLoss
string
takeProfit
string
trailingStopLossPct
number (TrailingStopLossPct)

Percentage at which trailing stop loss is triggered. Must be between 0 and 100.

Responses

Request samples

Content type
application/json
{
  • "stopLoss": "1.12345",
  • "takeProfit": "1.12345",
  • "trailingStopLossPct": 5
}

Response samples

Content type
application/json
{
  • "ok": true,
  • "position": {
    }
}

Close a position

Close an open position by its ID

Authorizations:
StandardAuth
path Parameters
id
required
integer <int64>
Example: 183

The ID of the position to close

Responses

Response samples

Content type
application/json
{
  • "ok": true
}

Calculate margin requirement

Calculates the margin that would be locked for a hypothetical order and tells you whether the free margin would be exceeded or a margin-call would be triggered.

Authorizations:
StandardAuth
query Parameters
size
required
string^\d+(\.\d+)?$
Example: size=0.1

Order size in lots/units (decimal).

symbol
required
string
Example: symbol=EURUSD

Trading symbol / instrument code (e.g. EURUSD).

side
required
string
Enum: "buy" "sell"
Example: side=buy

Order side.

stopOrLimitPrice
string^\d+(\.\d+)?$
Example: stopOrLimitPrice=1.2050

Stop-loss or limit price that accompanies the order. Optional. Provide when the margin depends on a protective order.

Responses

Response samples

Content type
application/json
{
  • "margin": "1325.67",
  • "freeMarginExceeded": false,
  • "marginCall": false
}

Trades

Fetch all trades for the authorized trading account

Authorizations:
StandardAuth
query Parameters
limit
integer
Example: limit=100

The number of items to return

offset
integer
Example: offset=0

The number of items to skip before starting to collect the result set

side
string (TradeSideEnum)
Enum: "buy" "sell"

Filter by trade side

symbols
Array of strings

Filter by symbols

from
string <date-time>

Filter by start date (RFC3339 format)

to
string <date-time>

Filter by end date (RFC3339 format)

Responses

Response samples

Content type
application/json
{
  • "trade": {
    }
}

Prop Trading

List all prop challenges

Retrieve a list of all prop challenges

Authorizations:
StandardAuth

Responses

Response samples

Content type
application/json
{
  • "count": 1,
  • "propChallenges": [
    ]
}

Get a prop challenge

Retrieve a specific prop challenge by ID

Authorizations:
StandardAuth
path Parameters
id
required
string
Example: TEST

ID of the prop challenge to retrieve

Responses

Response samples

Content type
application/json
{
  • "propChallenge": {
    }
}

List all prop funnels

Retrieve a list of all prop funnels.

Authorizations:
StandardAuth

Responses

Response samples

Content type
application/json
{
  • "count": 10,
  • "funnels": [
    ]
}

Get a prop funnel

Retrieve a specific prop funnel by ID

Authorizations:
StandardAuth
path Parameters
id
required
string
Example: my-funnel-id

ID of the prop funnel to retrieve

Responses

Response samples

Content type
application/json
{
  • "funnel": {
    }
}

History

Fetch historical performances for symbol

Authorizations:
StandardAuth
path Parameters
symbol
required
string
Example: EURUSD

The symbol for which to receive the performance data

Responses

Response samples

Content type
application/json
{
  • "oneWeekPerformance": "-1.85%",
  • "oneMonthPerformance": "-2.00%",
  • "threeMonthsPerformance": "-2.00%",
  • "sixMonthsPerformance": "-2.00%",
  • "yearPerformance": null,
  • "YTDPerformance": null
}

Fetch performance data for all symbols

Authorizations:
StandardAuth
path Parameters
interval
required
string
Enum: "1H" "4H" "1D" "1W" "1M" "3M" "6M" "1Y" "YTD"
Example: 1D

The interval for performance data

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Fetch instrument candles

Authorizations:
StandardAuth
path Parameters
symbol
required
string
Example: EURUSD

The symbol for which to receive the candles

query Parameters
start
required
string
Example: start=2023-05-12T13:55:00Z

The start time

end
string
Example: end=2023-05-13T13:55:00Z

The end time

resolution
string
Enum: "0" "1" "5" "15" "30" "60" "1D"

The size of each candle where 0 means no aggregation (raw quotes delivered in candle format)

Responses

Response samples

Content type
application/json
{
  • "candles": [
    ]
}

Signals

Fetch all active price alerts for user

Authorizations:
StandardAuth

Responses

Response samples

Content type
application/json
{
  • "priceAlerts": [
    ]
}

Create a price alert

Authorizations:
StandardAuth
Request Body schema: application/json
required
symbol
required
string
price
required
string <decimal>
condition
required
string (PriceAlertConditionEnum)
Enum: "BID_BELOW" "BID_ABOVE" "ASK_BELOW" "ASK_ABOVE"
expirationDate
string or null <date-time>

Responses

Request samples

Content type
application/json
{
  • "symbol": "EURUSD",
  • "price": "1.12345",
  • "condition": "BID_BELOW",
  • "expirationDate": "2024-12-31T23:59:59Z"
}

Response samples

Content type
application/json
{
  • "priceAlert": {
    }
}

Delete price alert

Authorizations:
StandardAuth
path Parameters
alertId
required
integer
Example: 1000

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Get market trend for symbol

Authorizations:
StandardAuth
path Parameters
symbol
required
string
Example: GBPUSD

Responses

Response samples

Content type
application/json
{
  • "symbol": "string",
  • "trend": 0
}