POST
/Investment
Usage Notes
When
- Create unit classes with minimum investment thresholds
- Configure term deposits with maturity dates and coupon rates
- Set up Class A/B/C structures with varying settings
Requirements
- Parent Product must exist and be active
- AllowAllotment, AllowDistribution, IsActive, CalcDividendIncludingFirstDay, InvestmentTypeID required
Notes
- Set IsActive=false until pricing data loaded and approvals complete
- NoOfDecimalPlaces cannot change after transactions exist (use 4 for funds, 2 for deposits)
- ExternalInvestmentId must be unique and is immutable after creation
- AllotmentCutoffDate far future (2099-12-31) for ongoing funds
Description
Creates an investment product within a parent Product. Configure allotment thresholds, distribution settings, pricing precision, and lifecycle dates. Returns complete investment with system-assigned investmentID.
Required Headers - See Authentication
| Header | Value | Description |
|---|---|---|
| Content-Type | application/json | Request content type |
| Authorization | {accessToken} | Bearer token for API access |
| Version | 2.0 | API 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 reference via common/lookup. 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) for calculations and InvestmentPrice records (CRITICAL: immutable after transactions exist). |
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 reference via common/lookup. 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
Leave as null or 0 for POST operations (system auto-assigns identifier and returns in response.data.investmentID).
externalInvestmentId
External investment identifier for cross-system tracking (immutable after creation, recommend UUID or prefixed sequential IDs).
allowAllotment
Controls whether new deposits are accepted via BizTransaction/Deposit (works with allotmentCutoffDate for lifecycle control).
allotmentCutoffDate
Hard deadline for accepting new investments (YYYY-MM-DD format, system rejects all deposits after this date regardless of allowAllotment status).
allowDistribution
Controls whether investment can process Distribution declarations, payments, and DRP operations.
allotmentMinAmount
Minimum deposit amount per transaction enforced during BizTransaction processing (e.g., $1,000-$5,000 retail, $250,000+ wholesale).
allotmentMaxAmount
Maximum single deposit amount per transaction (null allows unlimited deposits subject to maxCapital constraints).
calcDividendIncludingFirstDay
Controls whether Distribution accruals include first day of holding period (true includes purchase date, false excludes it).
couponRate
Fixed interest rate percentage for term deposits and bond investments (e.g., 5.25 = 5.25% annual interest).
description
Investment product narrative displayed in investor portals and statements (include strategy, risk profile, target market).
distributionPeriodID
Distribution payment frequency reference via common/lookup. Affects Distribution/Declare timing.
distributionTermID
Distribution calculation methodology via common/lookup (defines how distribution amounts are calculated for Distribution/Declare operations).
endDate
Investment maturity or planned closure date (YYYY-MM-DD format, does not automatically close investment - use with isActive flag).
isActive
Master control for all BizTransaction processing (false completely blocks all financial transactions regardless of other settings).
isIncludedInAnnualReporting
Controls whether investment appears on investor annual tax statements and EOFY summaries (default true for regulatory reporting).
securityCode
APIR code or international security identifier (ISIN, CUSIP, ticker symbol, required for Australian public offerings).
maxCapital
Maximum aggregate capital across all investors (system prevents new deposits exceeding this cap, null allows unlimited).
name
Investment display name shown in portals, statements, and transaction confirmations.
noOfDecimalPlaces
Pricing precision (0-6 decimals) for calculations and InvestmentPrice records (CRITICAL: immutable after transactions exist).
ordinal
Display sequence number for sorting investments in user interfaces (lower numbers appear first).
ProductID
Parent product identifier linking investment to product hierarchy (product must exist before investment creation).
externalProductId
External product identifier for cross-system integration (alternative to ProductID, system resolves to native ProductID internally).
roundingMethodID
Price rounding methodology reference via common/lookup. Applies after noOfDecimalPlaces precision.
startDate
Date when investment becomes available for deposits (YYYY-MM-DD format, use with isActive flag for precise availability control).
termDays
Investment term length in days for short-term configurations (mutually exclusive with termMonths, use for money market instruments).
termMonths
Investment term length in months for term deposits (common values: 3, 6, 12, 24, 36, null for ongoing managed funds).
termTypeID
Term structure classification via common/lookup (defines investment duration methodology: fixed-term, open-ended, rolling).
topUpMaxAmount
Maximum amount for subsequent deposits to existing holdings (separate from allotmentMaxAmount, null allows unlimited top-ups).
topUpMinAmount
Minimum amount for subsequent deposits to existing holdings (typically lower than allotmentMinAmount).
investmentTypeID
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
bash
curl -X POST 'https://api.7g.com.au/Investment' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0' \
-H 'Content-Type: application/json' \
-d '{
"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
}
}