Create a TradingView alert hook
Request
Synthetic example for the production API. Replace YOUR_API_KEY and the ids. Do not send it against a live account until you mean to.
curl -X POST "https://api.fxapis.com/v1/alert-hooks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Gold breakout strategy","accountIds":["2b0c7c1e-5d0b-4d8e-9a53-0e6f3b1c9a10"]}'Returns a secret url to paste into a TradingView alert's Webhook URL. Every alert sent to it becomes an order on the hook's accounts: one account places an ordinary order, several place a multi-account order.
The URL is returned once, here, and is a credential: anyone who has it can trade these accounts. We store only a hash of it. Lost or leaked, rotate it.
defaults fill in what an alert leaves out and translate TradingView's symbols to your broker's. See the TradingView guide for the message format.
Several accounts need a plan with multi-account orders; that is checked here, and again on every alert.
Authorization
apiKey Authorization: Bearer fx_live_<id>_<secret>.
A key is shown once, at creation. We cannot show it again or recover it for you.
Keys carry a label (live or test) in the key itself, so each configuration is easy to tell
apart. Both reach real brokers: test with a broker demo account.
Scopes are per key. A key without accounts:write can read accounts and nothing else.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.fxapis.com/v1/alert-hooks" \ -H "Content-Type: application/json" \ -d '{ "name": "Gold breakout strategy", "accountIds": [ "2b0c7c1e-5d0b-4d8e-9a53-0e6f3b1c9a10" ] }'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "accountIds": [ "b75e4440-1cc9-49a6-8c9e-087e1aa69722" ], "defaults": { "volume": "0.10", "deviationPoints": 20, "symbolMap": { "XAUUSD": "XAUUSD.a", "US30": "DJ30" }, "symbolSuffix": ".a", "stripExchangePrefix": true, "allowClose": true, "onlyTradingViewIps": true }, "enabled": true, "urlHint": "https://api.fxapis.com/hooks/tradingview/…Qx4w", "lastUsedAt": null, "createdAt": "2019-08-24T14:15:22Z", "url": "https://api.fxapis.com/hooks/tradingview/3q2-7ZkT0d8m1sQe9yVbW4nX6pLr5aHcUgJf0oKxQx4w" }}Change an alert hook's name, accounts or defaults PATCH
The URL does not change, so nothing needs editing in TradingView. `defaults` fields you send replace those fields; the rest stay as they are. `symbolMap`, when sent, replaces the whole map.
Delete an alert hook DELETE
Its URL stops working at once and cannot be brought back. Orders it placed stay in the history, with the alert that caused them in `clientOrderId`.