

/api/v1/journal/positionsYour live MT5 book: open positions and pending orders as of the last bridge sync (hourly), not a live tick feed. Owner-scoped: only the key owner's rows are ever returned, and an account_id that is not yours answers 404. profit is FLOATING (unrealized) P/L as MT5 reports it for the position and excludes swap and commission, unlike the closed trades of /journal/trades. A pending order's priceOpen is its trigger price. Pagination runs over the two lists together.
| Name | In | Type | Req. | Description |
|---|---|---|---|---|
| account_id | query | string (uuid) | no | One of your MT5 account ids. Omit for every connected account. |
| status | query | "open" | "pending" | "all" | no | open returns positions only, pending returns orders only (default all). |
| symbol | query | string | no | Restrict to one symbol, case-insensitive. |
| page | query | integer | no | Page number (default 1). |
| limit | query | integer | no | Rows per page (default 100, max 500). |
curl -H "Authorization: Bearer afx_live_xxx" \
"https://www.analytics-fx.com/api/v1/journal/positions?account_id=5012345&symbol=eurusd"{
"apiVersion": "v1",
"data": {
"asOf": "2026-06-20T15:00:12.441Z", "status": "open",
"accounts": [ { "id": "d070cafc-b2ea-4e82-8b0f-4a26c8029b88", "login": 5012345,
"server": "ICMarkets-Demo", "name": "Main", "lastSyncedAt": "2026-06-20T15:00:12.441Z" } ],
"totals": { "positions": 1, "orders": 1, "floatingProfit": 292.53, "swap": -3.28 },
"positions": [
{ "accountId": "d070cafc-b2ea-4e82-8b0f-4a26c8029b88", "login": 5012345, "ticket": "604112233",
"symbol": "EURUSD", "type": "buy", "volume": 3.4, "priceOpen": 1.0821, "priceCurrent": 1.0833,
"stopLoss": 1.0772, "takeProfit": 1.0889, "profit": 292.53, "swap": -3.28,
"openedAt": "2026-06-20T08:40:24Z", "comment": null, "updatedAt": "2026-06-20T15:00:12.441Z" }
],
"orders": [
{ "accountId": "d070cafc-b2ea-4e82-8b0f-4a26c8029b88", "login": 5012345, "ticket": "605175929",
"symbol": "NZDCHF", "type": "sell_limit", "volume": 4.59, "priceOpen": 0.47429,
"priceCurrent": 0.47019, "stopLoss": 0.477, "takeProfit": null, "stopLimit": null,
"placedAt": "2026-06-19T12:34:29Z", "comment": null, "updatedAt": "2026-06-20T15:00:12.441Z" }
]
},
"meta": { "requestId": "req_op01",
"credits": { "cost": 1, "remaining": 990 },
"pagination": { "page": 1, "limit": 100, "total": 2, "hasMore": false } }
}GET /api/v1/journal/positions?account_id=12&status=open&symbol=eurusd&page=1&limit=100Create a key at /dashboard/api. The key stays in your browser.