Skip to main content

Endpoints

MethodEndpointDescription
GET/v1/positionsGet current positions
POST/v1/positions/balanceGet single account balance
POST/v1/positions/balancesGet multiple account balances

Position Data

Each position includes:
FieldDescription
symbolTrading instrument
accountTrading account
netPositionCurrent net position quantity
qtyBoughtTotal quantity bought
qtySoldTotal quantity sold
costTotal cost basis (scaled integer)
realizedRealized profit/loss (scaled integer)
bodPositionBeginning-of-day position
updateTimeLast update timestamp

Balance Data

Account balances include:
FieldDescription
balanceCurrent cash balance
buyingPowerAvailable buying power for trading
capitalRequirementRequired capital to maintain positions
excessCapitalCapital above requirements
marginRequirementMargin required for open positions
unsettledFundsFunds pending settlement
openOrdersValue reserved for open orders
updateTimeLast update timestamp

Historical Position Queries

Query positions as they existed at a specific point in time. Useful for regulatory reporting, reconciliation, or end-of-day snapshots.

Parameters

ParameterTypeDescription
as_of_timeRFC3339 timestampExact point-in-time (e.g., 2026-01-02T17:00:00Z)
as_of_dateDate objectEnd-of-trading-day snapshot (year, month, day)
Mutually Exclusive: Use as_of_time OR as_of_date, not both. The as_of_time parameter already contains date information.

Examples

Query by timestamp (exact point in time):
GET /v1/positions?name=firms/ISV-Alice/accounts/trading&as_of_time=2026-01-02T17:00:00Z
Query by trade date (end of trading day):
GET /v1/positions?name=firms/ISV-Alice/accounts/trading&as_of_date.year=2026&as_of_date.month=1&as_of_date.day=2

Use Cases

  • End-of-Day Reports: Query positions at market close for daily P&L calculations
  • Regulatory Snapshots: Capture position state at specific regulatory timestamps
  • Reconciliation: Compare historical positions against external records
  • Audit Trail: Review position history for compliance or dispute resolution

Usage Notes

Position Updates After TradesPosition data is updated after each trade execution. For real-time trade notifications that affect positions, use the gRPC Order Stream.
  • Positions are aggregated by symbol and account
  • Balances reflect current available and reserved amounts
  • Use the Order Stream for real-time execution updates that affect positions
  • Historical queries return the position state as of the specified time