GET

/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

HeaderValueDescription
Authorization{accessToken}Bearer token for API access
Version2.0API 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.
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.

FilterOfInt32 Account & Investment IDs
.equal .in .greaterThan .lessThan
AccountID.equal=12345 InvestmentID.in=567,568,570
FilterOfString Account numbers & External IDs
.equal .contains .beginsWith .endsWith
AccountNumber.beginsWith=7G- ExternalAccountId.contains=SMSF
🎯 Key Portfolio Holdings Scenarios: Account Portfolios → AccountID.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

bash
# 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

json
{
  "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
→ BizTransaction Operations

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
→ Allotment Processing

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)
→ Pricing Management