Skip to main content
GET
/
trading
/
accounts
/
{account_id}
/
positions
List positions for an account
curl --request GET \
  --url https://service.bluumfinance.com/v1/trading/accounts/{account_id}/positions \
  --header 'Authorization: Basic <encoded-value>'
[
  {
    "id": "pos_a1b2c3d4e5f6g7h8",
    "account_id": "3d0b0e65-35d3-4dcd-8df7-10286ebb4b4b",
    "symbol": "AAPL",
    "asset_id": "6c5b2403-24a9-4b55-a3dd-5cb1e4b50da6",
    "currency": "USD",
    "quantity": "10.5",
    "average_cost_basis": "175.50",
    "total_cost_basis": "1842.75",
    "current_price": "180.00",
    "market_value": "1890.00",
    "unrealized_pl": "47.25",
    "unrealized_pl_percent": "2.56",
    "last_transaction_at": "2025-01-15T14:30:15Z",
    "created_at": "2025-01-10T10:00:00Z",
    "updated_at": "2025-01-15T14:30:15Z"
  },
  {
    "id": "pos_b2c3d4e5f6g7h8i9",
    "account_id": "3d0b0e65-35d3-4dcd-8df7-10286ebb4b4b",
    "symbol": "MSFT",
    "asset_id": "7d6c3514-35ba-5c66-b4ee-6dc2f5c61eb7",
    "currency": "USD",
    "quantity": "5.0",
    "average_cost_basis": "350.00",
    "total_cost_basis": "1750.00",
    "current_price": "365.50",
    "market_value": "1827.50",
    "unrealized_pl": "77.50",
    "unrealized_pl_percent": "4.43",
    "last_transaction_at": "2025-01-12T11:20:00Z",
    "created_at": "2025-01-08T09:00:00Z",
    "updated_at": "2025-01-15T16:00:00Z"
  }
]

Documentation Index

Fetch the complete documentation index at: https://docs.bluumfinance.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

HTTP Basic Authentication using the API Key as username and API Secret as password.

Path Parameters

account_id
string<uuid>
required
Example:

"3d0b0e65-35d3-4dcd-8df7-10286ebb4b4b"

Query Parameters

symbol
string

Filter positions by symbol.

non_zero_only
boolean
default:false

Only return positions with non-zero quantity.

refresh_prices
boolean
default:true

When true, fetches live prices from market data providers. Response will include price_source, price_confidence, and price_timestamp fields. Note: This adds latency as it fetches real-time data. Set to false to use stored values only.

Response

List of positions for the account

id
string<uuid>

Unique identifier for the position.

Example:

"pos_a1b2c3d4e5f6g7h8"

account_id
string<uuid>

Account ID associated with the position.

Example:

"3d0b0e65-35d3-4dcd-8df7-10286ebb4b4b"

symbol
string

The ticker symbol of the asset.

Example:

"AAPL"

asset_id
string<uuid>

Asset ID.

Example:

"6c5b2403-24a9-4b55-a3dd-5cb1e4b50da6"

currency
string

ISO 4217 currency code for the asset's trading currency.

Example:

"USD"

quantity
string

Current quantity owned (can be negative for shorts).

Example:

"10.5"

average_cost_basis
string

Average cost per unit.

Example:

"175.50"

total_cost_basis
string

Total cost basis (quantity * average_cost_basis).

Example:

"1842.75"

current_price
string

Current market price.

Example:

"180.00"

market_value
string

Current market value (quantity * current_price).

Example:

"1890.00"

unrealized_pl
string

Unrealized profit/loss (market_value - total_cost_basis).

Example:

"47.25"

unrealized_pl_percent
string

Unrealized P/L as percentage.

Example:

"2.56"

price_source
enum<string>

Source of the price data. Present when refresh_prices=true.

Available options:
ALPACA,
NAYA,
DATABASE,
UNAVAILABLE
Example:

"ALPACA"

price_confidence
enum<string>

Confidence level of the price data. Present when refresh_prices=true.

Available options:
REAL_TIME,
DELAYED,
END_OF_DAY,
STALE,
UNAVAILABLE
Example:

"REAL_TIME"

price_timestamp
string<date-time>

When the price was recorded by the source. Present when refresh_prices=true.

Example:

"2025-10-18T10:30:00Z"

last_transaction_at
string<date-time> | null

Timestamp of last transaction.

Example:

"2025-10-18T10:30:00Z"

created_at
string<date-time>

Timestamp when the position was created.

Example:

"2025-10-18T10:30:00Z"

updated_at
string<date-time>

Timestamp when the position was last updated.

Example:

"2025-10-18T10:30:00Z"