/BizEntity
Usage Notes
When
- Create new investor entities with accounts and party relationships
- Onboard investors with complete nested data in single operation
- Migrate investor records from legacy systems using external IDs
Requirements
- At least one Account required (all accounts must share same ProductID)
- At least one BizEntityParty required (links to Person or Organisation)
- BizEntityTypeID and BizEntityStatusID required (query Common/Lookup for values)
Notes
- Same ProductID Rule: All accounts within an entity must have the same productID
- Use externalPersonId consistently to prevent duplicate person records
- BizEntityTypeID cannot be changed after creation
- Nested persons/organisations created atomically if full objects provided
Description
Creates a BizEntity with nested accounts, party relationships, addresses, communications, and payment details. Returns complete entity with system-assigned bizEntityID. Use consistent externalPersonId values for automatic deduplication.
Entity Creation Process
Creating an investor entity is a process of building an object structure from its parts:
- Core Entity Data: Basic identification and classification
- Party Relationships: Links to persons and organizations via BizEntityParty records
- Account Structure: At least one account record associating with a product
- Supporting Data: Communications, addresses, and payment details
Required Headers
| Header | Value | Description |
|---|---|---|
| Authorization | {accessToken} | Bearer token for API access |
| Version | 2.0 | API version identifier |
| Content-Type | application/json | Content type for request body |
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
BizEntityID |
integer | Optional |
System-generated identifier assigned automatically upon creation. Leave null for POST requests. |
externalBizEntityId |
string | Your system's reference ID for this entity (max 50 chars). Enables dual-ID linking when you cannot store 7G's native IDs. | |
bizEntityTypeID |
integer | Entity classification determining structural schema and compliance requirements. Lookup values via GET /Common/Lookup (category: BizEntityType). Immutable after creation. | |
advisorNumber |
string | Optional |
Financial advisor identifier for entities under advisory management (max 100 chars). Links entity to advisor reporting and commission structures. |
authorizedNomineePersonID |
integer | References the PersonID authorized to act as nominee for this entity. Used for trust arrangements and power of attorney situations. | |
bizEntityStatusID |
integer | Entity operational status controlling transaction processing capability. Lookup values via GET /Common/Lookup (category: BizEntityStatus). Typically set to Active status for new entities. | |
bizEntityTaxOfficeTypeID |
integer | Specifies which tax office jurisdiction applies to this entity. Affects tax reporting format and submission requirements. | |
communicationPreferenceCopyParentBizEntity |
boolean | Optional |
When true, inherits communication preferences from parent entity in group structures. When false, uses entity-specific preferences for reporting and notification delivery. |
communicationPreferenceID |
integer | Optional |
References preferred communication method for statements and notifications. Overrides parent preferences when copyParent is false. |
contactPerson |
string | Optional |
Primary contact name for administrative purposes. Used when entity structure doesn't clearly identify a single contact person. |
controllingPID |
integer | PersonID of the individual who controls this entity. Essential for beneficial ownership reporting and regulatory compliance. | |
corporateRepresentative |
string | Optional |
Name of the corporate representative for company entities. Used when a company officer acts on behalf of the entity. |
customerCategoryID |
integer | Optional |
Classification for pricing and service level determination. Affects fee structures and available investment products. |
customerCode |
string | Your internal customer reference code for cross-system integration and reporting alignment. Enables bidirectional entity matching with external CRM or portfolio management systems. | |
description |
string | Optional |
Free-text description for additional entity context (max 2000 chars). Useful for complex structures or special notes. |
groupedWithBizEntityID |
integer | References parent entity in group structures. Enables consolidated reporting and inherited settings across entity hierarchies. | |
investorTypeID |
integer | Investor classification affecting product eligibility and regulatory treatment. Lookup values via GET /Common/Lookup (category: InvestorType). Controls access to wholesale investment products. | |
isDirectorInterest |
boolean | Optional |
Indicates if entity represents director interests in listed securities. Triggers enhanced reporting and disclosure requirements under director interest disclosure rules. |
isExecutiveInterest |
boolean | Optional |
Indicates if entity represents executive/insider interests. Affects transaction reporting and regulatory disclosure obligations for compliance with executive interest reporting. |
legalName |
string | Official registered legal name as appears on incorporation documents or ASIC registry. Must match government-issued business registration for regulatory reporting. | |
marginLenderOrganisationID |
integer | References the lending organization for entities with margin loan facilities. Links to margin lending arrangements and risk monitoring. | |
name |
string | Display name for the entity used in reports, statements, and user interfaces. Serves as the primary identifier in operational systems and investor-facing communications. | |
powerOfAttorney |
string | Optional |
Details of power of attorney arrangements affecting entity operations. Used for authorization and compliance verification. |
purposeOfInvestmentID |
integer | Optional |
Investment purpose classification for compliance and suitability assessment. Affects product recommendations and risk profiling. |
salesPersonID |
integer | Optional |
References the sales person or relationship manager responsible for this entity. Used for commission allocation and relationship management. |
salutation |
string | Optional |
Preferred salutation for correspondence (Mr, Mrs, Dr, etc). Enhances personalized communication with the entity. |
signatureParty |
integer | PersonID authorized to sign documents on behalf of this entity. Used for transaction authorization and compliance. | |
sophisticatedInvestorCertificateDate |
string (date) | Date of sophisticated investor certification. Unlocks access to wholesale investment products restricted to sophisticated investors. | |
sophisticatedInvestorComment |
string | Optional |
Additional notes regarding sophisticated investor status. Documents basis for certification and compliance verification details. |
sophisticatedInvestorEligibility |
string | Specific test basis for sophisticated investor status (Accountant Certificate, Income Test, Net Assets Test, Professional Investor). Required for product eligibility verification. | |
sourceOfFundsID |
integer | Classification of fund sources for AML/CTF compliance. Lookup values via GET /Common/Lookup (category: SourceOfFunds). Triggers appropriate due diligence workflows for high-risk categories. | |
specialConditions |
string | Optional |
Special terms or conditions applying to this entity (max 2000 chars). Documents restrictions, requirements, or operational notes. |
standingProxy |
string | Optional |
Details of standing proxy arrangements for voting rights. Used for corporate actions and shareholder meetings. |
taxationCountryCode |
string | Primary tax jurisdiction for this entity (ISO 3166-1 alpha-3 country code: AUS, USA, GBR, NZL, etc.). Determines CRS/FATCA reporting obligations and tax treaty applicability. | |
createdDate |
datetime | Optional |
System-assigned timestamp when the entity was created. Read-only field - automatically populated on creation. Format: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ). |
accounts |
>
List<AccountDTO>... |
Optional |
Investment accounts owned by this entity. Each account is linked to a specific product and tracks balances, DRP settings, and status. All accounts within a BizEntity must share the same productID or externalProductId - multi-product entities require separate BizEntity records. |
addresses |
>
List<AddressDTO>... |
Optional |
Physical and postal addresses for this entity. Used for correspondence, compliance verification, and regulatory reporting. |
communications |
>
List<CommunicationDTO>... |
Optional |
Contact methods (email, phone, fax) for this entity. Each communication record belongs to exactly one entity, person, or organisation. |
paymentDetails |
>
List<PaymentDetailDTO>... |
Optional |
Banking instructions and account details for processing investor payments (distributions, redemptions, deposits). Supports multiple payment methods (Australian EFT, international wires, cheque) with method-specific validation rules. Payment details link to exactly one owner (BizEntity, Person, or Organisation). |
bizEntityParties |
>
List<BizEntityPartyDTO>... |
Optional |
Links this entity to associated persons and organizations. Defines roles like primary contact, signatory, and income receiving parties. Every BizEntity requires at least one party relationship to establish who owns/controls the entity. |
bizEntityParents |
>
List<BizEntityParentDTO>... |
Optional |
Parent relationships establishing entity hierarchies. Used for corporate structures, dealer groups, and sub-fund arrangements. Each relationship defines parent entity, dealer group affiliation, and temporal validity period. |
Example Requests
curl -X POST 'https://api.7g.com.au/BizEntity' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0' \
-H 'Content-Type: application/json' \
-d '{
"bizEntityTypeID": 4,
"name": "John Smith Investment Trust",
"bizEntityStatusID": 1,
"communicationPreferenceCopyParentBizEntity": false,
"isDirectorInterest": false,
"isExecutiveInterest": false,
"externalBizEntityId": "ENT-001",
"advisorNumber": "ADV-12345",
"legalName": "John Smith Investment Trust",
"description": "Individual investment trust for John Smith",
"customerCode": "CUST-001",
"taxationCountryCode": "AUS",
"accounts": [
{
"externalAccountId": "ACC-001",
"productID": 101,
"accountNumber": "INV-123456",
"currencyID": 1,
"drpTypeID": 1,
"accountStatusID": 1,
"balance": 0.00
}
],
"addresses": [
{
"addressTypeID": 6,
"aboveAddressLine": "Suite 10",
"addressLine": "456 Business Street",
"suburb": "Sydney",
"postcode": "2000",
"stateCode": "NSW",
"countryCode": "AUS",
"externalAddressId": "ADDR-002"
}
],
"communications": [
{
"communicationTypeID": 10,
"name": "info@johnsmith-trust.com.au",
"externalCommunicationId": "COMM-003"
}
],
"paymentDetails": [
{
"externalPaymentDetailId": "PAY-001",
"paymentTypeID": 1,
"bsb": "032001",
"accountNumber": "123456789",
"accountName": "John Smith Investment Trust",
"isForDeposit": true,
"isForDistribution": true,
"isForRedemption": true,
"isForOther": false,
"reference": "INV-001"
}
],
"bizEntityParties": [
{
"personID": null,
"externalPersonId": null,
"isPrimaryContact": true,
"isIncomeReceiving": true,
"isSignatory": true,
"isAuthorisedNominee": false,
"isPowerOfAttorney": false,
"ordinal": 1,
"person": {
"externalPersonId": "PERSON-001",
"firstName": "John",
"lastName": "Smith",
"dateOfBirth": "1980-05-15",
"birthCountryCode": "AUS",
"taxationCountryCode": "AUS",
"taxationFileNumber": "123-456-782",
"crsfatcaParticipationID": 1,
"salutation": "Mr",
"addresses": [
{
"addressTypeID": 6,
"aboveAddressLine": "Unit 5",
"addressLine": "123 Collins Street",
"suburb": "Melbourne",
"postcode": "3000",
"stateCode": "VIC",
"countryCode": "AUS",
"externalAddressId": "ADDR-001"
}
],
"communications": [
{
"communicationTypeID": 10,
"name": "john.smith@email.com",
"externalCommunicationId": "COMM-001"
},
{
"communicationTypeID": 1,
"name": "+61412345678",
"externalCommunicationId": "COMM-002"
}
]
}
}
],
"bizEntityParents": [
{
"parentBizEntityID": 10001,
"activeFrom": "2024-01-01"
}
]
}'Person Reuse & Deduplication
BizEntity operations support automatic person deduplication using externalPersonId
to prevent duplicate person records when individuals appear in multiple entity contexts.
When the same externalPersonId appears multiple times within a single request,
the system reuses one person record instead of creating duplicates.
{
"bizEntityParties": [
{
"person": {
"externalPersonId": "PERSON-001",
"firstName": "John",
"lastName": "Smith"
}
},
{
"organisation": {
"associatedPersons": [{
"person": {
"externalPersonId": "PERSON-001" // Reuses same person
}
}]
}
}
]
}For comprehensive deduplication documentation including validation logic, dual-level placement rules, error handling, and advanced scenarios:
📖 Complete Person Reuse & Deduplication GuideOrganisation & Person — Party Linking Patterns
Beyond person deduplication, BizEntityParty supports three distinct patterns for linking
Organisations (and Persons) depending on whether the record already exists. The behaviour
is controlled by where you place the ExternalOrganisationId.
Party-level ID set
ExternalOrganisationId at BizEntityParty level
Behaviour
Lookup only — finds existing org and links it. Fails with constraint error if not found.Party-level IDs null
Nested Organisation object with new ExternalOrganisationId
Behaviour
Creates the organisation from nested data, then links it to the party.Party-level IDs null
Nested Organisation object with existing ExternalOrganisationId
Behaviour
Updates the existing organisation with nested data, then links it to the party.{
"bizEntityParties": [{
"externalOrganisationId": "ORG-001",
"organisationID": null,
"personID": null,
"externalPersonId": null,
"organisation": null
}]
}
// Party-level ExternalOrganisationId is set
// → Lookup only: finds existing org "ORG-001" and links it
// → Fails with constraint error if "ORG-001" does not existCommon Mistake: ExternalId at the Wrong Level
Setting ExternalOrganisationId at the party level for an organisation
that doesn't exist yet causes a constraint error. The party-level ID triggers a lookup-only path —
the nested Organisation object is never reached.
Fix: Set all party-level IDs to null and provide the Organisation
as a nested object. The nested object's ExternalOrganisationId handles creation automatically.
Why does the same field mean different things? See Context-Dependent External ID Meaning for the conceptual explanation. The same logic applies identically for Person records.
Response Examples
{
"result": true,
"message": null,
"recordCount": 1,
"data": [
{
"bizEntityID": 12345,
"externalBizEntityId": "ENT-001",
"bizEntityTypeID": 4,
"advisorNumber": "ADV-12345",
"authorizedNomineePersonID": null,
"bizEntityStatusID": 1,
"bizEntityTaxOfficeTypeID": null,
"communicationPreferenceCopyParentBizEntity": false,
"communicationPreferenceID": null,
"contactPerson": null,
"controllingPID": null,
"corporateRepresentative": null,
"customerCategoryID": null,
"customerCode": "CUST-001",
"description": "Individual investment trust for John Smith",
"groupedWithBizEntityID": null,
"investorTypeID": null,
"isDirectorInterest": false,
"isExecutiveInterest": false,
"legalName": "John Smith Investment Trust",
"marginLenderOrganisationID": null,
"name": "John Smith Investment Trust",
"powerOfAttorney": null,
"purposeOfInvestmentID": null,
"salesPersonID": null,
"salutation": null,
"signatureParty": null,
"sophisticatedInvestorCertificateDate": null,
"sophisticatedInvestorComment": null,
"sophisticatedInvestorEligibility": null,
"sourceOfFundsID": null,
"specialConditions": null,
"standingProxy": null,
"taxationCountryCode": "AUS",
"createdDate": "2024-01-15T08:30:00Z",
"accounts": [
{
"accountID": 7001,
"externalAccountId": "ACC-001",
"productID": 101,
"externalProductId": null,
"accountNumber": "INV-123456",
"currencyID": 1,
"drpTypeID": 1,
"drpValue": null,
"accountStatusID": 1,
"balance": 0.00
}
],
"addresses": [
{
"addressID": 2002,
"addressTypeID": 6,
"aboveAddressLine": "Suite 10",
"addressLine": "456 Business Street",
"suburb": "Sydney",
"postcode": "2000",
"stateCode": "NSW",
"countryCode": "AUS",
"externalAddressId": "ADDR-002",
"externalBizEntityId": "ENT-001",
"externalPersonId": null,
"externalOrganisationId": null,
"personID": null,
"bizEntityID": 12345,
"organisationID": null
}
],
"communications": [],
"paymentDetails": [
{
"paymentDetailID": 4001,
"externalPaymentDetailId": "PAY-001",
"paymentTypeID": 1,
"bizEntityID": 12345,
"externalBizEntityId": "ENT-001",
"bsb": "032001",
"accountNumber": "123456789",
"accountName": "John Smith Investment Trust",
"address": null,
"comments": null,
"currencyID": null,
"iban": null,
"intermediaryBankAccountName": null,
"intermediaryBankAccountNumber": null,
"intermediaryBankAddress": null,
"intermediaryBankName": null,
"intermediaryBankSWIFT": null,
"isForDeposit": true,
"isForDistribution": true,
"isForOther": false,
"isForRedemption": true,
"message": null,
"personalName": null,
"reference": "INV-001",
"swift": null
}
],
"bizEntityParties": [
{
"bizEntityPartyID": 1001,
"organisationID": null,
"externalOrganisationId": null,
"personID": 5001,
"externalPersonId": "PERSON-001",
"isPrimaryContact": true,
"isIncomeReceiving": true,
"isSignatory": true,
"isAuthorisedNominee": false,
"isPowerOfAttorney": false,
"ordinal": 1,
"person": {
"personID": 5001,
"externalPersonId": "PERSON-001",
"firstName": "John",
"middleName": null,
"lastName": "Smith",
"fullName": "John Smith",
"description": null,
"abn": null,
"birthCountryCode": "AUS",
"crsfatcaParticipationID": 1,
"customerCode": null,
"dateOfBirth": "1980-05-15",
"driversLicenseIssueCountryCode": null,
"driversLicenseNumber": null,
"gender": null,
"identificationTypeID": null,
"identificationValue": null,
"isDirectorOfCorporateTrustee": null,
"isPEP": null,
"isSophisticatedInvestor": null,
"isTrustee": null,
"pepDescription": null,
"legalGuardianTitleID": null,
"legalGuardianFirstName": null,
"legalGuardianMiddleName": null,
"legalGuardianLastName": null,
"passportIssueCountryCode": null,
"passportNumber": null,
"salutation": "Mr",
"sharePercentage": null,
"sophisticatedInvestorCertificateDate": null,
"taxationCountryCode": "AUS",
"taxationCountryCode2": null,
"taxationCountryCode3": null,
"taxationCountryTIN": null,
"taxationCountryTIN2": null,
"taxationCountryTIN3": null,
"taxationCountryNoTINReason": null,
"taxationCountryNoTINReason2": null,
"taxationCountryNoTINReason3": null,
"taxationFileNumber": "123-456-782",
"tradingName": null,
"taxOfficeTypeID": null,
"tin": null,
"titleID": null,
"addresses": [
{
"addressID": 2001,
"addressTypeID": 6,
"aboveAddressLine": "Unit 5",
"addressLine": "123 Collins Street",
"suburb": "Melbourne",
"postcode": "3000",
"stateCode": "VIC",
"countryCode": "AUS",
"externalAddressId": "ADDR-001",
"externalBizEntityId": null,
"externalPersonId": "PERSON-001",
"externalOrganisationId": null,
"personID": 5001,
"bizEntityID": null,
"organisationID": null
}
],
"communications": [
{
"communicationID": 3001,
"externalCommunicationId": "COMM-001",
"communicationTypeID": 10,
"name": "john.smith@email.com",
"bizEntityID": null,
"externalBizEntityId": null,
"personID": 5001,
"externalPersonId": "PERSON-001",
"organisationID": null,
"externalOrganisationId": null
},
{
"communicationID": 3002,
"externalCommunicationId": "COMM-002",
"communicationTypeID": 5,
"name": "+61412345678",
"bizEntityID": null,
"externalBizEntityId": null,
"personID": 5001,
"externalPersonId": "PERSON-001",
"organisationID": null,
"externalOrganisationId": null
}
]
},
"organisation": null
}
],
"bizEntityParents": [
{
"bizEntityID": 12345,
"externalBizEntityId": "ENT-001",
"parentBizEntityID": 10001,
"parentExternalBizEntityId": "PARENT-001",
"activeFrom": "2024-01-01",
"activeTo": null
}
]
}
]
}