/BizEntity
When to Use
- Retrieve specific entities using bizEntityID or externalBizEntityId for direct lookups
- Filter entities by type, product associations, or account relationships using dot operators
- Synchronize changes using date-based filtering with UpdatedDate/UpdatedDateFull
- Build reports and analytics across entity hierarchies and product relationships
- Process large datasets efficiently with pagination and targeted filtering
Common Scenarios
- Single Entity Lookup: Use BizEntityID=12345 or ExternalBizEntityId="EXT-001" for direct retrieval of complete entity structure
- Entity Type Filtering: Use BizEntityTypeID.Equal=4 for SMSF entities, or BizEntityTypeID.In=1,2,3 for retail investor types
- Incremental Change Synchronization: Use UpdatedDateFull=2024-06-01T00:00:00Z for comprehensive change tracking across all entity modifications
- Account Pattern Matching: Use AccountNumber.BeginsWith=7G- or AccountNumber.Contains=SMSF for bulk identification
- Party Association Queries: Use PersonID=101 or OrganisationID=200 to find entities with specific party relationships
Prerequisites
- Valid Bearer token with entity read permissions
- Knowledge of productID values if filtering by product
Considerations
- Performance: Native IDs (BizEntityID, ProductID, PersonID) provide better performance than external ID filtering
- Pagination Strategy: Large result sets are automatically paginated. Use PageNumber (starts from 1) and PageSize (max 1000) parameters. Check response recordCount to determine if additional pages exist
- Change Detection Strategy: UpdatedDateFull captures ALL changes including nested objects; UpdatedDate only captures main entity changes
- Dot Operator Efficiency: Use .Equal for single values, .In for multiple values, .GreaterThan/.LessThan for ranges
- Filter Combinations: Multiple filters use AND logic - combine strategically to avoid empty result sets
- Complete Object Returns: GET always returns full entity structure including all nested relationships
🔄 Change Synchronization Workflows
Critical Choice: UpdatedDate vs UpdatedDateFull
UpdatedDateFull (RECOMMENDED for Integrations):
- Tracks: Main entity changes + ALL nested modifications (accounts, addresses, parties, communications, paymentDetails, person details, organisation details)
- Use For: Complete change synchronization, downstream system updates, comprehensive integration workflows
- Example: GET /BizEntity?UpdatedDateFull=2024-06-01T00:00:00Z&PageSize=100 returns entities with ANY changes since June 1st
- Guarantees: Zero missed changes - captures address updates, new accounts, party modifications, payment detail changes
UpdatedDate (Targeted Field Monitoring Only):
- Tracks: Main entity record changes ONLY (bizEntityStatusID, name, legalName, description, customerCode, taxationCountryCode)
- Use For: Specific entity-level field monitoring (status change notifications, name change audits)
- Example: GET /BizEntity?UpdatedDate.GreaterThan=2024-06-01T00:00:00Z returns entities with main record changes (NOT nested)
- Limitation: MISSES nested changes - address updates, account additions, party modifications NOT detected
Recommended Sync Pattern:
- Initial Full Load: GET /BizEntity (no date filter) to establish baseline entity dataset
- Store Last Sync: Record current timestamp as lastSyncDate (2024-06-01T00:00:00Z)
- Incremental Updates: GET /BizEntity?UpdatedDateFull={lastSyncDate}&PageSize=100 to retrieve all changed entities
- Process Changes: Update downstream systems with complete entity structures from response
- Update Timestamp: Store new lastSyncDate for next sync cycle
- Pagination Handling: Loop through PageNumber=1,2,3... until recordCount indicates no more results
Integration Best Practice: Always use UpdatedDateFull for bidirectional sync workflows to ensure comprehensive change propagation across systems.
Description
Retrieves business entities with comprehensive filtering options using dot operators for advanced querying. Returns complete entity structure including all related persons, organisations, addresses, communications, accounts, and payment details. Supports efficient filtering, pagination, and change tracking.
📊 Portfolio Analysis Workflow
GET /BizEntity retrieves entity structure with account relationships. For detailed portfolio analysis including investment holdings, unit balances, and valuations, use GET /BizEntity/Account/Holdings which provides:
- Current investment positions and unit balances for each account
- Market valuations and unrealized gains/losses
- Distribution entitlements and reinvestment allocations
- Historical holdings as at specific date (Date parameter)
Workflow Pattern: Use GET /BizEntity to identify entities (filter by type, product, person), then GET /BizEntity/Account/Holdings with AccountID filter to retrieve detailed portfolio positions for analysis and reporting.
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 |
---|---|---|---|
BizEntityID |
integer | Optional |
Direct entity lookup using native identifier. Fastest performance for real-time workflows. |
ExternalBizEntityId |
string | Optional |
Direct entity lookup using external identifier. Slower than BizEntityID due to secondary index. |
ProductID |
integer | Optional |
Filter entities by product association. Essential for product-specific investor reporting. |
ExternalProductId |
string | Optional |
Filter entities by external product identifier for cross-system product mapping. |
InvestmentID |
integer | Optional |
Filter entities by investment association. More granular than ProductID for specific reporting. |
ExternalInvestmentId |
string | Optional |
Filter entities by external investment identifier for cross-platform tracking. |
PersonID |
integer | Optional |
Filter entities where person is party member. Essential for consolidated investor reporting. |
ExternalPersonId |
string | Optional |
Filter entities by external person identifier for cross-system person tracking. |
OrganisationID |
integer | Optional |
Filter entities where organisation is party member. Critical for trust structures. |
ExternalOrganisationId |
string | Optional |
Filter entities by external organisation identifier for dealer group analysis. |
BizEntityTypeID |
FilterOfInt32 | Optional |
Filter by entity type for type-specific reporting. Critical for regulatory workflows. |
AccountID |
FilterOfInt32 | Optional |
Filter entities by account identifier for account-centric workflows. |
AccountNumber |
FilterOfString | Optional |
Filter entities by account number pattern. More flexible than AccountID for bulk identification. |
ExternalAccountId |
FilterOfString | Optional |
Filter entities by external account identifiers for cross-platform integration. |
CreatedDate |
FilterOfDateTime | Optional |
Filter entities by creation timestamp. Never modified after creation - stable for historical analysis. |
UpdatedDate |
FilterOfDateTime | Optional |
Filter entities by main record modification timestamp. DOES NOT capture nested changes - use UpdatedDateFull for comprehensive tracking. |
UpdatedDateFull |
string (date-time) | Optional |
Filter entities where ANY part of structure was modified. Tracks deep changes across hierarchy - recommended for integration workflows. |
PageNumber |
integer | Optional |
Page number to retrieve starting from 1. Use with PageSize for efficient pagination. |
PageSize |
integer | Optional |
Number of records per page (maximum 1000). Essential for controlling response size. |
Query & Filtering
🔍 7G Query & Filtering with Dot Operators
BizEntity is 7G's primary investor resource supporting advanced typed filtering for efficient entity management and cross-system integration.
BizEntityTypeID.Equal=4
ProductID.In=10,20,30
AccountNumber.BeginsWith=7G-
ExternalAccountId.Contains=SMSF
CreatedDate.GreaterThan=2024-01-01T00:00:00Z
UpdatedDate.LessThan=2024-12-31T23:59:59Z
BizEntityTypeID.Equal=4
(SMSFs)
Account Patterns → AccountNumber.BeginsWith=7G-
Change Tracking → UpdatedDateFull.GreaterThan=2024-01-01
Example Requests
# Get a specific entity by native ID (fastest lookup)
curl -X GET 'https://api.7g.com.au/BizEntity?BizEntityID=12345' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
# Get entity by external ID (dual-ID system)
curl -X GET 'https://api.7g.com.au/BizEntity?ExternalBizEntityId=EXT-001' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
# Get SMSF entities using dot operators
curl -X GET 'https://api.7g.com.au/BizEntity?BizEntityTypeID.Equal=4&PageSize=50' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
# Advanced filtering: Multiple entity types created in 2024 with pagination (exclude partnerships)
curl -X GET 'https://api.7g.com.au/BizEntity?BizEntityTypeID.In=1,2,3&BizEntityTypeID.NotIn=5&CreatedDate.GreaterThanOrEqual=2024-01-01T00:00:00Z&PageNumber=1&PageSize=100' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
# Pattern matching: Entities with 7G account numbers updated recently
curl -X GET 'https://api.7g.com.au/BizEntity?AccountNumber.BeginsWith=7G-&UpdatedDateFull.GreaterThan=2024-06-01T00:00:00Z&PageSize=50' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
# Text search: Find entities with SMSF in account numbers (paginated results)
curl -X GET 'https://api.7g.com.au/BizEntity?AccountNumber.Contains=SMSF&ExternalAccountId.BeginsWith=EXT-&PageNumber=1&PageSize=25' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0'
Response Examples
{
"result": true,
"message": "",
"recordCount": 1,
"data": [
{
"bizEntityID": 12345,
"externalBizEntityId": "EXT-001",
"bizEntityTypeID": 4,
"bizEntityStatusID": 1,
"name": "Smith Super Fund",
"legalName": "John Smith & Mary Smith ATF Smith Super Fund",
"description": "Self-managed superannuation fund established 2024",
"customerCode": "SMSF-001",
"taxationCountryCode": "AUS",
"createdDate": "2024-01-15T08:30:00Z",
"advisorNumber": "ADV-12345",
"communicationPreferenceCopyParentBizEntity": false,
"isDirectorInterest": false,
"isExecutiveInterest": false,
"accounts": [
{
"accountID": 789,
"externalAccountId": "ACC-001",
"productID": 100,
"externalProductId": "PROD-100",
"accountNumber": "7G-SMSF-789",
"currencyID": 1,
"drpTypeID": 1,
"drpValue": 0.00,
"accountStatusID": 1,
"balance": 125000.00
}
],
"bizEntityParties": [
{
"bizEntityPartyID": 456,
"organisationID": null,
"externalOrganisationId": null,
"personID": 101,
"externalPersonId": "PERSON-001",
"isPrimaryContact": true,
"isIncomeReceiving": true,
"isSignatory": true,
"isAuthorisedNominee": false,
"isPowerOfAttorney": false,
"ordinal": 1
}
],
"addresses": [
{
"addressID": 321,
"externalAddressId": "ADDR-001",
"addressTypeID": 1,
"addressLine": "123 Collins Street",
"suburb": "Melbourne",
"postcode": "3000",
"stateCode": "VIC",
"countryCode": "AUS"
}
],
"communications": [
{
"communicationID": 654,
"externalCommunicationId": "COMM-001",
"communicationTypeID": 1,
"name": "admin@smithsuperfund.com.au"
}
],
"paymentDetails": [
{
"paymentDetailID": 111,
"externalPaymentDetailId": "PAY-001",
"paymentTypeID": 1,
"bsb": "062000",
"accountNumber": "12345678",
"accountName": "Smith Super Fund",
"isForDeposit": true,
"isForDistribution": true,
"isForRedemption": true,
"isForOther": false
}
]
}
]
}