POST
/Distribution/Declare
Usage Notes
When
- Lock eligible investors and calculate distribution amounts
- Execute account selection (standard, include, exclude, or pre-calculated)
- Progress to step 2 of 4-stage workflow
Requirements
- Distribution must exist with complete tax components (total 100%)
- Record date holdings available for calculation
Notes
- Step 2 of 4-stage workflow
- Declaration is permanent via API - verify all parameters first
- Account arrays are mutually exclusive (preCalculatedAccounts, includeAccounts, excludeAccounts)
- Omit all arrays for standard processing of all eligible accounts
- preCalculatedAccounts stores exact values without recalculation
Description
Declares a distribution, locking eligible investors and calculating amounts per account. Step 2 of 4-stage workflow. Declaration is irreversible via API. Account selection controls which accounts receive distributions.
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 |
|---|---|---|---|
ProductID |
integer | Required |
Native 7G product identifier for declaration validation and permission checks. |
externalProductId |
string | Optional |
Client-supplied product reference (alternative to productID). |
CorporateActionID |
integer | Required |
Native 7G distribution identifier targeting declaration and processing. |
externalCorporateActionId |
string | Optional |
Client-supplied distribution reference (alternative to corporateActionID). |
overrideDate |
string (date) | Optional |
Declaration execution date override (defaults to current system date). |
comment |
string | Optional |
Declaration comment for audit trail and business records. |
runDistribution |
boolean | Required |
Auto-execute distribution after declaration (true=single-step, false=standard workflow). |
preCalculatedAccounts |
>
List<PreCalculatedAccountDTO>... |
Array of pre-calculated distribution amounts for specific accounts. Use when you have performed custom distribution calculations and want 7G to store your exact values without recalculation. | |
includeAccounts |
>
List<DistributionAccountDTO>... |
Array of specific accounts to include in distribution processing. 7G will calculate distribution amounts for only these accounts based on the distribution parameters. | |
excludeAccounts |
>
List<DistributionAccountDTO>... |
Array of specific accounts to exclude from distribution processing. 7G will calculate distribution amounts for all eligible accounts except these. |
ProductID
Native 7G product identifier for declaration validation and permission checks.
externalProductId
Client-supplied product reference (alternative to productID).
CorporateActionID
Native 7G distribution identifier targeting declaration and processing.
externalCorporateActionId
Client-supplied distribution reference (alternative to corporateActionID).
overrideDate
Declaration execution date override (defaults to current system date).
comment
Declaration comment for audit trail and business records.
runDistribution
Auto-execute distribution after declaration (true=single-step, false=standard workflow).
preCalculatedAccounts
Array of pre-calculated distribution amounts for specific accounts. Use when you have performed custom distribution calculations and want 7G to store your exact values without recalculation.
includeAccounts
Array of specific accounts to include in distribution processing. 7G will calculate distribution amounts for only these accounts based on the distribution parameters.
excludeAccounts
Array of specific accounts to exclude from distribution processing. 7G will calculate distribution amounts for all eligible accounts except these.
Example Requests
bash
# Standard declaration - process all eligible accounts
curl -X POST 'https://api.7g.com.au/Distribution/Declare' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0' \
-H 'Content-Type: application/json' \
-d '{
"productID": 100,
"corporateActionID": 12346,
"comment": "Q2 2024 distribution declaration",
"runDistribution": false
}'
# Declaration with account exclusions
curl -X POST 'https://api.7g.com.au/Distribution/Declare' \
-H 'Authorization: {accessToken}' \
-H 'Version: 2.0' \
-H 'Content-Type: application/json' \
-d '{
"productID": 100,
"corporateActionID": 12346,
"runDistribution": false,
"excludeAccounts": [{
"corporateActionID": 12346,
"productID": 100,
"accountID": 789012
}]
}'Response Examples
json
{
"result": true,
"message": "Distribution declared successfully",
"recordCount": 1,
"data": null
}