name: ibkr-gateway-api description: Use when working in mm-ibkr-gateway to access market data, account summary, positions, PnL, or orders via the REST API (FastAPI). Covers starting the API server, required env and safety settings, authentication with X-API-Key, and market/account/order endpoints for quote, historical bars, preview, place, status, cancel, and open orders.
IBKR Gateway API
Overview
Use the REST API in this repo to fetch market data, read account data, and manage orders safely with preview-first flow.
Workflow
-
Confirm safety mode and connectivity.
- Ensure IBKR Gateway or TWS is running on the configured host/port.
- Keep
TRADING_MODE=paperandORDERS_ENABLED=falseunless explicitly asked to enable live trading. - If exposing the API, set
API_KEYand requireX-API-Keyon requests.
-
Start the API server.
python -m api.serveroribkr-gateway start-api- Verify with
GET /health.
-
Use market data, account, and order endpoints.
- Read
api/API.mdfor full endpoint docs and error codes. - Read
docs/SCHEMAS.mdfor request/response schemas (OrderSpec, Position, AccountSummary). - Read
docs/SAFETY_CHECKLIST.mdbefore enabling live trading.
- Read
-
Prefer preview-first order flow.
- Call
POST /orders/previewbeforePOST /orders. - If
ORDERS_ENABLED=false,POST /ordersreturnsSIMULATED.
- Call
Minimal Examples
Account summary:
curl http://localhost:8000/account/summary
Quote snapshot:
curl -X POST http://localhost:8000/market-data/quote \
-H "Content-Type: application/json" \
-d '{"symbol": "AAPL", "securityType": "STK"}'
Preview a limit order:
curl -X POST http://localhost:8000/orders/preview \
-H "Content-Type: application/json" \
-d '{
"instrument": {"symbol": "AAPL", "securityType": "STK"},
"side": "BUY",
"quantity": 10,
"orderType": "LMT",
"limitPrice": 150.00
}'
References
references/api-endpoints.mdfor market/account/order endpoint lists and request patterns.