POST

/Investment

When to Use

  • Create wholesale unit classes with minimum investment thresholds ($250,000+) for sophisticated investors and institutional clients
  • Establish retail unit classes with distribution reinvestment eligibility for public offering and SMSF investment strategies
  • Configure term deposit offerings with fixed maturity dates (termMonths/termDays) and guaranteed coupon rates for secure investment options
  • Set up currency-hedged investment variants with specific pricing precision (noOfDecimalPlaces) for international investor protection
  • Create Class A/B/C unit structures with varying fee profiles and allotment thresholds for tiered investor access strategies

Prerequisites

  • Valid Bearer token with investment creation permissions and product management authorization roles
  • Parent Product record must exist and be active in 7G system - use GET /Product to verify ProductID availability
  • Valid APIR code (securityCode) for Australian public offerings subject to ASIC registration and regulatory disclosure requirements
  • Board resolution or product disclosure statement (PDS) approval documenting investment terms, fee structures, and risk profiles
  • Pricing precision decision aligned with fund terms, regulatory requirements, and operational capabilities (0-6 decimal places)

Important Considerations

⚠️ Investment Product Creation and Compliance

  • AllotmentCutoffDate Strategy: Set far future date (e.g., 2099-12-31) for ongoing managed funds, specific maturity date for term deposits - system automatically rejects deposits after cutoff regardless of IsActive status
  • NoOfDecimalPlaces Permanence: Pricing precision cannot change after transaction history exists - affects all pricing displays, transaction calculations, and investor statements. Choose 4 decimals for managed funds ($1.2345), 2 for term deposits ($1000.00)
  • IsActive Initial State: Recommend IsActive=false until all regulatory approvals complete, pricing data loaded, and operational procedures established - prevents premature transaction processing
  • Distribution Configuration Alignment: AllowDistribution flag and distributionPeriodID settings must match Product Disclosure Statement (PDS) commitments and fund manager distribution policies
  • ExternalInvestmentId Global Uniqueness: Must be unique across all 7G products and systems - cannot be changed after creation. Use UUID or prefixed sequential IDs (e.g., "INV-2025-001") to avoid conflicts
  • Regulatory Approval Sequence: Australian public offerings require ASIC registration, AFSL authorization, and PDS lodgement BEFORE setting IsActive=true - compliance violations result in regulatory penalties

Description

Creates a new investment product within the 7G platform. The investment represents a tradeable unit class, fund option, or structured product that investors can purchase, hold, and redeem.

Creation Process

  1. System validates all required fields and business rules
  2. Assigns unique investmentID
  3. Validates product association and regulatory settings
  4. Returns complete investment structure with assigned ID

Required Headers - See Authentication

HeaderValueDescription
Content-Typeapplication/jsonRequest content type
Authorization{accessToken}Bearer token for API access
Version2.0API version identifier

Request Body

Parameter Type Required Description
InvestmentID
integer
Optional
Leave as null or 0 for POST operations (system auto-assigns identifier and returns in response.data.investmentID).
externalInvestmentId
string
Optional
External investment identifier for cross-system tracking (immutable after creation, recommend UUID or prefixed sequential IDs).
allowAllotment >
boolean
Controls whether new deposits are accepted via BizTransaction/Deposit (works with allotmentCutoffDate for lifecycle control).
allotmentCutoffDate
date
Optional
Hard deadline for accepting new investments (YYYY-MM-DD format, system rejects all deposits after this date regardless of allowAllotment status).
allowDistribution >
boolean
Controls whether investment can process Distribution declarations, payments, and DRP operations.
allotmentMinAmount
decimal
Optional
Minimum deposit amount per transaction enforced during BizTransaction processing (e.g., $1,000-$5,000 retail, $250,000+ wholesale).
allotmentMaxAmount
decimal
Optional
Maximum single deposit amount per transaction (null allows unlimited deposits subject to maxCapital constraints).
calcDividendIncludingFirstDay >
boolean
Controls whether Distribution accruals include first day of holding period (true includes purchase date, false excludes it).
couponRate
decimal
Optional
Fixed interest rate percentage for term deposits and bond investments (e.g., 5.25 = 5.25% annual interest).
description
string
Optional
Investment product narrative displayed in investor portals and statements (include strategy, risk profile, target market).
distributionPeriodID
integer
Optional
Distribution payment frequency via common/lookup (1=Monthly, 2=Quarterly, 3=Semi-Annual, 4=Annual, affects Distribution/Declare timing).
distributionTermID
integer
Optional
Distribution calculation methodology via common/lookup (defines how distribution amounts are calculated for Distribution/Declare operations).
endDate
date
Optional
Investment maturity or planned closure date (YYYY-MM-DD format, does not automatically close investment - use with isActive flag).
isActive >
boolean
Master control for all BizTransaction processing (false completely blocks all financial transactions regardless of other settings).
isIncludedInAnnualReporting
boolean
Optional
Controls whether investment appears on investor annual tax statements and EOFY summaries (default true for regulatory reporting).
securityCode
string
Optional
APIR code or international security identifier (ISIN, CUSIP, ticker symbol, required for Australian public offerings).
maxCapital
decimal
Optional
Maximum aggregate capital across all investors (system prevents new deposits exceeding this cap, null allows unlimited).
name
string
Optional
Investment display name shown in portals, statements, and transaction confirmations.
noOfDecimalPlaces
integer
Optional
Pricing precision (0-6 decimals) affecting all transaction calculations and InvestmentPrice records (CRITICAL: cannot change after transaction history exists).
ordinal
integer
Optional
Display sequence number for sorting investments in user interfaces (lower numbers appear first).
ProductID
integer
Optional
Parent product identifier linking investment to product hierarchy (product must exist before investment creation).
externalProductId
string
Optional
External product identifier for cross-system integration (alternative to ProductID, system resolves to native ProductID internally).
roundingMethodID
integer
Optional
Price rounding methodology via common/lookup (1=Normal banker's rounding, 2=Round Up, 3=Round Down, applies after noOfDecimalPlaces precision).
startDate
date
Optional
Date when investment becomes available for deposits (YYYY-MM-DD format, use with isActive flag for precise availability control).
termDays
integer
Optional
Investment term length in days for short-term configurations (mutually exclusive with termMonths, use for money market instruments).
termMonths
integer
Optional
Investment term length in months for term deposits (common values: 3, 6, 12, 24, 36, null for ongoing managed funds).
termTypeID
integer
Optional
Term structure classification via common/lookup (defines investment duration methodology: fixed-term, open-ended, rolling).
topUpMaxAmount
decimal
Optional
Maximum amount for subsequent deposits to existing holdings (separate from allotmentMaxAmount, null allows unlimited top-ups).
topUpMinAmount
decimal
Optional
Minimum amount for subsequent deposits to existing holdings (typically lower than allotmentMinAmount).
investmentTypeID >
integer
Investment type classification via common/lookup determining business rules and transaction processing logic.
InvestmentID
integer
Optional
Leave as null or 0 for POST operations (system auto-assigns identifier and returns in response.data.investmentID).
externalInvestmentId
string
Optional
External investment identifier for cross-system tracking (immutable after creation, recommend UUID or prefixed sequential IDs).
allowAllotment
boolean
Controls whether new deposits are accepted via BizTransaction/Deposit (works with allotmentCutoffDate for lifecycle control).
allotmentCutoffDate
date
Optional
Hard deadline for accepting new investments (YYYY-MM-DD format, system rejects all deposits after this date regardless of allowAllotment status).
allowDistribution
boolean
Controls whether investment can process Distribution declarations, payments, and DRP operations.
allotmentMinAmount
decimal
Optional
Minimum deposit amount per transaction enforced during BizTransaction processing (e.g., $1,000-$5,000 retail, $250,000+ wholesale).
allotmentMaxAmount
decimal
Optional
Maximum single deposit amount per transaction (null allows unlimited deposits subject to maxCapital constraints).
calcDividendIncludingFirstDay
boolean
Controls whether Distribution accruals include first day of holding period (true includes purchase date, false excludes it).
couponRate
decimal
Optional
Fixed interest rate percentage for term deposits and bond investments (e.g., 5.25 = 5.25% annual interest).
description
string
Optional
Investment product narrative displayed in investor portals and statements (include strategy, risk profile, target market).
distributionPeriodID
integer
Optional
Distribution payment frequency via common/lookup (1=Monthly, 2=Quarterly, 3=Semi-Annual, 4=Annual, affects Distribution/Declare timing).
distributionTermID
integer
Optional
Distribution calculation methodology via common/lookup (defines how distribution amounts are calculated for Distribution/Declare operations).
endDate
date
Optional
Investment maturity or planned closure date (YYYY-MM-DD format, does not automatically close investment - use with isActive flag).
isActive
boolean
Master control for all BizTransaction processing (false completely blocks all financial transactions regardless of other settings).
isIncludedInAnnualReporting
boolean
Optional
Controls whether investment appears on investor annual tax statements and EOFY summaries (default true for regulatory reporting).
securityCode
string
Optional
APIR code or international security identifier (ISIN, CUSIP, ticker symbol, required for Australian public offerings).
maxCapital
decimal
Optional
Maximum aggregate capital across all investors (system prevents new deposits exceeding this cap, null allows unlimited).
name
string
Optional
Investment display name shown in portals, statements, and transaction confirmations.
noOfDecimalPlaces
integer
Optional
Pricing precision (0-6 decimals) affecting all transaction calculations and InvestmentPrice records (CRITICAL: cannot change after transaction history exists).
ordinal
integer
Optional
Display sequence number for sorting investments in user interfaces (lower numbers appear first).
ProductID
integer
Optional
Parent product identifier linking investment to product hierarchy (product must exist before investment creation).
externalProductId
string
Optional
External product identifier for cross-system integration (alternative to ProductID, system resolves to native ProductID internally).
roundingMethodID
integer
Optional
Price rounding methodology via common/lookup (1=Normal banker's rounding, 2=Round Up, 3=Round Down, applies after noOfDecimalPlaces precision).
startDate
date
Optional
Date when investment becomes available for deposits (YYYY-MM-DD format, use with isActive flag for precise availability control).
termDays
integer
Optional
Investment term length in days for short-term configurations (mutually exclusive with termMonths, use for money market instruments).
termMonths
integer
Optional
Investment term length in months for term deposits (common values: 3, 6, 12, 24, 36, null for ongoing managed funds).
termTypeID
integer
Optional
Term structure classification via common/lookup (defines investment duration methodology: fixed-term, open-ended, rolling).
topUpMaxAmount
decimal
Optional
Maximum amount for subsequent deposits to existing holdings (separate from allotmentMaxAmount, null allows unlimited top-ups).
topUpMinAmount
decimal
Optional
Minimum amount for subsequent deposits to existing holdings (typically lower than allotmentMinAmount).
investmentTypeID
integer
Investment type classification via common/lookup determining business rules and transaction processing logic.

Investment Configuration

Key settings that control investment behavior:

  • AllowAllotment: Controls whether new investments can be accepted
  • AllowDistribution: Enables distribution processing for this investment
  • IsActive: Master switch for all transaction types
  • NoOfDecimalPlaces: Pricing precision (e.g., 4 for $1.2345)

Example Requests

json
{
  "investmentID": 0,
  "externalInvestmentId": "INV-001",
  "allowAllotment": true,
  "allotmentCutoffDate": "2025-08-16",
  "allowDistribution": true,
  "allotmentMinAmount": 1000.00,
  "allotmentMaxAmount": 1000000.00,
  "calcDividendIncludingFirstDay": false,
  "couponRate": 5.25,
  "description": "High Growth Equity Fund - Class A units with quarterly distributions",
  "distributionPeriodID": 2,
  "distributionTermID": 1,
  "endDate": "2030-12-31",
  "isActive": false,
  "isIncludedInAnnualReporting": true,
  "securityCode": "HGF001A",
  "maxCapital": 50000000.00,
  "name": "High Growth Equity Fund A",
  "noOfDecimalPlaces": 4,
  "ordinal": 1,
  "productID": 100,
  "externalProductId": "FUND-001",
  "roundingMethodID": 1,
  "startDate": "2025-01-01",
  "termDays": 0,
  "termMonths": 36,
  "termTypeID": 2,
  "topUpMaxAmount": 500000.00,
  "topUpMinAmount": 500.00,
  "investmentTypeID": 1
}

Response Examples

json
{
  "result": true,
  "message": "Investment created successfully",
  "recordCount": 1,
  "data": {
    "investmentID": 12345,
    "externalInvestmentId": "INV-001",
    "allowAllotment": true,
    "allotmentCutoffDate": "2025-08-16",
    "allowDistribution": true,
    "allotmentMinAmount": 1000.00,
    "allotmentMaxAmount": 1000000.00,
    "calcDividendIncludingFirstDay": false,
    "couponRate": 5.25,
    "description": "High Growth Equity Fund - Class A units with quarterly distributions",
    "distributionPeriodID": 2,
    "distributionTermID": 1,
    "endDate": "2030-12-31",
    "isActive": false,
    "isIncludedInAnnualReporting": true,
    "securityCode": "HGF001A",
    "maxCapital": 50000000.00,
    "name": "High Growth Equity Fund A",
    "noOfDecimalPlaces": 4,
    "ordinal": 1,
    "productID": 100,
    "externalProductId": "FUND-001",
    "roundingMethodID": 1,
    "startDate": "2025-01-01",
    "termDays": 0,
    "termMonths": 36,
    "termTypeID": 2,
    "topUpMaxAmount": 500000.00,
    "topUpMinAmount": 500.00,
    "investmentTypeID": 1
  }
}