Getting Started

Automic REST API enables you to interact with your data on the Automic Registry Platform programmatically. The flexibility and scalability of REST API is ideal for system to system integration for performing complex and large scale operations.

Our REST API follows OAuth 2.0 protocol that lets your app access resources without accessing user credentials.

Setting Up API Application

Create

  1. Login

  2. Go to API Management under Settings and select Create APP.

    create app 1
  3. Provide the App name, App Description, Issuer(s) in scope and API(s) (Read, Write/Transactional or both) you want access to.

    create app 2

Enable Application

Once the application is created, the client id and API key is displayed on the APP panel. Then, you are able to generate the client secret.

Warning
The client secret is private and should not be shared. Never post your client secret key on public platforms, such as GitHub or public website’s source code. This can compromise your account security.

Generate Secret

You can always regenerate the client secret. However, you have to make sure your API connection with the latest client secret.

secret 1
secret 2

Enable Application

enable app

Disable Application

Your API connection will be disconnected after the application is disabled, and you can always re-enable the application.

disable app

Authorisation

Client Credentials

Automic’s API supports the custom connection which utilises the client credentials grant type. Custom connection is best for backend, machine to machine (M2M) integrations.

The client credentials flow authenticates and authorizes the client app rather than a user, in which client passes along the Client ID and Client Secret to get a token.

Token Definition

At the successful completion of an OAuth flow you will be granted an access token to act on behalf of the user. You will then use that access token to access the Automic API.

When access token expires, you can use refresh method to grant the access token again by using previous refresh token. The refresh method will return the latest pair of access token and refresh token. As long as refreshed, the previous refresh token will be removed immediately.

All tokens received has an associated expiry time. Access token and refresh token can be exchanged prior to expiry.

Token Expiry

access_token

Access token expires after 30 minutes

refresh_token

Refresh token expires after 30 days

Grant access token

client credentials access token flow
$ curl 'https://automic-api-demo-domain.com.au/api/oauth/token/v1/grant?grant_type=client_credentials' -i -u '20ff76c6-a7d7-4743-a535-fe231119112c:8pF6ZSmG3WXxtp9XnQ*DMLgTXQU6LrPv77d*@cvJejbj2Ug' -X POST \
    -H 'Accept: application/json' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a'
POST /api/oauth/token/v1/grant?grant_type=client_credentials HTTP/1.1
Accept: application/json
Authorization: Basic MjBmZjc2YzYtYTdkNy00NzQzLWE1MzUtZmUyMzExMTkxMTJjOjhwRjZaU21HM1dYeHRwOVhuUSpETUxnVFhRVTZMclB2NzdkKkBjdkplamJqMlVn
X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a
Host: automic-api-demo-domain.com.au

Request Headers

Name Description

Authorization

Basic authorisation

X-API-Key

API key is for request throttling

Request Parameters

Parameter Description

grant_type

The value must be: client_credentials

Required: Yes

Response Example

Details
{
  "token_type" : "Bearer",
  "access_token" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE",
  "refresh_token" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjZhZDFlNDM5LTQ4MWQtNDkzOC1hYmFmLWQ2ZDFmYzM2ODljOCIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ3NTAyNTk2fQ.5hBsNL5Os5wIzfClXPKS9__Q2iU0Palt17wYRjH1BdQ"
}

Response Fields

Details
Path Type Description

token_type

String

Bearer

access_token

String

The token used to call the API.

refresh_token

String

The token used to refresh the access token once it has expired

Request Refresh Token

client credentials refresh token flow
$ curl 'https://automic-api-demo-domain.com.au/api/oauth/token/v1/refresh' -i -u '20ff76c6-a7d7-4743-a535-fe231119112c:8pF6ZSmG3WXxtp9XnQ*DMLgTXQU6LrPv77d*@cvJejbj2Ug' -X POST \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -d '{
  "refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjZhZDFlNDM5LTQ4MWQtNDkzOC1hYmFmLWQ2ZDFmYzM2ODljOCIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ3NTAyNTk2fQ.5hBsNL5Os5wIzfClXPKS9__Q2iU0Palt17wYRjH1BdQ"
}'
POST /api/oauth/token/v1/refresh HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Basic MjBmZjc2YzYtYTdkNy00NzQzLWE1MzUtZmUyMzExMTkxMTJjOjhwRjZaU21HM1dYeHRwOVhuUSpETUxnVFhRVTZMclB2NzdkKkBjdkplamJqMlVn
X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a
Content-Length: 232
Host: automic-api-demo-domain.com.au

{
  "refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjZhZDFlNDM5LTQ4MWQtNDkzOC1hYmFmLWQ2ZDFmYzM2ODljOCIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ3NTAyNTk2fQ.5hBsNL5Os5wIzfClXPKS9__Q2iU0Palt17wYRjH1BdQ"
}

Request Headers

Name Description

Authorization

Basic authorisation

X-API-Key

API key for request throttling

Request Body

{
  "refreshToken" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjZhZDFlNDM5LTQ4MWQtNDkzOC1hYmFmLWQ2ZDFmYzM2ODljOCIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ3NTAyNTk2fQ.5hBsNL5Os5wIzfClXPKS9__Q2iU0Palt17wYRjH1BdQ"
}

Response Example

Details
{
  "token_type" : "Bearer",
  "access_token" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE",
  "refresh_token" : "eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjZhZDFlNDM5LTQ4MWQtNDkzOC1hYmFmLWQ2ZDFmYzM2ODljOCIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ3NTAyNTk2fQ.5hBsNL5Os5wIzfClXPKS9__Q2iU0Palt17wYRjH1BdQ"
}

Response Fields

Details
Path Type Description

token_type

String

Bearer

access_token

String

The token used to call the API.

refresh_token

String

The token used to refresh the access token once it has expired

Call the API

Make calls against the Automic APIs by simply adding the following headers to your request. You can only access APIs that your API key has permission for. If your API key lacks the necessary permissions for the API you want to use, you can update your app to add or modify the APIs you wish to access.

Authorization: "Bearer " + access_token

X-API-Key: <automic api key>

Example

$ curl 'https://automic-api-demo-domain.com.au/api/report/top-holders/v1/issuer/1111?securityIds=1444,1555&noOfHolders=20&showHolderNumber=true&includeHolderGroup=true&showGroupMembers=true&asOfDate=2022-01-01' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

HTTP Responses

Codes Summary

A summary of HTTP Response Codes returned by the Automic API is shown below.

HTTP Code Summary Description

200

OK

Successful API call

400

Bad Request

A validation exception has occurred

404

Not Found

The resource you have specified cannot be found

401

Unauthorized

Invalid authorization

500

Internal Error

An unhandled error with the Automic API. Contact Automic API team if problems persist

Common Response Codes

HTTP 200 OK

The Automic API will return with a HTTP 200 for successful requests

HTTP 401 Unauthorized

There are several reasons, errors can be:

  • invalid credentials

  • API APP is disconnected or invalid API APP user

  • invalid access token or access token expired

  • invalid refresh token or refresh token expired

The error response example:

{
  "error" : "invalid.token",
  "status" : 401
}

Error Content

Error Message Description

invalid.client

API APP is disconnected, API APP associated user is not valid anymore

invalid.credentials

invalid client id or client secret

invalid.apiKey

invalid api key

invalid.token

access token or refresh token is invalid or does not exist

invalid.tokenExpired

access token or refresh token is expired

HTTP 400 Bad Request

HTTP 400 responses indicates invalid API input such as invalid request parameters or request body value.


READ-ONLY API’S

Issuer

Overview

Allows you to retrieve information on an issuer.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/issuer/v1' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
[ {
  "id" : 1111,
  "code" : "ABC",
  "name" : "ABC Limited",
  "internetAddress" : "https://abc-limited-test.com",
  "groupType" : "None",
  "listed" : true,
  "subsidiaryLabel" : null,
  "parentId" : null
}, {
  "id" : 2222,
  "code" : "XYZ",
  "name" : "XYZ Limited",
  "internetAddress" : "https://xyz-limited-test.com",
  "groupType" : "Parent",
  "listed" : true,
  "subsidiaryLabel" : null,
  "parentId" : null
}, {
  "id" : 3333,
  "code" : "OPQ",
  "name" : "OPQ Limited",
  "internetAddress" : "https://opq-limited-test.com",
  "groupType" : "Child",
  "listed" : true,
  "subsidiaryLabel" : "Sub Fund Mgmt",
  "parentId" : 2222
} ]

Json Fields

Details
Field Description

id

Automic identifier

code

the code of issuer

name

the name of issuer

internetAddress

issuer online or website address

listed

boolean to indicate if an issuer is listed

subsidiaryLabel

a subsidiary label is used to describe the child issuer

parentId

parentId will be presented if the issuer is child type

groupType

issuer group type

Value(s):

Parent

Child

None


Security

Overview

Allows you to retrieve information on security class(es) of an issuer.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/security/v1/issuer/1111' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters ./api/security/v1/issuer/{issuerId}

Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
[ {
  "id" : 1444,
  "code" : "ABC",
  "name" : "ABC Fully Paid",
  "description" : "ABC Fully Paid Listed",
  "numberOfHolders" : 345,
  "issuedCapitalTotal" : "1000000.0",
  "decimals" : 2,
  "netAssetValueLabel" : "NAV",
  "issuedCapital" : true,
  "rg97" : true,
  "displayPrice" : true,
  "allowRebates" : true
} ]

JSON Fields

Details
Field Description

id

Automic identifier

code

Code of this security/unit class

name

Name of this security/unit class

description

Description of this security/unit class

numberOfHolders

total number of holders for this security/unit class

issuedCapitalTotal

total issued capital for this security/unit class

decimals

number of decimals configured for this security/unit class

netAssetValueLabel

net asset value label set for this security/unit class

issuedCapital

boolean to indicate whether this security/unit class is issued capital

rg97

boolean to indicate whether rg97 used for this security/unit class

displayPrice

boolean to indicate whether display price used for this security/unit class

allowRebates

boolean to indicate whether allow rebates used for this security/unit class


Daily Price

Overview

Allows you to retrieve daily price information of a unit class for given date range.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/daily-price/v1/issuer/1111/security/1444?pageNumber=0&pageSize=20&fromDate=2022-01-01&toDate=2022-02-01' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters ./api/daily-price/v1/issuer/{issuerId}/security/{securityId}

Parameter Description

issuerId

the issuer id

securityId

the security id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

pageNumber

page number for pagination

Required: No

Default: 0

Min: 0

pageSize

page size for pagination

Required: No

Default: 20

Min: 1

Max: 20

fromDate

used to setup fromDate for search in between date range

Required: No

Format: YYYY-MM-DD

toDate

used to setup toDate for search in between date range

Required: No

Default: current date

Format: YYYY-MM-DD

Response Example

Details
{
  "results" : [ {
    "id" : null,
    "securityId" : 1444,
    "securityCode" : "ABC",
    "securityName" : "ABC Fully Paid",
    "date" : null,
    "open" : "1.08",
    "high" : "1.38",
    "low" : "0.99",
    "close" : "1.00",
    "volume" : "923492",
    "nav" : "1.110893803",
    "navEx" : "1.110893803",
    "application" : "1.110893803",
    "redemption" : "1.110893803"
  } ],
  "page" : {
    "resultSize" : 0,
    "pageSize" : 20,
    "pageNumber" : 0,
    "isDescending" : null,
    "isFirstPage" : false,
    "isLastPage" : false,
    "hasNextPage" : false,
    "hasPreviousPage" : false
  }
}

Json Fields

Details
Field Description

results[].id

Automic identifier

results[].securityId

Automic identifier of security/unit class

results[].securityCode

code of the security/unit class

results[].securityName

name of the security/unit class

results[].date

the date of daily price information

results[].open

opening price

results[].high

highest price

results[].low

lowest price

results[].close

closing price

results[].volume

the volume of this security/unit class

results[].nav

Net Asset Value per share/unit

results[].navEx

Ex-income net asset value is the Cum-income NAV excluding net current year income (net current year income being all current year income, less the value of any dividends paid in respect of the period together with the value of any dividends which have been declared and marked ex-dividend but not yet paid).

results[].application

application price

results[].redemption

redemption price

page.resultSize

the number of displayed result for current request

page.pageSize

the number of pages

page.pageNumber

the current page number

page.isDescending

boolean to indicate whether it is displayed as descending order

page.isFirstPage

boolean to indicate whether the current page is the first page

page.isLastPage

boolean to indicate whether the current page is the last page

page.hasNextPage

boolean to indicate whether the current page has next page

page.hasPreviousPage

boolean to indicate whether the current page has previous page


Top Holder

Overview

Allows you to retrieve information on top holders of a security class(es) for a given date, sort by quantity held.

Limitation: the maximum result of records is 50.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/top-holders/v1/issuer/1111?securityIds=1444,1555&noOfHolders=20&showHolderNumber=true&includeHolderGroup=true&showGroupMembers=true&asOfDate=2022-01-01' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 1. /api/report/top-holders/v1/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

securityIds

the security ids. array of security id

Required: Yes

noOfHolders

number of holders

Required: No

Default: 20

Min: 1

Max: 50

showHolderNumber

show holder number. If view holder number permission is not granted, holder number will be masked

Required: No

Default: false

includeHolderGroup

include holder group

Required: No

Default: false

showGroupMembers

show group members

Required: No

Default: false

asOfDate

as of date

Required: No

Default: current date

Format: YYYY-MM-DD

Response Example

Details
{
  "securities" : [ {
    "id" : 1444,
    "code" : "ABC",
    "name" : "ABC Fully Paid",
    "decimals" : 0
  }, {
    "id" : 1555,
    "code" : "ABCO",
    "name" : "ABC Options",
    "decimals" : 0
  } ],
  "totalIssuedCapital" : "2000000.000000000000",
  "totalIssuedCapitalPercentage" : "1",
  "totalDisplayedIssuedCapital" : "1000000.000000000000",
  "totalDisplayedIssuedCapitalPercentage" : "0.580192",
  "holders" : [ {
    "position" : 1,
    "group" : true,
    "groupName" : "MACGYVER-EBERT PTY LTD",
    "holderNames" : [ ],
    "holding" : "50000.000000000000",
    "issuedCapitalPercentage" : "0.153773",
    "holderNumber" : null,
    "groupMembers" : [ {
      "holderNumber" : "X00000782918",
      "holderNames" : [ "MRS LOUIS ARMSTRONG", "<THE ARMSTRONG FAMILY A/C>" ],
      "holding" : "50000.000000000000"
    } ]
  }, {
    "position" : 2,
    "group" : false,
    "groupName" : null,
    "holderNames" : [ "MRS AMY GARCIA <THE GARCIA FAMILY A/C>", "MRS LOUIS ARMSTRONG" ],
    "holding" : "50000.000000000000",
    "issuedCapitalPercentage" : "0.126713",
    "holderNumber" : "X00000280953",
    "groupMembers" : [ ]
  } ]
}

Json Fields

Details
Field Description

securities[].id

Automic identifier for the security/unit class

securities[].code

code of this security/unit class

securities[].name

name of this security/unit class

securities[].decimals

number of decimals for this security/unit class

totalIssuedCapital

total volume of selected security/unit class(es)

totalIssuedCapitalPercentage

The percentage of the total volume

totalDisplayedIssuedCapital

total volume of returned results based on the selected security/unit class(es)

totalDisplayedIssuedCapitalPercentage

the percentage of returned results based on the selected security/unit class(es)

holders[].position

the number represents the rank of returned result

holders[].group

boolean to indicate whether the result returned is holder group

holders[].groupName

the name of holder group

holders[].holderNames

an array contains holder names

holders[].holding

the total holding of this holder / holder group

holders[].issuedCapitalPercentage

the holding percentage of this holder / holder group

holders[].holderNumber

holder number will be presented if it is individual holder

holders[].groupMembers

any array contains holders' information including: holder number, holder names, and total holding it is holder group


Distributions Listing

Overview

Allows you to enumerate all distributions occurring within a specified period. The API will only return distributions that have been officially approved by the issuer.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/distributions/v1/issuer/10?fromRecordDate=2021-01-01&toRecordDate=2022-01-01' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 2. /api/distributions/v1/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

fromRecordDate

Used to setup fromDate for search in between date range

Required: Yes

Format: YYYY-MM-DD

toRecordDate

Used to setup toDate for search in between date range

Required: Yes

Format: YYYY-MM-DD

Response Example

Details
[ {
  "id" : 4874,
  "name" : "Distribution - period end 30 June 2022",
  "type" : "Distribution",
  "typeCode" : "CD",
  "status" : "COMPLETE",
  "exDate" : "2022-07-01",
  "recordDate" : "2022-07-04",
  "entitlementType" : "RecordDate",
  "paymentDate" : "2022-07-21",
  "periodEndDate" : "2022-06-30",
  "drpRecordDate" : "2022-07-05",
  "drpIssueDate" : "2022-07-21",
  "drp" : true,
  "drpPrice" : "1.63600000",
  "components" : [ {
    "amount" : "0.00037895",
    "attributionAmount" : null,
    "residentWHTField" : "Cash",
    "nonResidentWHTField" : null,
    "rebalance" : false,
    "rebalanceAttribution" : false,
    "deemed" : false,
    "component" : {
      "code" : "INT",
      "name" : "Interest",
      "category" : "Australian Sourced Income",
      "component" : false,
      "taxCredit" : false,
      "residentRate" : "47",
      "mitEoiRateType" : "DTA_INT",
      "mitEoiRate" : null,
      "mitNonEoiRateType" : "DTA_INT",
      "mitNonEoiRate" : null,
      "nonMitRateType" : "DTA_INT",
      "nonMitRate" : null,
      "defaultDtaRate" : "10",
      "cgtDiscountRate" : null
    }
  } ]
} ]

Json Fields

Details
Field Description

id

A unique numeric identifier for each distribution record

name

The name of the distribution, such as 'Distribution - period end 30 June 2022'

type

The distribution type, for instance, 'Distribution'

typeCode

A specific code corresponding to the distribution type, e.g., 'CD'

status

The current status of the distribution, like 'COMPLETE'

entitlementType

The entitlementType type of the distribution, such as ‘Record Date’

exDate

The ex-distribution date. Note for Pro-rata distribution this is the 'from date'

recordDate

The date for distribution record. Note, for Pro-rata distribution this is the 'to date'

paymentDate

The date when the distribution is paid

periodEndDate

The end date of the financial period for which the distribution is made

drpRecordDate

The record date for the Distribution Reinvestment Plan (DRP), if applicable

drpIssueDate

The issue date for DRP shares, if applicable

drp

A boolean indicating whether a Distribution Reinvestment Plan is applicable

drpPrice

The price per share for the DRP

components[].amount

The financial amount of the component

components[].attributionAmount

An optional attribution amount

components[].residentWHTField

Withholding tax for residents

components[].nonResidentWHTField

Withholding tax for non-residents

components[].rebalance

Boolean field indicating various states or actions of the component

components[].rebalanceAttribution

Boolean field indicating various states or actions of the component

components[].deemed

Boolean field indicating various states or actions of the component

components[].component.code

Identifier of the component

components[].component.name

Name of the component

components[].component.category

The category of the component, like 'Australian Sourced Income'

components[].component.taxCredit

A boolean field that indicates if the component is a tax credit

components[].component.component

A boolean field that signifies if the item is a component

components[].component.residentRate

Rate field

components[].component.mitEoiRateType

Rate field

components[].component.mitEoiRate

Rate field

components[].component.mitNonEoiRateType

Rate field

components[].component.mitNonEoiRate

Rate field

components[].component.nonMitRateType

Rate field

components[].component.nonMitRate

Rate field

components[].component.defaultDtaRate

Rate field

components[].component.cgtDiscountRate

Rate field


Version 2

In addition to the details returned in V1 it returns the CUM classes of each distribution.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/distributions/v2/issuer/10?fromRecordDate=2021-01-01&toRecordDate=2022-01-01' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 3. /api/distributions/v2/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

fromRecordDate

Used to setup fromDate for search in between date range

Required: Yes

Format: YYYY-MM-DD

toRecordDate

Used to setup toDate for search in between date range

Required: Yes

Format: YYYY-MM-DD

Response Example

Details
[ {
  "id" : 4874,
  "name" : "Distribution - period end 30 June 2022",
  "type" : "Distribution",
  "typeCode" : "CD",
  "cumClasses" : [ "ABC", "XYZ" ],
  "status" : "COMPLETE",
  "exDate" : "2022-07-01",
  "recordDate" : "2022-07-04",
  "entitlementType" : "RecordDate",
  "paymentDate" : "2022-07-21",
  "periodEndDate" : "2022-06-30",
  "drpRecordDate" : "2022-07-05",
  "drpIssueDate" : "2022-07-21",
  "drp" : true,
  "drpPrice" : "1.63600000",
  "components" : [ {
    "amount" : "0.00037895",
    "attributionAmount" : null,
    "residentWHTField" : "Cash",
    "nonResidentWHTField" : null,
    "rebalance" : false,
    "rebalanceAttribution" : false,
    "deemed" : false,
    "component" : {
      "code" : "INT",
      "name" : "Interest",
      "category" : "Australian Sourced Income",
      "component" : false,
      "taxCredit" : false,
      "residentRate" : "47",
      "mitEoiRateType" : "DTA_INT",
      "mitEoiRate" : null,
      "mitNonEoiRateType" : "DTA_INT",
      "mitNonEoiRate" : null,
      "nonMitRateType" : "DTA_INT",
      "nonMitRate" : null,
      "defaultDtaRate" : "10",
      "cgtDiscountRate" : null
    }
  } ]
} ]

Json Fields

Details
Field Description

id

A unique numeric identifier for each distribution record

name

The name of the distribution, such as 'Distribution - period end 30 June 2022'

type

The distribution type, for instance, 'Distribution'

typeCode

A specific code corresponding to the distribution type, e.g., 'CD'

cumClasses

A array containing the CUM classes of the distribution

status

The current status of the distribution, like 'COMPLETE'

entitlementType

The entitlementType type of the distribution, such as ‘Record Date’

exDate

The ex-distribution date. Note for Pro-rata distribution this is the 'from date'

recordDate

The date for distribution record. Note, for Pro-rata distribution this is the 'to date'

paymentDate

The date when the distribution is paid

periodEndDate

The end date of the financial period for which the distribution is made

drpRecordDate

The record date for the Distribution Reinvestment Plan (DRP), if applicable

drpIssueDate

The issue date for DRP shares, if applicable

drp

A boolean indicating whether a Distribution Reinvestment Plan is applicable

drpPrice

The price per share for the DRP

components[].amount

The financial amount of the component

components[].attributionAmount

An optional attribution amount

components[].residentWHTField

Withholding tax for residents

components[].nonResidentWHTField

Withholding tax for non-residents

components[].rebalance

Boolean field indicating various states or actions of the component

components[].rebalanceAttribution

Boolean field indicating various states or actions of the component

components[].deemed

Boolean field indicating various states or actions of the component

components[].component.code

Identifier of the component

components[].component.name

Name of the component

components[].component.category

The category of the component, like 'Australian Sourced Income'

components[].component.taxCredit

A boolean field that indicates if the component is a tax credit

components[].component.component

A boolean field that signifies if the item is a component

components[].component.residentRate

Rate field

components[].component.mitEoiRateType

Rate field

components[].component.mitEoiRate

Rate field

components[].component.mitNonEoiRateType

Rate field

components[].component.mitNonEoiRate

Rate field

components[].component.nonMitRateType

Rate field

components[].component.nonMitRate

Rate field

components[].component.defaultDtaRate

Rate field

components[].component.cgtDiscountRate

Rate field


Distributions Payment List

Overview

Presents the distribution amounts received by each investor for a given distribution.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/distributions-payment-list/v1/issuer/10/distribution/100' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 4. /api/report/distributions-payment-list/v1/issuer/{issuerId}/distribution/{distributionId}
Parameter Description

issuerId

the issuer id

distributionId

a single distribution corporate action ID

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "id" : 1234,
  "holders" : [ {
    "holderId" : 123,
    "holderNumber" : "X00014239831",
    "cumBalance" : "1000",
    "holderDetails" : {
      "registrationDetailsLine1" : "MR SAMPLE",
      "registrationDetailsLine2" : "LEVEL 1 125 PHILLIP ST",
      "registrationDetailsLine3" : "SYDNEY NSW",
      "registrationDetailsLine4" : "",
      "registrationDetailsLine5" : "",
      "registrationDetailsLine6" : "",
      "postcodeCountryCode" : "2041"
    },
    "tax" : {
      "taxDomicile" : "AUS",
      "tfnStatus" : "QUOTED",
      "crsFatcaDeclared" : true
    },
    "communication" : {
      "returnedMail" : false,
      "communicationPreference" : "EA",
      "contactName" : "MR SAMPLE JONES",
      "emailAddress" : "sample@sample.com",
      "mobileNumber" : "04247474747",
      "homeNumber" : "",
      "workNumber" : ""
    },
    "components" : [ {
      "componentName" : "Component 1",
      "attributionRate" : "1",
      "attributionGross" : "1000",
      "cashRate" : "1",
      "cashGross" : "1000",
      "taxRate" : "0",
      "wht" : "0",
      "net" : "10000"
    }, {
      "componentName" : "Component 2",
      "attributionRate" : "1",
      "attributionGross" : "1000",
      "cashRate" : "1",
      "cashGross" : "1000",
      "taxRate" : "0",
      "wht" : "0",
      "net" : "10000"
    } ],
    "componentTotal" : {
      "totalAttributionRate" : "2",
      "totalAttributionGross" : "2000",
      "totalCashRate" : "2",
      "totalCashGross" : "2000",
      "totalWht" : "1950",
      "preadjustedTotalNet" : "2000",
      "totalNetBroughtFwd" : "-50",
      "totalNet" : "1950",
      "totalNetCarriedFwd" : "0"
    },
    "taxCredits" : [ {
      "taxCreditName" : "Tax Credit 1",
      "rate" : "0.5",
      "amount" : "500"
    } ],
    "taxCreditTotal" : {
      "totalRate" : "0.5",
      "totalAmount" : "500"
    },
    "drp" : {
      "drpParticipation" : "FixedUnit",
      "amountElectedForDrp" : "500",
      "balanceBroughtFwd" : "0",
      "totalAvailableForDrp" : "500",
      "securitiesAllocated" : "500",
      "securitiesAllocatedValue" : "500",
      "balanceCarriedFwd" : "0",
      "totalCashPayment" : "500",
      "noEftDetailsDrpApplies" : false
    },
    "paymentDetails" : {
      "method" : "EFT",
      "chequeNumber" : "",
      "paymentDomicile" : "",
      "receivingCurrency" : "",
      "bankName" : "",
      "branchName" : "",
      "branchCode" : "123-123",
      "accountNumber" : "1234566",
      "accountName" : "Account Name",
      "swift" : "",
      "iban" : "",
      "beneficiaryAddress" : "",
      "beneficiaryCity" : "",
      "beneficiaryPostcode" : "",
      "beneficiaryState" : "",
      "beneficiaryCountry" : "",
      "intermediaryBankAccount" : null,
      "intermediaryBankName" : "",
      "intermediaryBankSwift" : "",
      "paymentContactNumber" : "",
      "paymentContactName" : "",
      "cnaps" : ""
    }
  } ]
}

Json Fields

Details
Field Description

id

Unique identifier for the overall data

holders[].holderId

Unique identifier for the holder

holders[].holderNumber

Holder number

holders[].cumBalance

Cumulative balance held by the holder / entitlement

holders[].holderDetails.registrationDetailsLine1

First line of the registration details

holders[].holderDetails.registrationDetailsLine2

Second line of the registration details

holders[].holderDetails.registrationDetailsLine3

Third line of the registration details

holders[].holderDetails.registrationDetailsLine4

Fourth line of the registration details (empty string if not applicable)

holders[].holderDetails.registrationDetailsLine5

Fifth line of the registration details (empty string if not applicable).

holders[].holderDetails.registrationDetailsLine6

Sixth line of the registration details (empty string if not applicable).

holders[].holderDetails.postcodeCountryCode

Postcode or country code associated with the holder’s address

holders[].tax.taxDomicile

The tax domicile of the holder, e.g., 'AUS'

holders[].tax.tfnStatus

quote or unquoted

holders[].tax.crsFatcaDeclared

CRS/FATCA declaration status (true or fase)

holders[].communication.returnedMail

Flag indicating if mail is returned (F for false)

holders[].communication.communicationPreference

Preferred communication method (EA for all electronic)

holders[].communication.contactName

Full name of the contact person

holders[].communication.emailAddress

Email address of the contact person

holders[].communication.mobileNumber

Mobile number of the contact person

holders[].communication.homeNumber

Home number of the contact person

holders[].communication.workNumber

Work number of the contact person

holders[].components[].componentName

Descriptive name of the component

holders[].components[].attributionRate

Attribution rate of the component

holders[].components[].attributionGross:

Attribution gross amount of the component

holders[].components[].cashRate

Cash rate of the component

holders[].components[].cashGross

Cash gross amount of the component

holders[].components[].taxRate

Tax rate of the component

holders[].components[].wht

Withholding tax of the component

holders[].components[].net

Net amount of the component

holders[].componentTotal.totalAttributionRate

Total attribution rate of all components

holders[].componentTotal.totalAttributionGross

Total attribution gross amount of all the components

holders[].componentTotal.totalCashRate

Total cash rate of all components

holders[].componentTotal.totalCashGross:

Total cash gross amount of all components

holders[].componentTotal.totalWht

Total withholding tax of all components

holders[].componentTotal.preadjustedTotalNet

Total net amount of all components before any adjustment

holders[].componentTotal.totalNetBroughtFwd

Total net amount brought forward from previous distribution

holders[].componentTotal.totalNet

Total net amount of all components, after any adjustment

holders[].componentTotal.totalNetCarriedFwd

Total net amount carried forward into future distribution

holders[].taxCredits[].taxCreditName

Descriptive name of the tax credit

holders[].taxCredits[].rate

Rate of the tax credit

holders[].taxCredits[].amount

Amount of the tax credit

holders[].taxCreditsTotal.totalRate

Total rate of all tax credits

holders[].taxCreditsTotal.totalAmount

Total amount of all tax credits

holders[].drp.drpParticipation

Type of DRP participation (e.g., Partial Participation - Fixed Unit).

holders[].drp.amountElectedForDrp

Amount elected for DRP

holders[].drp.balanceBroughtFwd

Balance brought forward for DRP

holders[].drp.totalAvailableForDrp

Total available for DRP

holders[].drp.securitiesAllocated

Securities allocated for DRP

holders[].drp.securitiesAllocatedValue

Value of securities allocated for DRP

holders[].drp.balanceCarriedFwd

Balance carried forward for DRP

holders[].drp.totalCashPayment

Total cash payment for DRP.

holders[].drp.noEftDetailsDrpApplies

Flag indicating if no EFT details for DRP apply

holders[].paymentDetails.method

Payment method (e.g., EFT or CHEQUE)

holders[].paymentDetails.chequeNumber

Cheque number (empty string if not applicable)

holders[].paymentDetails.paymentDomicile

Bank account domicile for international payments

holders[].paymentDetails.receivingCurrency

Receiving currency for international payments

holders[].paymentDetails.branchName

Branch name of the bank or financial institution

holders[].paymentDetails.bankName

Name of the bank or financial institution

holders[].paymentDetails.bsb

BSB/Branch code/BIC of the bank account

holders[].paymentDetails.accountNumber

Account number for the payment

holders[].paymentDetails.accountName

Name associated with the account

holders[].paymentDetails.swift

Bank account SWIFT code

holders[].paymentDetails.iban

Bank account IBAN

holders[].paymentDetails.beneficiaryAddress

Address of the account beneficiary

holders[].paymentDetails.beneficiaryCity

City or Suburb of the account beneficiary

holders[].paymentDetails.beneficiaryPostcode

Postcode of the account beneficiary

holders[].paymentDetails.beneficiaryState

State of the account beneficiary

holders[].paymentDetails.beneficiaryCountry

Country of the account beneficiary

holders[].paymentDetails.intermediaryBankAccount

Intermediary bank account number

holders[].paymentDetails.intermediaryBankName

Intermediary bank name

holders[].paymentDetails.intermediaryBankSwift

Intermediary bank SWIFT code

holders[].paymentDetails.paymentContactNumber

Payment contact number

holders[].paymentDetails.paymentContactName

Payment contact name

holders[].paymentDetails.cnaps

China National Advanced Payment System code


Version 2

Returns holderId as well, in addition to results returned by V1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/distributions-payment-list/v2/issuer/10/distribution/100' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 5. /api/report/distributions-payment-list/v2/issuer/{issuerId}/distribution/{distributionId}
Parameter Description

issuerId

the issuer id

distributionId

a single distribution corporate action ID

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "id" : 1234,
  "holders" : [ {
    "holderId" : 123,
    "holderNumber" : "X00014239831",
    "cumBalance" : "1000",
    "holderDetails" : {
      "registrationDetailsLine1" : "MR SAMPLE",
      "registrationDetailsLine2" : "LEVEL 1 125 PHILLIP ST",
      "registrationDetailsLine3" : "SYDNEY NSW",
      "registrationDetailsLine4" : "",
      "registrationDetailsLine5" : "",
      "registrationDetailsLine6" : "",
      "postcodeCountryCode" : "2041"
    },
    "tax" : {
      "taxDomicile" : "AUS",
      "tfnStatus" : "QUOTED",
      "crsFatcaDeclared" : true
    },
    "communication" : {
      "returnedMail" : false,
      "communicationPreference" : "EA",
      "contactName" : "MR SAMPLE JONES",
      "emailAddress" : "sample@sample.com",
      "mobileNumber" : "04247474747",
      "homeNumber" : "",
      "workNumber" : ""
    },
    "components" : [ {
      "componentName" : "Component 1",
      "attributionRate" : "1",
      "attributionGross" : "1000",
      "cashRate" : "1",
      "cashGross" : "1000",
      "taxRate" : "0",
      "wht" : "0",
      "net" : "10000"
    }, {
      "componentName" : "Component 2",
      "attributionRate" : "1",
      "attributionGross" : "1000",
      "cashRate" : "1",
      "cashGross" : "1000",
      "taxRate" : "0",
      "wht" : "0",
      "net" : "10000"
    } ],
    "componentTotal" : {
      "totalAttributionRate" : "2",
      "totalAttributionGross" : "2000",
      "totalCashRate" : "2",
      "totalCashGross" : "2000",
      "totalWht" : "1950",
      "preadjustedTotalNet" : "2000",
      "totalNetBroughtFwd" : "-50",
      "totalNet" : "1950",
      "totalNetCarriedFwd" : "0"
    },
    "taxCredits" : [ {
      "taxCreditName" : "Tax Credit 1",
      "rate" : "0.5",
      "amount" : "500"
    } ],
    "taxCreditTotal" : {
      "totalRate" : "0.5",
      "totalAmount" : "500"
    },
    "drp" : {
      "drpParticipation" : "FixedUnit",
      "amountElectedForDrp" : "500",
      "balanceBroughtFwd" : "0",
      "totalAvailableForDrp" : "500",
      "securitiesAllocated" : "500",
      "securitiesAllocatedValue" : "500",
      "balanceCarriedFwd" : "0",
      "totalCashPayment" : "500",
      "noEftDetailsDrpApplies" : false
    },
    "paymentDetails" : {
      "method" : "EFT",
      "chequeNumber" : "",
      "paymentDomicile" : "",
      "receivingCurrency" : "",
      "bankName" : "",
      "branchName" : "",
      "branchCode" : "123-123",
      "accountNumber" : "1234566",
      "accountName" : "Account Name",
      "swift" : "",
      "iban" : "",
      "beneficiaryAddress" : "",
      "beneficiaryCity" : "",
      "beneficiaryPostcode" : "",
      "beneficiaryState" : "",
      "beneficiaryCountry" : "",
      "intermediaryBankAccount" : null,
      "intermediaryBankName" : "",
      "intermediaryBankSwift" : "",
      "paymentContactNumber" : "",
      "paymentContactName" : "",
      "cnaps" : ""
    }
  } ]
}

Json Fields

Details
Field Description

id

Unique identifier for the overall data

holders[].holderId

Unique identifier for the holder

holders[].holderNumber

Holder number

holders[].cumBalance

Cumulative balance held by the holder / entitlement

holders[].holderDetails.registrationDetailsLine1

First line of the registration details

holders[].holderDetails.registrationDetailsLine2

Second line of the registration details

holders[].holderDetails.registrationDetailsLine3

Third line of the registration details

holders[].holderDetails.registrationDetailsLine4

Fourth line of the registration details (empty string if not applicable)

holders[].holderDetails.registrationDetailsLine5

Fifth line of the registration details (empty string if not applicable).

holders[].holderDetails.registrationDetailsLine6

Sixth line of the registration details (empty string if not applicable).

holders[].holderDetails.postcodeCountryCode

Postcode or country code associated with the holder’s address

holders[].tax.taxDomicile

The tax domicile of the holder, e.g., 'AUS'

holders[].tax.tfnStatus

quote or unquoted

holders[].tax.crsFatcaDeclared

CRS/FATCA declaration status (true or fase)

holders[].communication.returnedMail

Flag indicating if mail is returned (F for false)

holders[].communication.communicationPreference

Preferred communication method (EA for all electronic)

holders[].communication.contactName

Full name of the contact person

holders[].communication.emailAddress

Email address of the contact person

holders[].communication.mobileNumber

Mobile number of the contact person

holders[].communication.homeNumber

Home number of the contact person

holders[].communication.workNumber

Work number of the contact person

holders[].components[].componentName

Descriptive name of the component

holders[].components[].attributionRate

Attribution rate of the component

holders[].components[].attributionGross:

Attribution gross amount of the component

holders[].components[].cashRate

Cash rate of the component

holders[].components[].cashGross

Cash gross amount of the component

holders[].components[].taxRate

Tax rate of the component

holders[].components[].wht

Withholding tax of the component

holders[].components[].net

Net amount of the component

holders[].componentTotal.totalAttributionRate

Total attribution rate of all components

holders[].componentTotal.totalAttributionGross

Total attribution gross amount of all the components

holders[].componentTotal.totalCashRate

Total cash rate of all components

holders[].componentTotal.totalCashGross:

Total cash gross amount of all components

holders[].componentTotal.totalWht

Total withholding tax of all components

holders[].componentTotal.preadjustedTotalNet

Total net amount of all components before any adjustment

holders[].componentTotal.totalNetBroughtFwd

Total net amount brought forward from previous distribution

holders[].componentTotal.totalNet

Total net amount of all components, after any adjustment

holders[].componentTotal.totalNetCarriedFwd

Total net amount carried forward into future distribution

holders[].taxCredits[].taxCreditName

Descriptive name of the tax credit

holders[].taxCredits[].rate

Rate of the tax credit

holders[].taxCredits[].amount

Amount of the tax credit

holders[].taxCreditsTotal.totalRate

Total rate of all tax credits

holders[].taxCreditsTotal.totalAmount

Total amount of all tax credits

holders[].drp.drpParticipation

Type of DRP participation (e.g., Partial Participation - Fixed Unit).

holders[].drp.amountElectedForDrp

Amount elected for DRP

holders[].drp.balanceBroughtFwd

Balance brought forward for DRP

holders[].drp.totalAvailableForDrp

Total available for DRP

holders[].drp.securitiesAllocated

Securities allocated for DRP

holders[].drp.securitiesAllocatedValue

Value of securities allocated for DRP

holders[].drp.balanceCarriedFwd

Balance carried forward for DRP

holders[].drp.totalCashPayment

Total cash payment for DRP.

holders[].drp.noEftDetailsDrpApplies

Flag indicating if no EFT details for DRP apply

holders[].paymentDetails.method

Payment method (e.g., EFT or CHEQUE)

holders[].paymentDetails.chequeNumber

Cheque number (empty string if not applicable)

holders[].paymentDetails.paymentDomicile

Bank account domicile for international payments

holders[].paymentDetails.receivingCurrency

Receiving currency for international payments

holders[].paymentDetails.branchName

Branch name of the bank or financial institution

holders[].paymentDetails.bankName

Name of the bank or financial institution

holders[].paymentDetails.bsb

BSB/Branch code/BIC of the bank account

holders[].paymentDetails.accountNumber

Account number for the payment

holders[].paymentDetails.accountName

Name associated with the account

holders[].paymentDetails.swift

Bank account SWIFT code

holders[].paymentDetails.iban

Bank account IBAN

holders[].paymentDetails.beneficiaryAddress

Address of the account beneficiary

holders[].paymentDetails.beneficiaryCity

City or Suburb of the account beneficiary

holders[].paymentDetails.beneficiaryPostcode

Postcode of the account beneficiary

holders[].paymentDetails.beneficiaryState

State of the account beneficiary

holders[].paymentDetails.beneficiaryCountry

Country of the account beneficiary

holders[].paymentDetails.intermediaryBankAccount

Intermediary bank account number

holders[].paymentDetails.intermediaryBankName

Intermediary bank name

holders[].paymentDetails.intermediaryBankSwift

Intermediary bank SWIFT code

holders[].paymentDetails.paymentContactNumber

Payment contact number

holders[].paymentDetails.paymentContactName

Payment contact name

holders[].paymentDetails.cnaps

China National Advanced Payment System code


Build Registration Details

Overview

Allows you to format registration details.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/applications/v1/buildregodetails' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -d '{
  "names" : [ {
    "title" : "MR",
    "name" : "JOHN DOE"
  } ],
  "designation" : "THE DESIGNATION",
  "address" : {
    "type" : "australian",
    "addressLine1" : "126 PHILIP ST",
    "addressLine2" : "",
    "suburb" : "SYDNEY",
    "state" : "NSW",
    "postcode" : "2000"
  },
  "namesOnSameLine" : false
}'

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "regoDetailsString" : "MR JOHN DOE,                  14 COOPERS ST                 BALMAIN NSW                                                                                                     2041    ",
  "errorMessage" : null,
  "successful" : true,
  "regoTooLong" : false
}

Request Json Fields

Details
Field Description

designation

The account designator of the holder.

Can be null.

Example:

COVAS FAMILY SMSF

names[]

An array of name objects. Mandatory.

Example:

"names": [
    {
      "title": "MR",
      "name": "John Doe"
    },
    {
      "title": "MRS",
      "name": "Jane Doe"
    },
    {
      "title": null,
      "name": null
    }
  ]

names[].title

The title of the holder e.g. MR

names[].name

The full name of the holder, e.g. JANE DOE

address

The address details object - mandatory.

Example:

"address": {
    "type": "australian",
    "addressLine1": "14 George St",
    "addressLine2": null,
    "suburb": "SYDNEY",
    "state": "NSW",
    "postcode": "2001"
  }

address.type

The type of address.

This is case sensitive.

Value(s):

australian

overseas

address.addressLine1

The first line of the holder’s address.

Can be null.

address.addressLine2

The second line of the holder’s address.

Can be null.

address.suburb

The suburb for Australian addresses.

Can be null.

address.state

The state.

Can be null.

address.postcode

The postcode for the address.

Can be null.

address.city

The city for overseas addresses. e.g. Auckland

Can be null.

Not required for Australian addresses.

address.country

The country for overseas addresses. e.g. New Zealand

Can be null.

Not required for Australian addresses.

address.isoCode

Three letter ISO code of the country for overseas addresses, e.g. NZL

Can be null.

Not required for Australian addresses.

namesOnSameLine

A flag indicating whether the names should be on the same line.

Response Json Fields

Details
Field Description

regoDetailsString

The resulting registration details string, or null if there was an error.

errorMessage

A message indicating the error that occurred, or null if the operation was successful.

successful

A flag indicating whether the operation was successful or not.

regoTooLong

A flag indicating whether the registration details were too long to be compacted.

Incomplete Address scenario

Address details are incomplete or invalid.

Response Example

Details
{
  "regoDetailsString" : null,
  "errorMessage" : "registration details: cannot determine postcode or country code.",
  "successful" : false,
  "regoTooLong" : false
}

Registration Details Too Long scenario

The registration details are too long to be compacted.

Response Example

Details
{
  "regoDetailsString" : null,
  "errorMessage" : "Cannot compact the registration details further. So far the result is: \\\\n------------------------------\\\\nMR MARIO COVAS,\\\\n14 SOMEBODY SOMEONE SOMEBODY \\\\nSOMEONE SOMEBODY SOMEONE \\\\nSOMEBODY SOMEONE SOMEBODY \\\\nSOMEONE SOMEBODY ST \\\\nMARIO COVAS HMAS \\\\n------------------------------\\\\nOriginal rego details: RegoDetails{names=[RegoDetailsName{title='MR', name='MARIO COVAS MARIO COVAS MARIO MARIO COVAS MARIO COVAS'}], designation='', address=RegoDetailsAusAddress{addressLine1='14 SOMEBODY SOMEONE SOMEBODY SOMEONE SOMEBODY SOMEONE SOMEBODY SOMEONE SOMEBODY SOMEONE SOMEBODY ST', addressLine2='MARIO COVAS', suburb='HMAS PENGUIN', state='NSW', postcode='2091'}}\\\\nLast compacted rego details: RegoDetails{names=[RegoDetailsName{title='MR', name='MARIO COVAS'}], designation='', address=RegoDetailsAusAddress{addressLine1='14 SOMEBODY SOMEONE SOMEBODY SOMEONE SOMEBODY SOMEONE SOMEBODY SOMEONE SOMEBODY SOMEONE SOMEBODY ST', addressLine2='MARIO COVAS HMAS PENGUIN NSW', suburb='', state='', postcode='2091'}}",
  "successful" : false,
  "regoTooLong" : true
}

Register Listing

Overview

Allows you to retrieve information on holders, the number of securities held under a security class(es) for a given date.

Version 1

Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/register-listing/v1/issuer/1111?securityIds=1444,1555&holderTypes=Company,JointCompany,Individual,JointIndividual&countryCodes=AUS,NZL&minimumHolding=1&maximumHolding=1000000000&minimumPostcode=2000&maximumPostcode=3000&asOfDate=2022-01-01' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 6. /api/report/async/register-listing/v1/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

securityIds

security ids, array of security id

Required: Yes

holderTypes

holder types, array of holder types

Required: Yes

Value(s):

Company

JointCompany

Individual

JointIndividual

asOfDate

as of date

Required: No

Default: current date

Format: YYYY-MM-DD

countryCodes

country codes

Required: No

Format: ISO Alpha-3 country code. e.g. AUS

minimumHolding

the minimum holding threshold

Required: No

Default: 1

Min: 0

maximumHolding

the maximum holding threshold

Required: No

minimumPostcode

the minimum postcode threshold

Required: No

maximumPostcode

the maximum postcode threshold

Required: No

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : null,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/{reportId}/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 7. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "customAttributeConfigs" : [ {
    "id" : 1,
    "name" : "ID Verification Type"
  }, {
    "id" : 1,
    "name" : "ID Verification Status"
  } ],
  "asOfDate" : "2025-06-13",
  "securities" : [ {
    "id" : 123,
    "name" : "ABC Ordinary",
    "code" : "ABC",
    "decimals" : 0
  } ],
  "maxDecimals" : 0,
  "totalBalances" : [ "1000000.000000000000" ],
  "holders" : [ {
    "holderId" : 234,
    "holderNumber" : null,
    "registrationDetails" : null,
    "chessFormat" : null,
    "extendFormat" : null,
    "holderType" : "Individual",
    "holderStatus" : "Normal",
    "communicationOption" : "EA",
    "emailAddress" : "primary.email@mockemail.com",
    "additionalEmailAddresses" : "additional.one@mockemail.com,additional.two@mockemail.com",
    "mobileNumber" : "04999999999",
    "workNumber" : "+61 029999999",
    "homeNumber" : "0299999999",
    "taxDetailsQuoted" : true,
    "returnedMail" : false,
    "primaryPaymentType" : "BPay",
    "primaryBsb" : "123-123",
    "primaryAccountNumber" : "111222333",
    "primaryAccountName" : "Bank Test Account Name",
    "secondaryPaymentType" : "BPay",
    "secondaryBsb" : "234-234",
    "secondaryAccountNumber" : "111222444",
    "secondaryAccountName" : "Secondary Test Account Name",
    "controllingPid" : null,
    "drpParticipation" : "Full",
    "adviserNumber" : "123123",
    "adviserName" : "Financial Adviser Provider",
    "licenceNumber" : "234234",
    "idv1CreatedDate" : "2025-06-13",
    "idv2CreatedDate" : null,
    "idv3CreatedDate" : null,
    "idResponse1" : {
      "type" : "BronIdVerificationResponseDto",
      "status" : "success",
      "verificationStatus" : "verified",
      "verificationUuid" : "285b0cc2-4754-4d8a-ae21-f8bd2b92d59c",
      "parentVerificationUuid" : "90597392-2e3e-4da3-a422-9c8eb1423054",
      "userId" : "93c5fe0d-cd7b-436d-89e6-e70512118203",
      "parentUserId" : "bd772460-1294-4035-a83d-6d2e31323bf7",
      "timestamp" : 1749781704675,
      "score" : "Low Risk",
      "watchList" : [ {
        "name" : "ABC Director Watchlist"
      } ],
      "outOfWatchlist" : [ {
        "name" : "Corporate Bank Watchlist"
      } ],
      "idvRiskScore" : {
        "description" : "Low"
      }
    },
    "idResponse2" : null,
    "idResponse3" : null,
    "idV1OverrideScore" : "Low to Medium",
    "idV2OverrideScore" : null,
    "idV3OverrideScore" : null,
    "minFirstInvestmentDate" : "2025-06-13",
    "customAttributeValues" : [ "Drive License", "Valid" ],
    "fatcaCrsDeclaration" : true,
    "fatcaCrsDeclarationDate" : "2025-06-13",
    "balances" : [ "1000.000000000000" ]
  } ]
}

Json Fields

Details
Field Description

customAttributeConfigs[].id

Automic identifier of holder’s custom attribute

customAttributeConfigs[].name

Automic identifier of holder’s custom attribute name

asOfDate

generated data’s as of date

securities[].id

Automic identifier of this security/unit class

securities[].name

the name of this security/unit class

securities[].code

the code of this security/unit class

securities[].decimals

number of decimals of this security/unit class

maxDecimals

the max number of decimals from the selected security/unit class(es)

totalBalances

an array contains the total balances for the selected selected security/unit class(es)

holders[].holderId

Automic identifier of the holder id

holders[].holderNumber

holder number

holders[].registrationDetails

holder registration details

holders[].chessFormat

holder registration details chess format

holders[].extendFormat

holder registration details extend format with names, address in details

holders[].holderType

Company

JointCompany

Individual

JointIndividual

holders[].holderStatus

Normal

BankruptHolderLocked

Cancelled

DeceasedHolderLocked

BankruptHolderLockReleased

NonSpecificHolderLock

HoldingLockApplied

HoldingLockReleased

CourtOrderHolderLocked

DeceasedHolderLockReleased

Unauthorised

ASXHolderLocked

holders[].communicationOption

EA: Email all Investor Communications

EX: Email all Investor Communications, excluding dividend statements

EY: Post annual report, all other documents by email

PA: Post all Investor Communications, including the annual report and physical Notice of Meeting

PX: No annual report, all other Investor Communications by post (no physical Notice of Meeting)

PY: Post Physical Notice of Meeting and other investor communications (No annual report)

holders[].emailAddress

holder primary email address

holders[].additionalEmailAddresses

an array contains holder’s additional email addresses

holders[].mobileNumber

holder’s mobile number

holders[].workNumber

holder’s work number

holders[].homeNumber

holder’s home number

holders[].taxDetailsQuoted

boolean to indicate whether holder has tax details quoted

holders[].returnedMail

boolean to indicate whether holder has returned mail set

holders[].primaryPaymentType

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

holders[].primaryBsb

holder’s primary payment bsb number

holders[].primaryAccountNumber

holder’s primary payment account number

holders[].primaryAccountName

holder’s primary payment account name

holders[].secondaryPaymentType

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

holders[].secondaryBsb

holder’s secondary payment bsb number

holders[].secondaryAccountNumber

holder’s secondary payment account number

holders[].secondaryAccountName

holder’s secondary payment account name

holders[].controllingPid

holder’s controlling pid

holders[].drpParticipation

Full

FixedUnit

FixedPercent

None

NonExistent

holders[].adviserNumber

holder’s adviser number

holders[].adviserName

holder’s adviser name

holders[].licenceNumber

holder’s licence number

holders[].idv1CreatedDate

first id verification created date

holders[].idv2CreatedDate

second id verification created date if it is joint holder

holders[].idv3CreatedDate

third id verification created date if it is joint holder

holders[].idResponse1.type

the types of id verification response

holders[].idResponse1.status

success

error

holders[].idResponse1.verificationStatus

verified

rejected

pending

locked

info

holders[].idResponse1.verificationUuid

uuid of the verification

holders[].idResponse1.parentVerificationUuid

uuid of the parent verification

holders[].idResponse1.userId

Automic identifier of id verification user id

holders[].idResponse1.parentUserId

Automic identifier of id verification parent user id

holders[].idResponse1.timestamp

id verification generated timestamp

holders[].idResponse1.score

the id verification score

holders[].idResponse1.watchList

an array contains the watchlist name

holders[].idResponse1.outOfWatchlist

an array contains the out of watchlist name

holders[].idResponse1.idvRiskScore.description

id verification risk description

holders[].idResponse2

the response structure is the same as idResponse1 above

holders[].idResponse3

the response structure is the same as idResponse1 above

holders[].idV1OverrideScore

the override score for the first id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].idV2OverrideScore

the override score for the second id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].idV3OverrideScore

the override score for the third id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].minFirstInvestmentDate

the first investment date

holders[].customAttributeValues

an array contains the value of holder’s custom attributes, the order listed is the same as custom attribute configs above

holders[].fatcaCrsDeclaration

boolean to indicate whether holder conducts the FATCA/CRS declaration

holders[].fatcaCrsDeclarationDate

the FATCA/CRS declaration date

holders[].balances

an array contains the total balances of selected security/unit class(es)


Version 2

Allows you to generate report with balance value($) for selected price on selected date. Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/register-listing/v2/issuer/1111?securityIds=1444,1555&holderTypes=Company,JointCompany,Individual,JointIndividual&countryCodes=AUS,NZL&minimumHolding=1&maximumHolding=1000000000&minimumPostcode=2000&maximumPostcode=3000&asOfDate=2022-01-01&priceName=NAV' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 8. /api/report/async/register-listing/v2/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

securityIds

security ids, array of security id

Required: Yes

holderTypes

holder types, array of holder types

Required: Yes

Value(s):

Company

JointCompany

Individual

JointIndividual

asOfDate

as of date

Required: No

Default: current date

Format: YYYY-MM-DD

countryCodes

country codes

Required: No

Format: ISO Alpha-3 country code. e.g. AUS

minimumHolding

the minimum holding threshold

Required: No

Default: 1

Min: 0

maximumHolding

the maximum holding threshold

Required: No

minimumPostcode

the minimum postcode threshold

Required: No

maximumPostcode

the maximum postcode threshold

Required: No

priceName

price to be used for value($) calculation. Can be selected one of: NAV, NAVEX, Application, Redemption, Open, Close, High, Low, ESP

Required: No

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : 9111,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 9. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "customAttributeConfigs" : [ {
    "id" : 1,
    "name" : "ID Verification Type"
  }, {
    "id" : 1,
    "name" : "ID Verification Status"
  } ],
  "asOfDate" : "2025-06-13",
  "securities" : [ {
    "id" : 123,
    "name" : "ABC Ordinary",
    "code" : "ABC",
    "decimals" : 0
  } ],
  "priceUsed" : "NAV",
  "maxDecimals" : 0,
  "totalBalances" : [ "1000000.000000000000" ],
  "totalValues" : [ "990000.00" ],
  "holders" : [ {
    "holderId" : 234,
    "holderNumber" : null,
    "registrationDetails" : null,
    "chessFormat" : null,
    "extendFormat" : null,
    "holderType" : "Individual",
    "holderStatus" : "Normal",
    "communicationOption" : "EA",
    "emailAddress" : "success@simulator.amazonses.com",
    "additionalEmailAddresses" : "success.one@simulator.amazonses.com, success.two@simulator.amazonses.com",
    "mobileNumber" : "04999999999",
    "workNumber" : "+61 029999999",
    "homeNumber" : "0299999999",
    "taxDetailsQuoted" : true,
    "returnedMail" : false,
    "primaryPaymentType" : "BPay",
    "primaryBsb" : "123-123",
    "primaryAccountNumber" : "111222333",
    "primaryAccountName" : "Bank Test Account Name",
    "secondaryPaymentType" : "BPay",
    "secondaryBsb" : "234-234",
    "secondaryAccountNumber" : "111222444",
    "secondaryAccountName" : "Secondary Test Account Name",
    "controllingPid" : null,
    "drpParticipation" : "Full",
    "adviserNumber" : "123123",
    "adviserName" : "Financial Adviser Provider",
    "licenceNumber" : "234234",
    "idv1CreatedDate" : "2025-06-13",
    "idv2CreatedDate" : null,
    "idv3CreatedDate" : null,
    "idResponse1" : {
      "type" : "BronIdVerificationResponseDto",
      "status" : "success",
      "verificationStatus" : "verified",
      "verificationUuid" : "af2d356e-7a06-4539-bdec-92b436e10bc5",
      "parentVerificationUuid" : "75fedf63-65d5-4e4f-a2a8-ef2b1cf2ed32",
      "userId" : "febfea7c-04a9-4e7d-82e3-b72b71cffab7",
      "parentUserId" : "6e37d63c-6c33-4bc1-a265-cb954451d658",
      "timestamp" : 1749781704856,
      "score" : "Low Risk",
      "watchList" : [ {
        "name" : "ABC Director Watchlist"
      } ],
      "outOfWatchlist" : [ {
        "name" : "Corporate Bank Watchlist"
      } ],
      "idvRiskScore" : {
        "description" : "Low"
      }
    },
    "idResponse2" : null,
    "idResponse3" : null,
    "idV1OverrideScore" : "Low to Medium",
    "idV2OverrideScore" : null,
    "idV3OverrideScore" : null,
    "minFirstInvestmentDate" : "2025-06-13",
    "customAttributeValues" : [ "Drive License", "Valid" ],
    "fatcaCrsDeclaration" : true,
    "fatcaCrsDeclarationDate" : "2025-06-13",
    "balances" : [ "1000.000000000000" ],
    "values($)" : [ "990.00" ]
  } ]
}

Json Fields

Details
Field Description

customAttributeConfigs[].id

Automic identifier of holder’s custom attribute

customAttributeConfigs[].name

Automic identifier of holder’s custom attribute name

asOfDate

generated data’s as of date

securities[].id

Automic identifier of this security/unit class

securities[].name

the name of this security/unit class

securities[].code

the code of this security/unit class

securities[].decimals

number of decimals of this security/unit class

priceUsed

price used to calculate balance value

maxDecimals

the max number of decimals from the selected security/unit class(es)

totalBalances

an array contains the total balances for the selected security/unit class(es)

totalValues

an array contains the total values for the selected security/unit class(es). Rounded to 2 decimals(half-up rounding)

holders[].holderId

Automic identifier of the holder id

holders[].holderNumber

holder number

holders[].registrationDetails

holder registration details

holders[].chessFormat

holder registration details chess format

holders[].extendFormat

holder registration details extend format with names, address in details

holders[].holderType

Company

JointCompany

Individual

JointIndividual

holders[].holderStatus

Normal

BankruptHolderLocked

Cancelled

DeceasedHolderLocked

BankruptHolderLockReleased

NonSpecificHolderLock

HoldingLockApplied

HoldingLockReleased

CourtOrderHolderLocked

DeceasedHolderLockReleased

Unauthorised

ASXHolderLocked

holders[].communicationOption

EA: Email all Investor Communications

EX: Email all Investor Communications, excluding dividend statements

EY: Post annual report, all other documents by email

PA: Post all Investor Communications, including the annual report and physical Notice of Meeting

PX: No annual report, all other Investor Communications by post (no physical Notice of Meeting)

PY: Post Physical Notice of Meeting and other investor communications (No annual report)

holders[].emailAddress

holder primary email address

holders[].additionalEmailAddresses

an array contains holder’s additional email addresses

holders[].mobileNumber

holder’s mobile number

holders[].workNumber

holder’s work number

holders[].homeNumber

holder’s home number

holders[].taxDetailsQuoted

boolean to indicate whether holder has tax details quoted

holders[].returnedMail

boolean to indicate whether holder has returned mail set

holders[].primaryPaymentType

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

holders[].primaryBsb

holder’s primary payment bsb number

holders[].primaryAccountNumber

holder’s primary payment account number

holders[].primaryAccountName

holder’s primary payment account name

holders[].secondaryPaymentType

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

holders[].secondaryBsb

holder’s secondary payment bsb number

holders[].secondaryAccountNumber

holder’s secondary payment account number

holders[].secondaryAccountName

holder’s secondary payment account name

holders[].controllingPid

holder’s controlling pid

holders[].drpParticipation

Full

FixedUnit

FixedPercent

None

NonExistent

holders[].adviserNumber

holder’s adviser number

holders[].adviserName

holder’s adviser name

holders[].licenceNumber

holder’s licence number

holders[].idv1CreatedDate

first id verification created date

holders[].idv2CreatedDate

second id verification created date if it is joint holder

holders[].idv3CreatedDate

third id verification created date if it is joint holder

holders[].idResponse1.type

the types of id verification response

holders[].idResponse1.status

success

error

holders[].idResponse1.verificationStatus

verified

rejected

pending

locked

info

holders[].idResponse1.verificationUuid

uuid of the verification

holders[].idResponse1.parentVerificationUuid

uuid of the parent verification

holders[].idResponse1.userId

Automic identifier of id verification user id

holders[].idResponse1.parentUserId

Automic identifier of id verification parent user id

holders[].idResponse1.timestamp

id verification generated timestamp

holders[].idResponse1.score

the id verification score

holders[].idResponse1.watchList

an array contains the watchlist name

holders[].idResponse1.outOfWatchlist

an array contains the out of watchlist name

holders[].idResponse1.idvRiskScore.description

id verification risk description

holders[].idResponse2

the response structure is the same as idResponse1 above

holders[].idResponse3

the response structure is the same as idResponse1 above

holders[].idV1OverrideScore

the override score for the first id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].idV2OverrideScore

the override score for the second id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].idV3OverrideScore

the override score for the third id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].minFirstInvestmentDate

the first investment date

holders[].customAttributeValues

an array contains the value of holder’s custom attributes, the order listed is the same as custom attribute configs above

holders[].fatcaCrsDeclaration

boolean to indicate whether holder conducts the FATCA/CRS declaration

holders[].fatcaCrsDeclarationDate

the FATCA/CRS declaration date

holders[].balances

an array contains the total balances of selected security/unit class(es)

holders[].values($)

an array contains the value(s) of selected security/unit class(es) for selected price. Rounded to 2 decimals(half-up rounding)


Version 3

Allows you to generate report with holder’s international payment instructions and settlement reference. Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/register-listing/v3/issuer/1111?securityIds=1444,1555&holderTypes=Company,JointCompany,Individual,JointIndividual&countryCodes=AUS,NZL&minimumHolding=1&maximumHolding=1000000000&minimumPostcode=2000&maximumPostcode=3000&asOfDate=2022-01-01&priceName=NAV' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 10. /api/report/async/register-listing/v3/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

securityIds

security ids, array of security id

Required: Yes

holderTypes

holder types, array of holder types

Required: Yes

Value(s):

Company

JointCompany

Individual

JointIndividual

asOfDate

as of date

Required: No

Default: current date

Format: YYYY-MM-DD

countryCodes

country codes

Required: No

Format: ISO Alpha-3 country code. e.g. AUS

minimumHolding

the minimum holding threshold

Required: No

Default: 1

Min: 0

maximumHolding

the maximum holding threshold

Required: No

minimumPostcode

the minimum postcode threshold

Required: No

maximumPostcode

the maximum postcode threshold

Required: No

priceName

price to be used for value($) calculation. Can be selected one of: NAV, NAVEX, Application, Redemption, Open, Close, High, Low, ESP

Required: No

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : 9111,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 11. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "customAttributeConfigs" : [ {
    "id" : 1,
    "name" : "ID Verification Type"
  }, {
    "id" : 1,
    "name" : "ID Verification Status"
  } ],
  "asOfDate" : "2025-06-13",
  "securities" : [ {
    "id" : 123,
    "name" : "ABC Ordinary",
    "code" : "ABC",
    "decimals" : 0
  } ],
  "priceUsed" : "NAV",
  "maxDecimals" : 0,
  "totalBalances" : [ "1000000.000000000000" ],
  "totalValues" : [ "990000.00" ],
  "holders" : [ {
    "holderId" : 234,
    "holderNumber" : null,
    "registrationDetails" : null,
    "chessFormat" : null,
    "extendFormat" : null,
    "holderType" : "Individual",
    "holderStatus" : "Normal",
    "communicationOption" : "EA",
    "emailAddress" : "someone@somedomain.something",
    "additionalEmailAddresses" : "success.one@simulator.amazonses.com, success.two@simulator.amazonses.com",
    "mobileNumber" : "04999999999",
    "workNumber" : "+61 029999999",
    "homeNumber" : "0299999999",
    "taxDetailsQuoted" : true,
    "returnedMail" : false,
    "primaryPaymentType" : "DirectCreditInternationalBank",
    "primaryBsb" : "123",
    "primaryAccountNumber" : "6987453",
    "primaryAccountName" : "Mr Joe Doe 1",
    "primaryCurrency" : null,
    "primaryIban" : "12345678",
    "primaryOverseasBranch" : null,
    "primaryOverseasBankDomicile" : "SGP",
    "primaryOverseasBankName" : "DBS Bank Ltd.",
    "primaryOverseasContactName" : "",
    "primarySwiftCode" : "03366698",
    "primaryPhoneNumber" : "",
    "primaryCnapsNumber" : "",
    "primarySettlementReference" : null,
    "primaryOverseasBeneficiaryAddress" : "88 East Rd",
    "primaryOverseasBeneficiaryCity" : "Surry Hills",
    "primaryOverseasBeneficiaryState" : "NSW",
    "primaryOverseasBeneficiaryPostcode" : "2000",
    "primaryOverseasBeneficiaryCountry" : "NZL",
    "primaryOverseasIntermediaryBankAccountNumber" : "3322332",
    "primaryOverseasIntermediaryBankName" : "IntBank name of Nepal",
    "primaryOverseasIntermediaryBankSwiftCode" : "SWNP2222",
    "secondaryPaymentType" : "DirectCreditInternationalBank",
    "secondaryBsb" : "443322",
    "secondaryAccountNumber" : "859632147",
    "secondaryAccountName" : "Mr.Joe Doe 2",
    "secondaryOverseasBankDomicile" : "CHN",
    "secondaryCurrency" : null,
    "secondaryOverseasBankName" : "Bank of china",
    "secondaryOverseasBranch" : null,
    "secondarySwiftCode" : "SWCN44444",
    "secondaryIban" : "",
    "secondaryPhoneNumber" : "+793445554",
    "overseasSecondaryContactName" : "contanct name csd",
    "secondaryCnapsNumber" : "+793445554",
    "secondarySettlementReference" : null,
    "secondaryOverseasBeneficiaryAddress" : "Beneficiary Address",
    "secondaryOverseasBeneficiaryCity" : "Beneficiary City",
    "secondaryOverseasBeneficiaryState" : "State NSW",
    "secondaryOverseasBeneficiaryPostcode" : "2000",
    "secondaryOverseasBeneficiaryCountry" : "NZL",
    "secondaryOverseasIntermediaryBankAccountNumber" : "3322332",
    "secondaryOverseasIntermediaryBankName" : "IntBank name of Nepal",
    "secondaryOverseasIntermediaryBankSwiftCode" : "SWNP2222",
    "controllingPid" : null,
    "drpParticipation" : "Full",
    "adviserNumber" : "123123",
    "adviserName" : "Financial Adviser Provider",
    "licenceNumber" : "234234",
    "idv1CreatedDate" : "2025-06-13",
    "idv2CreatedDate" : null,
    "idv3CreatedDate" : null,
    "idResponse1" : {
      "type" : "BronIdVerificationResponseDto",
      "status" : "success",
      "verificationStatus" : "verified",
      "verificationUuid" : "16561e2b-2531-4560-ab60-b28db4bd5283",
      "parentVerificationUuid" : "71c114e4-e826-4201-8ea4-59ed1ac06488",
      "userId" : "61259d0a-c909-4e4e-8dff-04e9a1f625a2",
      "parentUserId" : "b3269f58-a277-407d-9881-af9a673b4e92",
      "timestamp" : 1749781704928,
      "score" : "Low Risk",
      "watchList" : [ {
        "name" : "ABC Director Watchlist"
      } ],
      "outOfWatchlist" : [ {
        "name" : "Corporate Bank Watchlist"
      } ],
      "idvRiskScore" : {
        "description" : "Low"
      }
    },
    "idResponse2" : null,
    "idResponse3" : null,
    "idV1OverrideScore" : "Low to Medium",
    "idV2OverrideScore" : null,
    "idV3OverrideScore" : null,
    "minFirstInvestmentDate" : "2025-06-13",
    "customAttributeValues" : [ "Drive License", "Valid" ],
    "fatcaCrsDeclaration" : true,
    "fatcaCrsDeclarationDate" : "2025-06-13",
    "balances" : [ "1000.000000000000" ],
    "values($)" : [ "990.00" ]
  } ]
}

Json Fields

Details
Field Description

customAttributeConfigs[].id

Automic identifier of holder’s custom attribute

customAttributeConfigs[].name

Automic identifier of holder’s custom attribute name

asOfDate

generated data’s as of date

securities[].id

Automic identifier of this security/unit class

securities[].name

the name of this security/unit class

securities[].code

the code of this security/unit class

securities[].decimals

number of decimals of this security/unit class

priceUsed

price used to calculate balance value

maxDecimals

the max number of decimals from the selected security/unit class(es)

totalBalances

an array contains the total balances for the selected security/unit class(es)

totalValues

an array contains the total values for the selected security/unit class(es). Rounded to 2 decimals(half-up rounding)

holders[].holderId

Automic identifier of the holder id

holders[].holderNumber

holder number

holders[].registrationDetails

holder registration details

holders[].chessFormat

holder registration details chess format

holders[].extendFormat

holder registration details extend format with names, address in details

holders[].holderType

Company

JointCompany

Individual

JointIndividual

holders[].holderStatus

Normal

BankruptHolderLocked

Cancelled

DeceasedHolderLocked

BankruptHolderLockReleased

NonSpecificHolderLock

HoldingLockApplied

HoldingLockReleased

CourtOrderHolderLocked

DeceasedHolderLockReleased

Unauthorised

ASXHolderLocked

holders[].communicationOption

EA: Email all Investor Communications

EX: Email all Investor Communications, excluding dividend statements

EY: Post annual report, all other documents by email

PA: Post all Investor Communications, including the annual report and physical Notice of Meeting

PX: No annual report, all other Investor Communications by post (no physical Notice of Meeting)

PY: Post Physical Notice of Meeting and other investor communications (No annual report)

holders[].emailAddress

holder primary email address

holders[].additionalEmailAddresses

an array contains holder’s additional email addresses

holders[].mobileNumber

holder’s mobile number

holders[].workNumber

holder’s work number

holders[].homeNumber

holder’s home number

holders[].taxDetailsQuoted

boolean to indicate whether holder has tax details quoted

holders[].returnedMail

boolean to indicate whether holder has returned mail set

holders[].primaryPaymentType

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

holders[].primaryBsbBranchCode

holder’s Primary BSB/Branch Code. This is the BSB or Branch Code on the Primary Bank Account.

holders[].primaryAccountNumber

holder’s Primary Account Number. This is the Account Number on the Primary Bank Account. For NZ Suffix is append to the end of the Account number with "-" e.g. 345621-34

holders[].primaryAccountName

holder’s primary payment account name

holders[].primaryOverseasBankDomicile

holder’s Primary Payment Domicile

holders[].primaryCurrency

holder’s Primary Receiving Currency

holders[].primaryOverseasBranch

holder’s Primary Branch Name

holders[].primaryOverseasBankName

holder’s Primary Bank Name

holders[].primaryIban

holder’s Primary IBAN Number

holders[].primarySwiftCode

holder’s Primary SWIFT

holders[].primaryOverseasContactName

holder’s Primary Contact Person, only for China

holders[].primaryCnapsNumber

holder’s Primary CNAP Number, only for China

holders[].primaryPhoneNumber

holder’s Primary Contact Number, only for China

holders[].primarySettlementReference

holder’s Primary Settlement Reference

holders[].primaryOverseasBeneficiaryAddress

holder’s Primary Beneficiary Address

holders[].primaryOverseasBeneficiaryCity

holder’s Primary Beneficiary City/Suburb

holders[].primaryOverseasBeneficiaryState

holder’s Primary Beneficiary State/Province

holders[].primaryOverseasBeneficiaryPostcode

holder’s Primary Beneficiary Postcode

holders[].primaryOverseasBeneficiaryCountry

holder’s Primary Beneficiary Country

holders[].primaryOverseasIntermediaryBankAccountNumber

holder’s Primary Intermediary Bank Account Number

holders[].primaryOverseasIntermediaryBankName

holder’s Primary Intermediary Bank Name

holders[].primaryOverseasIntermediaryBankSwiftCode

holder’s Primary Intermediary Bank’s SWIFT Code

holders[].secondaryPaymentType

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

holders[].secondaryAccountNumber

holder’s Secondary Account Number

holders[].secondaryAccountName

holder’s Secondary Account Name

holders[].secondaryOverseasBranchCode

holder’s Secondary BSB/Branch Code

holders[].secondaryCurrency

holder’s Secondary Receiving Currency

holders[].secondaryOverseasAccountNumber

holder’s Secondary Account Number

holders[].secondarySwiftCode

holder’s Secondary SWIFT

holders[].secondaryIban

holder’s Secondary IBAN

holders[].secondaryOverseasBranch

holder’s Secondary Branch Name

holders[].secondaryOverseasBankName

holder’s Secondary Bank Name

holders[].secondaryOverseasContactName

holder’s Secondary Contact Person. Used only for China

holders[].secondaryPhoneNumber

holder’s Secondary Contact Number. Used only for China

holders[].secondaryCnapsNumber

holder’s Secondary CNAPS#. Used only for China

holders[].secondarySettlementReference

holder’s Secondary Settlement Reference

holders[].secondaryOverseasBeneficiaryAddress

holder’s Secondary Beneficiary Address

holders[].secondaryOverseasBeneficiaryCity

holder’s Secondary Beneficiary City/Suburb

holders[].secondaryOverseasBeneficiaryState

holder’s Secondary Beneficiary State/Province

holders[].secondaryOverseasBeneficiaryPostcode

holder’s Secondary Beneficiary Postcode

holders[].secondaryOverseasBeneficiaryCountry

holder’s Secondary Beneficiary Country

holders[].secondaryOverseasIntermediaryBankAccountNumber

holder’s Secondary Intermediary Bank Account Number

holders[].secondaryOverseasIntermediaryBankName

holder’s Secondary Intermediary Bank Name

holders[].secondaryOverseasIntermediaryBankSwiftCode

holder’s Secondary Intermediary Bank’s SWIFT Code

holders[].controllingPid

holder’s controlling pid

holders[].drpParticipation

Full

FixedUnit

FixedPercent

None

NonExistent

holders[].adviserNumber

holder’s adviser number

holders[].adviserName

holder’s adviser name

holders[].licenceNumber

holder’s licence number

holders[].idv1CreatedDate

first id verification created date

holders[].idv2CreatedDate

second id verification created date if it is joint holder

holders[].idv3CreatedDate

third id verification created date if it is joint holder

holders[].idResponse1.type

the types of id verification response

holders[].idResponse1.status

success

error

holders[].idResponse1.verificationStatus

verified

rejected

pending

locked

info

holders[].idResponse1.verificationUuid

uuid of the verification

holders[].idResponse1.parentVerificationUuid

uuid of the parent verification

holders[].idResponse1.userId

Automic identifier of id verification user id

holders[].idResponse1.parentUserId

Automic identifier of id verification parent user id

holders[].idResponse1.timestamp

id verification generated timestamp

holders[].idResponse1.score

the id verification score

holders[].idResponse1.watchList

an array contains the watchlist name

holders[].idResponse1.outOfWatchlist

an array contains the out of watchlist name

holders[].idResponse1.idvRiskScore.description

id verification risk description

holders[].idResponse2

the response structure is the same as idResponse1 above

holders[].idResponse3

the response structure is the same as idResponse1 above

holders[].idV1OverrideScore

the override score for the first id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].idV2OverrideScore

the override score for the second id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].idV3OverrideScore

the override score for the third id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].minFirstInvestmentDate

the first investment date

holders[].customAttributeValues

an array contains the value of holder’s custom attributes, the order listed is the same as custom attribute configs above

holders[].fatcaCrsDeclaration

boolean to indicate whether holder conducts the FATCA/CRS declaration

holders[].fatcaCrsDeclarationDate

the FATCA/CRS declaration date

holders[].balances

an array contains the total balances of selected security/unit class(es)

holders[].values($)

an array contains the value(s) of selected security/unit class(es) for selected price. Rounded to 2 decimals(half-up rounding)


Version 4

Allows you to generate report with holder’s additional adviser’s data. Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/register-listing/v4/issuer/1111?securityIds=1444,1555&holderTypes=Company,JointCompany,Individual,JointIndividual&countryCodes=AUS,NZL&minimumHolding=1&maximumHolding=1000000000&minimumPostcode=2000&maximumPostcode=3000&asOfDate=2022-01-01&priceName=NAV' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 12. /api/report/async/register-listing/v4/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

securityIds

security ids, array of security id

Required: Yes

holderTypes

holder types, array of holder types

Required: Yes

Value(s):

Company

JointCompany

Individual

JointIndividual

asOfDate

as of date

Required: No

Default: current date

Format: YYYY-MM-DD

countryCodes

country codes

Required: No

Format: ISO Alpha-3 country code. e.g. AUS

minimumHolding

the minimum holding threshold

Required: No

Default: 1

Min: 0

maximumHolding

the maximum holding threshold

Required: No

minimumPostcode

the minimum postcode threshold

Required: No

maximumPostcode

the maximum postcode threshold

Required: No

priceName

price to be used for value($) calculation. Can be selected one of: NAV, NAVEX, Application, Redemption, Open, Close, High, Low, ESP

Required: No

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : 9111,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 13. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "customAttributeConfigs" : [ {
    "id" : 1,
    "name" : "ID Verification Type"
  }, {
    "id" : 1,
    "name" : "ID Verification Status"
  } ],
  "asOfDate" : "2025-06-13",
  "securities" : [ {
    "id" : 123,
    "name" : "ABC Ordinary",
    "code" : "ABC",
    "decimals" : 0
  } ],
  "priceUsed" : "NAV",
  "maxDecimals" : 0,
  "totalBalances" : [ "1000000.000000000000" ],
  "totalValues" : [ "990000.00" ],
  "holders" : [ {
    "holderId" : 234,
    "holderNumber" : null,
    "registrationDetails" : null,
    "chessFormat" : null,
    "extendFormat" : null,
    "holderType" : "Individual",
    "holderStatus" : "Normal",
    "communicationOption" : "EA",
    "emailAddress" : "someone@somedomain.something",
    "additionalEmailAddresses" : "success.one@simulator.amazonses.com, success.two@simulator.amazonses.com",
    "mobileNumber" : "04999999999",
    "workNumber" : "+61 029999999",
    "homeNumber" : "0299999999",
    "taxDetailsQuoted" : true,
    "returnedMail" : false,
    "primaryPaymentType" : "DirectCreditInternationalBank",
    "primaryBsb" : "123",
    "primaryAccountNumber" : "6987453",
    "primaryAccountName" : "Mr Joe Doe 1",
    "primaryCurrency" : null,
    "primaryIban" : "12345678",
    "primaryOverseasBranch" : null,
    "primaryOverseasBankDomicile" : "SGP",
    "primaryOverseasBankName" : "DBS Bank Ltd.",
    "primaryOverseasContactName" : "",
    "primarySwiftCode" : "03366698",
    "primaryPhoneNumber" : "",
    "primaryCnapsNumber" : "",
    "primarySettlementReference" : null,
    "primaryOverseasBeneficiaryAddress" : "88 East Rd",
    "primaryOverseasBeneficiaryCity" : "Surry Hills",
    "primaryOverseasBeneficiaryState" : "NSW",
    "primaryOverseasBeneficiaryPostcode" : "2000",
    "primaryOverseasBeneficiaryCountry" : "NZL",
    "primaryOverseasIntermediaryBankAccountNumber" : "3322332",
    "primaryOverseasIntermediaryBankName" : "IntBank name of Nepal",
    "primaryOverseasIntermediaryBankSwiftCode" : "SWNP2222",
    "secondaryPaymentType" : "DirectCreditInternationalBank",
    "secondaryBsb" : "443322",
    "secondaryAccountNumber" : "859632147",
    "secondaryAccountName" : "Mr.Joe Doe 2",
    "secondaryOverseasBankDomicile" : "CHN",
    "secondaryCurrency" : null,
    "secondaryOverseasBankName" : "Bank of china",
    "secondaryOverseasBranch" : null,
    "secondarySwiftCode" : "SWCN44444",
    "secondaryIban" : "",
    "secondaryPhoneNumber" : "+793445554",
    "overseasSecondaryContactName" : "contanct name csd",
    "secondaryCnapsNumber" : "+793445554",
    "secondarySettlementReference" : null,
    "secondaryOverseasBeneficiaryAddress" : "Beneficiary Address",
    "secondaryOverseasBeneficiaryCity" : "Beneficiary City",
    "secondaryOverseasBeneficiaryState" : "State NSW",
    "secondaryOverseasBeneficiaryPostcode" : "2000",
    "secondaryOverseasBeneficiaryCountry" : "NZL",
    "secondaryOverseasIntermediaryBankAccountNumber" : "3322332",
    "secondaryOverseasIntermediaryBankName" : "IntBank name of Nepal",
    "secondaryOverseasIntermediaryBankSwiftCode" : "SWNP2222",
    "controllingPid" : null,
    "drpParticipation" : "Full",
    "adviserNumber" : "123123",
    "adviserName" : "Financial Adviser Provider",
    "adviserAddressSuburb" : "Paddington",
    "adviserAddressState" : "Victoria",
    "adviserAddressPostcode" : "4444",
    "adviserAddressCountry" : "Australia",
    "licenceNumber" : "234234",
    "adviserlicenceName" : "TERRACE CAPITAL PTY LTD",
    "idv1CreatedDate" : "2025-06-13",
    "idv2CreatedDate" : null,
    "idv3CreatedDate" : null,
    "idResponse1" : {
      "type" : "BronIdVerificationResponseDto",
      "status" : "success",
      "verificationStatus" : "verified",
      "verificationUuid" : "50f40b07-669a-473e-85ce-e63393e1b0ed",
      "parentVerificationUuid" : "1fc07b34-6331-42cb-92ce-76e7301e2c72",
      "userId" : "c773610c-26be-4c36-864a-bfafe2ebf2ae",
      "parentUserId" : "9da84d05-d761-442b-bfb7-6ee8c7e21aa6",
      "timestamp" : 1749781705011,
      "score" : "Low Risk",
      "watchList" : [ {
        "name" : "ABC Director Watchlist"
      } ],
      "outOfWatchlist" : [ {
        "name" : "Corporate Bank Watchlist"
      } ],
      "idvRiskScore" : {
        "description" : "Low"
      }
    },
    "idResponse2" : null,
    "idResponse3" : null,
    "idV1OverrideScore" : "Low to Medium",
    "idV2OverrideScore" : null,
    "idV3OverrideScore" : null,
    "minFirstInvestmentDate" : "2025-06-13",
    "customAttributeValues" : [ "Drive License", "Valid" ],
    "fatcaCrsDeclaration" : true,
    "fatcaCrsDeclarationDate" : "2025-06-13",
    "balances" : [ "1000.000000000000" ],
    "values($)" : [ "990.00" ]
  } ]
}

Json Fields

Details
Field Description

customAttributeConfigs[].id

Automic identifier of holder’s custom attribute

customAttributeConfigs[].name

Automic identifier of holder’s custom attribute name

asOfDate

generated data’s as of date

securities[].id

Automic identifier of this security/unit class

securities[].name

the name of this security/unit class

securities[].code

the code of this security/unit class

securities[].decimals

number of decimals of this security/unit class

priceUsed

price used to calculate balance value

maxDecimals

the max number of decimals from the selected security/unit class(es)

totalBalances

an array contains the total balances for the selected security/unit class(es)

totalValues

an array contains the total values for the selected security/unit class(es). Rounded to 2 decimals(half-up rounding)

holders[].holderId

Automic identifier of the holder id

holders[].holderNumber

holder number

holders[].registrationDetails

holder registration details

holders[].chessFormat

holder registration details chess format

holders[].extendFormat

holder registration details extend format with names, address in details

holders[].holderType

Company

JointCompany

Individual

JointIndividual

holders[].holderStatus

Normal

BankruptHolderLocked

Cancelled

DeceasedHolderLocked

BankruptHolderLockReleased

NonSpecificHolderLock

HoldingLockApplied

HoldingLockReleased

CourtOrderHolderLocked

DeceasedHolderLockReleased

Unauthorised

ASXHolderLocked

holders[].communicationOption

EA: Email all Investor Communications

EX: Email all Investor Communications, excluding dividend statements

EY: Post annual report, all other documents by email

PA: Post all Investor Communications, including the annual report and physical Notice of Meeting

PX: No annual report, all other Investor Communications by post (no physical Notice of Meeting)

PY: Post Physical Notice of Meeting and other investor communications (No annual report)

holders[].emailAddress

holder primary email address

holders[].additionalEmailAddresses

an array contains holder’s additional email addresses

holders[].mobileNumber

holder’s mobile number

holders[].workNumber

holder’s work number

holders[].homeNumber

holder’s home number

holders[].taxDetailsQuoted

boolean to indicate whether holder has tax details quoted

holders[].returnedMail

boolean to indicate whether holder has returned mail set

holders[].primaryPaymentType

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

holders[].primaryBsbBranchCode

holder’s Primary BSB/Branch Code. This is the BSB or Branch Code on the Primary Bank Account.

holders[].primaryAccountNumber

holder’s Primary Account Number. This is the Account Number on the Primary Bank Account. For NZ Suffix is append to the end of the Account number with "-" e.g. 345621-34

holders[].primaryAccountName

holder’s primary payment account name

holders[].primaryOverseasBankDomicile

holder’s Primary Payment Domicile

holders[].primaryCurrency

holder’s Primary Receiving Currency

holders[].primaryOverseasBranch

holder’s Primary Branch Name

holders[].primaryOverseasBankName

holder’s Primary Bank Name

holders[].primaryIban

holder’s Primary IBAN Number

holders[].primarySwiftCode

holder’s Primary SWIFT

holders[].primaryOverseasContactName

holder’s Primary Contact Person, only for China

holders[].primaryCnapsNumber

holder’s Primary CNAP Number, only for China

holders[].primaryPhoneNumber

holder’s Primary Contact Number, only for China

holders[].primarySettlementReference

holder’s Primary Settlement Reference

holders[].primaryOverseasBeneficiaryAddress

holder’s Primary Beneficiary Address

holders[].primaryOverseasBeneficiaryCity

holder’s Primary Beneficiary City/Suburb

holders[].primaryOverseasBeneficiaryState

holder’s Primary Beneficiary State/Province

holders[].primaryOverseasBeneficiaryPostcode

holder’s Primary Beneficiary Postcode

holders[].primaryOverseasBeneficiaryCountry

holder’s Primary Beneficiary Country

holders[].primaryOverseasIntermediaryBankAccountNumber

holder’s Primary Intermediary Bank Account Number

holders[].primaryOverseasIntermediaryBankName

holder’s Primary Intermediary Bank Name

holders[].primaryOverseasIntermediaryBankSwiftCode

holder’s Primary Intermediary Bank’s SWIFT Code

holders[].secondaryPaymentType

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

holders[].secondaryAccountNumber

holder’s Secondary Account Number

holders[].secondaryAccountName

holder’s Secondary Account Name

holders[].secondaryOverseasBranchCode

holder’s Secondary BSB/Branch Code

holders[].secondaryCurrency

holder’s Secondary Receiving Currency

holders[].secondaryOverseasAccountNumber

holder’s Secondary Account Number

holders[].secondarySwiftCode

holder’s Secondary SWIFT

holders[].secondaryIban

holder’s Secondary IBAN

holders[].secondaryOverseasBranch

holder’s Secondary Branch Name

holders[].secondaryOverseasBankName

holder’s Secondary Bank Name

holders[].secondaryOverseasContactName

holder’s Secondary Contact Person. Used only for China

holders[].secondaryPhoneNumber

holder’s Secondary Contact Number. Used only for China

holders[].secondaryCnapsNumber

holder’s Secondary CNAPS#. Used only for China

holders[].secondarySettlementReference

holder’s Secondary Settlement Reference

holders[].secondaryOverseasBeneficiaryAddress

holder’s Secondary Beneficiary Address

holders[].secondaryOverseasBeneficiaryCity

holder’s Secondary Beneficiary City/Suburb

holders[].secondaryOverseasBeneficiaryState

holder’s Secondary Beneficiary State/Province

holders[].secondaryOverseasBeneficiaryPostcode

holder’s Secondary Beneficiary Postcode

holders[].secondaryOverseasBeneficiaryCountry

holder’s Secondary Beneficiary Country

holders[].secondaryOverseasIntermediaryBankAccountNumber

holder’s Secondary Intermediary Bank Account Number

holders[].secondaryOverseasIntermediaryBankName

holder’s Secondary Intermediary Bank Name

holders[].secondaryOverseasIntermediaryBankSwiftCode

holder’s Secondary Intermediary Bank’s SWIFT Code

holders[].controllingPid

holder’s controlling pid

holders[].drpParticipation

Full

FixedUnit

FixedPercent

None

NonExistent

holders[].adviserNumber

holder’s adviser number

holders[].adviserName

holder’s adviser name

holders[].adviserAddressSuburb

holder’s adviser’s principal business address suburb

holders[].adviserAddressState

holder’s adviser’s principal business address state

holders[].adviserAddressPostcode

holder’s adviser’s principal business address postcode

holders[].adviserAddressCountry

holder’s adviser’s principal business address country

holders[].licenceNumber

holder’s dealer group AFSL number

holders[].adviserlicenceName

holder’s dealer group name

holders[].idv1CreatedDate

first id verification created date

holders[].idv2CreatedDate

second id verification created date if it is joint holder

holders[].idv3CreatedDate

third id verification created date if it is joint holder

holders[].idResponse1.type

the types of id verification response

holders[].idResponse1.status

success

error

holders[].idResponse1.verificationStatus

verified

rejected

pending

locked

info

holders[].idResponse1.verificationUuid

uuid of the verification

holders[].idResponse1.parentVerificationUuid

uuid of the parent verification

holders[].idResponse1.userId

Automic identifier of id verification user id

holders[].idResponse1.parentUserId

Automic identifier of id verification parent user id

holders[].idResponse1.timestamp

id verification generated timestamp

holders[].idResponse1.score

the id verification score

holders[].idResponse1.watchList

an array contains the watchlist name

holders[].idResponse1.outOfWatchlist

an array contains the out of watchlist name

holders[].idResponse1.idvRiskScore.description

id verification risk description

holders[].idResponse2

the response structure is the same as idResponse1 above

holders[].idResponse3

the response structure is the same as idResponse1 above

holders[].idV1OverrideScore

the override score for the first id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].idV2OverrideScore

the override score for the second id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].idV3OverrideScore

the override score for the third id verification

Value(s):

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

holders[].minFirstInvestmentDate

the first investment date

holders[].customAttributeValues

an array contains the value of holder’s custom attributes, the order listed is the same as custom attribute configs above

holders[].fatcaCrsDeclaration

boolean to indicate whether holder conducts the FATCA/CRS declaration

holders[].fatcaCrsDeclarationDate

the FATCA/CRS declaration date

holders[].balances

an array contains the total balances of selected security/unit class(es)

holders[].values($)

an array contains the value(s) of selected security/unit class(es) for selected price. Rounded to 2 decimals(half-up rounding)


Transaction Listing

Overview

Allows you to retrieve summary of all available transactions under a security class(es) for given date range.

Version 1

Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/transaction-listing/v1/issuer/1111?securityIds=1444,1555&fromDate=2022-01-01&toDate=2022-02-01&movementTypes=ApplicationAllotment,RightsIssue&minThreshold=1&includeHolderNumber=false' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 14. /api/report/async/transaction-listing/v1/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

securityIds

security ids, array of security id

Required: Yes

fromDate

from date

Required: Yes

Format: YYYY-MM-DD

toDate

to date

Required: Yes

Format: YYYY-MM-DD

movementTypes

movement types, array of movement type

Required: No

Value(s):

Adjustment

SecuritiesTransformation

MarketMovement

IssuerToChessTransfer

IssuerToChessConversion

ChessToIssuerTransfer

ChessToIssuerConversion

CertificatedToChessTransfer

CertificatedToChessConversion

ChessToCertificatedTransfer

ChessToCertificatedConversion

IssuerSponsoredToIssuerSponsoredTransfer

MergeSRN

MiscellaneousAllotment

Float

FloatDvP

FloatApplication

FloatAcceptance

FloatAcceptanceReversal

FloatZeroApplication

FloatZeroAcceptance

FloatZeroDvp

FloatFreeAttachingSecurity

FundApplication

FundAcceptance

FundAcceptanceReversal

FundAllotment

Application

Redemption

SwitchIn

SwitchOut

Transfer

TransferIn

TransferOut

Rebate

Reinvestment

Placement

NonProRataBalance

MiscellaneousConversion

EscrowRelease

ConvertibleNoteConversion

ConvertibleNoteConversionReversal

OptionsConversion

OptionExercised

OptionExerciseReversal

WarrantExercise

WarrantExerciseReversal

WarrantUnderlyingExercise

Divestment

ForfeitureOfPartlyPaidShares

OptionLapsed

MiscellaneousRedemption

AllotmentReversal

BonusIssueAllotment

RightsIssue

RightsIssueEntitlement

RightsIssueAcceptance

RightsIssueAcceptanceReversal

RightsIssueZeroEntitlement

RightsIssueZeroAcceptance

RightsIssueFreeAttachingSecurity

SharePurchasePlan

SharePurchasePlanEntitlement

SharePurchasePlanAcceptance

SharePurchasePlanZeroEntitlement

SharePurchasePlanZeroAcceptance

SharePurchasePlanFreeAttachingSecurity

Scaleback

CapitalReconstructionSplit

CapitalReconstructionConsolidation

TakeoverAcceptance

TakeoverAcceptanceRejected

TakeoverAcceptanceRemoval

TakeoverTransfer

TakeoverRegisterPositive

TakeoverRegisterNegative

DividendEntitlement

DividendReinvestmentPlan

DividendZeroEntitlement

UnmarketableParcelWorkingAllotment

UnmarketableParcelRecalcUp

UnmarketableParcelRecalcDown

UnmarketableParcelAdjustmentUp

UnmarketableParcelAdjustmentDown

UnmarketableParcelZeroWorking

Forfeit

EmployeePlanOptionsAllotment

EmployeePlanRightsAllotment

EmployeePlanRestrictedShareAllotment

EmployeePlanOptionsCancelled

EmployeePlanRightsCancelled

EmployeePlanRestrictedShareCancelled

EmployeePlanExerciseRestriction

EmployeePlanExerciseFPO

EmployeePlanReleaseFPO

EmployeePlanOptionsExpired

EmployeePlanRightsExpired

UnitsCreation

UnitsCancellation

CapitalReconstruction

Cancellation

ShortfallAllotment

RenRightsAllotment

RightsAllotment

DvpAllotment

Entitlement

OffMarketTransfer

MiscellaneousPayment

SubRegisterConversion

Buyback

SchemeOfArrangement

Sale

ApplicationAllotment

minThreshold

the minimum threshold

Required: No

Default: 0

Min: 0

includeHolderNumber

include holder number

Required: No

Default: false

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : null,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/{reportId}/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 15. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "securities" : [ {
    "id" : 123,
    "name" : "TES Ordinary",
    "code" : "TES",
    "decimals" : 6
  } ],
  "transactions" : [ {
    "movementId" : 1234,
    "createdDate" : "2025-06-13",
    "effectiveDate" : "2025-06-13",
    "friendlyDescription" : "Initial Application Allotment",
    "internalDescription" : "Application allotment",
    "holderId" : 2345,
    "holderNumber" : "X00123456790",
    "accountHolders" : [ "MR John Smith", "<THE JONES FAMILY A/C>" ],
    "brokerCode" : "01234",
    "brokerName" : "Smith Financial Ltd",
    "securityCode" : "TES",
    "movement" : "10000123.123321",
    "closingBalance" : "100000000.123123",
    "transactionPrice" : "123.21",
    "navPrice" : "123.22",
    "movementType" : "ApplicationAllotment",
    "holderGroup" : "Director Group"
  } ]
}

Json Fields

Details
Field Description

securities[].id

Automic identifier of this security/unit class

securities[].code

the code of this security/unit class

securities[].name

the name of this security/unit class

securities[].decimals

number of decimals for this security/unit class

transactions[].movementId

Automic identifier of this transaction

transactions[].createdDate

the transaction created date

transactions[].effectiveDate

the transaction effective date

transactions[].friendlyDescription

the transaction external description

transactions[].internalDescription

the transaction internal description

transactions[].holderId

Automic identifier of this holder

transactions[].holderNumber

holder number

transactions[].accountHolders

an array contains holders name/account

transactions[].brokerCode

broker code

transactions[].brokerName

broker name

transactions[].securityCode

this transaction’s security code

transactions[].movement

the quantity of this transaction

transactions[].closingBalance

the total closing balance of this transaction

transactions[].transactionPrice

the transaction price

transactions[].navPrice

the nav price of this transaction

movementType

movement/transaction type

Value(s):

Adjustment

SecuritiesTransformation

MarketMovement

IssuerToChessTransfer

IssuerToChessConversion

ChessToIssuerTransfer

ChessToIssuerConversion

CertificatedToChessTransfer

CertificatedToChessConversion

ChessToCertificatedTransfer

ChessToCertificatedConversion

IssuerSponsoredToIssuerSponsoredTransfer

MergeSRN

MiscellaneousAllotment

Float

FloatDvP

FloatApplication

FloatAcceptance

FloatAcceptanceReversal

FloatZeroApplication

FloatZeroAcceptance

FloatZeroDvp

FloatFreeAttachingSecurity

FundApplication

FundAcceptance

FundAcceptanceReversal

FundAllotment

Application

Redemption

SwitchIn

SwitchOut

Transfer

TransferIn

TransferOut

Rebate

Reinvestment

Placement

NonProRataBalance

MiscellaneousConversion

EscrowRelease

ConvertibleNoteConversion

ConvertibleNoteConversionReversal

OptionsConversion

OptionExercised

OptionExerciseReversal

WarrantExercise

WarrantExerciseReversal

WarrantUnderlyingExercise

Divestment

ForfeitureOfPartlyPaidShares

OptionLapsed

MiscellaneousRedemption

AllotmentReversal

BonusIssueAllotment

RightsIssue

RightsIssueEntitlement

RightsIssueAcceptance

RightsIssueAcceptanceReversal

RightsIssueZeroEntitlement

RightsIssueZeroAcceptance

RightsIssueFreeAttachingSecurity

SharePurchasePlan

SharePurchasePlanEntitlement

SharePurchasePlanAcceptance

SharePurchasePlanZeroEntitlement

SharePurchasePlanZeroAcceptance

SharePurchasePlanFreeAttachingSecurity

Scaleback

CapitalReconstructionSplit

CapitalReconstructionConsolidation

TakeoverAcceptance

TakeoverAcceptanceRejected

TakeoverAcceptanceRemoval

TakeoverTransfer

TakeoverRegisterPositive

TakeoverRegisterNegative

DividendEntitlement

DividendReinvestmentPlan

DividendZeroEntitlement

UnmarketableParcelWorkingAllotment

UnmarketableParcelRecalcUp

UnmarketableParcelRecalcDown

UnmarketableParcelAdjustmentUp

UnmarketableParcelAdjustmentDown

UnmarketableParcelZeroWorking

Forfeit

EmployeePlanOptionsAllotment

EmployeePlanRightsAllotment

EmployeePlanRestrictedShareAllotment

EmployeePlanOptionsCancelled

EmployeePlanRightsCancelled

EmployeePlanRestrictedShareCancelled

EmployeePlanExerciseRestriction

EmployeePlanExerciseFPO

EmployeePlanReleaseFPO

EmployeePlanOptionsExpired

EmployeePlanRightsExpired

UnitsCreation

UnitsCancellation

CapitalReconstruction

Cancellation

ShortfallAllotment

RenRightsAllotment

RightsAllotment

DvpAllotment

Entitlement

OffMarketTransfer

MiscellaneousPayment

SubRegisterConversion

Buyback

SchemeOfArrangement

Sale

ApplicationAllotment

transactions[].holderGroup

the holder group’s name of this transaction


Fund Cash Flow

Overview

Allows you to retrieve trade information for a fund for given date range and filters.

Version 1

Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/fund-cash-flow/v1/issuer/1111?fromDate=2022-01-01&toDate=2022-12-31&tradeType=All&orderStatus=All' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 16. /api/report/async/fund-cash-flow/v1/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

fromDate

fromDate

Format: YYYY-MM-DD

toDate

toDate

Format: YYYY-MM-DD

tradeType

tradeType

Required: No

Default: All

Value(s):

Application

Redemption

All

orderStatus

orderStatus

Required: No

Default: All

Value(s):

Completed

Pending

All

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : 9111,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 17. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "issuer" : {
    "id" : 1111,
    "name" : "ABC Limited",
    "code" : "ABC",
    "parentId" : null
  },
  "requestedFromDate" : "2025-05-24",
  "requestedToDate" : "2025-06-13",
  "requestedTradeType" : "All",
  "requestedOrderStatus" : "All",
  "generatedOn" : "2025-06-13T02:28:24",
  "applicationModel" : {
    "pendingApplicationUnits" : "10000.25",
    "pendingApplicationDollars" : "1000.5",
    "completedApplicationUnits" : "50000.1",
    "completedApplicationDollars" : "5000.2",
    "applications" : [ {
      "tradeType" : "Application - additional",
      "redemptionEventName" : null,
      "offerCategory" : "Public",
      "unitClass" : "ABC",
      "unitClassDecimals" : 2,
      "status" : "Completed",
      "dealNumber" : "unique reference number",
      "holderId" : 111,
      "holderNumber" : "I111",
      "holderName" : "MR SRN INVESTOR",
      "orderDateTime" : "2025-06-13T02:28:24",
      "type" : "Amount",
      "orderUnits" : null,
      "orderValue" : "25000.5",
      "estimatedUnitPrice" : "10000.5",
      "estimatedUnits" : "5000.25",
      "estimatedValue" : "2000.5",
      "paid" : "Paid",
      "paidAmount" : "10",
      "paidDate" : "2025-06-13",
      "crsDate" : "2025-06-13",
      "wholesaleCertDate" : "2025-06-13",
      "tradeDate" : "2025-06-13",
      "settlementDate" : "2025-06-13",
      "unitPrice" : "1",
      "unitAmount" : "10",
      "dollarValue" : "1",
      "email" : "email",
      "additionalEmails" : "additional@email.com,other@email.org",
      "contactName" : "contact name",
      "mobileNumber" : "contact mobile",
      "workNumber" : "contact work",
      "adviserDetails" : "(123456) Mr Good Adviser",
      "bpayCrn" : "0284918234743923",
      "rowType" : "normal",
      "customQnAs" : [ {
        "question" : "question1",
        "answer" : "answer1"
      }, {
        "question" : "question2",
        "answer" : "answer2"
      } ]
    } ]
  },
  "redemptionModel" : {
    "pendingRedemptionUnits" : "10000.25",
    "pendingRedemptionDollars" : "1000.5",
    "completedRedemptionUnits" : "50000.1",
    "completedRedemptionDollars" : "5000.2",
    "pendingRedemptionUnitsBreakDowns" : {
      "Dollars" : "50000.1",
      "Units" : "50000.1",
      "Percentage" : "50000.1"
    },
    "pendingRedemptionDollarsBreakDown" : {
      "Dollars" : "5000.2",
      "Units" : "5000.2",
      "Percentage" : "5000.2"
    },
    "redemptions" : [ {
      "tradeType" : "Redemption",
      "redemptionEventName" : "Redemptions for all",
      "offerCategory" : null,
      "unitClass" : "ABC",
      "unitClassDecimals" : 2,
      "status" : "COMPLETED",
      "dealNumber" : "unique reference number",
      "holderId" : 111,
      "holderNumber" : "I111",
      "holderName" : "MR SRN INVESTOR",
      "orderDateTime" : "2025-06-13T02:28:24",
      "type" : "Dollars",
      "orderUnits" : "100000",
      "orderValue" : "25000.5",
      "estimatedUnitPrice" : "10000.5",
      "estimatedUnits" : "5000.25",
      "estimatedValue" : "2000.5",
      "paid" : null,
      "paidAmount" : null,
      "paidDate" : null,
      "crsDate" : "2025-06-13",
      "wholesaleCertDate" : "2025-06-13",
      "tradeDate" : "2025-06-13",
      "settlementDate" : "2025-06-13",
      "unitPrice" : "1",
      "unitAmount" : "10",
      "dollarValue" : "1",
      "email" : "email",
      "additionalEmails" : "additional@email.com,other@email.org",
      "contactName" : "contact name",
      "mobileNumber" : "contact mobile",
      "workNumber" : "contact work",
      "adviserDetails" : "(123456) Mr Good Adviser",
      "bpayCrn" : null,
      "rowType" : "normal",
      "customQnAs" : null
    } ]
  }
}

Json Fields

Details
Field Description

issuer.id

Automic identifier of issuer

issuer.name

issuer name

issuer.code

issuer code

issuer.parentId

issuer parentId

requestedFromDate

Requested From Date (inclusive)

Format yyyy-MM-dd

requestedToDate

Requested To Date (inclusive)

Format yyyy-MM-dd

requestedTradeType

Application

Redemption

All

requestedOrderStatus

Completed

Pending

All

generatedOn

Generated On date/time

Format yyyy-MM-ddTHH:mm:ss

applicationModel.pendingApplicationDollars

Pending Applications (Estimate) $ Total

applicationModel.pendingApplicationUnits

Pending Applications (Estimate) Units Total

applicationModel.completedApplicationDollars

Completed Applications $ Total

applicationModel.completedApplicationUnits

Completed Applications Units Total

applicationModel.applications[].rowType

parent

child

normal

applicationModel.applications[].tradeType

When rowType is 'parent', then return 'null'

Otherwise return one of:

Application - initial

Application - additional

applicationModel.applications[].offerCategory

Offer Category

applicationModel.applications[].redemptionEventName

Always 'null' for applications.

applicationModel.applications[].unitClass

Unit Class

applicationModel.applications[].unitClassDecimals

Number of decimal places applied to unit class

applicationModel.applications[].status

Pending

Completed

applicationModel.applications[].dealNumber

Deal Number

applicationModel.applications[].holderId

Holder Id

applicationModel.applications[].holderNumber

Holder Number

applicationModel.applications[].holderName

Holder Name

applicationModel.applications[].orderDateTime

Trade Date/Time

Format yyyy-MM-ddTHH:mm:ss

applicationModel.applications[].type

Always 'Amount' for applications

applicationModel.applications[].orderUnits

Always 'null' for applications

applicationModel.applications[].orderValue

Order Application $ Amount

applicationModel.applications[].estimatedUnitPrice

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

Otherwise, return the daily price application unit price, if not exists, return daily price NAV (if exists)

applicationModel.applications[].estimatedUnits

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

When Unit Price exists, return calculated units based off (order amount, unit price, unit class decimals and rounding)

Otherwise, return 'null'

applicationModel.applications[].estimatedValue

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

Otherwise, return order amount

applicationModel.applications[].paid

Unpaid

Underpaid

Overpaid

Paid

applicationModel.applications[].paidAmount

Paid Amount

applicationModel.applications[].paidDate

Format yyyy-MM-dd

applicationModel.applications[].crsDate

Most recent FATCA/CRS declaration (if exists and not reportable)

Format yyyy-MM-dd

applicationModel.applications[].wholesaleCertDate

Date wholesale certificate was issued

Format yyyy-MM-dd

applicationModel.applications[].tradeDate

When rowType is 'child', return 'null'

When status is 'Completed', return trade date (if exists)

Otherwise, return projected tradeDate date.

Format yyyy-MM-dd

applicationModel.applications[].settlementDate

When status is 'Completed', return tranche created date

Otherwise, return 'null'

Format yyyy-MM-dd

applicationModel.applications[].unitPrice

When status is 'Completed', return tranche issue price

Otherwise, return 'null'

applicationModel.applications[].unitAmount

When status is 'Completed', return # Units

Otherwise, return 'null'

applicationModel.applications[].dollarValue

When status is 'Completed', return $ Value

Otherwise, return 'null'

applicationModel.applications[].email

Email

applicationModel.applications[].additionalEmails

Additional Emails (CSV format)

applicationModel.applications[].contactName

Contact Name

applicationModel.applications[].mobileNumber

Mobile Number

applicationModel.applications[].workNumber

Work Number

applicationModel.applications[].adviserDetails

Adviser Details

Format is '(<adviser number>) <adviser name>' (if exists)

applicationModel.applications[].bpayCrn

BPay CRN

applicationModel.applications[].customQnAs[].question

Question

applicationModel.applications[].customQnAs[].answer

Answer

redemptionModel.pendingRedemptionDollars

Pending Redemptions $ Total

redemptionModel.pendingRedemptionUnits

Pending Redemptions Units Total

redemptionModel.completedRedemptionUnits

Completed Redemptions $ Total

redemptionModel.completedRedemptionDollars

Completed Redemptions Units Total

redemptionModel.pendingRedemptionDollarsBreakDown['Dollars']

Pending Redemptions $ - Redemptions By Dollars

redemptionModel.pendingRedemptionDollarsBreakDown['Units']

Pending Redemptions $ - Redemptions By Units

redemptionModel.pendingRedemptionDollarsBreakDown['Percentage']

Pending Redemptions $ - Redemptions By Percentage

redemptionModel.pendingRedemptionUnitsBreakDown['Dollars']

Pending Redemptions Units - Redemptions By Dollars

redemptionModel.pendingRedemptionUnitsBreakDown['Units']

Pending Redemptions Units - Redemptions By Units

redemptionModel.pendingRedemptionUnitsBreakDown['Percentage']

Pending Redemptions Units - Redemptions By Percentage

redemptionModel.redemptions[].rowType

Always 'normal' for redemptions

redemptionModel.redemptions[].tradeType

Always 'Redemption' for redemptions

redemptionModel.redemptions[].offerCategory

Always 'null' for redemptions

redemptionModel.redemptions[].redemptionEventName

Redemption Event Name

redemptionModel.redemptions[].unitClass

Unit Class

redemptionModel.redemptions[].unitClassDecimals

Number of decimal places applied to unit class

redemptionModel.redemptions[].status

Pending

Completed

redemptionModel.redemptions[].dealNumber

Deal Number

redemptionModel.redemptions[].holderId

Holder Id

redemptionModel.redemptions[].holderNumber

Holder Number

redemptionModel.redemptions[].holderName

Holder Name

redemptionModel.redemptions[].orderDateTime

Trade Date/Time

Format yyyy-MM-ddTHH:mm:ss

redemptionModel.redemptions[].type

Units

Percentage

Dollars

redemptionModel.redemptions[].orderUnits

When type is 'Units' or 'Percentage', then return order amount

Otherwise, return 'null'

redemptionModel.redemptions[].orderValue

When type is '%s', then return order amounnt

Otherwise, return 'null'

redemptionModel.redemptions[].estimatedUnitPrice

When status is 'COMPLETED', then return 'null''

Otherwise, return the daily price application unit price, if not exists, return daily price NAV (if exists)

redemptionModel.redemptions[].estimatedUnits

When status is 'COMPLETED', then return 'null'

When status is NOT 'COMPLETED' and type is 'Units' or 'Percentage', then return order amount

When status is NOT 'COMPLETED' and type is 'Dollars', then return order amount divided by (daily price for redemption, if not exists, daily price for NAV)

redemptionModel.redemptions[].estimatedValue

When status is 'COMPLETED', then return 'null'

When status is NOT 'COMPLETED' and type is 'Dollars', then return order amount multiplied by (daily price for redemption, if not exists, daily price for NAV)

redemptionModel.redemptions[].paid

Always 'null' for redemptions

redemptionModel.redemptions[].paidAmount

Always 'null' for redemptions

redemptionModel.redemptions[].paidDate

Always 'null' for redemptions

redemptionModel.redemptions[].crsDate

Most recent FATCA/CRS declaration (if exists and not reportable)

Format yyyy-MM-dd

redemptionModel.redemptions[].wholesaleCertDate

Date wholesale certificate was issued

Format yyyy-MM-dd

redemptionModel.redemptions[].tradeDate

When status is 'COMPLETED', return tradeDate date

Otherwise, return projected tradeDate date.

Format yyyy-MM-dd

redemptionModel.redemptions[].settlementDate

Date the tranche was requested

Format yyyy-MM-dd

redemptionModel.redemptions[].unitPrice

Unit price at time of tranche

redemptionModel.redemptions[].unitAmount

Unit amount at the time of tranche

redemptionModel.redemptions[].dollarValue

Dollar amount at the time of tranche

redemptionModel.redemptions[].email

Email

redemptionModel.redemptions[].additionalEmails

Additional Emails (CSV format)

redemptionModel.redemptions[].contactName

Contact Name

redemptionModel.redemptions[].mobileNumber

Mobile Number

redemptionModel.redemptions[].workNumber

Work Number

redemptionModel.redemptions[].adviserDetails

Adviser Details

Format is '(<adviser number>) <adviser name>' (if exists)

redemptionModel.redemptions[].bpayCrn

Always 'null' for redemptions

redemptionModel.redemptions[].customQnAs

Always 'null' for redemptions


Version 2

Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/fund-cash-flow/v2/issuer/1111?fromDate=2022-01-01&toDate=2022-12-31&tradeType=All&orderStatus=All&includeInvestorDetails=false&includeVerificationDetails=false' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 18. /api/report/async/fund-cash-flow/v2/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

fromDate

fromDate

Format: YYYY-MM-DD

toDate

toDate

Format: YYYY-MM-DD

tradeType

tradeType

Required: No

Default: All

Value(s):

Application

Redemption

All

orderStatus

orderStatus

Required: No

Default: All

Value(s):

Completed

Pending

All

includeVerificationDetails

includeVerificationDetails

Required: No

Default: false

Value(s):

true

false

includeInvestorDetails

includeInvestorDetails

Required: No

Default: false

Value(s):

true

false

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : 9111,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 19. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "issuer" : {
    "id" : 1111,
    "name" : "ABC Limited",
    "code" : "ABC",
    "parentId" : null
  },
  "requestedFromDate" : "2025-05-24",
  "requestedToDate" : "2025-06-13",
  "requestedTradeType" : "All",
  "requestedOrderStatus" : "All",
  "generatedOn" : "2025-06-13T02:28:24",
  "requestedIncludeVerificationDetails" : false,
  "requestedIncludeInvestorDetails" : false,
  "applicationModel" : {
    "pendingApplicationUnits" : "10000.25",
    "pendingApplicationDollars" : "1000.5",
    "completedApplicationUnits" : "50000.1",
    "completedApplicationDollars" : "5000.2",
    "applications" : [ {
      "tradeType" : "Application - additional",
      "redemptionEventName" : null,
      "offerCategory" : "Public",
      "unitClass" : "ABC",
      "unitClassDecimals" : 2,
      "status" : "Completed",
      "dealNumber" : "unique reference number",
      "holderId" : 111,
      "holderNumber" : "I111",
      "holderName" : "MR SRN INVESTOR",
      "orderDateTime" : "2025-06-13T02:28:24",
      "type" : "Amount",
      "orderUnits" : null,
      "orderValue" : "25000.5",
      "estimatedUnitPrice" : "10000.5",
      "estimatedUnits" : "5000.25",
      "estimatedValue" : "2000.5",
      "paid" : "Paid",
      "paidAmount" : "10",
      "paidDate" : "2025-06-13",
      "crsDate" : "2025-06-13",
      "wholesaleCertDate" : "2025-06-13",
      "tradeDate" : "2025-06-13",
      "settlementDate" : "2025-06-13",
      "unitPrice" : "1",
      "unitAmount" : "10",
      "dollarValue" : "1",
      "email" : "email",
      "additionalEmails" : "additional@email.com,other@email.org",
      "contactName" : "contact name",
      "mobileNumber" : "contact mobile",
      "workNumber" : "contact work",
      "adviserDetails" : "(123456) Mr Good Adviser",
      "bpayCrn" : "0284918234743923",
      "rowType" : "normal",
      "customQnAs" : [ {
        "question" : "question1",
        "answer" : "answer1"
      }, {
        "question" : "question2",
        "answer" : "answer2"
      } ],
      "idv1CreatedDate" : "2025-06-13T02:28:24",
      "idv2CreatedDate" : "2025-06-14T02:28:24",
      "idv3CreatedDate" : "2025-06-15T02:28:24",
      "idResponse1" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : "verified",
        "verificationUuid" : "b0f21d79-759c-4ef8-8264-9ad63cff4a30",
        "parentVerificationUuid" : "b2b3e2d1-5261-4ff6-92ae-6d65096cd886",
        "userId" : "90112f8f-9e7d-48fe-aa82-1939a29f6316:0",
        "parentUserId" : "119d4a99-0498-4de6-840a-9b38f73a8008:0",
        "timestamp" : 1749781704,
        "score" : "100",
        "watchList" : [ {
          "name" : "DFAT"
        }, {
          "name" : "PEP"
        } ],
        "outOfWatchlist" : [ {
          "name" : "ANIMAL"
        } ],
        "idvRiskScore" : {
          "description" : "Low to Medium"
        },
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse2" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse3" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "error",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idv1RevisedRiskRating" : "Low",
      "idv2RevisedRiskRating" : "Medium",
      "idv3RevisedRiskRating" : "High",
      "idv1RiskRating" : "Low",
      "idv2RiskRating" : "Medium",
      "idv3RiskRating" : "High"
    } ]
  },
  "redemptionModel" : {
    "pendingRedemptionUnits" : "10000.25",
    "pendingRedemptionDollars" : "1000.5",
    "completedRedemptionUnits" : "50000.1",
    "completedRedemptionDollars" : "5000.2",
    "pendingRedemptionUnitsBreakDowns" : {
      "Dollars" : "50000.1",
      "Units" : "50000.1",
      "Percentage" : "50000.1"
    },
    "pendingRedemptionDollarsBreakDown" : {
      "Dollars" : "5000.2",
      "Units" : "5000.2",
      "Percentage" : "5000.2"
    },
    "redemptions" : [ {
      "tradeType" : "Redemption",
      "redemptionEventName" : "Redemptions for all",
      "offerCategory" : null,
      "unitClass" : "ABC",
      "unitClassDecimals" : 2,
      "status" : "COMPLETED",
      "dealNumber" : "unique reference number",
      "holderId" : 111,
      "holderNumber" : "I111",
      "holderName" : "MR SRN INVESTOR",
      "orderDateTime" : "2025-06-13T02:28:24",
      "type" : "Dollars",
      "orderUnits" : "100000",
      "orderValue" : "25000.5",
      "estimatedUnitPrice" : "10000.5",
      "estimatedUnits" : "5000.25",
      "estimatedValue" : "2000.5",
      "paid" : null,
      "paidAmount" : null,
      "paidDate" : null,
      "crsDate" : "2025-06-13",
      "wholesaleCertDate" : "2025-06-13",
      "tradeDate" : "2025-06-13",
      "settlementDate" : "2025-06-13",
      "unitPrice" : "1",
      "unitAmount" : "10",
      "dollarValue" : "1",
      "email" : "email",
      "additionalEmails" : "additional@email.com,other@email.org",
      "contactName" : "contact name",
      "mobileNumber" : "contact mobile",
      "workNumber" : "contact work",
      "adviserDetails" : "(123456) Mr Good Adviser",
      "bpayCrn" : null,
      "rowType" : "normal",
      "customQnAs" : null,
      "idv1CreatedDate" : "2025-06-13T02:28:24",
      "idv2CreatedDate" : "2025-06-14T02:28:24",
      "idv3CreatedDate" : "2025-06-15T02:28:24",
      "idResponse1" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : "verified",
        "verificationUuid" : "0f1970b6-143a-4b07-9ee9-01184c8f8925",
        "parentVerificationUuid" : "53268fea-76f1-4136-b22c-c02a724efa3e",
        "userId" : "8ee607bc-dc38-4b83-9745-6ba34087e7ba:0",
        "parentUserId" : "d3c38bbc-78b7-42c8-950d-9fab4a116a9d:0",
        "timestamp" : 1749781704,
        "score" : "100",
        "watchList" : [ {
          "name" : "DFAT"
        }, {
          "name" : "PEP"
        } ],
        "outOfWatchlist" : [ {
          "name" : "ANIMAL"
        } ],
        "idvRiskScore" : {
          "description" : "Low to Medium"
        },
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse2" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse3" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "error",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idv1RevisedRiskRating" : "Low",
      "idv2RevisedRiskRating" : "Medium",
      "idv3RevisedRiskRating" : "High",
      "idv1RiskRating" : "Low",
      "idv2RiskRating" : "Medium",
      "idv3RiskRating" : "High"
    } ]
  }
}

Json Fields

Details
Field Description

issuer.id

Automic identifier of issuer

issuer.name

issuer name

issuer.code

issuer code

issuer.parentId

issuer parentId

requestedFromDate

Requested From Date (inclusive)

Format yyyy-MM-dd

requestedToDate

Requested To Date (inclusive)

Format yyyy-MM-dd

requestedTradeType

Application

Redemption

All

requestedOrderStatus

Completed

Pending

All

generatedOn

Generated On date/time

Format yyyy-MM-ddTHH:mm:ss

applicationModel.pendingApplicationDollars

Pending Applications (Estimate) $ Total

applicationModel.pendingApplicationUnits

Pending Applications (Estimate) Units Total

applicationModel.completedApplicationDollars

Completed Applications $ Total

applicationModel.completedApplicationUnits

Completed Applications Units Total

applicationModel.applications[].rowType

parent

child

normal

applicationModel.applications[].tradeType

When rowType is 'parent', then return 'null'

Otherwise return one of:

Application - initial

Application - additional

applicationModel.applications[].offerCategory

Offer Category

applicationModel.applications[].redemptionEventName

Always 'null' for applications.

applicationModel.applications[].unitClass

Unit Class

applicationModel.applications[].unitClassDecimals

Number of decimal places applied to unit class

applicationModel.applications[].status

Pending

Completed

applicationModel.applications[].dealNumber

Deal Number

applicationModel.applications[].holderId

Holder Id

applicationModel.applications[].holderNumber

Holder Number

applicationModel.applications[].holderName

Holder Name

applicationModel.applications[].orderDateTime

Trade Date/Time

Format yyyy-MM-ddTHH:mm:ss

applicationModel.applications[].type

Always 'Amount' for applications

applicationModel.applications[].orderUnits

Always 'null' for applications

applicationModel.applications[].orderValue

Order Application $ Amount

applicationModel.applications[].estimatedUnitPrice

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

Otherwise, return the daily price application unit price, if not exists, return daily price NAV (if exists)

applicationModel.applications[].estimatedUnits

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

When Unit Price exists, return calculated units based off (order amount, unit price, unit class decimals and rounding)

Otherwise, return 'null'

applicationModel.applications[].estimatedValue

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

Otherwise, return order amount

applicationModel.applications[].paid

Unpaid

Underpaid

Overpaid

Paid

applicationModel.applications[].paidAmount

Paid Amount

applicationModel.applications[].paidDate

Format yyyy-MM-dd

applicationModel.applications[].crsDate

Most recent FATCA/CRS declaration (if exists and not reportable)

Format yyyy-MM-dd

applicationModel.applications[].wholesaleCertDate

Date wholesale certificate was issued

Format yyyy-MM-dd

applicationModel.applications[].tradeDate

When rowType is 'child', return 'null'

When status is 'Completed', return trade date (if exists)

Otherwise, return projected tradeDate date.

Format yyyy-MM-dd

applicationModel.applications[].settlementDate

When status is 'Completed', return tranche created date

Otherwise, return 'null'

Format yyyy-MM-dd

applicationModel.applications[].unitPrice

When status is 'Completed', return tranche issue price

Otherwise, return 'null'

applicationModel.applications[].unitAmount

When status is 'Completed', return # Units

Otherwise, return 'null'

applicationModel.applications[].dollarValue

When status is 'Completed', return $ Value

Otherwise, return 'null'

applicationModel.applications[].email

Email

applicationModel.applications[].additionalEmails

Additional Emails (CSV format)

applicationModel.applications[].contactName

Contact Name

applicationModel.applications[].mobileNumber

Mobile Number

applicationModel.applications[].workNumber

Work Number

applicationModel.applications[].adviserDetails

Adviser Details

Format is '(<adviser number>) <adviser name>' (if exists)

applicationModel.applications[].bpayCrn

BPay CRN

applicationModel.applications[].idResponse1.status applicationModel.applications[].idResponse2.status applicationModel.applications[].idResponse3.status

Please refer to redemptionModel.redemptions[].idResponse1/2/3 documentation below

applicationModel.applications[].customQnAs[].question

Question

applicationModel.applications[].customQnAs[].answer

Answer

redemptionModel.pendingRedemptionDollars

Pending Redemptions $ Total

redemptionModel.pendingRedemptionUnits

Pending Redemptions Units Total

redemptionModel.completedRedemptionUnits

Completed Redemptions $ Total

redemptionModel.completedRedemptionDollars

Completed Redemptions Units Total

redemptionModel.pendingRedemptionDollarsBreakDown['Dollars']

Pending Redemptions $ - Redemptions By Dollars

redemptionModel.pendingRedemptionDollarsBreakDown['Units']

Pending Redemptions $ - Redemptions By Units

redemptionModel.pendingRedemptionDollarsBreakDown['Percentage']

Pending Redemptions $ - Redemptions By Percentage

redemptionModel.pendingRedemptionUnitsBreakDown['Dollars']

Pending Redemptions Units - Redemptions By Dollars

redemptionModel.pendingRedemptionUnitsBreakDown['Units']

Pending Redemptions Units - Redemptions By Units

redemptionModel.pendingRedemptionUnitsBreakDown['Percentage']

Pending Redemptions Units - Redemptions By Percentage

redemptionModel.redemptions[].rowType

Always 'normal' for redemptions

redemptionModel.redemptions[].tradeType

Always 'Redemption' for redemptions

redemptionModel.redemptions[].offerCategory

Always 'null' for redemptions

redemptionModel.redemptions[].redemptionEventName

Redemption Event Name

redemptionModel.redemptions[].unitClass

Unit Class

redemptionModel.redemptions[].unitClassDecimals

Number of decimal places applied to unit class

redemptionModel.redemptions[].status

Pending

Completed

redemptionModel.redemptions[].dealNumber

Deal Number

redemptionModel.redemptions[].holderId

Holder Id

redemptionModel.redemptions[].holderNumber

Holder Number

redemptionModel.redemptions[].holderName

Holder Name

redemptionModel.redemptions[].orderDateTime

Trade Date/Time

Format yyyy-MM-ddTHH:mm:ss

redemptionModel.redemptions[].type

Units

Percentage

Dollars

redemptionModel.redemptions[].orderUnits

When type is 'Units' or 'Percentage', then return order amount

Otherwise, return 'null'

redemptionModel.redemptions[].orderValue

When type is '%s', then return order amounnt

Otherwise, return 'null'

redemptionModel.redemptions[].estimatedUnitPrice

When status is 'COMPLETED', then return 'null''

Otherwise, return the daily price application unit price, if not exists, return daily price NAV (if exists)

redemptionModel.redemptions[].estimatedUnits

When status is 'COMPLETED', then return 'null'

When status is NOT 'COMPLETED' and type is 'Units' or 'Percentage', then return order amount

When status is NOT 'COMPLETED' and type is 'Dollars', then return order amount divided by (daily price for redemption, if not exists, daily price for NAV)

redemptionModel.redemptions[].estimatedValue

When status is 'COMPLETED', then return 'null'

When status is NOT 'COMPLETED' and type is 'Dollars', then return order amount multiplied by (daily price for redemption, if not exists, daily price for NAV)

redemptionModel.redemptions[].paid

Always 'null' for redemptions

redemptionModel.redemptions[].paidAmount

Always 'null' for redemptions

redemptionModel.redemptions[].paidDate

Always 'null' for redemptions

redemptionModel.redemptions[].crsDate

Most recent FATCA/CRS declaration (if exists and not reportable)

Format yyyy-MM-dd

redemptionModel.redemptions[].wholesaleCertDate

Date wholesale certificate was issued

Format yyyy-MM-dd

redemptionModel.redemptions[].tradeDate

When status is 'COMPLETED', return tradeDate date

Otherwise, return projected tradeDate date.

Format yyyy-MM-dd

redemptionModel.redemptions[].settlementDate

Date the tranche was requested

Format yyyy-MM-dd

redemptionModel.redemptions[].unitPrice

Unit price at time of tranche

redemptionModel.redemptions[].unitAmount

Unit amount at the time of tranche

redemptionModel.redemptions[].dollarValue

Dollar amount at the time of tranche

redemptionModel.redemptions[].email

Email

redemptionModel.redemptions[].additionalEmails

Additional Emails (CSV format)

redemptionModel.redemptions[].contactName

Contact Name

redemptionModel.redemptions[].mobileNumber

Mobile Number

redemptionModel.redemptions[].workNumber

Work Number

redemptionModel.redemptions[].adviserDetails

Adviser Details

Format is '(<adviser number>) <adviser name>' (if exists)

redemptionModel.redemptions[].bpayCrn

Always 'null' for redemptions

redemptionModel.redemptions[].idResponse1.status redemptionModel.redemptions[].idResponse2.status redemptionModel.redemptions[].idResponse3.status

success

error

redemptionModel.redemptions[].idResponse1.verificationStatus redemptionModel.redemptions[].idResponse2.verificationStatus redemptionModel.redemptions[].idResponse3.verificationStatus

verified

rejected

pending

locked

info

redemptionModel.redemptions[].idResponse1.verificationUuid redemptionModel.redemptions[].idResponse2.verificationUuid redemptionModel.redemptions[].idResponse3.verificationUuid

Verification UUID

redemptionModel.redemptions[].idResponse1.parentVerificationUuid redemptionModel.redemptions[].idResponse2.parentVerificationUuid redemptionModel.redemptions[].idResponse3.parentVerificationUuid

Parent Verification UUID

redemptionModel.redemptions[].idResponse1.userId redemptionModel.redemptions[].idResponse2.userId redemptionModel.redemptions[].idResponse3.userId

User ID

redemptionModel.redemptions[].idResponse1.parentUserId redemptionModel.redemptions[].idResponse2.parentUserId redemptionModel.redemptions[].idResponse3.parentUserId

Parent User ID

redemptionModel.redemptions[].idResponse1.timestamp redemptionModel.redemptions[].idResponse2.timestamp redemptionModel.redemptions[].idResponse3.timestamp

Format yyyy-MM-ddThh:mm:ss

redemptionModel.redemptions[].idResponse1.score redemptionModel.redemptions[].idResponse2.score redemptionModel.redemptions[].idResponse3.score

Score

redemptionModel.redemptions[].idResponse1.watchList[].name redemptionModel.redemptions[].idResponse2.watchList[].name redemptionModel.redemptions[].idResponse3.watchList[].name

Watchlist names

redemptionModel.redemptions[].idResponse1.outOfWatchlist[].name redemptionModel.redemptions[].idResponse2.outOfWatchlist[].name redemptionModel.redemptions[].idResponse3.outOfWatchlist[].name

Out of Watchlist names

redemptionModel.redemptions[].idResponse1.idvRiskScore.description redemptionModel.redemptions[].idResponse2.idvRiskScore.description redemptionModel.redemptions[].idResponse3.idvRiskScore.description

Undefined

Low

Low to Medium

Medium

Medium to High

High

redemptionModel.redemptions[].idv1RevisedRiskRating redemptionModel.redemptions[].idv2RevisedRiskRating redemptionModel.redemptions[].idv3RevisedRiskRating

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

redemptionModel.redemptions[].idv1RiskRating redemptionModel.redemptions[].idv2RiskRating redemptionModel.redemptions[].idv3RiskRating

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

redemptionModel.redemptions[].idv1CreatedDate redemptionModel.redemptions[].idv2CreatedDate redemptionModel.redemptions[].idv3CreatedDate

Format yyyy-MM-ddTHH:mm:ss

redemptionModel.redemptions[].customQnAs

Always 'null' for redemptions


Version 3

Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/fund-cash-flow/v3/issuer/1111?fromDate=2022-01-01&toDate=2022-12-31&tradeType=All&orderStatus=All&includeInvestorDetails=false&includeVerificationDetails=false' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 20. /api/report/async/fund-cash-flow/v3/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

fromDate

fromDate

Format: YYYY-MM-DD

toDate

toDate

Format: YYYY-MM-DD

tradeType

tradeType

Required: No

Default: All

Value(s):

Application

Redemption

All

orderStatus

orderStatus

Required: No

Default: All

Value(s):

Completed

Pending

All

includeVerificationDetails

includeVerificationDetails

Required: No

Default: false

Value(s):

true

false

includeInvestorDetails

includeInvestorDetails

Required: No

Default: false

Value(s):

true

false

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : 9111,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 21. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "issuer" : {
    "id" : 1111,
    "name" : "ABC Limited",
    "code" : "ABC",
    "parentId" : null
  },
  "requestedFromDate" : "2025-05-24",
  "requestedToDate" : "2025-06-13",
  "requestedTradeType" : "All",
  "requestedOrderStatus" : "All",
  "generatedOn" : "2025-06-13T02:28:24",
  "requestedIncludeVerificationDetails" : false,
  "requestedIncludeInvestorDetails" : false,
  "applicationModel" : {
    "pendingApplicationUnits" : "10000.25",
    "pendingApplicationDollars" : "1000.5",
    "completedApplicationUnits" : "50000.1",
    "completedApplicationDollars" : "5000.2",
    "applications" : [ {
      "tradeType" : "Application - additional",
      "redemptionEventName" : null,
      "offerCategory" : "Public",
      "unitClass" : "ABC",
      "unitClassDecimals" : 2,
      "status" : "Completed",
      "dealNumber" : "unique reference number",
      "holderId" : 111,
      "holderNumber" : "I111",
      "holderName" : "MR SRN INVESTOR",
      "orderDateTime" : "2025-06-13T02:28:24",
      "type" : "Amount",
      "orderUnits" : null,
      "orderValue" : "25000.5",
      "estimatedUnitPrice" : "10000.5",
      "estimatedUnits" : "5000.25",
      "estimatedValue" : "2000.5",
      "paid" : "Paid",
      "paidAmount" : "10",
      "paidDate" : "2025-06-13",
      "crsDate" : "2025-06-13",
      "wholesaleCertDate" : "2025-06-13",
      "tradeDate" : "2025-06-13",
      "settlementDate" : "2025-06-13",
      "unitPrice" : "1",
      "unitAmount" : "10",
      "dollarValue" : "1",
      "email" : "email",
      "additionalEmails" : "additional@email.com,other@email.org",
      "contactName" : "contact name",
      "mobileNumber" : "contact mobile",
      "workNumber" : "contact work",
      "adviserDetails" : "(123456) Mr Good Adviser",
      "bpayCrn" : "0284918234743923",
      "rowType" : "normal",
      "customQnAs" : [ {
        "question" : "question1",
        "answer" : "answer1"
      }, {
        "question" : "question2",
        "answer" : "answer2"
      } ],
      "idv1CreatedDate" : "2025-06-13T02:28:24",
      "idv2CreatedDate" : "2025-06-14T02:28:24",
      "idv3CreatedDate" : "2025-06-15T02:28:24",
      "idResponse1" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : "verified",
        "verificationUuid" : "b6a8f913-e76e-4ffc-b7a7-54cc6ca04e8e",
        "parentVerificationUuid" : "f6c0e239-83b7-439e-acd1-4fcc31ebf033",
        "userId" : "7ec85f50-ce0b-4ddc-be4e-c0f6f33d0420:0",
        "parentUserId" : "32623b30-6fe4-4eb0-9e8a-af317802ebd0:0",
        "timestamp" : 1749781704,
        "score" : "100",
        "watchList" : [ {
          "name" : "DFAT"
        }, {
          "name" : "PEP"
        } ],
        "outOfWatchlist" : [ {
          "name" : "ANIMAL"
        } ],
        "idvRiskScore" : {
          "description" : "Low to Medium"
        },
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse2" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse3" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "error",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idv1RevisedRiskRating" : "Low",
      "idv2RevisedRiskRating" : "Medium",
      "idv3RevisedRiskRating" : "High",
      "idv1RiskRating" : "Low",
      "idv2RiskRating" : "Medium",
      "idv3RiskRating" : "High",
      "wholesaleCertVerified" : "Not Verified"
    } ]
  },
  "redemptionModel" : {
    "pendingRedemptionUnits" : "10000.25",
    "pendingRedemptionDollars" : "1000.5",
    "completedRedemptionUnits" : "50000.1",
    "completedRedemptionDollars" : "5000.2",
    "pendingRedemptionUnitsBreakDowns" : {
      "Dollars" : "50000.1",
      "Units" : "50000.1",
      "Percentage" : "50000.1"
    },
    "pendingRedemptionDollarsBreakDown" : {
      "Dollars" : "5000.2",
      "Units" : "5000.2",
      "Percentage" : "5000.2"
    },
    "redemptions" : [ {
      "tradeType" : "Redemption",
      "redemptionEventName" : "Redemptions for all",
      "offerCategory" : null,
      "unitClass" : "ABC",
      "unitClassDecimals" : 2,
      "status" : "COMPLETED",
      "dealNumber" : "unique reference number",
      "holderId" : 111,
      "holderNumber" : "I111",
      "holderName" : "MR SRN INVESTOR",
      "orderDateTime" : "2025-06-13T02:28:24",
      "type" : "Dollars",
      "orderUnits" : "100000",
      "orderValue" : "25000.5",
      "estimatedUnitPrice" : "10000.5",
      "estimatedUnits" : "5000.25",
      "estimatedValue" : "2000.5",
      "paid" : null,
      "paidAmount" : null,
      "paidDate" : null,
      "crsDate" : "2025-06-13",
      "wholesaleCertDate" : "2025-06-13",
      "tradeDate" : "2025-06-13",
      "settlementDate" : "2025-06-13",
      "unitPrice" : "1",
      "unitAmount" : "10",
      "dollarValue" : "1",
      "email" : "email",
      "additionalEmails" : "additional@email.com,other@email.org",
      "contactName" : "contact name",
      "mobileNumber" : "contact mobile",
      "workNumber" : "contact work",
      "adviserDetails" : "(123456) Mr Good Adviser",
      "bpayCrn" : null,
      "rowType" : "normal",
      "customQnAs" : null,
      "idv1CreatedDate" : "2025-06-13T02:28:24",
      "idv2CreatedDate" : "2025-06-14T02:28:24",
      "idv3CreatedDate" : "2025-06-15T02:28:24",
      "idResponse1" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : "verified",
        "verificationUuid" : "e2d2167c-4342-4e5f-9c89-c19db83fac8a",
        "parentVerificationUuid" : "d1ea0f65-1127-4942-b049-c049d16dfe43",
        "userId" : "1d54402e-a5fd-4e12-be19-5403e766e57e:0",
        "parentUserId" : "867ecc85-b380-4711-a27c-23d5688cd815:0",
        "timestamp" : 1749781704,
        "score" : "100",
        "watchList" : [ {
          "name" : "DFAT"
        }, {
          "name" : "PEP"
        } ],
        "outOfWatchlist" : [ {
          "name" : "ANIMAL"
        } ],
        "idvRiskScore" : {
          "description" : "Low to Medium"
        },
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse2" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse3" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "error",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idv1RevisedRiskRating" : "Low",
      "idv2RevisedRiskRating" : "Medium",
      "idv3RevisedRiskRating" : "High",
      "idv1RiskRating" : "Low",
      "idv2RiskRating" : "Medium",
      "idv3RiskRating" : "High",
      "wholesaleCertVerified" : "Not Verified"
    } ]
  }
}

Json Fields

Details
Field Description

issuer.id

Automic identifier of issuer

issuer.name

issuer name

issuer.code

issuer code

issuer.parentId

issuer parentId

requestedFromDate

Requested From Date (inclusive)

Format yyyy-MM-dd

requestedToDate

Requested To Date (inclusive)

Format yyyy-MM-dd

requestedTradeType

Application

Redemption

All

requestedOrderStatus

Completed

Pending

All

generatedOn

Generated On date/time

Format yyyy-MM-ddTHH:mm:ss

applicationModel.pendingApplicationDollars

Pending Applications (Estimate) $ Total

applicationModel.pendingApplicationUnits

Pending Applications (Estimate) Units Total

applicationModel.completedApplicationDollars

Completed Applications $ Total

applicationModel.completedApplicationUnits

Completed Applications Units Total

applicationModel.applications[].rowType

parent

child

normal

applicationModel.applications[].tradeType

When rowType is 'parent', then return 'null'

Otherwise return one of:

Application - initial

Application - additional

applicationModel.applications[].offerCategory

Offer Category

applicationModel.applications[].redemptionEventName

Always 'null' for applications.

applicationModel.applications[].unitClass

Unit Class

applicationModel.applications[].unitClassDecimals

Number of decimal places applied to unit class

applicationModel.applications[].status

Pending

Completed

applicationModel.applications[].dealNumber

Deal Number

applicationModel.applications[].holderId

Holder Id

applicationModel.applications[].holderNumber

Holder Number

applicationModel.applications[].holderName

Holder Name

applicationModel.applications[].orderDateTime

Trade Date/Time

Format yyyy-MM-ddTHH:mm:ss

applicationModel.applications[].type

Always 'Amount' for applications

applicationModel.applications[].orderUnits

Always 'null' for applications

applicationModel.applications[].orderValue

Order Application $ Amount

applicationModel.applications[].estimatedUnitPrice

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

Otherwise, return the daily price application unit price, if not exists, return daily price NAV (if exists)

applicationModel.applications[].estimatedUnits

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

When Unit Price exists, return calculated units based off (order amount, unit price, unit class decimals and rounding)

Otherwise, return 'null'

applicationModel.applications[].estimatedValue

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

Otherwise, return order amount

applicationModel.applications[].paid

Unpaid

Underpaid

Overpaid

Paid

applicationModel.applications[].paidAmount

Paid Amount

applicationModel.applications[].paidDate

Format yyyy-MM-dd

applicationModel.applications[].crsDate

Most recent FATCA/CRS declaration (if exists and not reportable)

Format yyyy-MM-dd

applicationModel.applications[].wholesaleCertDate

Wholesale certification date

Format yyyy-MM-dd

applicationModel.applications[].wholesaleCertVerified

Wholesale certificate verified

applicationModel.applications[].tradeDate

When rowType is 'child', return 'null'

When status is 'Completed', return trade date (if exists)

Otherwise, return projected tradeDate date.

Format yyyy-MM-dd

applicationModel.applications[].settlementDate

When status is 'Completed', return tranche created date

Otherwise, return 'null'

Format yyyy-MM-dd

applicationModel.applications[].unitPrice

When status is 'Completed', return tranche issue price

Otherwise, return 'null'

applicationModel.applications[].unitAmount

When status is 'Completed', return # Units

Otherwise, return 'null'

applicationModel.applications[].dollarValue

When status is 'Completed', return $ Value

Otherwise, return 'null'

applicationModel.applications[].email

Email

applicationModel.applications[].additionalEmails

Additional Emails (CSV format)

applicationModel.applications[].contactName

Contact Name

applicationModel.applications[].mobileNumber

Mobile Number

applicationModel.applications[].workNumber

Work Number

applicationModel.applications[].adviserDetails

Adviser Details

Format is '(<adviser number>) <adviser name>' (if exists)

applicationModel.applications[].bpayCrn

BPay CRN

applicationModel.applications[].idResponse1.status applicationModel.applications[].idResponse2.status applicationModel.applications[].idResponse3.status

Please refer to redemptionModel.redemptions[].idResponse1/2/3 documentation below

applicationModel.applications[].customQnAs[].question

Question

applicationModel.applications[].customQnAs[].answer

Answer

redemptionModel.pendingRedemptionDollars

Pending Redemptions $ Total

redemptionModel.pendingRedemptionUnits

Pending Redemptions Units Total

redemptionModel.completedRedemptionUnits

Completed Redemptions $ Total

redemptionModel.completedRedemptionDollars

Completed Redemptions Units Total

redemptionModel.pendingRedemptionDollarsBreakDown['Dollars']

Pending Redemptions $ - Redemptions By Dollars

redemptionModel.pendingRedemptionDollarsBreakDown['Units']

Pending Redemptions $ - Redemptions By Units

redemptionModel.pendingRedemptionDollarsBreakDown['Percentage']

Pending Redemptions $ - Redemptions By Percentage

redemptionModel.pendingRedemptionUnitsBreakDown['Dollars']

Pending Redemptions Units - Redemptions By Dollars

redemptionModel.pendingRedemptionUnitsBreakDown['Units']

Pending Redemptions Units - Redemptions By Units

redemptionModel.pendingRedemptionUnitsBreakDown['Percentage']

Pending Redemptions Units - Redemptions By Percentage

redemptionModel.redemptions[].rowType

Always 'normal' for redemptions

redemptionModel.redemptions[].tradeType

Always 'Redemption' for redemptions

redemptionModel.redemptions[].offerCategory

Always 'null' for redemptions

redemptionModel.redemptions[].redemptionEventName

Redemption Event Name

redemptionModel.redemptions[].unitClass

Unit Class

redemptionModel.redemptions[].unitClassDecimals

Number of decimal places applied to unit class

redemptionModel.redemptions[].status

Pending

Completed

redemptionModel.redemptions[].dealNumber

Deal Number

redemptionModel.redemptions[].holderId

Holder Id

redemptionModel.redemptions[].holderNumber

Holder Number

redemptionModel.redemptions[].holderName

Holder Name

redemptionModel.redemptions[].orderDateTime

Trade Date/Time

Format yyyy-MM-ddTHH:mm:ss

redemptionModel.redemptions[].type

Units

Percentage

Dollars

redemptionModel.redemptions[].orderUnits

When type is 'Units' or 'Percentage', then return order amount

Otherwise, return 'null'

redemptionModel.redemptions[].orderValue

When type is '%s', then return order amounnt

Otherwise, return 'null'

redemptionModel.redemptions[].estimatedUnitPrice

When status is 'COMPLETED', then return 'null''

Otherwise, return the daily price application unit price, if not exists, return daily price NAV (if exists)

redemptionModel.redemptions[].estimatedUnits

When status is 'COMPLETED', then return 'null'

When status is NOT 'COMPLETED' and type is 'Units' or 'Percentage', then return order amount

When status is NOT 'COMPLETED' and type is 'Dollars', then return order amount divided by (daily price for redemption, if not exists, daily price for NAV)

redemptionModel.redemptions[].estimatedValue

When status is 'COMPLETED', then return 'null'

When status is NOT 'COMPLETED' and type is 'Dollars', then return order amount multiplied by (daily price for redemption, if not exists, daily price for NAV)

redemptionModel.redemptions[].paid

Always 'null' for redemptions

redemptionModel.redemptions[].paidAmount

Always 'null' for redemptions

redemptionModel.redemptions[].paidDate

Always 'null' for redemptions

redemptionModel.redemptions[].crsDate

Most recent FATCA/CRS declaration (if exists and not reportable)

Format yyyy-MM-dd

redemptionModel.redemptions[].wholesaleCertDate

Date wholesale certificate was issued

Format yyyy-MM-dd

redemptionModel.redemptions[].tradeDate

When status is 'COMPLETED', return tradeDate date

Otherwise, return projected tradeDate date.

Format yyyy-MM-dd

redemptionModel.redemptions[].settlementDate

Date the tranche was requested

Format yyyy-MM-dd

redemptionModel.redemptions[].unitPrice

Unit price at time of tranche

redemptionModel.redemptions[].unitAmount

Unit amount at the time of tranche

redemptionModel.redemptions[].dollarValue

Dollar amount at the time of tranche

redemptionModel.redemptions[].email

Email

redemptionModel.redemptions[].additionalEmails

Additional Emails (CSV format)

redemptionModel.redemptions[].contactName

Contact Name

redemptionModel.redemptions[].mobileNumber

Mobile Number

redemptionModel.redemptions[].workNumber

Work Number

redemptionModel.redemptions[].adviserDetails

Adviser Details

Format is '(<adviser number>) <adviser name>' (if exists)

redemptionModel.redemptions[].bpayCrn

Always 'null' for redemptions

redemptionModel.redemptions[].idResponse1.status redemptionModel.redemptions[].idResponse2.status redemptionModel.redemptions[].idResponse3.status

success

error

redemptionModel.redemptions[].idResponse1.verificationStatus redemptionModel.redemptions[].idResponse2.verificationStatus redemptionModel.redemptions[].idResponse3.verificationStatus

verified

rejected

pending

locked

info

redemptionModel.redemptions[].idResponse1.verificationUuid redemptionModel.redemptions[].idResponse2.verificationUuid redemptionModel.redemptions[].idResponse3.verificationUuid

Verification UUID

redemptionModel.redemptions[].idResponse1.parentVerificationUuid redemptionModel.redemptions[].idResponse2.parentVerificationUuid redemptionModel.redemptions[].idResponse3.parentVerificationUuid

Parent Verification UUID

redemptionModel.redemptions[].idResponse1.userId redemptionModel.redemptions[].idResponse2.userId redemptionModel.redemptions[].idResponse3.userId

User ID

redemptionModel.redemptions[].idResponse1.parentUserId redemptionModel.redemptions[].idResponse2.parentUserId redemptionModel.redemptions[].idResponse3.parentUserId

Parent User ID

redemptionModel.redemptions[].idResponse1.timestamp redemptionModel.redemptions[].idResponse2.timestamp redemptionModel.redemptions[].idResponse3.timestamp

Format yyyy-MM-ddThh:mm:ss

redemptionModel.redemptions[].idResponse1.score redemptionModel.redemptions[].idResponse2.score redemptionModel.redemptions[].idResponse3.score

Score

redemptionModel.redemptions[].idResponse1.watchList[].name redemptionModel.redemptions[].idResponse2.watchList[].name redemptionModel.redemptions[].idResponse3.watchList[].name

Watchlist names

redemptionModel.redemptions[].idResponse1.outOfWatchlist[].name redemptionModel.redemptions[].idResponse2.outOfWatchlist[].name redemptionModel.redemptions[].idResponse3.outOfWatchlist[].name

Out of Watchlist names

redemptionModel.redemptions[].idResponse1.idvRiskScore.description redemptionModel.redemptions[].idResponse2.idvRiskScore.description redemptionModel.redemptions[].idResponse3.idvRiskScore.description

Undefined

Low

Low to Medium

Medium

Medium to High

High

redemptionModel.redemptions[].idv1RevisedRiskRating redemptionModel.redemptions[].idv2RevisedRiskRating redemptionModel.redemptions[].idv3RevisedRiskRating

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

redemptionModel.redemptions[].idv1RiskRating redemptionModel.redemptions[].idv2RiskRating redemptionModel.redemptions[].idv3RiskRating

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

redemptionModel.redemptions[].idv1CreatedDate redemptionModel.redemptions[].idv2CreatedDate redemptionModel.redemptions[].idv3CreatedDate

Format yyyy-MM-ddTHH:mm:ss

redemptionModel.redemptions[].customQnAs

Always 'null' for redemptions


Version 4

Steps:

  1. Call request report API

  2. Call report status API

  3. Call download report

async report flow
Step 1: Request Report
$ curl 'https://automic-api-demo-domain.com.au/api/report/async/fund-cash-flow/v4/issuer/1111?fromTradeDate=2022-01-01&toTradeDate=2022-12-31&fromOrderDateTime=2022-01-01T02:00:01&toOrderDateTime=2022-12-23T02:00:00&searchByTradeDate=true&tradeType=All&orderStatuses=Completed&includeInvestorDetails=false&includeVerificationDetails=false' -i -X POST \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -H 'Accept: application/json'

Path Parameters

Table 22. /api/report/async/fund-cash-flow/v4/issuer/{issuerId}
Parameter Description

issuerId

the issuer id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parameters

Details
Parameter Description

fromTradeDate

Required: No

Format: YYYY-MM-DD

toTradeDate

Required: No

Format: YYYY-MM-DD

fromOrderDateTime

Required: No

Format: yyyy-MM-dd’T’HH:mm:ss

toOrderDateTime

Required: No

Format: yyyy-MM-dd’T’HH:mm:ss

searchByTradeDate

Value(s):

true

false

When searchByTradeDate=false, it will search by order datetime

tradeType

Required: No

Default: All

Value(s):

Application

Redemption

All

orderStatuses

Required: No

Value(s):

When searchByTradeDate=true, allowed values:

PendingConfirmed, Completed

When searchByTradeDate=false, allowed values:

Pending, PendingConfirmed, Completed

includeVerificationDetails

Required: No

Default: false

Value(s):

true

false

includeInvestorDetails

Required: No

Default: false

Value(s):

true

false

Response Example

Details
{
  "issuerId" : 1111,
  "reportId" : null,
  "links" : [ {
    "rel" : "status",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/{reportId}/status"
  } ]
}
Step 2: Report Status
  • Extract status href from async report request API response.

  • Call the report status API until response returns ready is true or response returns error.

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/status' -i -X GET \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Path Parameters

Table 23. /api/report/async/v1/issuer/{issuerId}/report/{reportId}/status
Parameter Description

issuerId

the issuer id

reportId

the report id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "reportStatus" : {
    "reportId" : 9111,
    "requestedTimeUtc" : "2025-06-12T16:28:25.182Z",
    "reportName" : "Mock report name",
    "format" : "JSON",
    "issuerId" : 1111,
    "status" : "COMPLETE",
    "errorMessage" : null,
    "error" : false,
    "inProgress" : false,
    "ready" : true
  },
  "links" : [ {
    "rel" : "download",
    "href" : "https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download"
  } ]
}

Response Fields

Details
Path Type Description

reportStatus.reportId

Number

report Id

reportStatus.requestedTimeUtc

String

request time in UTC timezone

reportStatus.reportName

String

report name

reportStatus.format

String

report format, only supported JSON via API

reportStatus.issuerId

Number

issuer id which the requested report belongs to

reportStatus.status

String

report process status

Value(s):

NEW

PROCESSING

COMPLETE

ERROR

reportStatus.errorMessage

Null

error message when report processed in failure state

reportStatus.error

Boolean

report generation with error indication

Value(s):

true/false

reportStatus.ready

Boolean

report ready to download indication

Value(s):

true/false

reportStatus.inProgress

Boolean

report generation in progress indication

Value(s):

true/false

links.[].rel

String

hypermedia reference

links.[].href

String

hypermedia link

Step 3: Download Report
  • Extract download href value from async report status API

  • Call the download API to fetch JSON file.

Request

$ curl 'https://automic-api-demo-domain.com.au/api/report/async/v1/issuer/1111/report/9111/download' -i -X GET \
    -H 'Content-Type: application/octet-stream' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE'

Json File Content Example

Details
{
  "issuer" : {
    "id" : 1111,
    "name" : "ABC Limited",
    "code" : "ABC",
    "parentId" : null
  },
  "requestedFromDate" : "2025-05-24",
  "requestedToDate" : "2025-06-13",
  "requestedTradeType" : "All",
  "requestedOrderStatus" : "All",
  "generatedOn" : "2025-06-13T02:28:24",
  "requestedIncludeVerificationDetails" : false,
  "requestedIncludeInvestorDetails" : false,
  "applicationModel" : {
    "pendingApplicationUnits" : "10000.25",
    "pendingApplicationDollars" : "1000.5",
    "completedApplicationUnits" : "50000.1",
    "completedApplicationDollars" : "5000.2",
    "applications" : [ {
      "tradeType" : "Application - additional",
      "redemptionEventName" : null,
      "offerCategory" : "Public",
      "unitClass" : "ABC",
      "unitClassDecimals" : 2,
      "status" : "Completed",
      "dealNumber" : "unique reference number",
      "holderId" : 111,
      "holderNumber" : "I111",
      "holderName" : "MR SRN INVESTOR",
      "orderDateTime" : "2025-06-13T02:28:24",
      "type" : "Amount",
      "orderUnits" : null,
      "orderValue" : "25000.5",
      "estimatedUnitPrice" : "10000.5",
      "estimatedUnits" : "5000.25",
      "estimatedValue" : "2000.5",
      "paid" : "Paid",
      "paidAmount" : "10",
      "paidDate" : "2025-06-13",
      "crsDate" : "2025-06-13",
      "wholesaleCertDate" : "2025-06-13",
      "tradeDate" : "2025-06-13",
      "settlementDate" : "2025-06-13",
      "unitPrice" : "1",
      "unitAmount" : "10",
      "dollarValue" : "1",
      "email" : "email",
      "additionalEmails" : "additional@email.com,other@email.org",
      "contactName" : "contact name",
      "mobileNumber" : "contact mobile",
      "workNumber" : "contact work",
      "adviserDetails" : "(123456) Mr Good Adviser",
      "bpayCrn" : "0284918234743923",
      "rowType" : "normal",
      "customQnAs" : [ {
        "question" : "question1",
        "answer" : "answer1"
      }, {
        "question" : "question2",
        "answer" : "answer2"
      } ],
      "idv1CreatedDate" : "2025-06-13T02:28:24",
      "idv2CreatedDate" : "2025-06-14T02:28:24",
      "idv3CreatedDate" : "2025-06-15T02:28:24",
      "idResponse1" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : "verified",
        "verificationUuid" : "229254b5-ef42-4bdf-9157-d0dee8b3cf42",
        "parentVerificationUuid" : "afe8416b-28f2-4b5e-88dd-7b73d3bea779",
        "userId" : "560a043e-8f45-49be-9ece-429fc4d187b8:0",
        "parentUserId" : "90688ce8-fc65-4c16-bd27-7a291d10dd13:0",
        "timestamp" : 1749781704,
        "score" : "100",
        "watchList" : [ {
          "name" : "DFAT"
        }, {
          "name" : "PEP"
        } ],
        "outOfWatchlist" : [ {
          "name" : "ANIMAL"
        } ],
        "idvRiskScore" : {
          "description" : "Low to Medium"
        },
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse2" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse3" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "error",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idv1RevisedRiskRating" : "Low",
      "idv2RevisedRiskRating" : "Medium",
      "idv3RevisedRiskRating" : "High",
      "idv1RiskRating" : "Low",
      "idv2RiskRating" : "Medium",
      "idv3RiskRating" : "High",
      "wholesaleCertVerified" : "Not Verified",
      "customAdviserQuestion" : "some custom adviser question",
      "customAdviserAnswer" : true,
      "unresolvedDDO" : "Yes - Approved to accept"
    } ]
  },
  "redemptionModel" : {
    "pendingRedemptionUnits" : "10000.25",
    "pendingRedemptionDollars" : "1000.5",
    "completedRedemptionUnits" : "50000.1",
    "completedRedemptionDollars" : "5000.2",
    "pendingRedemptionUnitsBreakDowns" : {
      "Dollars" : "50000.1",
      "Units" : "50000.1",
      "Percentage" : "50000.1"
    },
    "pendingRedemptionDollarsBreakDown" : {
      "Dollars" : "5000.2",
      "Units" : "5000.2",
      "Percentage" : "5000.2"
    },
    "redemptions" : [ {
      "tradeType" : "Redemption",
      "redemptionEventName" : "Redemptions for all",
      "offerCategory" : null,
      "unitClass" : "ABC",
      "unitClassDecimals" : 2,
      "status" : "COMPLETED",
      "dealNumber" : "unique reference number",
      "holderId" : 111,
      "holderNumber" : "I111",
      "holderName" : "MR SRN INVESTOR",
      "orderDateTime" : "2025-06-13T02:28:24",
      "type" : "Dollars",
      "orderUnits" : "100000",
      "orderValue" : "25000.5",
      "estimatedUnitPrice" : "10000.5",
      "estimatedUnits" : "5000.25",
      "estimatedValue" : "2000.5",
      "paid" : null,
      "paidAmount" : null,
      "paidDate" : null,
      "crsDate" : "2025-06-13",
      "wholesaleCertDate" : "2025-06-13",
      "tradeDate" : "2025-06-13",
      "settlementDate" : "2025-06-13",
      "unitPrice" : "1",
      "unitAmount" : "10",
      "dollarValue" : "1",
      "email" : "email",
      "additionalEmails" : "additional@email.com,other@email.org",
      "contactName" : "contact name",
      "mobileNumber" : "contact mobile",
      "workNumber" : "contact work",
      "adviserDetails" : "(123456) Mr Good Adviser",
      "bpayCrn" : null,
      "rowType" : "normal",
      "customQnAs" : null,
      "idv1CreatedDate" : "2025-06-13T02:28:24",
      "idv2CreatedDate" : "2025-06-14T02:28:24",
      "idv3CreatedDate" : "2025-06-15T02:28:24",
      "idResponse1" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : "verified",
        "verificationUuid" : "d3cc20b3-fd21-48ad-ae09-220612047ac1",
        "parentVerificationUuid" : "3444170b-cb3e-4797-9a85-4675475fc009",
        "userId" : "15fad783-68ee-478b-9d9a-6ff23272ca5f:0",
        "parentUserId" : "f2c96191-67c6-469a-92dd-32bac595a792:0",
        "timestamp" : 1749781704,
        "score" : "100",
        "watchList" : [ {
          "name" : "DFAT"
        }, {
          "name" : "PEP"
        } ],
        "outOfWatchlist" : [ {
          "name" : "ANIMAL"
        } ],
        "idvRiskScore" : {
          "description" : "Low to Medium"
        },
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse2" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "success",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idResponse3" : {
        "type" : "BronIdVerificationResponseDto",
        "status" : "error",
        "verificationStatus" : null,
        "verificationUuid" : null,
        "parentVerificationUuid" : null,
        "userId" : null,
        "parentUserId" : null,
        "timestamp" : null,
        "score" : null,
        "watchList" : null,
        "outOfWatchlist" : null,
        "idvRiskScore" : null,
        "entityType" : null,
        "entityTypeRaw" : null,
        "trace" : null,
        "submissionId" : null,
        "name" : null
      },
      "idv1RevisedRiskRating" : "Low",
      "idv2RevisedRiskRating" : "Medium",
      "idv3RevisedRiskRating" : "High",
      "idv1RiskRating" : "Low",
      "idv2RiskRating" : "Medium",
      "idv3RiskRating" : "High",
      "wholesaleCertVerified" : "Not Verified",
      "customAdviserQuestion" : null,
      "customAdviserAnswer" : null,
      "unresolvedDDO" : null
    } ]
  },
  "requestedFromTradeDate" : null,
  "requestedToTradeDate" : null,
  "requestedFromOrderDateTime" : null,
  "requestedToOrderDateTime" : null,
  "requestedOrderStatuses" : null,
  "searchByTradeDate" : false
}

Json Fields

Details
Field Description

issuer.id

Automic identifier of issuer

issuer.name

issuer name

issuer.code

issuer code

issuer.parentId

issuer parentId

requestedFromDate

Requested From Date (inclusive)

Format yyyy-MM-dd

requestedToDate

Requested To Date (inclusive)

Format yyyy-MM-dd

requestedTradeType

Application

Redemption

All

requestedOrderStatus

Completed

Pending

All

generatedOn

Generated On date/time

Format yyyy-MM-ddTHH:mm:ss

applicationModel.pendingApplicationDollars

Pending Applications (Estimate) $ Total

applicationModel.pendingApplicationUnits

Pending Applications (Estimate) Units Total

applicationModel.completedApplicationDollars

Completed Applications $ Total

applicationModel.completedApplicationUnits

Completed Applications Units Total

applicationModel.applications[].rowType

parent

child

normal

applicationModel.applications[].tradeType

When rowType is 'parent', then return 'null'

Otherwise return one of:

Application - initial

Application - additional

applicationModel.applications[].offerCategory

Offer Category

applicationModel.applications[].redemptionEventName

Always 'null' for applications.

applicationModel.applications[].unitClass

Unit Class

applicationModel.applications[].unitClassDecimals

Number of decimal places applied to unit class

applicationModel.applications[].status

Pending

Completed

applicationModel.applications[].dealNumber

Deal Number

applicationModel.applications[].holderId

Holder Id

applicationModel.applications[].holderNumber

Holder Number

applicationModel.applications[].holderName

Holder Name

applicationModel.applications[].orderDateTime

Trade Date/Time

Format yyyy-MM-ddTHH:mm:ss

applicationModel.applications[].type

Always 'Amount' for applications

applicationModel.applications[].orderUnits

Always 'null' for applications

applicationModel.applications[].orderValue

Order Application $ Amount

applicationModel.applications[].estimatedUnitPrice

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

Otherwise, return the daily price application unit price, if not exists, return daily price NAV (if exists)

applicationModel.applications[].estimatedUnits

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

When Unit Price exists, return calculated units based off (order amount, unit price, unit class decimals and rounding)

Otherwise, return 'null'

applicationModel.applications[].estimatedValue

When rowType is 'parent', then 'null'

When status is 'Completed', then 'null'

Otherwise, return order amount

applicationModel.applications[].paid

Unpaid

Underpaid

Overpaid

Paid

applicationModel.applications[].paidAmount

Paid Amount

applicationModel.applications[].paidDate

Format yyyy-MM-dd

applicationModel.applications[].crsDate

Most recent FATCA/CRS declaration (if exists and not reportable)

Format yyyy-MM-dd

applicationModel.applications[].wholesaleCertDate

Wholesale certification date

Format yyyy-MM-dd

applicationModel.applications[].wholesaleCertVerified

Wholesale certificate verified

applicationModel.applications[].tradeDate

When rowType is 'child', return 'null'

When status is 'Completed', return trade date (if exists)

Otherwise, return projected tradeDate date.

Format yyyy-MM-dd

applicationModel.applications[].settlementDate

When status is 'Completed', return tranche created date

Otherwise, return 'null'

Format yyyy-MM-dd

applicationModel.applications[].unitPrice

When status is 'Completed', return tranche issue price

Otherwise, return 'null'

applicationModel.applications[].unitAmount

When status is 'Completed', return # Units

Otherwise, return 'null'

applicationModel.applications[].dollarValue

When status is 'Completed', return $ Value

Otherwise, return 'null'

applicationModel.applications[].email

Email

applicationModel.applications[].additionalEmails

Additional Emails (CSV format)

applicationModel.applications[].contactName

Contact Name

applicationModel.applications[].mobileNumber

Mobile Number

applicationModel.applications[].workNumber

Work Number

applicationModel.applications[].adviserDetails

Adviser Details

Format is '(<adviser number>) <adviser name>' (if exists)

applicationModel.applications[].bpayCrn

BPay CRN

applicationModel.applications[].customAdviserQuestion

Custom Adviser Question

applicationModel.applications[].customAdviserAnswer

Answer to the Custom Adviser Question

applicationModel.applications[].unresolvedDDO

Status of the unresolved DDO flag

applicationModel.applications[].idResponse1.status applicationModel.applications[].idResponse2.status applicationModel.applications[].idResponse3.status

Please refer to redemptionModel.redemptions[].idResponse1/2/3 documentation below

applicationModel.applications[].customQnAs[].question

Question

applicationModel.applications[].customQnAs[].answer

Answer

redemptionModel.pendingRedemptionDollars

Pending Redemptions $ Total

redemptionModel.pendingRedemptionUnits

Pending Redemptions Units Total

redemptionModel.completedRedemptionUnits

Completed Redemptions $ Total

redemptionModel.completedRedemptionDollars

Completed Redemptions Units Total

redemptionModel.pendingRedemptionDollarsBreakDown['Dollars']

Pending Redemptions $ - Redemptions By Dollars

redemptionModel.pendingRedemptionDollarsBreakDown['Units']

Pending Redemptions $ - Redemptions By Units

redemptionModel.pendingRedemptionDollarsBreakDown['Percentage']

Pending Redemptions $ - Redemptions By Percentage

redemptionModel.pendingRedemptionUnitsBreakDown['Dollars']

Pending Redemptions Units - Redemptions By Dollars

redemptionModel.pendingRedemptionUnitsBreakDown['Units']

Pending Redemptions Units - Redemptions By Units

redemptionModel.pendingRedemptionUnitsBreakDown['Percentage']

Pending Redemptions Units - Redemptions By Percentage

redemptionModel.redemptions[].rowType

Always 'normal' for redemptions

redemptionModel.redemptions[].tradeType

Always 'Redemption' for redemptions

redemptionModel.redemptions[].offerCategory

Always 'null' for redemptions

redemptionModel.redemptions[].redemptionEventName

Redemption Event Name

redemptionModel.redemptions[].unitClass

Unit Class

redemptionModel.redemptions[].unitClassDecimals

Number of decimal places applied to unit class

redemptionModel.redemptions[].status

Pending

Completed

redemptionModel.redemptions[].dealNumber

Deal Number

redemptionModel.redemptions[].holderId

Holder Id

redemptionModel.redemptions[].holderNumber

Holder Number

redemptionModel.redemptions[].holderName

Holder Name

redemptionModel.redemptions[].orderDateTime

Trade Date/Time

Format yyyy-MM-ddTHH:mm:ss

redemptionModel.redemptions[].type

Units

Percentage

Dollars

redemptionModel.redemptions[].orderUnits

When type is 'Units' or 'Percentage', then return order amount

Otherwise, return 'null'

redemptionModel.redemptions[].orderValue

When type is '%s', then return order amounnt

Otherwise, return 'null'

redemptionModel.redemptions[].estimatedUnitPrice

When status is 'COMPLETED', then return 'null''

Otherwise, return the daily price application unit price, if not exists, return daily price NAV (if exists)

redemptionModel.redemptions[].estimatedUnits

When status is 'COMPLETED', then return 'null'

When status is NOT 'COMPLETED' and type is 'Units' or 'Percentage', then return order amount

When status is NOT 'COMPLETED' and type is 'Dollars', then return order amount divided by (daily price for redemption, if not exists, daily price for NAV)

redemptionModel.redemptions[].estimatedValue

When status is 'COMPLETED', then return 'null'

When status is NOT 'COMPLETED' and type is 'Dollars', then return order amount multiplied by (daily price for redemption, if not exists, daily price for NAV)

redemptionModel.redemptions[].paid

Always 'null' for redemptions

redemptionModel.redemptions[].paidAmount

Always 'null' for redemptions

redemptionModel.redemptions[].paidDate

Always 'null' for redemptions

redemptionModel.redemptions[].crsDate

Most recent FATCA/CRS declaration (if exists and not reportable)

Format yyyy-MM-dd

redemptionModel.redemptions[].wholesaleCertDate

Date wholesale certificate was issued

Format yyyy-MM-dd

redemptionModel.redemptions[].tradeDate

When status is 'COMPLETED', return tradeDate date

Otherwise, return projected tradeDate date.

Format yyyy-MM-dd

redemptionModel.redemptions[].settlementDate

Date the tranche was requested

Format yyyy-MM-dd

redemptionModel.redemptions[].unitPrice

Unit price at time of tranche

redemptionModel.redemptions[].unitAmount

Unit amount at the time of tranche

redemptionModel.redemptions[].dollarValue

Dollar amount at the time of tranche

redemptionModel.redemptions[].email

Email

redemptionModel.redemptions[].additionalEmails

Additional Emails (CSV format)

redemptionModel.redemptions[].contactName

Contact Name

redemptionModel.redemptions[].mobileNumber

Mobile Number

redemptionModel.redemptions[].workNumber

Work Number

redemptionModel.redemptions[].adviserDetails

Adviser Details

Format is '(<adviser number>) <adviser name>' (if exists)

redemptionModel.redemptions[].bpayCrn

Always 'null' for redemptions

redemptionModel.redemptions[].idResponse1.status redemptionModel.redemptions[].idResponse2.status redemptionModel.redemptions[].idResponse3.status

success

error

redemptionModel.redemptions[].idResponse1.verificationStatus redemptionModel.redemptions[].idResponse2.verificationStatus redemptionModel.redemptions[].idResponse3.verificationStatus

verified

rejected

pending

locked

info

redemptionModel.redemptions[].idResponse1.verificationUuid redemptionModel.redemptions[].idResponse2.verificationUuid redemptionModel.redemptions[].idResponse3.verificationUuid

Verification UUID

redemptionModel.redemptions[].idResponse1.parentVerificationUuid redemptionModel.redemptions[].idResponse2.parentVerificationUuid redemptionModel.redemptions[].idResponse3.parentVerificationUuid

Parent Verification UUID

redemptionModel.redemptions[].idResponse1.userId redemptionModel.redemptions[].idResponse2.userId redemptionModel.redemptions[].idResponse3.userId

User ID

redemptionModel.redemptions[].idResponse1.parentUserId redemptionModel.redemptions[].idResponse2.parentUserId redemptionModel.redemptions[].idResponse3.parentUserId

Parent User ID

redemptionModel.redemptions[].idResponse1.timestamp redemptionModel.redemptions[].idResponse2.timestamp redemptionModel.redemptions[].idResponse3.timestamp

Format yyyy-MM-ddThh:mm:ss

redemptionModel.redemptions[].idResponse1.score redemptionModel.redemptions[].idResponse2.score redemptionModel.redemptions[].idResponse3.score

Score

redemptionModel.redemptions[].idResponse1.watchList[].name redemptionModel.redemptions[].idResponse2.watchList[].name redemptionModel.redemptions[].idResponse3.watchList[].name

Watchlist names

redemptionModel.redemptions[].idResponse1.outOfWatchlist[].name redemptionModel.redemptions[].idResponse2.outOfWatchlist[].name redemptionModel.redemptions[].idResponse3.outOfWatchlist[].name

Out of Watchlist names

redemptionModel.redemptions[].idResponse1.idvRiskScore.description redemptionModel.redemptions[].idResponse2.idvRiskScore.description redemptionModel.redemptions[].idResponse3.idvRiskScore.description

Undefined

Low

Low to Medium

Medium

Medium to High

High

redemptionModel.redemptions[].idv1RevisedRiskRating redemptionModel.redemptions[].idv2RevisedRiskRating redemptionModel.redemptions[].idv3RevisedRiskRating

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

redemptionModel.redemptions[].idv1RiskRating redemptionModel.redemptions[].idv2RiskRating redemptionModel.redemptions[].idv3RiskRating

Undefined

Low

LowToMedium

Medium

MediumToHigh

High

redemptionModel.redemptions[].idv1CreatedDate redemptionModel.redemptions[].idv2CreatedDate redemptionModel.redemptions[].idv3CreatedDate

Format yyyy-MM-ddTHH:mm:ss

redemptionModel.redemptions[].customQnAs

Always 'null' for redemptions


WRITE API’S

IPO Applications

Overview

Allows you to submit an IPO application.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/applications/v1/new' -i -X POST \
    -H 'Content-Type: multipart/form-data' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -F 'files=@file1.pdf;type=application/pdf' \
    -F 'wholesaleCertificateFile=@certificate.pdf;type=application/pdf' \
    -F 'dto=@json_payload.json;type=application/json'

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Request Parts

Details
Part Description

dto

JSON Payload

files

Application files

wholesaleCertificateFile

Your wholesale certificate file

Json File Content Example

Details
{
  "id" : null,
  "corporateActionId" : 527,
  "selectedHolderId" : null,
  "amount" : "100000",
  "registrationDetails" : "MR JOHN DOE,                  14 COOPERS ST                 BALMAIN NSW                                                                                                     2041    ",
  "hin" : null,
  "contactName" : "JOHN DOE",
  "contactPhone" : "042404040",
  "homeNumber" : null,
  "workNumber" : null,
  "contactEmail" : "john.doe@somebodysomeone.com",
  "additionalEmails" : [ "john1@gmail.com", "john2@gmail.com", "john3@gmail.com", "john4@gmail.com", "john5@gmail.com" ],
  "designatorTaxDetail" : false,
  "applicant1" : {
    "entityName" : "John Doe",
    "investorType" : "Individual",
    "tfn" : "00000000",
    "abn" : "00000000",
    "exemption" : null,
    "designator" : null
  },
  "applicant2" : {
    "entityName" : "Jane Doe",
    "investorType" : "Individual",
    "tfn" : "11111111",
    "abn" : "11111111",
    "exemption" : null,
    "designator" : null
  },
  "applicant3" : null,
  "taxCountry" : "AUS",
  "questionAnswerDtos" : [ {
    "questionLabel" : "Question 1",
    "answer" : "Answer for question 1",
    "customAttribute" : false,
    "issuerAttributeId" : null
  }, {
    "questionLabel" : "Custom Attribute 1",
    "answer" : "Answer for custom attribute 1",
    "customAttribute" : true,
    "issuerAttributeId" : 1
  }, {
    "questionLabel" : "Custom Attribute 2",
    "answer" : "Answer for custom attribute 2",
    "customAttribute" : true,
    "issuerAttributeId" : 2
  } ],
  "ipoApplicationCustomAttachmentDtos" : [ {
    "attachmentFilename" : "Application.pdf",
    "originalFileName" : "file.pdf",
    "visibleOnShareholderPortal" : true
  } ],
  "accountName" : "ACC",
  "bsb" : "123-456",
  "accountNumber" : "1234567",
  "brokerCode" : "ABC123",
  "adviserNumber" : "288513",
  "licenceNumber" : "409424",
  "fullDeclarationProvided" : false,
  "fatcaCrsDeclaration" : "AustralianResident",
  "ipAddress" : null,
  "drpPreference" : {
    "participation" : null,
    "percentage" : null,
    "unit" : 100000
  },
  "promoCode" : null,
  "holderWholesaleCertificateId" : null,
  "wholesaleCertificationDate" : "2024-06-26",
  "wholesaleCertificateExemptionReasonType" : "CERTIFICATE_REQUIRED",
  "wholesaleCertificateExemptionReason" : "I have/we have net assets of at least .5 million, and I am/we are applying for Units in the Fund for a purpose other than for use in connection with a business",
  "wholesaleCertificationProvided" : false,
  "allowCustomAdviserQuestion" : true,
  "customAdviserQuestion" : "Adviser question",
  "customAdviserQuestionAnswer" : "Yes",
  "paymentType" : "BPay",
  "iban" : null,
  "accountNumberSuffix" : null,
  "overseasBankDomicile" : null,
  "overseasBankDomicileDto" : null,
  "currency" : null,
  "currencyDto" : null,
  "overseasAccountNumber" : null,
  "overseasAccountName" : null,
  "overseasBranch" : null,
  "overseasBankName" : null,
  "overseasBranchCode" : null,
  "swiftCode" : null,
  "phoneNumber" : null,
  "primaryBankContactName" : null,
  "cnapsNumber" : null,
  "overseasBeneficiaryAddress" : null,
  "overseasBeneficiaryCity" : null,
  "overseasBeneficiaryState" : null,
  "overseasBeneficiaryPostcode" : null,
  "overseasBeneficiaryCountry" : null,
  "overseasBeneficiaryCountryDto" : null,
  "overseasIntermediaryBankName" : null,
  "overseasIntermediaryBankAccountNumber" : null,
  "overseasIntermediaryBankSwiftCode" : null,
  "allowablePaymentTypes" : null
}

Response Example

Details
{
  "id" : null,
  "corporateActionId" : null,
  "selectedHolderId" : null,
  "amount" : "100000",
  "registrationDetails" : "MR JOHN DOE,                  14 COOPERS ST                 BALMAIN NSW                                                                                                     2041    ",
  "hin" : null,
  "contactName" : "JOHN DOE",
  "contactPhone" : "042404040",
  "homeNumber" : null,
  "workNumber" : null,
  "contactEmail" : "john.doe@somebodysomeone.com",
  "additionalEmails" : [ "john1@gmail.com", "john2@gmail.com", "john3@gmail.com", "john4@gmail.com", "john5@gmail.com" ],
  "designatorTaxDetail" : false,
  "applicant1" : {
    "entityName" : "John Doe",
    "investorType" : "Individual",
    "tfn" : "00000000",
    "abn" : "00000000",
    "exemption" : null,
    "designator" : null
  },
  "applicant2" : {
    "entityName" : "Jane Doe",
    "investorType" : "Individual",
    "tfn" : "11111111",
    "abn" : "11111111",
    "exemption" : null,
    "designator" : null
  },
  "applicant3" : null,
  "taxCountry" : "AUS",
  "questionAnswerDtos" : [ {
    "questionLabel" : "Question 1",
    "answer" : "Answer for question 1",
    "customAttribute" : false,
    "issuerAttributeId" : null
  }, {
    "questionLabel" : "Custom Attribute 1",
    "answer" : "Answer for custom attribute 1",
    "customAttribute" : true,
    "issuerAttributeId" : 1
  }, {
    "questionLabel" : "Custom Attribute 2",
    "answer" : "Answer for custom attribute 2",
    "customAttribute" : true,
    "issuerAttributeId" : 2
  } ],
  "ipoApplicationCustomAttachmentDtos" : [ {
    "attachmentFilename" : "Application.pdf",
    "originalFileName" : "file.pdf",
    "visibleOnShareholderPortal" : true
  } ],
  "accountName" : "ACC",
  "bsb" : "123-456",
  "accountNumber" : "1234567",
  "brokerCode" : "ABC123",
  "adviserNumber" : "288513",
  "licenceNumber" : "409424",
  "fullDeclarationProvided" : false,
  "fatcaCrsDeclaration" : "AustralianResident",
  "ipAddress" : null,
  "drpPreference" : {
    "participation" : null,
    "percentage" : null,
    "unit" : 100000
  },
  "promoCode" : null,
  "holderWholesaleCertificateId" : 1,
  "wholesaleCertificationDate" : "2024-06-26",
  "wholesaleCertificateExemptionReasonType" : "CERTIFICATE_REQUIRED",
  "wholesaleCertificateExemptionReason" : "I have/we have net assets of at least .5 million, and I am/we are applying for Units in the Fund for a purpose other than for use in connection with a business",
  "wholesaleCertificationProvided" : false,
  "allowCustomAdviserQuestion" : true,
  "customAdviserQuestion" : "Adviser question",
  "customAdviserQuestionAnswer" : "Yes",
  "paymentType" : "BPay",
  "iban" : null,
  "accountNumberSuffix" : null,
  "overseasBankDomicile" : null,
  "overseasBankDomicileDto" : null,
  "currency" : null,
  "currencyDto" : null,
  "overseasAccountNumber" : null,
  "overseasAccountName" : null,
  "overseasBranch" : null,
  "overseasBankName" : null,
  "overseasBranchCode" : null,
  "swiftCode" : null,
  "phoneNumber" : null,
  "primaryBankContactName" : null,
  "cnapsNumber" : null,
  "overseasBeneficiaryAddress" : null,
  "overseasBeneficiaryCity" : null,
  "overseasBeneficiaryState" : null,
  "overseasBeneficiaryPostcode" : null,
  "overseasBeneficiaryCountry" : null,
  "overseasBeneficiaryCountryDto" : null,
  "overseasIntermediaryBankName" : null,
  "overseasIntermediaryBankAccountNumber" : null,
  "overseasIntermediaryBankSwiftCode" : null,
  "allowablePaymentTypes" : null,
  "applicationId" : 123456,
  "offerName" : null,
  "issuerName" : null,
  "closingDate" : null,
  "bpayBillerCode" : null,
  "bpayCrn" : null,
  "holderNumber" : "564324872",
  "holderId" : 123,
  "holderCheckId" : null,
  "uniqueReferenceNumber" : null
}

Json Fields

Details
Field Description

id

Automic identifier

corporateActionId

ID of the corporate action

registrationDetails

Registration details of the applicant

amount

Amount being invested

hin

Holder Identification Number (HIN)

contactName

Name of the contact person

contactPhone

Phone number of the contact person

homeNumber

Home phone number of the contact person

workNumber

Work phone number of the contact person

contactEmail

Email of the contact person

additionalEmails

An array containing additional email addresses

designatorTaxDetail

Boolean indicating if there are designator tax details

applicant1.entityName

Name of the entity

applicant1.investorType

Type of investor

Value(s):

Individual

Corporation

Trust

Partnership

SuperannuationFund

DeceasedIndividual

GovernmentOrganisation

OtherNonIndividual

applicant1.tfn

Tax file number

applicant1.abn

ABN

applicant1.exemption

Tax exemption

applicant1.designator

Account designator

applicant2.entityName

Name of the entity

applicant2.investorType

Type of investor

Value(s):

Individual

Corporation

Trust

Partnership

SuperannuationFund

DeceasedIndividual

GovernmentOrganisation

OtherNonIndividual

applicant2.tfn

Tax file number

applicant2.abn

ABN

applicant2.exemption

Tax exemption

applicant2.designator

Account designator

applicant3.entityName

Name of the entity

applicant3.investorType

Type of investor

Value(s):

Individual

Corporation

Trust

Partnership

SuperannuationFund

DeceasedIndividual

GovernmentOrganisation

OtherNonIndividual

applicant3.tfn

Tax file number

applicant3.abn

ABN

applicant3.exemption

Tax exemption

applicant3.designator

Account designator

taxCountry

Country of tax

questionAnswerDtos[].questionLabel

Label of the question

questionAnswerDtos[].answer

Answer to the question

questionAnswerDtos[].customAttribute

Boolean indicating if the attribute is custom

questionAnswerDtos[].issuerAttributeId

ID of the issuer attribute

ipoApplicationCustomAttachmentDtos[].attachmentFilename

Attachment file name

ipoApplicationCustomAttachmentDtos[].originalFileName

Original file name

ipoApplicationCustomAttachmentDtos[].visibleOnShareholderPortal

Boolean indicating if the attachment is visible on the shareholder portal

accountName

Name of the account

bsb

BSB number

accountNumber

Account number

brokerCode

Broker code

adviserNumber

Adviser number

licenceNumber

Licence number

fullDeclarationProvided

Boolean indicating if the full declaration was provided

fatcaCrsDeclaration

FATCA CRS declaration

Value(s):

AustralianResident

AustralianOldAgeFund

DeceasedEstate

PublicListedCompany

GovernmentOrganisation

NonAustralianResident

Others

drpPreference.participation

Type of participation

Value(s):

Full

FixedUnit

FixedPercent

None

NonExistent

drpPreference.unit

Unit value, applicable if participation is FixedUnit or FixedPercentage

promoCode

Promotional code

wholesaleCertificationDate

Date of wholesale certification

wholesaleCertificateExemptionReasonType

Type of wholesale certificate exemption reason

Value(s):

CERTIFICATE_REQUIRED

CERTIFICATE_OPTIONAL

wholesaleCertificateExemptionReason

Reason for wholesale certificate exemption

wholesaleCertificationProvided

Boolean indicating if the wholesale certification was provided

allowCustomAdviserQuestion

Boolean indicating if custom adviser questions are allowed

customAdviserQuestion

Custom adviser question

customAdviserQuestionAnswer

Answer to the custom adviser question

paymentType

Type of payment

Value(s):

DirectCreditAU

DirectCreditNZ

DirectCreditInternationalBank

Cheque

BPay

Deposit

TransferFunds

CreditRemoval

Conversion

Overpayment

Scaleback

BeneficialHolderApplication

BeneficialHolderReversal

SPPPaymentReversal

iban

International Bank Account Number

accountNumberSuffix

Account number suffix

overseasBankDomicile

Domicile of the overseas bank

currency

Currency of the overseas account

overseasAccountNumber

Number of the overseas account

overseasAccountName

Name of the overseas account

overseasBranch

Branch of the overseas bank

overseasBankName

Name of the overseas bank

overseasBranchCode

Branch code of the overseas bank

swiftCode

SWIFT code of the overseas bank

overseasBeneficiaryAddress

Address of the overseas beneficiary

overseasBeneficiaryCity

City of the overseas beneficiary

overseasBeneficiaryState

State of the overseas beneficiary

overseasBeneficiaryPostcode

Postcode of the overseas beneficiary

overseasBeneficiaryCountry

Country of the overseas beneficiary

overseasIntermediaryBankName

Name of the intermediary overseas bank

overseasIntermediaryBankAccountNumber

Account number of the intermediary overseas bank


Redemptions

Overview

Allows you to submit redemption orders for the holder.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/v1/shareholder/2842838/redemptions' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -d '{
  "corporateActionId" : 6121,
  "holderId" : 2842838,
  "redemptionMethod" : "Dollars",
  "amount" : 12,
  "percentage" : ""
}'

Path Parameters

Table 24. /api/v1/shareholder/{holderId}/redemptions
Parameter Description

holderId

the shareholder id

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response Example

Details
{
  "id" : 12345,
  "referenceNumber" : "SO-123456",
  "createdDate" : "2025-06-13T02:28:23+0000"
}

Json Fields

Details
Field Description

holderId

Unique identifier for the shareholder - mandatory.

2842838

corporateActionId

The corporate action ID - mandatory.

6121

redemptionMethod

The redemption method valid values are: Units Percentage Dollars

Units

amount

The amount to redeem when using the Units or Dollars method. If redemptionMethod is Units or Dollars, the amount field must be provided and must be a valid number.

50

percentage

The percentage of holdings to redeem when using the Percentage method. If redemptionMethod is Percentage, the percentage field must be provided and must be a valid number.

1

Communication Preferences

Overview

Allows you to update communication preferences for a holder.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/v1/shareholder/123/communicationpreferences/456' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -d '{
  "holderId" : 123,
  "issuerId" : 456,
  "issuerCode" : "ABC",
  "name" : "ABC Corporation",
  "email" : "john.doe@example.com",
  "additionalEmails" : [ "john.doe@domain1.com", "john.doe@domain2.com" ],
  "mobileNumber" : "0451 111 111",
  "workNumber" : "04 999 888",
  "communicationOption" : "EA"
}'

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response

This endpoint returns a HTTP 200 OK with an empty body on successful update.

Json Fields

Details
Field Description

holderId

Unique identifier for the shareholder - mandatory.

123

issuerId

Unique identifier for the issuer - mandatory.

456

issuerCode

The code for the issuer - mandatory.

ABC

name

The name of the shareholder (up to 100 characters) - mandatory.

John Doe

email

The email address of the shareholder (up to 255 characters) - mandatory.

john.doe@example.com

additionalEmails

An array of additional email addresses associated with the shareholder - optional.

mobileNumber

The mobile number of the shareholder (up to 35 characters) - mandatory.

+61424739948

workNumber

The work number of the shareholder (up to 25 characters) - optional.

+61212345678

communicationOption

Specifies the communication option selected by the shareholder. Includes: EA - Electronic Only / Email all Investor Communications EX - Post Dividends / Email all Investor Communications, excluding dividend statements EY - Post Annual Report / Post annual report, all other documents by email PA - Post All / Post all Investor Communications, including the annual report and physical Notice of Meeting PX - No Annual Report / No annual report, all other Investor Communications by post (no physical Notice of Meeting) PY - Post Physical Notice Of Meeting / Post Physical Notice of Meeting and other investor communications (No annual report)

EA

Payment Instructions

Overview

Allows you to update payment instruction for a holder.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/v1/shareholder/1/paymentinstructions/1' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -d '{
  "holderId" : 1,
  "issuerId" : 1,
  "primaryBankAccount" : {
    "bsb" : "123-456",
    "accountNumber" : "12345678",
    "accountName" : "Primary Account"
  },
  "secondaryBankAccount" : {
    "bsb" : "345-678",
    "accountNumber" : "98765432",
    "accountName" : "Secondary Account"
  }
}'

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response

This endpoint returns a HTTP 200 OK with an empty body on successful update.

Json Fields

Details
Field Description

holderId

Unique identifier for the shareholder - mandatory.

123

issuerId

Unique identifier for the issuer - mandatory.

456

primaryBankAccount

Details of the primary bank account for payments. Mandatory if secondary bank account details are provided. Warning: If primary and secondary bank account details are omitted or set to null in the request, they will be deleted.

"primaryBankAccount": {
    "bsb": "123-456",
    "accountNumber": "12345678",
    "accountName": "John Doe",
  }

primaryBankAccount.bsb

The Bank State Branch (BSB) code in the format XXX-XXX - mandatory.

123-456

primaryBankAccount.accountNumber

The bank account number (up to 9 digits) - mandatory.

12345678

primaryBankAccount.accountName

The name associated with the primary bank account (up to 100 characters) - mandatory.

John Doe

secondaryBankAccount

Details of the secondary bank account for payments. Warning: If secondary bank account details are omitted or set to null in the request, they will be deleted.

"secondaryBankAccount": {
    "bsb": "456-678",
    "accountNumber": "98765432",
    "accountName": "Jane Doe",
  }

secondaryBankAccount.bsb

The Bank State Branch (BSB) code in the format XXX-XXX - mandatory.

345-678

secondaryBankAccount.accountNumber

The bank account number (up to 9 digits) - mandatory.

98765432

secondaryBankAccount.accountName

The name associated with the secondary bank account (up to 100 characters) - mandatory.

Jane Doe

Tax Details

Overview

Allows you to update tax details for a holder.

Version 1

Request

$ curl 'https://automic-api-demo-domain.com.au/api/v1/shareholder/123/taxdetails/456' -i -X POST \
    -H 'Content-Type: application/json' \
    -H 'X-API-Key: 20bb76z6-a8x8-9810-b313-fe232229663a' \
    -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhdXRvbWljIiwiYXVkIjoiMiIsInN1YiI6IjU5ZmEyNmZmLTBkNTMtNGMzZS1hZjc3LTgxYzgyNzc3ODJhMyIsImlhdCI6MTY0NTg1MTU2MSwiZXhwIjoxNjQ1ODUxNTYzfQ.UKl2xEKeIH1p3YZlYE7eHU7MusCgbOcu9x1OvGVImKE' \
    -d '{
  "holderId" : 123,
  "holderNumber" : "I00000000001",
  "issuerId" : 456,
  "issuerCode" : "ABC",
  "taxEntities" : [ {
    "investorType" : "Individual",
    "tfn" : "378067250",
    "abn" : null,
    "exemption" : null,
    "designator" : null
  }, {
    "investorType" : "Individual",
    "tfn" : null,
    "abn" : "50110219460",
    "exemption" : null,
    "designator" : null
  } ],
  "taxCountry" : "AUS",
  "designatorTaxDetail" : false
}'

Request Headers

Name Description

Authorization

Bearer type associated with access token

X-API-Key

API key for request throttling

Response

This endpoint returns a HTTP 200 OK with an empty body on successful update.

Json Fields

Details
Field Description

holderId

Unique identifier for the shareholder - mandatory.

123

holderNumber

Unique shareholder number - mandatory.

I00000000001

issuerId

Unique identifier for the issuer - mandatory.

456

issuerCode

The code for the issuer - mandatory.

ABC

taxEntities

A list of tax entities associated with the shareholder - mandatory.

Please note that the number of tax entities must match the number of parties in the registration details. If designatorTxDetail is true, then the first entity should contain valid tax details, the remaining entities must have null values.

Example:

{
  "taxEntities": [
    {
      "investorType": "Individual",
      "tfn": "22223333"
      "abn": null
      "exemption": null
      "designator": null
    },
    {
      "investorType": null,
      "tfn": null,
      "abn": null
      "exemption": null
      "designator": null
    },
    {
      "investorType": null,
      "tfn": null,
      "abn": null
      "exemption": null
      "designator": null
    }
  ],
  "designatorTaxDetail": true
}
{
  "taxEntities": [
    {
      "investorType": "Individual",
      "tfn": "11111111"
    },
    {
      "investorType": "Partnership",
      "abn": "22211221"
    },
    {
      "investorType": "Individual",
      "exemption": "33331223"
    }
  ],
  "designatorTaxDetail": false
}

taxEntity.investorType

The type of investor - mandatory.

Valid values when designatorTaxDetail is true:

  • Trust

  • Partnership

  • SuperannuationFund

Valid values when designatorTaxDetail is false:

  • Individual

  • Corporation

  • Trust

  • Partnership

  • SuperannuationFund

  • DeceasedIndividual

  • GovernmentOrganisation

  • OtherNonIndividual

Please note: When designatorTaxDetail is true, all entities except the first one should have investorType set to null.

Individual

taxEntity.tfn

The tax file number.

Please note: When designatorTaxDetail is true, all entities except the first one should have tfn set to null.

1121222

taxEntity.abn

The Australian Business Number of the entity, if applicable.

Please note: When designatorTaxDetail is true, all entities except the first one should have abn set to null.

50110219460

taxEntity.exemption

The exemption status of the entity, if applicable.

Valid values are:

  • 00000000000

  • 00333333333

  • 00444444441

  • 00444444442

  • 00555555555

  • 00666666666

  • 00777777777

  • 00888888888

  • 00987654321

Please note: When designatorTaxDetail is true, then for all entities except the first one, exemption should be null.

00333333333

taxEntity.designatorPlease note:

When designatorTaxDetail is true, all entities except the first one should have exemption set to null.

Designator information.

SUPERFUND A/C

taxCountry

The country associated with the shareholder’s tax details - mandatory.

AUS

designatorTaxDetail

Indicates if the tax details are designator-specific - mandatory.

false

© 2025 Automic Pty Ltd