

/api/v1/journal/tradesAdd a manual trade to one of your custom journal accounts. JSON body. Owner-scoped; only custom accounts (platform 'custom') accept manual trades. Returns the created trade with its generated id.
| Name | In | Type | Req. | Description |
|---|---|---|---|---|
| account_id | body | integer | yes | A custom journal account id. |
| side | body | "buy" | "sell" | yes | Trade direction. |
| symbol | body | string | yes | Instrument symbol. |
| profit | body | number | yes | Net profit/loss for the trade. |
| open_price | body | number | no | Entry price. |
| close_price | body | number | no | Exit price. |
| open_time | body | string (ISO) | no | Open time. |
| close_time | body | string (ISO) | no | Close time. |
| volume | body | number | no | Lot size. |
| take_profit | body | number | no | Stored in the trade comment. |
| stop_loss | body | number | no | Stored in the trade comment. |
curl -X POST -H "Authorization: Bearer afx_live_xxx" \
-H "Content-Type: application/json" \
-d '{"account_id":5012345,"side":"value","symbol":"eurusd","profit":"value"}' \
"https://www.analytics-fx.com/api/v1/journal/trades"{
"apiVersion": "v1",
"data": {
"id": "9f1c8e7a-2b3c-4d5e-8f90-abc123def456", "type": "buy", "symbol": "EURUSD",
"profit": 195, "success": "won", "volume": 0.5,
"openTime": null, "closeTime": null, "openPrice": null, "closePrice": null, "comment": ""
},
"meta": { "requestId": "req_at01", "credits": { "cost": 1, "remaining": 983 } }
}POST /api/v1/journal/tradesCreate a key at /dashboard/api. The key stays in your browser.