Endpoints
| Method | Endpoint | Description |
|---|
GET | /v1/positions | Get current positions |
POST | /v1/positions/balance | Get single account balance |
POST | /v1/positions/balances | Get multiple account balances |
Position Data
Each position includes:
| Field | Description |
|---|
symbol | Trading instrument |
account | Trading account |
netPosition | Current net position quantity |
qtyBought | Total quantity bought |
qtySold | Total quantity sold |
cost | Total cost basis (scaled integer) |
realized | Realized profit/loss (scaled integer) |
bodPosition | Beginning-of-day position |
updateTime | Last update timestamp |
Balance Data
Account balances include:
| Field | Description |
|---|
balance | Current cash balance |
buyingPower | Available buying power for trading |
capitalRequirement | Required capital to maintain positions |
excessCapital | Capital above requirements |
marginRequirement | Margin required for open positions |
unsettledFunds | Funds pending settlement |
openOrders | Value reserved for open orders |
updateTime | Last 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
| Parameter | Type | Description |
|---|
as_of_time | RFC3339 timestamp | Exact point-in-time (e.g., 2026-01-02T17:00:00Z) |
as_of_date | Date object | End-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