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

HeaderValueDescription
Content-Typeapplication/jsonRequest content type
Authorization{accessToken}Bearer token for API access
Version2.0API 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
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.

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
}