Skip to content

Broker API > /broker/ > Broker Service API Documentation

This endpoint group provides comprehensive access to broker account information, active positions, trades, notifications, transactions, and live pricing data.

Endpoint Request

Method: GET

URL: /broker/

Request Body

None required for GET requests.

Request Parameters

No request parameters required for the base endpoint.

Example Request:

curl -X GET http://localhost:8888/broker/

Response / 200 / Success

Code:

200 OK

Content:

"Oanda Broker API"

Broker API > /broker/health > Health Check Endpoint

This endpoint checks the health status of the Broker API.

Endpoint Request

Method: GET

URL: /broker/health

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/health

Response / 200 / Success

Code:

200 OK

Content:

"OK"

Broker API > /broker/trades > Get Open Trades Endpoint

This endpoint retrieves all currently open trades.

Endpoint Request

Method: GET

URL: /broker/trades

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/trades

Response / 200 / Success

Code:

200 OK

Content:

[
  {
    "id": "1",
    "instrument": "EUR_USD",
    "price": "1.0850",
    "initialUnits": "1000",
    "unrealizedPL": "12.50"
  }
]

Broker API > /broker/positions > Get Open Positions Endpoint

This endpoint retrieves all currently open positions.

Endpoint Request

Method: GET

URL: /broker/positions

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/positions

Response / 200 / Success

Code:

200 OK

Content:

[
  {
    "instrument": "EUR_USD",
    "long": {
      "units": "1000",
      "pl": "12.50"
    },
    "short": {
      "units": "0",
      "pl": "0.00"
    }
  }
]

Broker API > /broker/trades/open > Get Open Trades (Alias) Endpoint

This endpoint serves as an alias for retrieving open trades.

Endpoint Request

Method: GET

URL: /broker/trades/open

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/trades/open

Response / 200 / Success

Code:

200 OK

Content:

[
  {
    "id": "1",
    "instrument": "EUR_USD",
    "price": "1.0850"
  }
]

Broker API > /broker/account > Get Account Information Endpoint

This endpoint retrieves account details, balances, and margin info.

Endpoint Request

Method: GET

URL: /broker/account

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/account

Response / 200 / Success

Code:

200 OK

Content:

{
  "id": "101-001-8739467-003",
  "balance": "10000.00",
  "pl": "-21902.6681",
  "currency": "USD"
}

Broker API > /broker/notifications > Get Notifications Endpoint

This endpoint retrieves transaction activities parsed as notifications.

Endpoint Request

Method: GET

URL: /broker/notifications

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/notifications

Response / 200 / Success

Code:

200 OK

Content:

[
  {
    "id": "42",
    "time": "2026-03-30T12:00:00Z",
    "type": "ORDER_FILL",
    "instrument": "EUR_USD",
    "units": "-1000",
    "status": "FILLED"
  }
]

Broker API > /broker/transactions > Get Transactions Endpoint

This endpoint retrieves all historical transactions from the broker cache.

Endpoint Request

Method: GET

URL: /broker/transactions

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/transactions

Response / 200 / Success

Code:

200 OK

Content:

[
  {
    "id": "42",
    "type": "ORDER_FILL",
    "time": "2026-03-30T12:00:00Z"
  }
]

Broker API > /broker/transactions/types > Get Transactions Grouped By Type Endpoint

This endpoint groups all cached transactions by their type.

Endpoint Request

Method: GET

URL: /broker/transactions/types

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/transactions/types

Response / 200 / Success

Code:

200 OK

Content:

{
  "ORDER_FILL": [
    {
      "id": "42",
      "type": "ORDER_FILL"
    }
  ]
}

Broker API > /broker/transactions/type/{type} > Get Transactions By Specific Type Endpoint

This endpoint filters and returns cached transactions matching a specified type.

Endpoint Request

Method: GET

URL: /broker/transactions/type/{type}

Request Body

None required for GET requests.

Request Parameters

parameter is required detail
type required The exact transaction type string to filter by (e.g., ORDER_FILL).

Example Request:

curl -X GET http://localhost:8888/broker/transactions/type/ORDER_FILL

Response / 200 / Success

Code:

200 OK

Content:

[
  {
    "id": "42",
    "type": "ORDER_FILL"
  }
]

Broker API > /broker/transactions/counts > Get Transaction Counts By Type Endpoint

This endpoint returns a count of transactions categorized by type.

Endpoint Request

Method: GET

URL: /broker/transactions/counts

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/transactions/counts

Response / 200 / Success

Code:

200 OK

Content:

{
  "ORDER_FILL": 15,
  "MARKET_ORDER": 20
}

Broker API > /broker/finance/profit > Get Profit Loss Metrics Endpoint

This endpoint retrieves detailed financial profit/loss analytics.

Endpoint Request

Method: GET

URL: /broker/finance/profit

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/finance/profit

Response / 200 / Success

Code:

200 OK

Content:

{
  "lifetimePL": "-21902.6681",
  "resettablePL": "0.0000",
  "unrealizedPL": "12.50",
  "balance": "10000.00",
  "nav": "10012.50"
}

Broker API > /broker/pl/reset > Reset Profit Loss Baseline Endpoint

This endpoint resets the resettable profit/loss baseline.

Endpoint Request

Method: POST

URL: /broker/pl/reset

Request Body

None required.

Request Parameters

No request parameters required.

Example Request:

curl -X POST http://localhost:8888/broker/pl/reset

Response / 200 / Success

Code:

200 OK

Content:

{}

Broker API > /broker/pl > Get Profit Loss Since Reset Endpoint

This endpoint retrieves the profit/loss accumulated since the last reset baseline.

Endpoint Request

Method: GET

URL: /broker/pl

Request Body

None required for GET requests.

Request Parameters

No request parameters required.

Example Request:

curl -X GET http://localhost:8888/broker/pl

Response / 200 / Success

Code:

200 OK

Content:

12.50

Broker API > /broker/candles/{symbol} > Get Latest Candles Endpoint

This endpoint pulls the latest candlestick data for a specified symbol.

Endpoint Request

Method: GET

URL: /broker/candles/{symbol}

Request Body

None required for GET requests.

Request Parameters

parameter is required detail
symbol required The trading instrument symbol (e.g., EUR_USD). Must be a valid string.

Example Request:

curl -X GET http://localhost:8888/broker/candles/EUR_USD

Response / 200 / Success

Code:

200 OK

Content:

[
  {
    "complete": true,
    "time": "2026-03-30T12:00:00.000000000Z",
    "volume": 150,
    "mid": {
      "o": "1.0850",
      "h": "1.0860",
      "l": "1.0845",
      "c": "1.0855"
    }
  }
]

Possible Errors Causes

400 Bad Request: If one or both of the query or path parameters are missing or invalid.

500 Internal Server Error: If an unexpected error occurs during broker data retrieval.

Additional Information

This endpoint group is intended for retrieving broker state and market analytics.

For more complex mathematical operations, consider using the Analytics API.