
Category: App Pages | Last updated: 2026-06-15 | Reading time: 5 min read


The API Keys page lets you create and revoke API keys for programmatic access. Use keys to place orders from your own bots, build custom dashboards, or connect external risk systems. (TradingView alerts use webhook tokens from the Signals page instead.)
| Scope | What It Allows |
|---|---|
| read | Read accounts, positions, orders, risk readings, strategies, and user info. |
| trade | Place orders, attach TP/SL protection, flatten accounts, create webhooks, and create strategies. |
Include the key in the X-API-Key header of every request:
X-API-Key: YOUR_API_KEY
API documentation is available at /api-docs.
When placing orders via the API, include a unique Idempotency-Key header to avoid duplicate trades if a request retries:
POST /api/v1/accounts/ID/orders X-API-Key: YOUR_API_KEY Idempotency-Key: order-attempt-001 Content-Type: application/json
The same key returns the cached response for 24 hours without placing a second order.
Instead of polling positions and orders, open one Server-Sent Events stream. It starts with a snapshot of your accounts, open positions and working orders, then sends order, fill, position, balance, risk (trailing drawdown, liquidation level and profit to pass), risk_settings (limits changed) and lock events as they happen. Position and balance updates arrive at most once per second with the latest value; orders and fills arrive immediately. Add ?accountId=ID to follow one account. If the connection drops, reconnect and the new snapshot brings you up to date.
GET /api/v1/stream X-API-Key: YOUR_API_KEY Accept: text/event-stream
From October 17, 2026, each API key can read the same endpoint at most 12 times a minute. Bots that poll faster should move to the stream.
Use the SSE stream to monitor your broker connection status in real time. The stream emits connect, disconnect, reconnect, auth-expired, and fatal-error events for every connection owned by your API key.
GET /api/v1/connection-health/stream X-API-Key: YOUR_API_KEY Accept: text/event-stream
Example event stream:
data: {"type":"snapshot","connectionId":"conn_abc","status":"CONNECTED","ts":1719861123456} data: {"type":"status","connectionId":"conn_abc","status":"RECONNECTING","ts":1719861200000} data: {"type":"status","connectionId":"conn_abc","status":"CONNECTED","ts":1719861230000} data: {"type":"heartbeat","ts":1719861240000}
This is useful for dashboards or alerting systems that need to know immediately when a broker connection drops, without polling the API.
The safest way to test trade-scoped integrations is with a Tradovate demo account. Demo connections use the same order path as live accounts, so your code is production-ready before any real money is at risk.
For read-only dashboards, a read-scope key is enough and carries no trading risk.
Read next: Signals guide.
Signal Trade App lets you copy one trade across unlimited futures accounts in under 50ms. Sign up free with a 5-day Pro trial (credit card required, no charge during trial).