Endpoint cheatsheet

Every endpoint the playground knows about. Sourced from lib/endpoints.ts.

89 endpoints
POST
/iserver/auth/status

Current session/auth state

10/s
POST
/iserver/auth/ssodh/init

Re-establish brokerage session

Body: {publish:true,compete:true}

10/s
POST
/iserver/reauthenticate

Tries to reauthenticate session

GET
/sso/validate

Validate current SSO session

1/min
GET
/tickle

Keepalive — call every 60s

1/s
POST
/logout

End session

GET
/iserver/accounts

Tradeable accounts

GET
/portfolio/accounts

Viewable accounts (preflight)

1/5s
GET
/portfolio/subaccounts

FA subaccounts (≤100)

1/5s
GET
/portfolio/subaccounts2

FA subaccounts (>100, paginated)

POST
/iserver/account

Switch active trading account

GET
/portfolio/{accountId}/ledger

Cash by currency

1/5s
GET
/portfolio/{accountId}/summary

Equity, margin, BP

1/5s
GET
/portfolio/{accountId}/meta

Account metadata

GET
/portfolio/{accountId}/allocation

Allocation by asset class / sector

GET
/portfolio/{accountId}/combopositions

Combo positions

GET
/iserver/account/pnl/partitioned

Daily PnL by account/conid

1/5s
GET
/portfolio/{accountId}/positions/0

Open positions (page 0)

GET
/portfolio/{accountId}/position/{conid}

Single position by conid

GET
/portfolio/positions/{conid}

Position across all accounts

POST
/portfolio/{accountId}/positions/invalidate

Force position cache refresh

GET
/trsrv/stocks?symbols={symbols}

Symbol → conid for stocks

POST
/trsrv/secdef

Bulk contract details by conids (≤200)

GET
/trsrv/futures?symbols={symbols}

Future contracts by symbol

GET
/iserver/contract/{conid}/info

Contract info by conid

POST
/iserver/secdef/rules

Trading rules for an instrument

POST
/iserver/secdef/search

Search contracts (e.g., for options)

GET
/iserver/secdef/strikes?conid={conid}&sectype={sectype}&month={month}

Option strikes for a month

GET
/iserver/secdef/info?conid={conid}&sectype={sectype}&month={month}&strike={strike}&right={right}

Option contract details

GET
/trsrv/secdef/schedule?assetClass={assetClass}&symbol={symbol}

Trading hours schedule

GET
/iserver/currency/pairs?currency={currency}

Available FX pairs

GET
/iserver/exchangerate?source={source}&target={target}

FX rate

GET
/iserver/marketdata/snapshot?conids={conids}&fields={fields}

Top-of-book snapshot

First call primes the stream and returns empty.

10/s
GET
/iserver/marketdata/history?conid={conid}&period={period}&bar={bar}

Historical bars (e.g., period=1d, bar=1min)

5 concurrent
GET
/hmds/history?conid={conid}&period={period}&bar={bar}

HMDS historical (longer lookback than iserver)

POST
/iserver/marketdata/unsubscribe

Stop streaming for specific conids

GET
/iserver/marketdata/unsubscribeall

Stop all streaming

GET
/md/regsnapshot?conid={conid}

Regulatory (delayed) snapshot, no live data subscription needed

GET
/iserver/account/orders

Live + recent orders

1/5s
GET
/iserver/account/order/status/{orderId}

Single order status

GET
/iserver/account/trades?days={days}

Recent fills (≤7 days)

1/5s
POST
/iserver/account/{accountId}/orders/whatif

Order preview (commission + margin)

POST
/iserver/account/{accountId}/orders

Submit order ticket(s)

Body is array. May return reply messages requiring confirmation.

POST
/iserver/account/{accountId}/order/{orderId}

Modify unfilled order (full ticket)

DELETE
/iserver/account/{accountId}/order/{orderId}

Cancel order

POST
/iserver/reply/{messageId}

Confirm an order reply message

Body: {confirmed:true}

POST
/iserver/questions/suppress

Pre-suppress order reply messages

POST
/iserver/questions/suppress/reset

Restore all order reply messages

GET
/iserver/watchlists

List watchlists

GET
/iserver/watchlist?id={id}

Get watchlist by id

POST
/iserver/watchlist

Create watchlist

DELETE
/iserver/watchlist?id={id}

Delete watchlist

GET
/iserver/scanner/params

Available scan parameters

1/15min
POST
/iserver/scanner/run

Run a market scanner

1/s
GET
/hmds/scanner/params

HMDS scanner parameters

POST
/hmds/scanner/run

Run HMDS scanner

GET
/iserver/account/{accountId}/alerts

List configured alerts

POST
/iserver/account/{accountId}/alert

Create / modify alert

GET
/iserver/account/alert/{alertId}

Get alert details

POST
/iserver/account/{accountId}/alert/activate

Activate alert

DELETE
/iserver/account/{accountId}/alert/{alertId}

Delete alert

GET
/iserver/account/mta

Mobile trading alert config

GET
/fyi/notifications?max={max}

Account activity notifications

1/s
GET
/fyi/notifications/more?id={id}

Paginate older FYIs

1/s
GET
/fyi/unreadnumber

Unread FYI count

1/s
PUT
/fyi/notifications/{id}

Mark notification read

1/s
GET
/fyi/settings

FYI subscription settings

1/s
POST
/fyi/settings/{typecode}

Set FYI subscription for typecode

1/s
GET
/fyi/disclaimer/{typecode}

FYI disclaimer text

1/s
GET
/fyi/deliveryoptions

FYI delivery channels

1/s
GET
/sso/validate

Validate SSO session, returns user/feature flags

1/min
GET
/iserver/contract/{conid}/info

Full contract details (replaces older /trsrv calls)

GET
/iserver/contract/{conid}/info-and-rules

Contract details + trading rules (margin, etc)

GET
/portfolio/{accountId}/positions/cash

Cash positions only

GET
/portfolio/{accountId}/news

News for portfolio holdings

GET
/iserver/bulletins

Brokerage bulletins

POST
/pa/transactions

Detailed transaction history (per conid)

Body: {acctIds:[id], conids:[#], currency:"USD", days:90}

1/15min
POST
/pa/summary

Portfolio summary metrics

Body: {acctIds:[id]}

1/15min
POST
/pa/performance

NAV / return time series

Body: {acctIds:[id], period:"1Y"}

1/15min
POST
/pa/allperiods

Performance across periods

1/15min
GET
ws: smd+{conid}+{...}

Stream top-of-book; cancel with umd+

GET
ws: sbd+{conid}+{...}

Stream depth-of-book; cancel with ubd+

GET
ws: sor+{}

Stream order updates; cancel with uor+

GET
ws: sld+{accountId}

Stream ledger changes; cancel with uld+

GET
ws: ssd+{accountId}

Stream account summary; cancel with usd+

GET
ws: spl+{accountId}

Stream PnL; cancel with upl+

GET
ws: blt+{accountId}

Stream bulletins

GET
ws: ntf+{}

Stream FYI notifications

GET
ws: sts+{}

Stream session status