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.