/BizEntity/Account/Holdings
Usage Notes
When
- Retrieve account holdings as-at the current date or a past date (quantity and valuations)
- Generate portfolio reports across multiple accounts
- Monitor investment performance and unrealized gains/losses
Requirements
- AccountID, ExternalAccountId, AccountNumber, or ProductID filter required
- PageNumber and PageSize required when not filtering by account identifiers
Notes
- Holdings reflect current positions including pending transactions
- Date parameter returns the quantity, application value, redemption value and NAV as-at that date; defaults to today when omitted
- Returns dynamically computed data grouped by account with nested investments
Description
Retrieves account holdings with investment quantities, market valuations, and performance metrics. Returns positions as-at the supplied Date (defaulting to today), with quantity, application value, redemption value and NAV reflecting that date.
Required Headers - See Authentication
| Header | Value | Description |
|---|---|---|
| Authorization | {accessToken} | Bearer token for API access |
| Version | 2.0 | API version identifier |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ProductID |
integer | Optional |
Filter holdings by native product identifier for product-specific portfolio analysis and regulatory reporting. Returns all account holdings associated with specified product regardless of entity or investment mix. |
ExternalProductId |
string | Optional |
Filter holdings by external product identifier for cross-system portfolio integration. Maintains product referential integrity with source systems for consolidated reporting and migration validation. |
AccountID |
FilterOfInt32 | Optional |
Filter holdings by native account identifier for account-specific portfolio analysis. Fastest filter option using primary index - optimal for high-frequency portfolio queries and real-time position lookups. |
ExternalAccountId |
FilterOfString | Optional |
Filter holdings by external account identifier for cross-platform portfolio integration. Maintains account identity consistency across platforms for consolidation and migration reconciliation. |
AccountNumber |
FilterOfString | Optional |
Filter holdings by account number pattern matching for bulk portfolio analysis. More flexible than AccountID for pattern analysis but slower performance - use AccountID when exact account known. |
InvestmentID |
FilterOfInt32 | Optional |
Filter holdings by native investment identifier for investment-specific exposure analysis and concentration risk monitoring. Essential for corporate action processing and regulatory exposure disclosure. Provides granular portfolio composition beyond product-level aggregation. |
ExternalInvestmentId |
FilterOfString | Optional |
Filter holdings by external investment identifier for cross-platform tracking. |
SecurityCode |
FilterOfString | Optional |
Filter holdings by the investment's business-facing security code (product-scoped - pair with ProductID or ExternalProductId to avoid cross-product matches). Third Investment identifier - see IDs & External References. |
Date |
string (date) | Optional |
Retrieves the unit quantity, application value, redemption value and NAV as-at the passed in date. If left blank, defaults to today's date. |
PageNumber |
integer | Optional |
Page number starting from 1. CRITICAL: Required when not filtering by account identifiers. |
PageSize |
integer | Optional |
Records per page (maximum 1000). CRITICAL: Required when not filtering by account identifiers. |
Query & Filtering
🔍 7G Holdings Portfolio Filtering with Dot Operators
Account Holdings is 7G's comprehensive portfolio engine supporting advanced typed filtering for precise portfolio analysis, performance tracking, and multi-account reporting workflows.
AccountID.equal=12345
InvestmentID.in=567,568,570AccountNumber.beginsWith=7G-
ExternalAccountId.contains=SMSFAccountID.equal=12345 (single account analysis)
Multi-Account Analysis → AccountID.in=12345,12346,12347 (portfolio consolidation)
SMSF Pattern Matching → AccountNumber.beginsWith=7G-&AccountNumber.contains=SMSF
Investment Focus → InvestmentID.greaterThan=500 (large investment classes)Example Requests
# Get holdings for specific account (fastest lookup)
curl -X GET 'https://api.7g.com.au/BizEntity/Account/Holdings?AccountID.equal=12345' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
# Get holdings for multiple accounts using In operator
curl -X GET 'https://api.7g.com.au/BizEntity/Account/Holdings?AccountID.in=12345,12346,12347&PageSize=50' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
# Filter SMSF portfolios by account number pattern
curl -X GET 'https://api.7g.com.au/BizEntity/Account/Holdings?AccountNumber.beginsWith=7G-&AccountNumber.contains=SMSF&ProductID=100' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
# Holdings as-at a past date (EOFY reconciliation, etc.)
curl -X GET 'https://api.7g.com.au/BizEntity/Account/Holdings?ExternalAccountId.contains=SMSF&Date=2024-12-01&PageSize=100' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'Response Examples
{
"result": true,
"message": "",
"recordCount": 1,
"data": [
{
"accountID": 532562,
"accountNumber": "100000120",
"bizEntityID": 526452,
"name": "A Very Schmick Superfund",
"monetaryBalance": 11111,
"investments": [
{
"investmentID": 5748,
"name": "Ordinary",
"quantity": 100530,
"applicationValue": 100530,
"redemptionValue": 100530,
"navValue": 100530
}
]
}
]
}🔄 Holdings Lifecycle Integration
Holdings update automatically through transaction and distribution workflows. Understanding these integrations is critical for portfolio accuracy and reconciliation:
Transaction Processing Impact
Holdings reflect all completed BizTransaction operations:
- Deposits: Increase quantity and value
- Redemptions: Decrease quantity and value
- Transfers: Move holdings between accounts
- Conversions: Switch holdings between investments
Distribution Allotment Updates
DRP unit allocations automatically update holdings:
- Step 3: Distribution → Cash payments processed
- Step 4: Allotment → Units allocated to holdings
- Holdings reflect new unit quantities immediately
Investment Pricing Integration
Holdings valuations depend on Investment/Price data:
- No Date: Returns positions and pricing as-at today
- Date supplied: Returns quantity and valuations as-at that date
- Amount = Quantity × Price (dynamic calculation)