Introduction
The Praemium Application Programming Interface (API) enables your organisation to access information about your clients' portfolios from our system securely and on demand.
This site provides you with full details of each of the endpoints in the API, including the URL, parameters, validation tips, and what to expect in our response.
If you are interested in using our API please contact our product team at [email protected]. They can answer any queries you may have and ensure all our compliance and contractual requirements are met.
After the Product team has approved your use of our API, and you're ready to start developing, please contact our Client Services team at [email protected] to obtain a token is issued that allows access to our test environment. The test environment tokens are valid for 3* months and can be reissued upon request.
Once your application is fully developed, you can request a token for the Production environment. We have a number of different endpoints available. To check what you have access to please consult the data feeds team at Praemium. Below is a summary of the endpoint availability for your token:
Standard | SMA/Robo | Enterprise | Model Manager | |
---|---|---|---|---|
Portfolio Account | ✔ | ✔ | ✔ | |
Performance | ✔ | ✔ | ✔ | |
Tax | ✔ | ✔ | ✔ | |
Trading Activity | ✔ | ✔ | ✔ | |
Income | ✔ | ✔ | ✔ | |
Expenses | ✔ | ✔ | ✔ | |
Reports and Files | ✔ | ✔ | ✔ | |
SSO | ✔ | ✔ | ✔ | |
Account Creation | ✔ | ✔ | ||
Applicant Creation | ✔ | ✔ | ||
PDS Get | ✔ | ✔ | ||
Linking Users | ✔ | ✔ | ||
Bulk | ✔ | |||
Create Applications via AP | ✔ | ✔ | ||
User Management | ✔ | ✔ | ||
Models | ✔ |
If there are any endpoints that you require and we have not listed, please contact for further information.
Authentication
Tokens
Access to the API is protected by a security token.
In order to access the Premium API, you will need to be granted a token to authenticate and authorise your application.
Applications that try to access the API without a valid token will receive a 403 (Forbidden) response.
To make calls to the API, simply add the token as the x-pps-token header value in each HTTP request.
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Versioning
Specifying a Version
The API is versioned so that we can continually release new features and improvements without affecting existing implementations.
To specify the API version, simply add the HTTP header x-pps-api-version to each request as shown below:
x-pps-api-version: 2020.09.21
Documentation related to previous versions can be found here.
Portfolio Details
GET Portfolios
Definition: https://api.praemium.biz/public/api/portfolios
Returns a list of accessible portfolios based on the Portfolio search string parameter. A maximum of 500 results is returned in each response with supported paging.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
Portfolio: SMA00027*
UserID: JohnSmith
Query Parameters
Parameter | Type | Description |
---|---|---|
Portfolio | string | Portfolio search string. This parameter accepts wildcards (*) |
InternalID | integer | Retrieve details for an individual portfolio based on its InternalID |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Page | integer | Page number to return. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"PortfolioCount": {
"RecordsFound": 5,
"RecordsReturned": 5,
"PageCount": 1
},
"Portfolios": [
{
"InternalID": 27000,
"PortfolioID": "SMA00027000",
"PortfolioName": "257;838;373;Portfolio 27000",
"ConsolidatedPortfolioType": "None",
"Status": "Closed",
"RecalcType": "Manual",
"RecalcStatus": "OK",
"ProcessedTo": "2019-05-01T00:00:00Z",
"HasUnmatchedTransactions": true
},
{
"InternalID": 27001,
"PortfolioID": "SMA00027001",
"PortfolioName": "257;4486;2651;Portfolio 27001",
"ConsolidatedPortfolioType": "None",
"Status": "Active",
"RecalcType": "Auto",
"RecalcStatus": "OK",
"ProcessedTo": "2019-09-13T00:00:00Z",
"HasUnmatchedTransactions": false
},
{
"InternalID": 27002,
"PortfolioID": "SMA00027002",
"PortfolioName": "257;838;373;Portfolio 27002",
"ConsolidatedPortfolioType": "None",
"Status": "Active",
"RecalcType": "Auto",
"RecalcStatus": "OK",
"ProcessedTo": "2019-09-13T00:00:00Z",
"HasUnmatchedTransactions": false
},
{
"InternalID": 27003,
"PortfolioID": "SMA00027003",
"PortfolioName": "257;715;373;Portfolio 27003",
"ConsolidatedPortfolioType": "None",
"Status": "Closed",
"RecalcType": "Manual",
"RecalcStatus": "OK",
"ProcessedTo": "2019-05-01T00:00:00Z",
"HasUnmatchedTransactions": true
},
{
"InternalID": 27289,
"PortfolioID": "SMA00027289",
"PortfolioName": "257;4486;2651;Portfolio 27289",
"ConsolidatedPortfolioType": "None",
"Status": "Active",
"RecalcType": "Auto",
"RecalcStatus": "OK",
"ProcessedTo": "2019-09-13T00:00:00Z",
"HasUnmatchedTransactions": false
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.PortfolioCount | object | |
ResponseData.PortfolioCount.RecordsFound | integer | Number of records found matching the search criteria. |
ResponseData.PortfolioCount.RecordsReturned | integer | Number of records returned in the current response. |
ResponseData.PortfolioCount.PageCount | integer | Number of pages in the response. |
ResponseData.Portfolios | array | |
ResponseData.Portfolios.InternalID | integer | The InternalID of the Portfolio. As PortfolioIDs are non-unique within the system, this is used as a unique identifier in Portfolio API requests. |
ResponseData.Portfolios.PortfolioID | string | The PortfolioID of the Portfolio. |
ResponseData.Portfolios.PortfolioName | string | The PortfolioName of the Portfolio. |
ResponseData.Portfolios.ConsolidatedPortfolioType | string | “None” (if the Portfolio is not a consolidated portfolio), “Valuation” or “Transaction”. |
ResponseData.Portfolios.Status | string | Active / Closed / Draft / Deleted |
ResponseData.Portfolios.RecalcType | string | The recalc type setup against the Portfolio. Values are either “Auto” or “Manual”. |
ResponseData.Portfolios.RecalcStatus | string | The recalc status of the Portfolio. Values are either “OK” or “Error”. |
ResponseData.Portfolios.ProcessedTo | date-time | The recalculation date of the portfolio in “YYYY-MM-DDTHH:MM:SSZ”. |
ResponseData.Portfolios.ReportingFrequency | string | N (Never), A (Annually), Q (Quarterly), M (Monthly), B (Bi-annually) if applicable. |
ResponseData.Portfolios.AdviserGUIDs | array | Only returned for Service Provider tokens. The Service Provider link generated AdviserGUIDs that have access to the Portfolio. |
ResponseData.Portfolios.HasUnmatchedTransactions | boolean | Whether the portfolio has unmatched transactions. |
GET PortfolioDetail
Definition: https://api.praemium.biz/public/api/portfolios/PortfolioDetail
Returns Portfolio Detail information for a specified portfolio.
The Account Types returned by this endpoint are:
0 - Standard VWrap Account
1 - Super Fund
2 - Super Fund Holding Account
3 - Super Fund Segregated Account
5 - Holdings Only Portfolio
6 - SuperSMA (accumulation)
7 - SuperSMA (pension)
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
UserID: JohnSmith
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"Portfolio": {
"PortfolioID": "Portfolio 361234",
"PortfolioName": "Portfolio 361234",
"ConsolidatedPortfolioType": "Transaction",
"Status": "Active",
"RecalcType": "Auto",
"RecalcStatus": "OK",
"ProcessedTo": "2019-09-13T00:00:00Z",
"TaxEntityType": "T",
"TotalValue": 780707.55,
"Owner": "PJF",
"DateCreated": "2019-08-14T11:08:04.477Z",
"RecalcRequired": "No",
"FirstTransactionDate": "2016-10-01T00:00:00Z",
"LastRecalcDate": "2019-09-14T13:37:34.353",
"AccountType": 0,
"Benchmark1ID": -1,
"Benchmark1": "None",
"Benchmark2ID": -1,
"Benchmark2": "None"
}
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.Portfolio | object | |
ResponseData.Portfolio.PortfolioID | string | The PortfolioID of the Portfolio. |
ResponseData.Portfolio.PortfolioName | string | The PortfolioName of the Portfolio. |
ResponseData.Portfolio.ConsolidatedPortfolioType | string | “None” (if the Portfolio is not a consolidated portfolio), “Valuation” or “Transaction”. |
ResponseData.Portfolio.Status | string | Active / Closed / Draft / Deleted |
ResponseData.Portfolio.RecalcType | string | The recalc type setup against the Portfolio. Values are either “Auto” or “Manual”. |
ResponseData.Portfolio.RecalcStatus | string | The recalc status of the Portfolio. Values are either “OK” or “Error”. |
ResponseData.Portfolio.ProcessedTo | date-time | The recalculation date of the portfolio in “YYYY-MM-DDTHH:MM:SSZ”. |
ResponseData.Portfolio.TaxEntityType | string | The tax entity type recorded against the portfolio (Company, Individual, Joint Investors, Partnership, Super Fund, Trust). |
ResponseData.Portfolio.TotalValue | double | The Portfolio Valuation of the portfolio on the ProcessedTo date. |
ResponseData.Portfolio.Owner | string | The portfolio owner username. |
ResponseData.Portfolio.DateCreated | date-time | The created date of the portfolio. |
ResponseData.Portfolio.DateClosed | date-time | The closed date of the portfolio. This field will only be returned for closed portfolios. |
ResponseData.Portfolio.RecalcRequired | string | Whether this portfolio requires recalculation to accurately calculate all values. |
ResponseData.Portfolio.FirstTransactionDate | date-time | The first transaction date of the portfolio. |
ResponseData.Portfolio.LastRecalcDate | date-time | The run-date of the latest portfolio recalculation. |
ResponseData.Portfolio.AccountType | integer | Refer to endpoint description. |
ResponseData.Portfolio.Benchmark1ID | integer | The unique ID of the Portfolio’s benchmark 1. |
ResponseData.Portfolio.Benchmark1 | string | The name of the Portfolio’s benchmark 1. |
ResponseData.Portfolio.Benchmark2ID | integer | The unique ID of the Portfolio’s benchmark 2. |
ResponseData.Portfolio.Benchmark2 | string | The name of the Portfolio’s benchmark 2. |
GET ChildPortfolios
Definition: https://api.praemium.biz/public/api/portfolios/ChildPortfolios
Returns a list of child portfolios linked to a specified consolidated portfolio.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
UserID: JohnSmith
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"ChildPortfolios": [
{
"InternalID": 360000,
"PortfolioID": "Trading1",
"PortfolioName": "2;83;32;Portfolio 360000"
},
{
"InternalID": 400000,
"PortfolioID": "SMA00400000",
"PortfolioName": "257;83;32;Portfolio 400000"
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the consolidated Portfolio. |
ResponseData.ChildPortfolios | array | An array of child portfolios linked to the consolidated portfolio. |
ResponseData.ChildPortfolios.InternalID | integer | The InternalID of the child Portfolio. |
ResponseData.ChildPortfolios.PortfolioID | string | The PortfolioID of the child Portfolio. |
ResponseData.ChildPortfolios.PortfolioName | string | The PortfolioName of the child Portfolio. |
GET RecalcAsAtDate
Definition: https://api.praemium.biz/public/api/Recalc/AsatDate
This Bulk endpoint returns the latest recalc date for your service.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Response Examples
# 200 - OK
{
"AsAtDate": "2019-11-21"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
AsatDate | date-time | Recalc date. |
Valuation
GET Valuation
Definition: https://api.praemium.biz/public/api/portfolios/Valuation
This endpoint returns a summary of all the selected portfolio's holdings as at a valuation date.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
UserID: JohnSmith
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
ValuationDate | date-time | Date used to display the data. |
Loans | integer | If loans should be included (1) or excluded (0) in the net portfolio value. |
ClassificationType | integer | The classification type of the security valuation. Valid values are 1 - Asset class (look-through managed funds), 2 - Asset class (primary class for managed funds), or 3 - Market type. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"Valuation": {
"ValuationDate": "2019-09-13T00:00:00Z",
"TotalCost": 538668.29,
"TotalValue": 777772.52,
"NetValue": 780707.53,
"TotalGainOrLoss": 239104.23,
"EstIncome": 19044.65,
"Yield": 2.4500
},
"Holdings": [
{
"SecurityCode": "STO",
"SecurityDescription": "SANTOS LIMITED FPO",
"AssetClassDescription": "Domestic Shares",
"AssetClassCode": "ASX",
"AssetType": "ASX Listed",
"GicsDescription": "ENERGY",
"Quantity": 346.0000,
"UnitCost": 6.9267,
"Cost": 2396.65,
"UnitValue": 7.39,
"UnitPriceDate": "2019-09-13T00:00:00",
"Value": 2556.94,
"PercentTotalValue": 0.3300,
"GainOrLoss": 160.29,
"PercentTotalGainOrLoss": 6.69,
"EstIncome": 46.31,
"Yield": 1.8100,
"AssetCurrency": "AUD",
"ValueAssetCurrency": 2556.94,
"CostBaseUnknown": 0,
"TaxCredits": 19.8500,
"EstFrankingCredits": 19.850000,
"EstimatedGrossYield": 2.5900
},
{
"SecurityCode": "WPL",
"SecurityDescription": "WOODSIDE PETROLEUM LTD FPO",
"AssetClassDescription": "Domestic Shares",
"AssetClassCode": "ASX",
"AssetType": "ASX Listed",
"GicsDescription": "ENERGY",
"Quantity": 1241.0000,
"UnitCost": 31.9089,
"Cost": 39598.89,
"UnitValue": 31.35,
"UnitPriceDate": "2019-09-13T00:00:00",
"Value": 38905.35,
"PercentTotalValue": 4.9800,
"GainOrLoss": -693.54,
"PercentTotalGainOrLoss": -1.75,
"EstIncome": 2480.28,
"Yield": 6.3800,
"AssetCurrency": "AUD",
"ValueAssetCurrency": 38905.35,
"CostBaseUnknown": 0,
"TaxCredits": 1062.9800,
"EstFrankingCredits": 1062.980000,
"EstimatedGrossYield": 9.1100
},
{
"SecurityCode": "BHP",
"SecurityDescription": "BHP GROUP LIMITED FPO",
"AssetClassDescription": "Domestic Shares",
"AssetClassCode": "ASX",
"AssetType": "ASX Listed",
"GicsDescription": "MATERIALS",
"Quantity": 167.0000,
"UnitCost": 37.8257,
"Cost": 6316.90,
"UnitValue": 37.13,
"UnitPriceDate": "2019-09-13T00:00:00",
"Value": 6200.71,
"PercentTotalValue": 0.7900,
"GainOrLoss": -116.19,
"PercentTotalGainOrLoss": -1.84,
"EstIncome": 514.19,
"Yield": 8.2900,
"AssetCurrency": "AUD",
"ValueAssetCurrency": 6200.71,
"CostBaseUnknown": 0,
"TaxCredits": 220.3700,
"EstFrankingCredits": 220.370000,
"EstimatedGrossYield": 11.8500
},
{
"SecurityCode": "+CMA",
"SecurityDescription": "CASH MANAGEMENT AC",
"AssetClassDescription": "Cash & Equivalents",
"AssetClassCode": "CAS",
"AssetType": "Cash",
"GicsDescription": "SECTOR NOT CLASSIFIED",
"Quantity": 70027.9600,
"UnitCost": 1.0000,
"Cost": 70027.96,
"UnitValue": 1.00,
"UnitPriceDate": "2019-09-13T00:00:00",
"Value": 70027.96,
"PercentTotalValue": 8.9700,
"GainOrLoss": 0.00,
"PercentTotalGainOrLoss": 0.0,
"EstIncome": 1155.46,
"Yield": 1.6500,
"AssetCurrency": "AUD",
"ValueAssetCurrency": 70027.96,
"CostBaseUnknown": 0,
"TaxCredits": 0.0000,
"EstFrankingCredits": 0.000000,
"EstimatedGrossYield": 1.6500
},
{
"SecurityCode": "AUDCASH",
"SecurityDescription": "MAIN CASH ACCOUNT",
"AssetClassDescription": "Cash & Equivalents",
"AssetClassCode": "CAS",
"AssetType": "Cash",
"GicsDescription": "SECTOR NOT CLASSIFIED",
"Quantity": 2373.9300,
"UnitCost": 1.0000,
"Cost": 2373.93,
"UnitValue": 1.00,
"UnitPriceDate": "2019-09-13T00:00:00",
"Value": 2373.93,
"PercentTotalValue": 0.300,
"GainOrLoss": 0.00,
"PercentTotalGainOrLoss": 0.0,
"EstIncome": 12.69,
"Yield": 0.5300,
"AssetCurrency": "AUD",
"ValueAssetCurrency": 2373.93,
"CostBaseUnknown": 0,
"TaxCredits": 0.0000,
"EstFrankingCredits": 0.000000,
"EstimatedGrossYield": 0.5300
}
],
"ReceivablesAndPayables": [
{
"Code": "AUDDIVSNOTPAID",
"Description": "Income declared but not paid",
"Type": "",
"Amount": 2935.0100,
"IncludedInNetValue": 1
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.Valuation | object | |
ResponseData.Valuation.ValuationDate | date-time | Date used to display the data. |
ResponseData.Valuation.TotalCost | double | The total portfolio cost based on the cost base of unrealised holdings. |
ResponseData.Valuation.TotalValue | double | The total portfolio value based on the quantity and price of unrealised holdings. |
ResponseData.Valuation.NetValue | double | The total portfolio value inclusive of receivables and payables. |
ResponseData.Valuation.TotalGainOrLoss | double | Total Gain/Loss is the nominal difference between the total value and the total cost. |
ResponseData.Valuation.EstIncome | double | Indicative field calculated based on the income of each asset generated over the past twelve months. |
ResponseData.Valuation.Yield | double | The estimated income as a percentage of the market value of the portfolio. |
ResponseData.Holdings | array | |
ResponseData.Holdings.SecurityCode | string | The security code of the security. |
ResponseData.Holdings.SecurityDescription | string | A description of the security. |
ResponseData.Holdings.AssetClassDescription | string | A description of the security’s asset class. |
ResponseData.Holdings.AssetClassCode | string | The asset class code of the security’s asset class. |
ResponseData.Holdings.AssetClassCategory | string | The asset class category of the security’s asset class |
ResponseData.Holdings.AssetType | string | The asset type of the security’s asset class |
ResponseData.Holdings.GicsDescription | string | The Global Industry Classification Standard of the security. |
ResponseData.Holdings.Quantity | double | The number of securities held by the portfolio at the recalculation date. |
ResponseData.Holdings.UnitCost | double | Average unit cost of the holding. This is the actual cost divided by the quantity. |
ResponseData.Holdings.Cost | double | Actual cost is based on the cost base of unrealised holdings. |
ResponseData.Holdings.UnitValue | double | The last price of the holding available at the recalculation date. |
ResponseData.Holdings.UnitPriceDate | date-time | The date of the unit price. |
ResponseData.Holdings.Value | double | Value is calculated based on the unit price multiplied by the quantity. |
ResponseData.Holdings.PercentTotalValue | double | The percentage ratio of the value of this asset relative to the total portfolio value. |
ResponseData.Holdings.GainOrLoss | double | Gain/Loss is the nominal difference between the total value and the total cost of this asset. |
ResponseData.Holdings.PercentTotalGainOrLoss | double | The gain or loss expressed as a percentage over the adjusted cost base of the asset. |
ResponseData.Holdings.EstIncome | double | Indicative field calculated based on the income of each asset generated over the past twelve months. |
ResponseData.Holdings.Yield | double | The estimated income as a percentage of the market value of the portfolio. |
ResponseData.Holdings.AssetCurrency | string | The local currency of the security. |
ResponseData.Holdings.ValueAssetCurrency | double | The value based on the quantity and local price of unrealised holdings. |
ResponseData.Holdings.CostBaseUnknown | integer | 0 (Cost base known) or 1 (Cost base unknown) for the holding. |
ResponseData.Holdings.TaxCredits | double | The tax credits available on the current holdings of the security. |
ResponseData.Holdings.EstFrankingCredits | double | Amount expected to be received in franking credits. |
ResponseData.Holdings.EstimatedGrossYield | double | Estimated gross yield is based on the sum of the estimated income and franking credits as a percentage of the holding's market value. |
ResponseData.ReceivablesAndPayables | array | |
ResponseData.ReceivablesAndPayables.Code | string | The asset code of the receivable/payable. |
ResponseData.ReceivablesAndPayables.Description | string | A description of the receivable/payable. |
ResponseData.ReceivablesAndPayables.Type | string | |
ResponseData.ReceivablesAndPayables.Amount | double | The total value of the receivable/payable. |
ResponseData.ReceivablesAndPayables.IncludedInNetValue | integer | Returned values are either 0 (excluded from Net Value) or 1 (Included in Net Value) |
ResponseData.Subscriptions | object | |
ResponseData.Subscriptions.Models | array | |
ResponseData.Subscriptions.Models.ModelCode | string | Model code. |
ResponseData.Subscriptions.Models.Weighting | double | Account’s model weighting at the valuation date. |
ResponseData.Subscriptions.CashHub | object | |
ResponseData.Subscriptions.CashHub.AUD | double | Cash model weighting at the valuation date. |
GET AssetClassSummary
Definition: https://api.praemium.biz/public/api/portfolios/AssetClassSummary
This endpoint returns a summary of the portfolio’s exposure to each asset class.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
UserID: JohnSmith
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
ValuationDate | date-time | Date used to display the data. |
Loans | integer | If loans should be included (1) or excluded (0) in the net portfolio value. |
Targets | integer | Whether to return the minimum and maximum target bands set for the asset class. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"ValuationDate": "2019-09-13T00:00:00Z",
"Valuation": {
"ValuationDate": "2019-09-13T00:00:00Z",
"TotalCost": 538668.29,
"TotalValue": 777772.52,
"NetValue": 780707.53,
"TotalGainOrLoss": 239104.23
},
"AssetClasses": [
{
"AssetClassDescription": "Domestic Shares",
"Value": 593263.29,
"PercentTotalValue": 75.9900,
"PercentNetValue": 75.9900,
"MinTargetAllocation": 0.0,
"MaxTargetAllocation": 0.0,
"MidPointTargetAllocation": 0.0,
"Variance": 0.0
},
{
"AssetClassDescription": "International Shares",
"Value": 54285.25,
"PercentTotalValue": 6.9500,
"PercentNetValue": 6.9500,
"MinTargetAllocation": 0.0,
"MaxTargetAllocation": 0.0,
"MidPointTargetAllocation": 0.0,
"Variance": 0.0
},
{
"AssetClassDescription": "Domestic Listed Property",
"Value": 11684.37,
"PercentTotalValue": 1.5000,
"PercentNetValue": 1.5000,
"MinTargetAllocation": 0.0,
"MaxTargetAllocation": 0.0,
"MidPointTargetAllocation": 0.0,
"Variance": 0.0
},
{
"AssetClassDescription": "Domestic Fixed Interest",
"Value": 46137.72,
"PercentTotalValue": 5.9100,
"PercentNetValue": 5.9100,
"MinTargetAllocation": 0.0,
"MaxTargetAllocation": 0.0,
"MidPointTargetAllocation": 0.0,
"Variance": 0.0
},
{
"AssetClassDescription": "Cash & Equivalents",
"Value": 72401.89,
"PercentTotalValue": 9.2700,
"PercentNetValue": 9.2700,
"MinTargetAllocation": 0.0,
"MaxTargetAllocation": 0.0,
"MidPointTargetAllocation": 0.0,
"Variance": 0.0
}
],
"ReceivablesAndPayables": [
{
"Description": "Income declared but not paid",
"TotalAmount": 2935.01,
"IncludedInNetValue": 1
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.ValuationDate | date-time | Date used to display the data. |
ResponseData.Valuation | object | |
ResponseData.Valuation.ValuationDate | date-time | Date used to display the data. |
ResponseData.Valuation.TotalCost | double | The total portfolio cost based on the cost base of unrealised holdings. |
ResponseData.Valuation.TotalValue | double | The total portfolio value based on the quantity and price of unrealised holdings. |
ResponseData.Valuation.NetValue | double | The total portfolio value inclusive of receivables and payables. |
ResponseData.Valuation.TotalGainOrLoss | double | Total Gain/Loss is the nominal difference between the total value and the total cost. |
ResponseData.AssetClasses | array | |
ResponseData.AssetClasses.AssetClassDescription | string | A description of the asset class. |
ResponseData.AssetClasses.Value | double | The total value of the portfolio’s holdings within the asset class. |
ResponseData.AssetClasses.PercentTotalValue | double | The percentage ratio of the value of this asset class to the total portfolio value. |
ResponseData.AssetClasses.PercentNetValue | double | The percentage ratio of the value of this asset class to the net portfolio value. |
ResponseData.AssetClasses.MinTargetAllocation | double | The minimum asset class allocation target for this asset class entered for the portfolio. |
ResponseData.AssetClasses.MaxTargetAllocation | double | The maximum asset class allocation target for this asset class entered for the portfolio. |
ResponseData.AssetClasses.MidPointTargetAllocation | double | The middle value of the minimum and maximum target allocation for the asset class. |
ResponseData.AssetClasses.Variance | double | The variance of the asset class’ value outside of the target allocation range. |
ResponseData.ReceivablesAndPayables | array | |
ResponseData.ReceivablesAndPayables.Description | string | Description of the Receivable/Payable holding. |
ResponseData.ReceivablesAndPayables.TotalAmount | double | Amount of the receivable/payable. |
ResponseData.ReceivablesAndPayables.IncludedInNetValue | integer | 0 if excluded from the Portfolio's NetValue, or 1 if included. |
GET BulkValuation
Definition: https://api.praemium.biz/public/api/portfolios/BulkValuation
This endpoint returns the valuation data for all the specified portfolios.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalIDs: 12345, 54321, 00000
AccountType: 3
ValuationDate: 1950-01-01
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIdsrequired | array | Multiple InternalIds as string separated by comma. |
AccountType | integer | Specify 1 for Non-SMA, 2 for SMA and 3 for both types of accounts. |
ValuationDate | date-time | Date used to display the data. |
Page | integer | Page number to return. |
LastRecordId | integer | Provide to only return data subsequent to this record id. |
ClassificationType | integer | The classification type of the security valuation. Valid values are 1 - Asset class (look-through managed funds), 2 - Asset class (primary class for managed funds), or 3 - Market type. |
Response Examples
# 200 - OK
{
"PortfolioCount": {
"RecordsFound": 2,
"RecordsReturned": 2,
"PageCount": 1
},
"Portfolios": {
"SMA": [
{
"InternalID": 12345,
"Valuation": {
"ValuationDate": "1950-01-01T00:00:00",
"TotalCost": 1329302.67,
"TotalValue": 2220008.19,
"NetValue": 2238889.2,
"TotalGainOrLoss": 890705.52,
"EstIncome": 69280.3,
"Yield": 3.12
},
"Holdings": [
{
"SecurityCode": "ARI",
"SecurityDescription": "ARRIUM LIMITED FPO",
"AssetClassDescription": "Domestic Shares",
"AssetClassCode": "DS",
"AssetClassCategory": "Growth",
"AssetType": "ASX Listed",
"GICSDescription": "Materials",
"Quantity": 375,
"UnitCost": 2.64,
"Cost": 990,
"UnitValue": 0.12,
"UnitPriceDate": "1950-01-01T00:00:00Z",
"Value": 45,
"PercentTotalValue": 0,
"GainOrLoss": -945,
"PercentTotalGainOrLoss": -0.11,
"EstIncome": 11.25,
"Yield": 25,
"AssetCurrency": "AUD",
"ValueAssetCurrency": 45,
"CostBaseUnknown": 0,
"TaxCredits": 120
}
],
"ReceivablesAndPayables": [
{
"Code": "AUDDIVSNOTPAID",
"Description": "Income declared but not paid",
"Type": "",
"Amount": 18881.01,
"IncludedInNetValue": 1
}
],
"Subscriptions": [
{
"Models": [
{
"ModelCode": "AU00",
"Weighting": 50.1234
},
{
"ModelCode": "AU000",
"Weighting": 47.8766
}
],
"CashHub": {
"AUD": 2
}
}
]
}
],
"NonSMA": [
{
"InternalID": 54321,
"Valuation": {
"ValuationDate": "1950-01-01T00:00:00",
"TotalCost": 1329302.67,
"TotalValue": 2220008.19,
"NetValue": 2238889.2,
"TotalGainOrLoss": 890705.52,
"EstIncome": 69280.3,
"Yield": 3.12
},
"Holdings": [
{
"SecurityCode": "ARI",
"SecurityDescription": "ARRIUM LIMITED FPO",
"AssetClassDescription": "Domestic Shares",
"AssetClassCode": "DS",
"AssetClassCategory": "Growth",
"AssetType": "ASX Listed",
"GICSDescription": "Materials",
"Quantity": 375,
"UnitCost": 2.64,
"Cost": 990,
"UnitValue": 0.12,
"UnitPriceDate": "1950-01-01T00:00:00Z",
"Value": 45,
"PercentTotalValue": 0,
"GainOrLoss": -945,
"PercentTotalGainOrLoss": -0.11,
"EstIncome": 11.25,
"Yield": 25,
"AssetCurrency": "AUD",
"ValueAssetCurrency": 45,
"CostBaseUnknown": 0,
"TaxCredits": 120
}
],
"ReceivablesAndPayables": [
{
"Code": "AUDDIVSNOTPAID",
"Description": "Income declared but not paid",
"Type": "",
"Amount": 18881.01,
"IncludedInNetValue": 1
}
]
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
PortfolioCount | object | |
PortfolioCount.PageCount | integer | Number of pages in the response. |
PortfolioCount.RecordsReturned | integer | Number of records returned in the current response. |
PortfolioCount.RecordsFound | integer | Number of records found matching the search criteria. |
Portfolios | object | |
Portfolios.SMA | array | |
Portfolios.SMA.InternalID | integer | The InternalID of the Portfolio. |
Portfolios.SMA.Valuation | object | |
Portfolios.SMA.Valuation.ValuationDate | date-time | Date used to display the data. |
Portfolios.SMA.Valuation.TotalCost | double | The total portfolio cost based on the cost base of unrealised holdings. |
Portfolios.SMA.Valuation.TotalValue | double | The total portfolio value based on the quantity and price of unrealised holdings. |
Portfolios.SMA.Valuation.NetValue | double | The total portfolio value inclusive of receivables and payables. |
Portfolios.SMA.Valuation.TotalGainOrLoss | double | Total Gain/Loss is the nominal difference between the total value and the total cost. |
Portfolios.SMA.Valuation.EstIncome | double | Indicative field calculated based on the income of each asset generated over the past twelve months. |
Portfolios.SMA.Valuation.Yield | double | The estimated income as a percentage of the market value of the portfolio. |
Portfolios.SMA.Holdings | array | |
Portfolios.SMA.Holdings.SecurityCode | string | The security code of the security. |
Portfolios.SMA.Holdings.SecurityDescription | string | A description of the security. |
Portfolios.SMA.Holdings.AssetClassDescription | string | A description of the security’s asset class. |
Portfolios.SMA.Holdings.AssetClassCode | string | The asset class code of the security’s asset class. |
Portfolios.SMA.Holdings.AssetClassCategory | string | The asset class category of the security’s asset class |
Portfolios.SMA.Holdings.AssetType | string | The asset type of the security’s asset class |
Portfolios.SMA.Holdings.GicsDescription | string | The Global Industry Classification Standard of the security. |
Portfolios.SMA.Holdings.Quantity | double | The number of securities held by the portfolio at the recalculation date. |
Portfolios.SMA.Holdings.UnitCost | double | Average unit cost of the holding. This is the actual cost divided by the quantity. |
Portfolios.SMA.Holdings.Cost | double | Actual cost is based on the cost base of unrealised holdings. |
Portfolios.SMA.Holdings.UnitValue | double | The last price of the holding available at the recalculation date. |
Portfolios.SMA.Holdings.UnitPriceDate | date-time | The date of the unit price. |
Portfolios.SMA.Holdings.Value | double | Value is calculated based on the unit price multiplied by the quantity. |
Portfolios.SMA.Holdings.PercentTotalValue | double | The percentage ratio of the value of this asset relative to the total portfolio value. |
Portfolios.SMA.Holdings.GainOrLoss | double | Gain/Loss is the nominal difference between the total value and the total cost of this asset. |
Portfolios.SMA.Holdings.PercentTotalGainOrLoss | double | The gain or loss expressed as a percentage over the adjusted cost base of the asset. |
Portfolios.SMA.Holdings.EstIncome | double | Indicative field calculated based on the income of each asset generated over the past twelve months. |
Portfolios.SMA.Holdings.Yield | double | The estimated income as a percentage of the market value of the portfolio. |
Portfolios.SMA.Holdings.AssetCurrency | string | The local currency of the security. |
Portfolios.SMA.Holdings.ValueAssetCurrency | double | The value based on the quantity and local price of unrealised holdings. |
Portfolios.SMA.Holdings.CostBaseUnknown | integer | 0 (Cost base known) or 1 (Cost base unknown) for the holding. |
Portfolios.SMA.Holdings.TaxCredits | double | The tax credits available on the current holdings of the security. |
Portfolios.SMA.Holdings.EstFrankingCredits | double | Amount expected to be received in franking credits. |
Portfolios.SMA.Holdings.EstimatedGrossYield | double | Estimated gross yield is based on the sum of the estimated income and franking credits as a percentage of the holding's market value. |
Portfolios.SMA.ReceivablesAndPayables | array | |
Portfolios.SMA.ReceivablesAndPayables.Code | string | The asset code of the receivable/payable. |
Portfolios.SMA.ReceivablesAndPayables.Description | string | A description of the receivable/payable. |
Portfolios.SMA.ReceivablesAndPayables.Type | string | |
Portfolios.SMA.ReceivablesAndPayables.Amount | double | The total value of the receivable/payable. |
Portfolios.SMA.ReceivablesAndPayables.IncludedInNetValue | integer | Returned values are either 0 (excluded from Net Value) or 1 (Included in Net Value) |
Portfolios.SMA.Subscriptions | object | |
Portfolios.SMA.Subscriptions.Models | array | |
Portfolios.SMA.Subscriptions.Models.ModelCode | string | Model code. |
Portfolios.SMA.Subscriptions.Models.Weighting | double | Account’s model weighting at the valuation date. |
Portfolios.SMA.Subscriptions.CashHub | object | |
Portfolios.SMA.Subscriptions.CashHub.AUD | double | Cash model weighting at the valuation date. |
Portfolios.NonSMA | array | |
Portfolios.NonSMA.InternalID | integer | The InternalID of the Portfolio. |
Portfolios.NonSMA.Valuation | object | |
Portfolios.NonSMA.Valuation.ValuationDate | date-time | Date used to display the data. |
Portfolios.NonSMA.Valuation.TotalCost | double | The total portfolio cost based on the cost base of unrealised holdings. |
Portfolios.NonSMA.Valuation.TotalValue | double | The total portfolio value based on the quantity and price of unrealised holdings. |
Portfolios.NonSMA.Valuation.NetValue | double | The total portfolio value inclusive of receivables and payables. |
Portfolios.NonSMA.Valuation.TotalGainOrLoss | double | Total Gain/Loss is the nominal difference between the total value and the total cost. |
Portfolios.NonSMA.Valuation.EstIncome | double | Indicative field calculated based on the income of each asset generated over the past twelve months. |
Portfolios.NonSMA.Valuation.Yield | double | The estimated income as a percentage of the market value of the portfolio. |
Portfolios.NonSMA.Holdings | array | |
Portfolios.NonSMA.Holdings.SecurityCode | string | The security code of the security. |
Portfolios.NonSMA.Holdings.SecurityDescription | string | A description of the security. |
Portfolios.NonSMA.Holdings.AssetClassDescription | string | A description of the security’s asset class. |
Portfolios.NonSMA.Holdings.AssetClassCode | string | The asset class code of the security’s asset class. |
Portfolios.NonSMA.Holdings.AssetClassCategory | string | The asset class category of the security’s asset class |
Portfolios.NonSMA.Holdings.AssetType | string | The asset type of the security’s asset class |
Portfolios.NonSMA.Holdings.GicsDescription | string | The Global Industry Classification Standard of the security. |
Portfolios.NonSMA.Holdings.Quantity | double | The number of securities held by the portfolio at the recalculation date. |
Portfolios.NonSMA.Holdings.UnitCost | double | Average unit cost of the holding. This is the actual cost divided by the quantity. |
Portfolios.NonSMA.Holdings.Cost | double | Actual cost is based on the cost base of unrealised holdings. |
Portfolios.NonSMA.Holdings.UnitValue | double | The last price of the holding available at the recalculation date. |
Portfolios.NonSMA.Holdings.UnitPriceDate | date-time | The date of the unit price. |
Portfolios.NonSMA.Holdings.Value | double | Value is calculated based on the unit price multiplied by the quantity. |
Portfolios.NonSMA.Holdings.PercentTotalValue | double | The percentage ratio of the value of this asset relative to the total portfolio value. |
Portfolios.NonSMA.Holdings.GainOrLoss | double | Gain/Loss is the nominal difference between the total value and the total cost of this asset. |
Portfolios.NonSMA.Holdings.PercentTotalGainOrLoss | double | The gain or loss expressed as a percentage over the adjusted cost base of the asset. |
Portfolios.NonSMA.Holdings.EstIncome | double | Indicative field calculated based on the income of each asset generated over the past twelve months. |
Portfolios.NonSMA.Holdings.Yield | double | The estimated income as a percentage of the market value of the portfolio. |
Portfolios.NonSMA.Holdings.AssetCurrency | string | The local currency of the security. |
Portfolios.NonSMA.Holdings.ValueAssetCurrency | double | The value based on the quantity and local price of unrealised holdings. |
Portfolios.NonSMA.Holdings.CostBaseUnknown | integer | 0 (Cost base known) or 1 (Cost base unknown) for the holding. |
Portfolios.NonSMA.Holdings.TaxCredits | double | The tax credits available on the current holdings of the security. |
Portfolios.NonSMA.Holdings.EstFrankingCredits | double | Amount expected to be received in franking credits. |
Portfolios.NonSMA.Holdings.EstimatedGrossYield | double | Estimated gross yield is based on the sum of the estimated income and franking credits as a percentage of the holding's market value. |
Portfolios.NonSMA.ReceivablesAndPayables | array | |
Portfolios.NonSMA.ReceivablesAndPayables.Code | string | The asset code of the receivable/payable. |
Portfolios.NonSMA.ReceivablesAndPayables.Description | string | A description of the receivable/payable. |
Portfolios.NonSMA.ReceivablesAndPayables.Type | string | |
Portfolios.NonSMA.ReceivablesAndPayables.Amount | double | The total value of the receivable/payable. |
Portfolios.NonSMA.ReceivablesAndPayables.IncludedInNetValue | integer | Returned values are either 0 (excluded from Net Value) or 1 (Included in Net Value) |
Portfolios.NonSMA.Subscriptions | object | |
Portfolios.NonSMA.Subscriptions.Models | array | |
Portfolios.NonSMA.Subscriptions.Models.ModelCode | string | Model code. |
Portfolios.NonSMA.Subscriptions.Models.Weighting | double | Account’s model weighting at the valuation date. |
Portfolios.NonSMA.Subscriptions.CashHub | object | |
Portfolios.NonSMA.Subscriptions.CashHub.AUD | double | Cash model weighting at the valuation date. |
GET HoldingsByModel
Definition: https://api.praemium.biz/public/api/accounts/{id}/holdingsbymodel
This endpoint returns a breakdown of the value of stocks held by an account, according to the models that the account is subscribed to.
Unlike other platforms, we blend the assets held within our managed accounts into one holding. This gives a more efficient investment outcome for your clients.
This endpoint takes the holdings of an account and attributes them to the models that the account is linked to. If more than one model contains a given stock then you will see that stock listed against each of those models, with that model's share.
You can use this data to present a breakdown of an account's value by model at a point in time, or over a time period. Value by model over a time period also forms the core of a time weighted performance calculation.
Please note that data returned by this route for the current date is an estimate, due to the data being built off rebalance information, and certain transactions will not have been entered yet. Pending cash and other pending transactions should be collected via other routes which do provide such intra-day information.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
Id: AU12345
Path Parameters
Parameter | Type | Description |
---|---|---|
Idrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
Query Parameter Examples
FromDate: 2019-01-01
ToDate: 2019-06-30
Query Parameters
Parameter | Type | Description |
---|---|---|
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. |
Response Examples
{
"AccountId": "AU12345",
"FromDate": "2016-10-15T00:00:00",
"ToDate": "2016-10-15T00:00:00",
"HoldingsByModel": [
{
"Date": "2016-10-15T00:00:00",
"TotalValue": 6175.95,
"HoldingsInModel": [
{
"ModelCode": "IV0007",
"ModelDescription": "Equity Income",
"ModelPercentage": 48.48,
"Holdings": [
{
"Asset": "AGI",
"Value": 433.70,
"Quantity": 202.66
},
{
"Asset": "ANN",
"Value": 960.36,
"Quantity": 41.11
},
{
"Asset": "VRT",
"Value": 1041.77,
"Quantity": 144.89
}
]
},
{
"ModelCode": "XX0001",
"ModelDescription": "High Growth",
"ModelPercentage": 49.52,
"Holdings": [
{
"Asset": "AGI",
"Value": 431.35,
"Quantity": 201.57
},
{
"Asset": "WBC",
"Value": 967.68,
"Quantity": 32.00
},
{
"Asset": "WOW",
"Value": 1262.56,
"Quantity": 52.00
}
]
}
],
"HoldingsNotInModel": [
{
"Asset": "AUDCASH",
"Value": 1108.63,
"Quantity": 1108.63
}
]
}
]
}
Response Parameters
Parameter | Type | Description |
---|---|---|
AccountId | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
FromDate | date-time | The from date used when calculating data for the request. |
ToDate | date-time | The to date used when calculating data for the request. |
HoldingsByModel | array | |
HoldingsByModel.Date | date-time | The date that these holdings relate to. |
HoldingsByModel.TotalValue | double | The total value of the account on the date. |
HoldingsByModel.HoldingsInModel | array | Contains the assets that are held by the account due to its model subscriptions. |
HoldingsByModel.HoldingsInModel.ModelCode | string | Model code. |
HoldingsByModel.HoldingsInModel.ModelDescription | string | A description of the model. |
HoldingsByModel.HoldingsInModel.ModelPercentage | double | The percentage that the account was subscribed to the model on the date. |
HoldingsByModel.HoldingsInModel.Holdings | array | Contains the holdings attributable to the model on the date. |
HoldingsByModel.HoldingsInModel.Holdings.Asset | string | The security code of the security. |
HoldingsByModel.HoldingsInModel.Holdings.ExchangeCode | string | The exchange code of security. |
HoldingsByModel.HoldingsInModel.Holdings.Value | double | The value of the asset that is attributable to this model on the date. |
HoldingsByModel.HoldingsInModel.Holdings.Quantity | double | The quantity of the asset that is attributable to this model on the date. Please note that this may not be a whole number of shares because we blend holdings within our system in order to give a better investment outcome.. |
HoldingsByModel.HoldingsNotInModel | array | Contains the assets that are not attributable to a model on the date. This can be due to holding locks or other customisations. The value and quantity of the HoldingsNotInModel relate to the values that are not attributable to any subscribed model. |
HoldingsByModel.HoldingsNotInModel.Asset | string | The security code of the security. |
HoldingsByModel.HoldingsNotInModel.ExchangeCode | string | The exchange code of security. |
HoldingsByModel.HoldingsNotInModel.Value | double | The value of the asset that is attributable to this model on the date. |
HoldingsByModel.HoldingsNotInModel.Quantity | double | The quantity of the asset that is attributable to this model on the date. Please note that this may not be a whole number of shares because we blend holdings within our system in order to give a better investment outcome.. |
Performance
GET Performance
Definition: https://api.praemium.biz/public/api/Performance
This endpoint returns the performance data over a given period for the specified portfolio.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2019-01-01
ToDate: 2019-06-30
PerfCalcMethod: 1
Cash: 1
ExcludedAssets: 0
TaxCredits: 1
PercentReturns: 1
MultiplePeriods: 1
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. |
PerfCalcMethodrequired | integer | The method to calculate the percentage return. Currently always 0 for Time Weighted Return (TWR). |
Cash | integer | Whether or not to include cash in the performance calculations. |
ExcludedAssets | integer | Whether or not to include any assets that have been excluded from performance. |
TaxCredits | integer | Whether or not to include tax credits in the dollar and percentage return calculations. |
PercentReturns | integer | Whether to calculate and return percentage returns. |
MultiplePeriods | integer | Whether to calculate percentage returns for the period requested or include other periods.
|
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"Performance": {
"FromDate": "2019-01-01T00:00:00",
"ToDate": "2019-06-30T00:00:00",
"PerfInceptionDate": "2019-01-01T00:00:00",
"HoldingsExcluded": 0,
"PerfCalcMethod": 1,
"BMV": 517850.22,
"EMV": 679573.84,
"NetCapitalMovement": -134.62,
"NetInternalTransfers": 0.00,
"CashExpenses": -6879.48,
"UnallocatedAmount": 0.00,
"DollarReturn": {
"CapitalAppreciation": 156509.92,
"TotalIncome": 12269.88,
"TaxCredits": 3950.53,
"ForexMovements": 0.00,
"GrossDollarReturn": 172730.33,
"TotalExpenses": -6879.48,
"NetDollarReturn": 165850.85
},
"PercentReturns": [
{
"PeriodDescription": "1 mth",
"GrossPercentReturn": 0.00,
"NetPercentReturn": 5.15
},
{
"PeriodDescription": "3 mths",
"GrossPercentReturn": 0.00,
"NetPercentReturn": 20.61
},
{
"PeriodDescription": "1 yr",
"GrossPercentReturn": 0.00,
"NetPercentReturn": 17.21
},
{
"PeriodDescription": "Since 01/01/2019",
"GrossPercentReturn": 0.00,
"NetPercentReturn": 32.15
}
]
}
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.Performance | object | |
ResponseData.Performance.FromDate | date-time | The earliest date used to calculate performance data. This could vary from the requested from date due the portfolio’s inception date for performance. |
ResponseData.Performance.ToDate | date-time | The latest date used to calculate performance data. This could vary from the requested to date due the portfolio’s recalculation or closure date. |
ResponseData.Performance.PerfInceptionDate | date-time | The minimum from date that can be used to calculate performance, as set on the Portfolio Details > Performance settings screen. |
ResponseData.Performance.HoldingsExcluded | integer | The number of individual securities excluded from portfolio performance calculations. |
ResponseData.Performance.PerfCalcMethod | integer | The performance calculation method used to calculate Percent Returns. |
ResponseData.Performance.BMV | double | The beginning market value of the portfolio on the From Date. |
ResponseData.Performance.EMV | double | The ending market value of the portfolio on the To Date. |
ResponseData.Performance.NetCapitalMovement | double | The net additions and withdrawals that flowed into and out of the portfolio within the performance period. The transactions that make up this net amount when including cash are available from the Additions and withdrawals report. |
ResponseData.Performance.NetInternalTransfers | double | Internal transfers between cash books that are not to be treated as a client addition or withdrawal. |
ResponseData.Performance.CashExpenses | double | Expenses incurred by the portfolio within the period, to be paid from either a portfolio cash book or external bank account. |
ResponseData.Performance.UnallocatedAmount | double | An unallocated amount will show if the sum of the above does not equal the Movement in value amount - that is, there is a component of the difference between the starting and ending market value that has not been explained. This will usually be because the cash side of a transaction or income event cannot be found. |
ResponseData.Performance.DollarReturn | object | |
ResponseData.Performance.DollarReturn.CapitalAppreciation | double | Realised and unrealised gains/losses of the portfolio. |
ResponseData.Performance.DollarReturn.TotalIncome | double | The total income of the portfolio received within the performance period. Income and tax credits are included in performance calculations when they are first acknowledged in the portfolio. That is, when they are first declared according to the ex-date. |
ResponseData.Performance.DollarReturn.TaxCredits | double | The total tax credits of the portfolio received within the performance period. |
ResponseData.Performance.DollarReturn.ForexMovements | double | The gain/loss of the portfolio attributable to foreign exchange movements. |
ResponseData.Performance.DollarReturn.GrossDollarReturn | double | The sum of all dollar return fields excluding expenses. |
ResponseData.Performance.DollarReturn.TotalExpenses | double | The total expenses recorded against the portfolio within the period. The Trading Activity > Income & Expenses > Expense Details page provides the ability to view these expenses. |
ResponseData.Performance.DollarReturn.NetDollarReturn | double | The sum of all dollar return fields. |
ResponseData.Performance.PercentReturns | array | |
ResponseData.Performance.PercentReturns.PeriodDescription | string | A description of the period the returns are calculated for. |
ResponseData.Performance.PercentReturns.GrossPercentReturn | double | The performance percentage return excluding expenses. |
ResponseData.Performance.PercentReturns.NetPercentReturn | double | The performance percentage return including expenses. |
GET InvestmentMovements
Definition: https://api.praemium.biz/public/api/Performance/InvestmentMovements
This endpoint returns the movement in value over a given date period for the specified portfolio’s holdings, cash accounts and cash equivalents. The response also contains the total dollar returns and % total returns in the period for each investment, whether from income or capital appreciation or both.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2019-01-01
ToDate: 2019-06-30
PercentReturnMethod: 1
TaxCredits: 1
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. |
TaxCredits | integer | Whether or not to include tax credits in the dollar and percentage return calculations. |
PercentReturnMethod | integer | Currently always 0 for TWR. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"FromDate": "2019-01-01T00:00:00",
"ToDate": "2019-06-30T00:00:00",
"Investments": [
{
"AssetType": "ASX Listed",
"SecurityCode": "BHP",
"SecurityDescription": "BHP GROUP LIMITED FPO",
"AssetCurrency": "AUD",
"IncludeInPerf": 0,
"StartMarketValue": 54768.00,
"Purchases": 0.00,
"Sales": -55823.50,
"NetAdjOther": 0.00,
"GainOrLoss": 1055.50,
"EndMarketValue": 0.00,
"IncomeDRP": 0.00,
"IncomeCash": 2260.39,
"IncomeNotYetPaid": 0.00,
"TotalIncome": 3229.13,
"TaxCredits": 968.74,
"TotalReturn": 4284.63,
"PercentTotalReturn": 7.82,
"PercentCapitalReturn": 0.16,
"PercentIncomeReturn": 7.66
},
{
"AssetType": "ASX Listed",
"SecurityCode": "CBA",
"SecurityDescription": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
"AssetCurrency": "AUD",
"IncludeInPerf": 0,
"StartMarketValue": 0.00,
"Purchases": 24984.15,
"Sales": -25870.01,
"NetAdjOther": 0.00,
"GainOrLoss": 885.86,
"EndMarketValue": 0.00,
"IncomeDRP": 0.00,
"IncomeCash": 690.00,
"IncomeNotYetPaid": 0.00,
"TotalIncome": 985.71,
"TaxCredits": 295.71,
"TotalReturn": 1871.57,
"PercentTotalReturn": 7.49,
"PercentCapitalReturn": 2.36,
"PercentIncomeReturn": 5.13
},
{
"AssetType": "ASX Listed",
"SecurityCode": "WBC",
"SecurityDescription": "WESTPAC BANKING CORPORATION FPO",
"AssetCurrency": "AUD",
"IncludeInPerf": 0,
"StartMarketValue": 0.00,
"Purchases": 23019.35,
"Sales": -23060.42,
"NetAdjOther": 0.00,
"GainOrLoss": 41.07,
"EndMarketValue": 0.00,
"IncomeDRP": 0.00,
"IncomeCash": 773.62,
"IncomeNotYetPaid": 0.00,
"TotalIncome": 1105.17,
"TaxCredits": 331.55,
"TotalReturn": 1146.24,
"PercentTotalReturn": 4.98,
"PercentCapitalReturn": -1.26,
"PercentIncomeReturn": 6.24
},
{
"AssetType": "ASX Listed",
"SecurityCode": "NABPF",
"SecurityDescription": "NATIONAL AUSTRALIA BANK LIMITED CAP NOTE 3-BBSW+4.00% PERP NON-CUM RED T-06-26",
"AssetCurrency": "AUD",
"IncludeInPerf": 0,
"StartMarketValue": 0.00,
"Purchases": 0.00,
"Sales": 0.00,
"NetAdjOther": 15000.00,
"GainOrLoss": 892.50,
"EndMarketValue": 15892.50,
"IncomeDRP": 0.00,
"IncomeCash": 149.01,
"IncomeNotYetPaid": 0.00,
"TotalIncome": 212.87,
"TaxCredits": 63.86,
"TotalReturn": 1105.37,
"PercentTotalReturn": 7.37,
"PercentCapitalReturn": 5.53,
"PercentIncomeReturn": 1.84
}
],
"CashAndEquivalents": [
{
"SecurityCode": "+CMA",
"SecurityDescription": "CASH MANAGEMENT AC",
"AssetCurrency": "AUD",
"IncludeInPerf": 1,
"OpeningBalance": 122414.70,
"Purchases": -169946.28,
"Sales": 219542.78,
"Other": 0.00,
"Income": 9385.43,
"InterestReceipts": 970.30,
"InternalTransfers": -17279.70,
"Expenses": -6879.48,
"Deposits": 10552.87,
"Withdrawals": -10687.49,
"ForexMovements": 0.00,
"ClosingBalance": 158073.13
},
{
"SecurityCode": "DIVSNOTPAID",
"SecurityDescription": "Income receivable",
"AssetCurrency": "AUD",
"IncludeInPerf": 1,
"OpeningBalance": 580.00,
"Purchases": 0.00,
"Sales": 0.00,
"Other": 0.00,
"Income": 0.00,
"InterestReceipts": 0.00,
"InternalTransfers": 0.00,
"Expenses": 0.00,
"Deposits": 0.00,
"Withdrawals": 0.00,
"ForexMovements": 0.00,
"ClosingBalance": 2452.07
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.FromDate | date-time | The earliest date used to return the Investment Movements data. |
ResponseData.ToDate | date-time | The latest date used to return the Investment Movements data. |
ResponseData.Investments | array | |
ResponseData.Investments.AssetType | string | A description of the asset type. |
ResponseData.Investments.SecurityCode | string | The security code of the security. |
ResponseData.Investments.SecurityDescription | string | A description of the security. |
ResponseData.Investments.AssetCurrency | string | The local currency of the security. |
ResponseData.Investments.IncludeInPerf | integer | Whether the security is included in performance calculations. |
ResponseData.Investments.StartMarketValue | double | Market Value of the security at the FromDate. |
ResponseData.Investments.Purchases | double | Sum of purchases within the period. |
ResponseData.Investments.Sales | double | Sum of sales within the period. |
ResponseData.Investments.NetAdjOther | double | Other net amount within the period. |
ResponseData.Investments.GainOrLoss | double | Dollar gain/loss in the response period. |
ResponseData.Investments.EndMarketValue | double | Market Value of the security at the ToDate |
ResponseData.Investments.IncomeDRP | double | Income that was reinvested as part of a DRP. |
ResponseData.Investments.IncomeCash | double | Income that was paid to cash. |
ResponseData.Investments.IncomeNotYetPaid | double | Income declared but not yet paid at the ToDate. |
ResponseData.Investments.TotalIncome | double | Total income within the period. |
ResponseData.Investments.TaxCredits | double | Tax credit amount receivable within the period. |
ResponseData.Investments.TotalReturn | double | Total dollar return for the period. |
ResponseData.Investments.PercentTotalReturn | double | Total return for the period in percentage terms. |
ResponseData.Investments.PercentCapitalReturn | double | Return for the period attributable to capital returns. |
ResponseData.Investments.PercentIncomeReturn | double | Return for the period attributable to income returns. |
ResponseData.CashAndEquivalents | array | |
ResponseData.CashAndEquivalents.SecurityCode | string | The security code of the security. |
ResponseData.CashAndEquivalents.SecurityDescription | string | A description of the security. |
ResponseData.CashAndEquivalents.AssetCurrency | string | The local currency of the security. |
ResponseData.CashAndEquivalents.IncludeInPerf | integer | Whether the security is included in performance calculations. |
ResponseData.CashAndEquivalents.OpeningBalance | double | Opening balance of the security at the FromDate. |
ResponseData.CashAndEquivalents.Purchases | double | Total asset purchases within the period. |
ResponseData.CashAndEquivalents.Sales | double | Total asset sales within the period. |
ResponseData.CashAndEquivalents.Other | double | |
ResponseData.CashAndEquivalents.Income | double | Income amount that the security received in the period. |
ResponseData.CashAndEquivalents.InterestReceipts | double | Interest amount that the security received in the period. |
ResponseData.CashAndEquivalents.InternalTransfers | double | Transfer amount for the period. |
ResponseData.CashAndEquivalents.Expenses | double | Expenses charged against the security within the period. |
ResponseData.CashAndEquivalents.Deposits | double | Deposit amount that the security received in the period. |
ResponseData.CashAndEquivalents.Withdrawals | double | Withdrawal amount that the security received in the period. |
ResponseData.CashAndEquivalents.ForexMovements | double | Movement in currency for the period. |
ResponseData.CashAndEquivalents.ClosingBalance | double | Closing balance of the security at the ToDate. |
GET DailyReturns
Definition: https://api.praemium.biz/public/api/Performance/DailyReturns
This endpoint returns the daily percentage return of a portfolio over the specified period using the Time-Weighted Return (TWR) method of calculation.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2019-07-01
ToDate: 2019-07-05
PerfCalcMethod: 1
Cash: 1
ExcludedAssets: 0
TaxCredits: 1
PercentReturns: 1
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. Cannot be more than 31 days from the FromDate. |
PerfCalcMethodrequired | integer | The method to calculate the percentage return. Currently always 0 for Time Weighted Return (TWR). |
Cash | integer | Whether or not to include cash in the performance calculations. |
ExcludedAssets | integer | Whether or not to include any assets that have been excluded from performance. |
TaxCredits | integer | Whether or not to include tax credits in the dollar and percentage return calculations. |
PercentReturns | integer | Whether to calculate and return percentage returns. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"FromDate": "2019-07-01T00:00:00",
"ToDate": "2019-07-05T00:00:00",
"PerfInceptionDate": "2019-07-01T00:00:00",
"DailyReturns": [
{
"Date": "2019-07-01T00:00:00",
"BMV": 679573.84,
"EMV": 715142.41,
"NetContribution": 0.00,
"NetInternalTransfers": 0.00,
"TotalExpenses": 0.00,
"TaxCredits": 68.03,
"PercentageReturn": 0.05,
"NetPercentReturn": 0.0,
"CumPercentageReturn": 0.00,
"CumNetPercentReturn": 5.24
},
{
"Date": "2019-07-02T00:00:00",
"BMV": 715142.41,
"EMV": 721976.42,
"NetContribution": 0.00,
"NetInternalTransfers": 0.00,
"TotalExpenses": 0.00,
"TaxCredits": 0.00,
"PercentageReturn": 0.01,
"NetPercentReturn": 0.0,
"CumPercentageReturn": 0.00,
"CumNetPercentReturn": 6.25
},
{
"Date": "2019-07-03T00:00:00",
"BMV": 721976.42,
"EMV": 719996.17,
"NetContribution": 0.00,
"NetInternalTransfers": 0.00,
"TotalExpenses": 0.00,
"TaxCredits": 0.00,
"PercentageReturn": 0.00,
"NetPercentReturn": 0.0,
"CumPercentageReturn": 0.00,
"CumNetPercentReturn": 5.96
},
{
"Date": "2019-07-04T00:00:00",
"BMV": 719996.17,
"EMV": 721906.22,
"NetContribution": 0.00,
"NetInternalTransfers": 0.00,
"TotalExpenses": 0.00,
"TaxCredits": 0.00,
"PercentageReturn": 0.00,
"NetPercentReturn": 0.0,
"CumPercentageReturn": 0.00,
"CumNetPercentReturn": 6.24
},
{
"Date": "2019-07-05T00:00:00",
"BMV": 721906.22,
"EMV": 746736.40,
"NetContribution": 0.00,
"NetInternalTransfers": 0.00,
"TotalExpenses": 0.00,
"TaxCredits": 0.00,
"PercentageReturn": 0.03,
"NetPercentReturn": 0.0,
"CumPercentageReturn": 0.00,
"CumNetPercentReturn": 9.89
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.FromDate | date-time | The earliest date used to calculate performance data. This could vary from the requested from date due the portfolio’s inception date for performance. |
ResponseData.ToDate | date-time | The latest date used to calculate performance data. This could vary from the requested to date due the portfolio’s recalculation or closure date. |
ResponseData.PerfInceptionDate | date-time | The minimum from date that can be used to calculate performance, as set on the Portfolio Details > Performance settings screen. |
ResponseData.DailyReturns | array | |
ResponseData.DailyReturns.Date | date-time | The date of the return. |
ResponseData.DailyReturns.BMV | double | The beginning market value of the portfolio on the Date. |
ResponseData.DailyReturns.EMV | double | The ending market value of the portfolio on the Date. |
ResponseData.DailyReturns.NetContribution | double | The net additions and withdrawals that flowed into and out of the portfolio within the performance period. The transactions that make up this net amount when including cash are available from the Additions and withdrawals report. |
ResponseData.DailyReturns.NetInternalTransfers | double | Internal transfers between cash books that are not to be treated as a client addition or withdrawal. |
ResponseData.DailyReturns.TotalExpenses | double | The total expenses recorded against the portfolio within the period. The Trading Activity > Income & Expenses > Expense Details page provides the ability to view these expenses. |
ResponseData.DailyReturns.TaxCredits | double | The total tax credits of the portfolio received within the performance period. |
ResponseData.DailyReturns.PercentageReturn | double | The performance percentage return |
ResponseData.DailyReturns.NetPercentReturn | double | The performance percentage return inclusive of expenses. |
ResponseData.DailyReturns.CumPercentageReturn | double | The cumulative percentage return of the portfolio from the From Date to the DailyReturns Date. |
ResponseData.DailyReturns.CumNetPercentReturn | double | The cumulative net percentage return of the portfolio from the From Date to the DailyReturns Date. |
GET Benchmarks
Definition: https://api.praemium.biz/public/api/Performance/Benchmarks
This endpoint returns the full list of benchmark indices maintained by Praemium to be used in the Benchmark Performance endpoint.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"Benchmarks": [
{
"BenchmarkID": 247,
"BenchmarkCode": "ABSINDEX",
"BenchmarkDescription": "ABS Australian CPI "
},
{
"BenchmarkID": 9,
"BenchmarkCode": "XJOAI",
"BenchmarkDescription": "S&P/ASX 200 Accumulation Index"
},
{
"BenchmarkID": 15,
"BenchmarkCode": "XAOAI",
"BenchmarkDescription": "S&P/ASX All Ordinaries Accumulation Index"
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.Benchmarks | array | |
ResponseData.Benchmarks.BenchmarkID | integer | Praemium ID of the Benchmark. |
ResponseData.Benchmarks.BenchmarkCode | string | Benchmark code. |
ResponseData.Benchmarks.BenchmarkDescription | string | Benchmark description. |
GET BenchmarkPerformance
Definition: https://api.praemium.biz/public/api/Performance/BenchmarkPerformance
This endpoint returns the percentage return of a benchmark for a given date period. When using this endpoint to compare with a portfolio’s performance, ensure that the date periods match.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
BenchmarkID: 9
FromDate: 2019-07-01
ToDate: 2019-07-05
MultiplePeriods: 1
Query Parameters
Parameter | Type | Description |
---|---|---|
BenchmarkIDrequired | integer | Praemium ID of the Benchmark as returned in the /Performance/Benchmarks endpoint |
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. |
MultiplePeriods | integer | Whether to calculate percentage returns for the period requested or include other periods.
|
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"BenchmarkID": 9,
"BenchmarkPerformance": {
"FromDate": "2019-01-01T00:00:00",
"ToDate": "2019-06-30T00:00:00",
"PercentReturns": [
{
"PeriodDescription": "1 mth",
"PercentageReturn": 3.7002
},
{
"PeriodDescription": "3 mths",
"PercentageReturn": 7.9730
},
{
"PeriodDescription": "1 yr",
"PercentageReturn": 11.5478
},
{
"PeriodDescription": "Since 01/01/2019",
"PercentageReturn": 19.7272
}
]
}
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.BenchmarkID | integer | Praemium ID of the Benchmark as returned in the /Performance/Benchmarks endpoint |
ResponseData.BenchmarkPerformance | object | |
ResponseData.BenchmarkPerformance.FromDate | date-time | The earliest date used to calculate performance data. This could vary from the requested from date due the benchmark’s earliest available performance date. |
ResponseData.BenchmarkPerformance.ToDate | date-time | The latest date used to calculate performance data. This could vary from the requested to date due the portfolio’s recalculation or closure date. |
ResponseData.BenchmarkPerformance.PercentReturns | array | |
ResponseData.BenchmarkPerformance.PercentReturns.PeriodDescription | string | The period the returns are calculated for. |
ResponseData.BenchmarkPerformance.PercentReturns.PercentageReturn | double | The percentage return of the benchmark for the period. |
GET HoldingsExcluded
Definition: https://api.praemium.biz/public/api/Performance/HoldingsExcluded
This endpoint returns the list of holdings that may be excluded from a portfolio's performance calculations. It is possible for holdings to be excluded for a set date range. This means that, depending on the performance period, a holding may not always be excluded.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2016-07-01
ToDate: 2020-07-05
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
FromDate | date-time | The from date used when calculating data for the request. |
ToDate | date-time | The to date used when calculating data for the request. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"Holdings": [
{
"SecurityCode": "CBA",
"SecurityDescription": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
"ToDate": "2019-09-01T00:00:00"
},
{
"SecurityCode": "NAB",
"SecurityDescription": "NATIONAL AUSTRALIA BANK LIMITED FPO",
"FromDate": "2019-07-01T00:00:00",
"ToDate": "2019-07-31T00:00:00"
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.Holdings | array | |
ResponseData.Holdings.SecurityCode | string | The security code of the security. |
ResponseData.Holdings.SecurityDescription | string | A description of the security. |
ResponseData.Holdings.FromDate | date-time | The start date the holding is excluded from performance calculations for the portfolio. |
ResponseData.Holdings.ToDate | date-time | The end date the holding is excluded from performance calculations for the portfolio. |
GET AssetClassPerformance
Definition: https://api.praemium.biz/public/api/Performance/AssetClassPerformance
This endpoint returns the percentage returns for each asset class over a date period for the specified portfolio.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountID: 361234
FromDate: 2019-01-01
ToDate: 2019-06-30
Query Parameters
Parameter | Type | Description |
---|---|---|
AccountIdrequired | integer | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. |
CalculationMethod | enum | 0 = Approximate returns, 1 = TWR |
Username | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"AccountId": 361234,
"FromDate": "2019-01-01",
"ToDate": "2019-06-30",
"Investments": [
{
"AssetClass": "Domestic Shares",
"Benchmark": "",
"StartValue": 337637.0,
"EndValue": 426616.0,
"TotalReturn": 168068.0,
"TotalReturnPercent": 51.70,
"BenchmarkReturnPercent": 0.00
},
{
"AssetClass": "International Shares",
"Benchmark": "",
"StartValue": 57219.0,
"EndValue": 53302.0,
"TotalReturn": 2371.0,
"TotalReturnPercent": 4.35,
"BenchmarkReturnPercent": 0.00
},
{
"AssetClass": "Domestic Listed Property",
"Benchmark": "",
"StartValue": 0.0,
"EndValue": 3979.0,
"TotalReturn": 137.0,
"TotalReturnPercent": 0.97,
"BenchmarkReturnPercent": 0.00
},
{
"AssetClass": "Domestic Fixed Interest",
"Benchmark": "",
"StartValue": 0.0,
"EndValue": 20152.0,
"TotalReturn": 1185.0,
"TotalReturnPercent": 6.76,
"BenchmarkReturnPercent": 0.00
}
]
}
Response Parameters
Parameter | Type | Description |
---|---|---|
AccountId | integer | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
FromDate | string | The earliest date used to return the Asset Class data. |
ToDate | string | The latest date used to return the Asset Class data. |
Investments | array | |
Investments.AssetClass | string | Asset class description. |
Investments.Benchmark | string | Asset class benchmark. |
Investments.StartValue | double | Market Value of the asset class at the FromDate. |
Investments.EndValue | double | Market Value of the asset class at the ToDate. |
Investments.TotalReturn | double | Total dollar return for the period. |
Investments.TotalReturnPercent | double | Total return for the period as a percentage. |
Investments.BenchmarkReturnPercent | double | Total return for the benchmark as a percentage. |
Tax
GET RealisedCgt
Definition: https://api.praemium.biz/public/api/tax/RealisedCgt
This endpoint returns the cost bases, tax parcels and realised CGT gain/loss for the CGT assets of the specified portfolio.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"ValuationDate": "2019-09-27T00:00:00Z",
"CGTAssetDisposals": [
{
"SecurityCode": "CSL",
"SecurityDescription": "CSL LIMITED FPO",
"TaxDate": "2018-10-11T00:00:00Z",
"PurchaseDate": "2018-10-11T00:00:00Z",
"SaleDate": "2019-08-01T00:00:00Z",
"Quantity": 50.00,
"ActualCost": 9381.00,
"AdjustedCost": 9381.00,
"TaxFreeAmount": 0.0,
"SaleProceeds": 11521.21,
"GrossGain": 2140.21,
"OptimalCGTCalculationMethod": "Other",
"OtherGain": 2140.21,
"CGTGain": 2140.21
},
{
"SecurityCode": "CSL",
"SecurityDescription": "CSL LIMITED FPO",
"TaxDate": "2018-11-02T00:00:00Z",
"PurchaseDate": "2018-11-02T00:00:00Z",
"SaleDate": "2019-08-01T00:00:00Z",
"Quantity": 100.00,
"ActualCost": 19202.08,
"AdjustedCost": 19202.08,
"TaxFreeAmount": 0.0,
"SaleProceeds": 23042.41,
"GrossGain": 3840.33,
"OptimalCGTCalculationMethod": "Other",
"OtherGain": 3840.33,
"CGTGain": 3840.33
}
],
"TaxFreeAndTaxDeferredAmounts": [],
"TrustCGTDistributions": []
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.ValuationDate | date-time | Date used to display the data. |
ResponseData.CGTAssetDisposals | array | |
ResponseData.CGTAssetDisposals.SecurityCode | string | The security code of the security. |
ResponseData.CGTAssetDisposals.SecurityDescription | string | A description of the security. |
ResponseData.CGTAssetDisposals.TaxDate | date-time | The date of the original purchase of the parcels, as used for tax purposes. |
ResponseData.CGTAssetDisposals.PurchaseDate | date-time | Typically, this is the same as the Tax date unless a corporate action has occurred, such as a takeover, where CGT rollover relief applies. |
ResponseData.CGTAssetDisposals.SaleDate | date-time | The disposal date. |
ResponseData.CGTAssetDisposals.Quantity | double | The number of units or shares disposed. |
ResponseData.CGTAssetDisposals.ActualCost | double | The amount the parcel was purchased for less any GST refundable amount. |
ResponseData.CGTAssetDisposals.AdjustedCost | double | The actual cost adjusted for any corporate actions, such as tax deferred distributions, or subsequent transactions. |
ResponseData.CGTAssetDisposals.TaxFreeAmount | double | Amount within the parcel that is tax free. |
ResponseData.CGTAssetDisposals.IndexedCost | double | If the security was acquired prior to 30/09/1999 and was held for more than one year, the cost base is increased by applying an indexation factor based on increase in CPI. |
ResponseData.CGTAssetDisposals.SaleProceeds | double | The amount the parcel was sold for. |
ResponseData.CGTAssetDisposals.GrossGain | double | Equal to the Market value minus the Adjusted cost. Shows the gain before any discounting or indexing is applied. |
ResponseData.CGTAssetDisposals.OptimalCGTCalculationMethod | string | The disposal method selected to calculate CGT gains. |
ResponseData.CGTAssetDisposals.DiscountedGain | double | The net of the gross gain and discount applied based on amounts that have had the discount rate applied. If the portfolio is for a company, then the discounted rate applied will be zero. For an individual the discount rate applied is 50%. |
ResponseData.CGTAssetDisposals.IndexedGain | double | Shows the gain between the indexed cost and the market value, if applicable. |
ResponseData.CGTAssetDisposals.OtherGain | double | Equal to the gross gain if applicable. Applies if the asset was purchased within the last 12 months relative to the as at date requested for this section. |
ResponseData.CGTAssetDisposals.CGTGain | double | Calculated based on what is optimal for the disposal method selected. |
ResponseData.CGTAssetDisposals.CGTLoss | double | Applicable if there is a loss on a tax parcel and the purchase date is post 19 September 1985. |
ResponseData.CGTAssetDisposals.PreCGTGainLoss | double | Gain if Pre-CGT calculation method is selected. |
ResponseData.TaxFreeAndTaxDeferredAmounts | array | |
ResponseData.TaxFreeAndTaxDeferredAmounts.SecurityCode | string | The security code of the security. |
ResponseData.TaxFreeAndTaxDeferredAmounts.SecurityDescription | string | A description of the security. |
ResponseData.TaxFreeAndTaxDeferredAmounts.TaxDate | date-time | The date of the original purchase of the parcels, as used for tax purposes. |
ResponseData.TaxFreeAndTaxDeferredAmounts.PurchaseDate | date-time | Typically, this is the same as the Tax date unless a corporate action has occurred, such as a takeover, where CGT rollover relief applies. |
ResponseData.TaxFreeAndTaxDeferredAmounts.SaleDate | date-time | The disposal date. |
ResponseData.TaxFreeAndTaxDeferredAmounts.Quantity | double | The number of units or shares disposed. |
ResponseData.TaxFreeAndTaxDeferredAmounts.ActualCost | double | The amount the parcel was purchased for less any GST refundable amount. |
ResponseData.TaxFreeAndTaxDeferredAmounts.TaxDeferred | double | The tax deferred amount for the Realised CGT position. |
ResponseData.TaxFreeAndTaxDeferredAmounts.TaxFree | double | The tax free amount for the Realised CGT position. |
ResponseData.TaxFreeAndTaxDeferredAmounts.AdjustedCost | double | The actual cost adjusted for any corporate actions, such as tax deferred distributions, or subsequent transactions. |
ResponseData.TrustCGTDistributions | array | |
ResponseData.TrustCGTDistributions.SecurityCode | string | The security code of the security. |
ResponseData.TrustCGTDistributions.SecurityDescription | string | A description of the security. |
ResponseData.TrustCGTDistributions.TaxDate | date-time | The date of the original purchase of the parcels, as used for tax purposes. |
ResponseData.TrustCGTDistributions.GrossGain | double | Equal to the Market value minus the Adjusted cost. Shows the gain before any discounting or indexing is applied. |
ResponseData.TrustCGTDistributions.DiscountedGain | double | The net of the gross gain and discount applied based on amounts that have had the discount rate applied. If the portfolio is for a company, then the discounted rate applied will be zero. For an individual the discount rate applied is 50%. |
ResponseData.TrustCGTDistributions.IndexedGain | double | Shows the gain between the indexed cost and the market value, if applicable. |
ResponseData.TrustCGTDistributions.OtherGain | double | Equal to the gross gain if applicable. Applies if the asset was purchased within the last 12 months relative to the as at date requested for this section. |
ResponseData.TrustCGTDistributions.CGTGainLoss | double | The CGT gain is calculated based on what is optimal for the disposal method selected. In some cases the indexed gain is used to optimise the use of losses. The CGT gain calculated from a less than optimal method is shown in italics for information purposes only and is excluded from the totals for the portfolio. NA is shown if a calculation method is not applicable. |
ResponseData.TrustCGTDistributions.PreCGTGainLoss | double | Gain if Pre-CGT calculation method is selected. |
GET RealisedCgtSummary
Definition: https://api.praemium.biz/public/api/tax/RealisedCgtSummary
This endpoint returns the cost bases, tax parcels and the realised CGT gain/loss for the CGT assets of the specified portfolio.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"ValuationDate": "2019-09-13T00:00:00Z",
"RealisedCGT": {
"TaxEntityType": "Trust",
"LossesCarriedForward": 0.0,
"LossesCurrentYear": -3766.5,
"CGTDisposalsDiscounted": 0.0,
"CGTDisposalsIndexed": 0.0,
"CGTDisposalsOther": 16090.77,
"CGTDistributionsDiscounted": 0.0,
"CGTDistributionsIndexed": 0.0,
"CGTDistributionsOther": 0.0,
"LossesAppliedDiscounted": 0.0,
"LossesAppliedIndexed": 0.0,
"LossesAppliedOther": -3766.5,
"DiscountApplied": 0.0,
"NetCapitalGainLoss": 12324.27,
"NetCapitalGainLossDiscounted": 0.0,
"NetCapitalGainLossIndexed": 0.0,
"NetCapitalGainLossOther": 12324.27
}
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.ValuationDate | date-time | Date used to display the data. |
ResponseData.RealisedCGT | object | |
ResponseData.RealisedCGT.TaxEntityType | string | Recorded against the portfolio and used in CGT calculations. |
ResponseData.RealisedCGT.LossesCarriedForward | double | Any losses from the prior years that have been carried forward. |
ResponseData.RealisedCGT.LossesCurrentYear | double | The total amount of losses incurred from asset disposals during the tax year. |
ResponseData.RealisedCGT.CGTDisposalsDiscounted | double | Disposal amounts that have had the discount rate applied. |
ResponseData.RealisedCGT.CGTDisposalsIndexed | double | Shows the gain between the indexed cost and the disposal value, if applicable. |
ResponseData.RealisedCGT.CGTDisposalsOther | double | Applies if the asset was disposed within 12 months of acquisition. |
ResponseData.RealisedCGT.CGTDistributionsDiscounted | double | Distribution amounts that have had the discount rate applied. |
ResponseData.RealisedCGT.CGTDistributionsIndexed | double | Shows the gain between the indexed cost and the disposal value, if applicable. |
ResponseData.RealisedCGT.CGTDistributionsOther | double | Applies if the asset was disposed within 12 months of acquisition. |
ResponseData.RealisedCGT.LossesAppliedDiscounted | double | Losses attributable against discounted gains. |
ResponseData.RealisedCGT.LossesAppliedIndexed | double | Losses attributable against indexed gains. |
ResponseData.RealisedCGT.LossesAppliedOther | double | Losses attributable against other gains. |
ResponseData.RealisedCGT.DiscountApplied | double | The amount of discount allowable. |
ResponseData.RealisedCGT.NetCapitalGainLoss | double | The portfolio's net capital gain (or loss) for the tax year. |
ResponseData.RealisedCGT.NetCapitalGainLossDiscounted | double | The portfolio's net capital gain (or loss) related to discounting. |
ResponseData.RealisedCGT.NetCapitalGainLossIndexed | double | The portfolio's net capital gain (or loss) related to indexing. |
ResponseData.RealisedCGT.NetCapitalGainLossOther | double | The portfolio's net capital gain (or loss) not relating to discounting or indexing. |
GET UnrealisedCgt
Definition: https://api.praemium.biz/public/api/tax/UnrealisedCgt
This endpoint returns the cost bases, tax parcels and the unrealised CGT gain/loss for CGT assets. The ValuationDate requested must be the date the portfolio is recalculated to, as returned by the /Portfolios “ProcessedTo” field.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
ValuationDate: 2019-09-13
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
ValuationDate | date-time | Date used to display the data. |
Page | integer | Page number to return. |
Response Examples
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"ValuationDate": "2019-09-13T00:00:00Z",
"ParcelCount": {
"RecordsFound": 2,
"RecordsReturned": 2,
"PageCount": 1
},
"Parcels": [
{
"SecurityCode": "ANZ",
"SecurityDescription": "AUSTRALIA AND NEW ZEALAND BANKING GROUP LIMITED FPO",
"TaxDate": "2019-08-05T00:00:00Z",
"PurchaseDate": "2019-08-05T00:00:00Z",
"Quantity": 185.0000,
"CostBaseUnknown": 0,
"ActualCost": 5078.91,
"TaxDeferredAmount": 0.00,
"TaxFreeAmount": 0.00,
"AdjustedCost": 5078.91,
"MarketValue": 5305.80,
"GrossGain": 226.89,
"OptimalCGTCalculationMethod": "Other",
"OtherGain": 226.89,
"CGTGain": 226.89
},
{
"SecurityCode": "BHP",
"SecurityDescription": "BHP GROUP LIMITED FPO",
"TaxDate": "2019-08-05T00:00:00Z",
"PurchaseDate": "2019-08-05T00:00:00Z",
"Quantity": 167.0000,
"CostBaseUnknown": 0,
"ActualCost": 6316.90,
"TaxDeferredAmount": 0.00,
"TaxFreeAmount": 0.00,
"AdjustedCost": 6316.90,
"MarketValue": 6152.28,
"GrossGain": 0.00,
"OptimalCGTCalculationMethod": "Other",
"CGTLoss": -164.62
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.ValuationDate | date-time | Date used to display the data. |
ResponseData.ParcelCount | object | |
ResponseData.ParcelCount.RecordsFound | integer | Number of records found matching the search criteria. |
ResponseData.ParcelCount.RecordsReturned | integer | Number of records returned in the current response. |
ResponseData.ParcelCount.PageCount | integer | Number of pages in the response. |
ResponseData.Parcels | array | |
ResponseData.Parcels.SecurityCode | string | The security code of the security. |
ResponseData.Parcels.SecurityDescription | string | A description of the security. |
ResponseData.Parcels.TaxDate | date-time | The date of the original purchase of the parcels, as used for tax purposes. |
ResponseData.Parcels.PurchaseDate | date-time | Typically, this is the same as the Tax date unless a corporate action has occurred, such as a takeover, where CGT rollover relief applies. |
ResponseData.Parcels.Quantity | double | The number of units or shares held for each tax parcel. |
ResponseData.Parcels.CostBaseUnknown | integer | 0 (Cost base known) or 1 (Cost base unknown) for the holding. |
ResponseData.Parcels.ActualCost | double | The amount the parcel was purchased for less any GST refundable amount. |
ResponseData.Parcels.TaxDeferredAmount | double | Amount within the parcel that is tax deferred. |
ResponseData.Parcels.TaxFreeAmount | double | Amount within the parcel that is tax free. |
ResponseData.Parcels.AdjustedCost | double | The actual cost adjusted for any corporate actions, such as tax deferred distributions, or subsequent transactions. |
ResponseData.Parcels.IndexedCost | double | If the security was acquired prior to 30/09/1999 and was held for more than one year, the cost base is increased by applying an indexation factor based on increase in CPI. |
ResponseData.Parcels.MarketValue | double | The amount the parcel is worth using the current market price. |
ResponseData.Parcels.GrossGain | double | Equal to the Market value minus the Adjusted cost. Shows the gain before any discounting or indexing is applied. |
ResponseData.Parcels.OptimalCGTCalculationMethod | string | The disposal method selected to calculate CGT gains. |
ResponseData.Parcels.DiscountedGain | double | The net of the gross gain and discount applied based on amounts that have had the discount rate applied. If the portfolio is for a company, then the discounted rate applied will be zero. For an individual the discount rate applied is 50%. |
ResponseData.Parcels.IndexedGain | double | Shows the gain between the indexed cost and the market value, if applicable. |
ResponseData.Parcels.OtherGain | double | Equal to the gross gain if applicable. Applies if the asset was purchased within the last 12 months relative to the as at date requested for this section. |
ResponseData.Parcels.CGTGain | double | Calculated based on what is optimal for the disposal method selected. |
ResponseData.Parcels.CGTLoss | double | Applicable if there is a loss on a tax parcel and the purchase date is post 19 September 1985. |
ResponseData.Parcels.CGTExemptGainLoss | double | The gross gain or loss on tax parcels with that are CGT exempt, including those with a purchase date before the CGT legislation applied. |
GET UnrealisedCgtSummary
Definition: https://api.praemium.biz/public/api/tax/UnrealisedCgtSummary
This endpoint returns the cost bases, tax parcels and the unrealised CGT gain/loss for CGT assets. The ValuationDate requested must be the date the portfolio is recalculated to, as returned by the /Portfolios “ProcessedTo” field. This API endpoint takes care of business logic for you to exclude from the portfolio totals any gains returned by the UnrealisedCGT endpoint that use a CGT calculation method that is not optimal, i.e. when there is more than one CGT calculation method available for an individual parcel.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
ValuationDate: 2019-09-13
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
ValuationDate | date-time | Date used to display the data. |
Response Examples
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"ValuationDate": "2019-09-27T00:00:00Z",
"UnrealisedCGT": {
"CostBaseUnknown": 0,
"ActualCost": 432441.87,
"AdjustedCost": 431860.93,
"MarketValue": 659819.53,
"GrossGain": 242949.38,
"DiscountedGain": 108391.98,
"OtherGain": 26165.43,
"CGTGain": 134557.41,
"CGTLoss": -14990.78
}
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.ValuationDate | date-time | Date used to display the data. |
ResponseData.UnrealisedCGT | object | |
ResponseData.UnrealisedCGT.CostBaseUnknown | integer | 0 (Cost base known) or 1 (Cost base unknown) for the holding. |
ResponseData.UnrealisedCGT.ActualCost | double | The actual cost of the security is its purchase cost, adjusted for all CGT events (other than CGT events E4 and E10) that have happened to it. |
ResponseData.UnrealisedCGT.AdjustedCost | double | Actual cost considering tax adjustments. |
ResponseData.UnrealisedCGT.MarketValue | double | Market Value of the security at the ValuationDate. |
ResponseData.UnrealisedCGT.GrossGain | double | Equal to the Market value minus the Adjusted cost. Shows the gain before any discounting or indexing is applied. |
ResponseData.UnrealisedCGT.DiscountedGain | double | The net of the gross gain and discount applied based on amounts that have had the discount rate applied. If the portfolio is for a company, then the discounted rate applied will be zero. For an individual the discount rate applied is 50%. |
ResponseData.UnrealisedCGT.IndexedGain | double | Shows the gain between the indexed cost and the market value, if applicable. |
ResponseData.UnrealisedCGT.OtherGain | double | Equal to the gross gain if applicable. Applies if the asset was purchased within the last 12 months relative to the as at date requested for this section. |
ResponseData.UnrealisedCGT.CGTGain | double | Calculated based on what is optimal for the disposal method selected. |
ResponseData.UnrealisedCGT.CGTLoss | double | Applicable if there is a loss on a tax parcel and the purchase date is post 19 September 1985. |
ResponseData.UnrealisedCGT.CGTExemptGainLoss | double | The gross gain or loss on tax parcels with that are CGT exempt, including those with a purchase date before the CGT legislation applied. |
Trading Activity
GET Transactions
Definition: https://api.praemium.biz/public/api/TradingActivity/Transactions
This endpoint returns the transactions for the specified portfolio over the given date period.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2019-01-01
ToDate: 2019-06-30
BuysAndSellsOnly: 0
OrderBy: Asset
Order: Asc
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. |
BuysAndSellsOnly | integer | Includes Buy, Close position, Sell, Short Sell, Write Opt. to Open, Write Opt. to Close, Buy Opt. to open, Buy Opt. to close. |
Page | integer | Page number to return. |
OrderBy | string | TransactionDate or Asset |
Order | string | Asc or Desc |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"TransactionCount": {
"RecordsFound": 3,
"RecordsReturned": 3,
"PageCount": 1
},
"InternalID": 361234,
"FromDate": "2019-01-01T00:00:00",
"ToDate": "2019-01-14T00:00:00",
"Transactions": [
{
"TransactionId": 137654286521,
"Asset": "CBA",
"AssetDescription": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
"ExchangeCode": "ASX",
"TransactionDate": "2019-01-09T00:00:00",
"SettlementDate": "2019-01-11T00:00:00",
"TransactionType": "Buy",
"Quantity": 345.0,
"AveragePrice": 72.42,
"NetAmount": 24984.15,
"Unconfirmed": "0",
"CostBaseUnknown": "0",
"DisposalMethod": "",
"Narration": "c/n 55988403",
"BrokerageIncGST": 15.0,
"BrokerageGST": 1.5,
"GSTClaimable": 0.0,
"Broker": "",
"TradedCurrency": "AUD",
"TradedCurrencyAmount": 24984.15,
"TradedCurrencyAveragePrice": 72.42,
"SettlementCurrency": "AUD",
"SettlementCurrencyAmount": 24984.15,
"SettlementCurrencyAveragePrice": 72.42,
"BuyBack": "0",
"DeemedAmount": 0.0
},
{
"TransactionId": 137654286522,
"Asset": "TWE",
"AssetDescription": "TREASURY WINE ESTATES LIMITED FPO",
"ExchangeCode": "ASX",
"TransactionDate": "2019-01-09T00:00:00",
"SettlementDate": "2019-01-11T00:00:00",
"TransactionType": "Buy",
"Quantity": 1670.0,
"AveragePrice": 14.99,
"NetAmount": 25033.1,
"Unconfirmed": "0",
"CostBaseUnknown": "0",
"DisposalMethod": "",
"Narration": "c/n 55995832",
"BrokerageIncGST": 15.0,
"BrokerageGST": 1.5,
"GSTClaimable": 0.0,
"Broker": "",
"TradedCurrency": "AUD",
"TradedCurrencyAmount": 25033.1,
"TradedCurrencyAveragePrice": 14.99,
"SettlementCurrency": "AUD",
"SettlementCurrencyAmount": 25033.1,
"SettlementCurrencyAveragePrice": 14.99,
"BuyBack": "0",
"DeemedAmount": 0.0
},
{
"TransactionId": 137654286523,
"Asset": "WTC",
"AssetDescription": "WISETECH GLOBAL LIMITED FPO",
"ExchangeCode": "ASX",
"TransactionDate": "2019-01-09T00:00:00",
"SettlementDate": "2019-01-11T00:00:00",
"TransactionType": "Buy",
"Quantity": 670.0,
"AveragePrice": 18.64,
"NetAmount": 12491.59,
"Unconfirmed": "0",
"CostBaseUnknown": "0",
"DisposalMethod": "",
"Narration": "c/n 55996073",
"BrokerageIncGST": 15.0,
"BrokerageGST": 1.5,
"GSTClaimable": 0.0,
"Broker": "",
"TradedCurrency": "AUD",
"TradedCurrencyAmount": 12491.59,
"TradedCurrencyAveragePrice": 18.64,
"SettlementCurrency": "AUD",
"SettlementCurrencyAmount": 12491.59,
"SettlementCurrencyAveragePrice": 18.64,
"BuyBack": "0",
"DeemedAmount": 0.0
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.TransactionCount | object | |
ResponseData.TransactionCount.RecordsFound | integer | Number of records found matching the search criteria. |
ResponseData.TransactionCount.RecordsReturned | integer | Number of records returned in the current response. |
ResponseData.TransactionCount.PageCount | integer | Number of pages in the response. |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.FromDate | date-time | The from date used when calculating data for the request. |
ResponseData.ToDate | date-time | The to date used when calculating data for the request. |
ResponseData.Transactions | array | |
ResponseData.Transactions.TransactionId | integer | The unique identifier of the transaction. (Value might change subject to database table reseeding) |
ResponseData.Transactions.Asset | string | The security code of the security. |
ResponseData.Transactions.AssetDescription | string | A description of the security. |
ResponseData.Transactions.ExchangeCode | string | The exchange code of security. |
ResponseData.Transactions.TransactionDate | date-time | The date on which the transaction occurred. |
ResponseData.Transactions.SettlementDate | date-time | The date on which the transaction occurred. |
ResponseData.Transactions.TransactionType | string | A categorised type of the transaction. |
ResponseData.Transactions.Quantity | double | The number of units or shares disposed. |
ResponseData.Transactions.AveragePrice | double | Net Amount divided by Quantity. |
ResponseData.Transactions.NetAmount | double | This value should be adjusted (increased for a buy, decreased for a sell) for any brokerage, GST or other charges paid to transact. |
ResponseData.Transactions.Unconfirmed | string | Generated transactions that have not been confirmed. |
ResponseData.Transactions.CostBaseUnknown | string | 0 (Cost base known) or 1 (Cost base unknown) for the holding. |
ResponseData.Transactions.DisposalMethod | string | Tax method used on the security disposal. |
ResponseData.Transactions.Narration | string | Displays any notes that have added to the transaction. |
ResponseData.Transactions.BrokerageIncGST | double | The total of any brokerage for the transaction including GST. |
ResponseData.Transactions.BrokerageGST | double | The GST amount of any brokerage for the transaction. |
ResponseData.Transactions.GSTClaimable | double | The total of any GST amount that is payable. |
ResponseData.Transactions.Broker | string | The name of the broker against the transaction. |
ResponseData.Transactions.TradedCurrency | string | For International Investments. Displays the currency in which the asset was traded. |
ResponseData.Transactions.TradedCurrencyAmount | double | Displays the amount traded in an international currency. |
ResponseData.Transactions.TradedCurrencyAveragePrice | double | TradedCurrencyAmount divided by Quantity. |
ResponseData.Transactions.SettlementCurrency | string | Displays the currency in which the trade was settled. |
ResponseData.Transactions.SettlementCurrencyAmount | double | Displays the amount settled in an international currency. |
ResponseData.Transactions.SettlementCurrencyAveragePrice | double | SettlementCurrencyAmount divided by Quantity. |
ResponseData.Transactions.BuyBack | string | If the transaction is classified as a buyback. |
ResponseData.Transactions.DeemedAmount | double | The buyback capital value applied for CGT purposes |
GET CashTransactions
Definition: https://api.praemium.biz/public/api/TradingActivity/CashTransactions
This endpoint returns the cash transactions of the specified portfolio within the specified period.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2019-01-01
ToDate: 2019-06-30
BuysAndSellsOnly: 0
OrderBy: Asset
Order: Asc
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. |
Loans | integer | Whether loans should (1) or should not (0) be included in the response. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"InternalID": 361234,
"FromDate": "2019-01-01T00:00:00",
"ToDate": "2019-01-14T00:00:00",
"CashBooks": [
{
"Summary": {
"CashBookCode": "+CMA",
"CashBookDescription": "CASH MANAGEMENT AC",
"Currency": "AUD",
"OpeningBalance": 122414.70,
"Deposits": 146.65,
"Withdrawals": -62508.84,
"ClosingBalance": 60052.51,
"ClosingBalancePortfolioCurency": 0.0,
"ClosingForexRate": 1.0000
},
"Transactions": [
{
"TransactionId": 137654286521,
"TransactionDate": "2019-01-01T00:00:00Z",
"Currency": "AUD",
"TransactionType": "Opening Balance",
"Narration": "",
"Deposit": 0.00,
"Withdrawal": 0.00,
"ValuePortfolioCurrency": 0.00,
"Balance": 122414.7,
"GLCode": ""
},
{
"TransactionId": 137654286522,
"TransactionDate": "2019-01-01T00:00:00Z",
"Currency": "AUD",
"TransactionType": "Interest Receipt",
"Narration": "Credit Interest",
"Deposit": 146.65,
"Withdrawal": 0.00,
"ValuePortfolioCurrency": 146.65,
"Balance": 122561.35,
"GLCode": ""
},
{
"TransactionId": 137654286523,
"TransactionDate": "2019-01-11T00:00:00Z",
"Currency": "AUD",
"TransactionType": "Stock Purchase",
"Narration": "Transfer Out Transaction B 6175.95 55988403",
"Deposit": 0.00,
"Withdrawal": -24984.15,
"ValuePortfolioCurrency": -24984.15,
"Balance": 97577.2,
"GLCode": ""
},
{
"TransactionId": 137654286524,
"TransactionDate": "2019-01-11T00:00:00Z",
"Currency": "AUD",
"TransactionType": "Stock Purchase",
"Narration": "Transfer Out Transaction B 6175.95 5599583",
"Deposit": 0.00,
"Withdrawal": -25033.10,
"ValuePortfolioCurrency": -25033.10,
"Balance": 72544.1,
"GLCode": ""
},
{
"TransactionId": 137654286525,
"TransactionDate": "2019-01-11T00:00:00Z",
"Currency": "AUD",
"TransactionType": "Stock Purchase",
"Narration": "Transfer Out Transaction B6175.95 55996073",
"Deposit": 0.00,
"Withdrawal": -12491.59,
"ValuePortfolioCurrency": -12491.59,
"Balance": 60052.51,
"GLCode": ""
}
]
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.FromDate | date-time | The from date used when calculating data for the request. |
ResponseData.ToDate | date-time | The to date used when calculating data for the request. |
ResponseData.CashBooks | array | |
ResponseData.CashBooks.Summary | object | |
ResponseData.CashBooks.Summary.CashBookCode | string | The code of the cashbook. |
ResponseData.CashBooks.Summary.CashBookDescription | string | A description of the cashbook. |
ResponseData.CashBooks.Summary.Currency | string | Denominated currency of the cashbook transactions. |
ResponseData.CashBooks.Summary.OpeningBalance | double | Cashbook balance at the FromDate. |
ResponseData.CashBooks.Summary.Deposits | double | Sum of all credit type transactions for the cashbook. |
ResponseData.CashBooks.Summary.Withdrawals | double | Sum of all debit type transactions for the cashbook. |
ResponseData.CashBooks.Summary.ClosingBalance | double | Cashbook balance at the ToDate. |
ResponseData.CashBooks.Summary.ClosingBalancePortfolioCurency | double | ClosingBalance of the cashbook in the denominated Portfolio Currency. |
ResponseData.CashBooks.Summary.ClosingForexRate | double | The FX rate used to calculate the ClosingBalancePortfolioCurrency value. |
ResponseData.CashBooks.Transactions | array | |
ResponseData.CashBooks.Transactions.TransactionId | integer | The unique identifier of the transaction. (Value might change subject to database table reseeding) |
ResponseData.CashBooks.Transactions.TransactionDate | date-time | The date on which the transaction occurred. |
ResponseData.CashBooks.Transactions.Currency | string | Denominated currency of the transaction. |
ResponseData.CashBooks.Transactions.TransactionType | string | A categorised type of the transaction. |
ResponseData.CashBooks.Transactions.Narration | string | Displays any notes that have added to the transaction. |
ResponseData.CashBooks.Transactions.Deposit | double | The amount if this transaction is a credit type. |
ResponseData.CashBooks.Transactions.Withdrawal | double | The amount if this transaction is a debit type. |
ResponseData.CashBooks.Transactions.ValuePortfolioCurrency | double | Value of the transaction in the denominated Portfolio Currency. |
ResponseData.CashBooks.Transactions.Balance | double | The balance of the cash book after the transaction has been credited or debited. |
ResponseData.CashBooks.Transactions.GLCode | string | GLCode of the transaction. |
GET UnsettledTransactions
Definition: https://api.praemium.biz/public/api/TradingActivity/UnsettledTransactions
This endpoint provides a list of any unsettled transactions within the specified period.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2019-01-01
ToDate: 2019-09-27
OrderBy: Asset
Order: Asc
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
FromDate | date-time | The from date used when calculating data for the request. |
ToDate | date-time | The to date used when calculating data for the request. |
UserID | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Page | integer | Page number to return. |
Response Examples
# 200 - OK
{
"ResponseStatus": {
"Success": true,
"Errors": []
},
"ResponseData": {
"TransactionCount": {
"RecordsFound": 21,
"RecordsReturned": 21,
"PageCount": 1
},
"InternalID": 361234,
"FromDate": "2019-09-26T00:00:00Z",
"ToDate": "2019-09-27T00:00:00",
"Transactions": [
{
"Asset": "MBLHB",
"TransactionCode": "B",
"TransactionDescription": "Buy",
"TransactionDate": "2019-09-27T00:00:00",
"SettlementDate": "2019-10-01T00:00:00",
"Quantity": 282.0,
"NetAmount": -25964.28,
"AveragePrice": 92.0719,
"DisposalMethod": "",
"Narration": "",
"ContractNoteRef": "1097937246",
"Brokerage": 13.3100,
"GST": 1.3300,
"OtherCharges": 0.0000,
"OtherChargesGST": 0.0000
},
{
"Asset": "IANG",
"TransactionCode": "B",
"TransactionDescription": "Buy",
"TransactionDate": "2019-09-27T00:00:00",
"SettlementDate": "2019-10-01T00:00:00",
"Quantity": 1211.0,
"NetAmount": -121839.92,
"AveragePrice": 100.611,
"DisposalMethod": "",
"Narration": "",
"ContractNoteRef": "1097937248",
"Brokerage": 61.1300,
"GST": 6.1100,
"OtherCharges": 0.0000,
"OtherChargesGST": 0.0000
}
]
}
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ResponseStatus | object | |
ResponseStatus.Success | boolean | True/false |
ResponseStatus.Errors | array | Information regarding the response error (if applicable). |
ResponseStatus.Errors.Code | integer | Error code for the response error. |
ResponseStatus.Errors.Message | string | Error message for the error code. |
ResponseData | object | |
ResponseData.TransactionCount | object | |
ResponseData.TransactionCount.RecordsFound | integer | Number of records found matching the search criteria. |
ResponseData.TransactionCount.RecordsReturned | integer | Number of records returned in the current response. |
ResponseData.TransactionCount.PageCount | integer | Number of pages in the response. |
ResponseData.InternalID | integer | The InternalID of the Portfolio. |
ResponseData.FromDate | date-time | The from date used when calculating data for the request. |
ResponseData.ToDate | date-time | The to date used when calculating data for the request. |
ResponseData.Transactions | array | |
ResponseData.Transactions.Asset | string | The security code of the security. |
ResponseData.Transactions.TransactionCode | string | A categorised type of the transaction. |
ResponseData.Transactions.TransactionDescription | string | Transaction code description. |
ResponseData.Transactions.TransactionDate | date-time | The date on which the transaction occurred. |
ResponseData.Transactions.SettlementDate | date-time | The date on which the transaction occurred. |
ResponseData.Transactions.Quantity | double | The number of units or shares disposed. |
ResponseData.Transactions.NetAmount | double | This value should be adjusted (increased for a buy, decreased for a sell) for any brokerage, GST or other charges paid to transact. |
ResponseData.Transactions.AveragePrice | double | Net Amount divided by Quantity. |
ResponseData.Transactions.DisposalMethod | string | Tax method used on the security disposal. |
ResponseData.Transactions.Narration | string | Displays any notes that have added to the transaction. |
ResponseData.Transactions.ContractNoteRef | string | Unique contract note reference number. |
ResponseData.Transactions.Brokerage | double | Total of any brokerage for the transaction. |
ResponseData.Transactions.GST | double | GST amount of any brokerage for the transaction. |
ResponseData.Transactions.OtherCharges | double | Total of any other charges (eg. international transaction processing fees) for the transaction. |
ResponseData.Transactions.OtherChargesGST | double | GST amount of any other charges for the transaction. |
GET DividendReinvestmentDetails
Definition: https://api.praemium.biz/public/api/TradingActivity/DividendReinvestmentDetails
This endpoint returns the dividend reinvestment details of the specified portfolio.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
Response Examples
# 200 - OK
[
{
"SecurityCode": "AMP",
"Exchange": "ASX",
"DRPType": "DRP",
"FromDate": "2016-07-01T00:00:00Z",
"ToDate": "2050-01-01T00:00:00Z",
"MaxSharesParticipating": -1.0,
"PercentSharesParticipating": 0.0,
"ExcludeFromDRP": false,
"CreatedDate": "0001-01-01T00:00:00",
"UpdatedDate": "0001-01-01T00:00:00"
},
{
"SecurityCode": "FMG",
"Exchange": "ASX",
"DRPType": "DRP",
"FromDate": "2018-07-01T00:00:00Z",
"ToDate": "2050-01-01T00:00:00Z",
"MaxSharesParticipating": -1.0,
"PercentSharesParticipating": 0.0,
"ExcludeFromDRP": false,
"CreatedDate": "2018-10-08T16:55:24.53Z",
"UpdatedDate": "2018-10-08T16:55:24.53Z"
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
SecurityCode | string | The security code of the security. |
Exchange | string | The exchange code of security. |
DRPType | string | Either DRP (Dividend Reinvestment Plan) or BSP (Bonus Share Plan). |
FromDate | date-time | The from date used when calculating data for the request. |
ToDate | date-time | The to date used when calculating data for the request. |
MaxSharesParticipating | double | The number of shares held that are requested to participate in the reinvestment plan. |
PercentSharesParticipating | double | The percentage of the DRP to take as shares. Note that this cannot be used in conjunction with MaxSharesParticipating. |
ExcludeFromDRP | boolean | Whether the security is excluded from the portfolio-wide reinvestment plan. |
CreatedDate | date-time | Date the record was created. |
UpdatedDate | date-time | Date the record was updated. |
Income
GET TaxCredit
Definition: https://api.praemium.biz/public/api/income/taxCredit
This endpoint returns the income and tax credit breakdown for the income entries accrued within the specified period.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
FromDate | date-time | The from date used when calculating data for the request. |
ToDate | date-time | The to date used when calculating data for the request. |
Response Examples
# 200 - OK
[
{
"IncomeId": 176563455,
"IncomeSource": "Australian",
"IncomeType": "Interest from cash",
"Asset": "+CMA",
"AssetDescription": "CASH MANAGEMENT AC",
"ExecutionDate": "2019-09-01T00:00:00Z",
"PaymentDate": "2019-09-01T00:00:00Z",
"IncomeTotal": 83.22,
"DRP": 0.0,
"CashAmount": 83.22,
"Receivable": 0.0,
"TaxWithheld": 0.0,
"ForeignTaxPay": 0.0,
"FrankingCredit": 0.0
},
{
"IncomeId": 176563472,
"IncomeSource": "Australian",
"IncomeType": "Dividends",
"Asset": "TCL",
"AssetDescription": "TRANSURBAN GROUP FULLY PAID ORDINARY/UNITS STAPLED SECURITIES",
"ExecutionDate": "2018-12-28T00:00:00Z",
"PaymentDate": "2019-02-15T00:00:00Z",
"IncomeTotal": 20.0,
"DRP": 0.0,
"CashAmount": 20.0,
"Receivable": 0.0,
"TaxWithheld": 0.0,
"ForeignTaxPay": 0.0,
"FrankingCredit": 8.57
},
{
"IncomeId": 176563446,
"IncomeSource": "Foreign",
"IncomeType": "Distributions",
"Asset": "TECH",
"AssetDescription": "ETFS MORNINGSTAR GLOBAL TECHNOLOGY ETF ETF UNITS FULLY PAID",
"ExecutionDate": "2018-06-29T00:00:00Z",
"PaymentDate": "2018-07-16T00:00:00Z",
"IncomeTotal": 1469.45,
"DRP": 0.0,
"CashAmount": 1455.91,
"Receivable": 0.0,
"TaxWithheld": 0.0,
"ForeignTaxPay": 13.54,
"FrankingCredit": 5.5
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
IncomeId | integer | Praemium income id. |
IncomeSource | string | Whether the income was Australian or Foreign based. |
IncomeType | string | Type of income received. |
Asset | string | The security code of the security. |
AssetDescription | string | A description of the security. |
ExecutionDate | date-time | SecurityDescription |
PaymentDate | date-time | Payment date of the income record. |
Currency | string | The local currency of the security. |
IncomeTotal | double | Total value of the income record. |
DRP | double | Amount received via dividend reinvestment. |
CashAmount | double | Amount received via cash. |
Receivable | double | Amount of income yet to be received. |
TaxWithheld | double | Total tax withheld on the income record. |
ForeignTaxPay | double | Amount of foreign tax of the income record. |
FrankingCredit | double | Franking credit amount attributable to the income. |
GET IncomeSchedues
Definition: https://api.praemium.biz/public/api/income/schedules
This endpoint returns the income and schedules breakdown for the income entries accrued within the specified period.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2019-01-01
ToDate: 2019-09-27
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
FromDate | date-time | The from date used when calculating data for the request. |
ToDate | date-time | The to date used when calculating data for the request. |
Response Examples
# 200 - OK
[
{
"IncomeId": 176563455,
"IncomeTypeDescription": "Dividends",
"AssetDescription": "BHP GROUP LIMITED FPO",
"TaxDate": "2019-01-30T00:00:00",
"Interest": 0.00,
"UnfrankedTotal": 0.00,
"FrankedTotal": 2260.39,
"FrankingCreditsTotal": 968.74,
"TrustOtherAust": 0.00,
"ForeignIncomeTotal": 0.00,
"TrustCGTDistributionsTotal": 0.00,
"NonAssessableTotal": 0.00,
"IncomeTotal": 2260.39,
"TaxWithheld": 0.00,
"ForeignIncomeTaxOffsetsTotal": 0.00,
"TrustOtherExpenses": 0.00,
"CashAmount": 2260.39,
"DRP": 0.00,
"AccruedAmount": 0.00
},
{
"IncomeId": 176563472,
"IncomeTypeDescription": "Trust income",
"AssetDescription": "GPT GROUP STAPLED SECURITIES FULLY PAID - GPT",
"TaxDate": "2019-08-30T00:00:00",
"Interest": 0.00,
"UnfrankedTotal": 84.82,
"FrankedTotal": 0.00,
"FrankingCreditsTotal": 0.00,
"TrustOtherAust": 0.00,
"ForeignIncomeTotal": 0.00,
"TrustCGTDistributionsTotal": 0.00,
"NonAssessableTotal": 0.00,
"IncomeTotal": 84.82,
"TaxWithheld": 0.00,
"ForeignIncomeTaxOffsetsTotal": 0.00,
"TrustOtherExpenses": 0.00,
"CashAmount": 84.82,
"DRP": 0.00,
"AccruedAmount": 0.00
},
{
"IncomeId": 176563446,
"IncomeTypeDescription": "Interest",
"AssetDescription": "CASH MANAGEMENT AC",
"TaxDate": "2019-03-01T00:00:00",
"Interest": 157.64,
"UnfrankedTotal": 0.00,
"FrankedTotal": 0.00,
"FrankingCreditsTotal": 0.00,
"TrustOtherAust": 0.00,
"ForeignIncomeTotal": 0.00,
"TrustCGTDistributionsTotal": 0.00,
"NonAssessableTotal": 0.00,
"IncomeTotal": 157.64,
"TaxWithheld": 0.00,
"ForeignIncomeTaxOffsetsTotal": 0.00,
"TrustOtherExpenses": 0.00,
"CashAmount": 157.64,
"DRP": 0.00,
"AccruedAmount": 0.00
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
IncomeId | integer | Praemium income id. |
IncomeTypeDescription | string | Type of income received. |
AssetDescription | string | Asset description. |
TaxDate | date-time | IncomeType |
Interest | double | Interest amount. |
UnfrankedTotal | double | Amount received that was unfranked. |
FrankedTotal | double | Amount received that was franked. |
FrankingCreditsTotal | double | Imputation credits. |
TrustOtherAust | double | Australian sourced income component that is not classified as one of the above types. |
ForeignIncomeTotal | double | Amount received from non-Australian sources. |
TrustCGTDistributionsTotal | double | Amount received due to distributed capital gains. |
NonAssessableTotal | double | Total amount that is non assessable for tax purposes. |
IncomeTotal | double | Total income amount received. |
TaxWithheld | double | Total tax withheld on the income record. |
ForeignIncomeTaxOffsetsTotal | double | Foreign income tax offsets. |
TrustOtherExpenses | double | Other expenses related to the income record. |
CashAmount | double | Amount received via cash. |
DRP | double | Amount received via dividend reinvestment. |
AccruedAmount | double | Income amount that is accrued. |
Expense
GET Expenses
Definition: https://api.praemium.biz/public/api/expenses
This endpoint returns expense details for the specified portfolio accrued within the specified period.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
InternalID: 361234
FromDate: 2019-01-01
ToDate: 2019-09-27
Query Parameters
Parameter | Type | Description |
---|---|---|
InternalIDrequired | integer | The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint. |
FromDate | date-time | The from date used when calculating data for the request. |
ToDate | date-time | The to date used when calculating data for the request. |
Response Examples
# 200 - OK
[
{
"ExpenseId": 291045462,
"EffectiveDate": "2019-01-15T00:00:00Z",
"TaxDate": "2019-01-15T00:00:00Z",
"PaymentDate": "2019-01-15T00:00:00Z",
"ExpenseInclGst": 2477.87,
"ExpenseExclGst": 2252.61,
"GstRefundableAmount": 0.0,
"DeductibleAmount": 2477.87,
"NonDeductibleAmount": 0.00,
"ExpenseNarration": "Transfer Out Transaction QUARTERLY MANAGEME",
"ExpenseTypeGroupId": 2,
"ExpenseTypeGroupDescription": "Investment expenses",
"ExpenseTypeId": 55,
"ExpenseTypeDescription": "Portfolio management fees"
},
{
"ExpenseId": 291045468,
"EffectiveDate": "2019-09-10T00:00:00Z",
"TaxDate": "2019-09-10T00:00:00Z",
"PaymentDate": "2019-09-10T00:00:00Z",
"ExpenseInclGst": 17.22,
"ExpenseExclGst": 15.65,
"GstRefundableAmount": 0.0,
"DeductibleAmount": 17.22,
"NonDeductibleAmount": 0.00,
"ExpenseNarration": "Non advice Fees for the month ended 31 Aug 2019",
"ExpenseTypeGroupId": 2,
"ExpenseTypeGroupDescription": "Investment expenses",
"ExpenseTypeId": 55,
"ExpenseTypeDescription": "Portfolio management fees"
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
ExpenseId | integer | Praemium expense id. |
EffectiveDate | date-time | Date the expense was deemed to have been incurred. |
TaxDate | date-time | Date used for tax ation reporting purposes. |
PaymentDate | date-time | Date the expense was paid. |
ExpenseInclGst | double | Amount paid including GST. |
ExpenseExclGst | double | Amount paid excluding GST |
GstRefundableAmount | double | Refundable amount of GST the portfolio is eligible to claim for the expense. |
DeductibleAmount | double | Portion of the expense that can be claimed as a tax deduction.. |
NonDeductibleAmount | double | Portion of the expense that cannot be claimed as a tax deduction. |
ExpenseNarration | string | Notes attached to the expense. |
ExpenseTypeGroupId | integer | ID of the expense type group. |
ExpenseTypeGroupDescription | string | Expenses categorised as Admin / Investment / Member / Non-investment. |
ExpenseTypeId | integer | ID of the expense type. |
ExpenseTypeDescription | string | Description of the expense type. Please visit the “Expense Types” pages in Help Centre for a full list. |
Report/File
GET Events
Definition: https://api.praemium.biz/public/api/reports/Events
This endpoint returns a list of events that were created in report publisher. The Id from this endpoint can be used to view published files in the /published endpoint.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Response Examples
# 200 - OK
[
{
"Id": 2699,
"EventName": "Jun19_QTR_Statements",
"CreatedDate": "2019-05-28T20:53:28.717",
"UpdatedDate": "2019-07-08T00:19:42.36"
},
{
"Id": 2844,
"EventName": "Adhoc-Report-Run",
"CreatedDate": "2019-07-08T00:32:05.62",
"UpdatedDate": "2019-07-08T00:36:50.53"
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
Id | integer | ID of the reporting event. |
EventName | string | Name of the reporting event. |
CreatedDate | date-time | Date the record was created. |
UpdatedDate | date-time | Date the record was updated. |
GET EventPublished
Definition: https://api.praemium.biz/public/api/reports/Events/{eventId}/published
This endpoint returns a list of files published within the event, filterable by Portfolio or within a date range. The FIleID from this endpoint can be used in the /download endpoint to download the file.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
EventId: 2789
Path Parameters
Parameter | Type | Description |
---|---|---|
EventIdrequired | integer | ID as returned by the /reports/Events/ endpoint. |
Query Parameter Examples
PortfolioCode: SMA00123456
FromPublishedDate: 2019-06-30
ToPublishedDate: 2019-09-30
Query Parameters
Parameter | Type | Description |
---|---|---|
PortfolioCode | string | Filter on PortfolioCode as returned by the /Portfolios endpoint |
FromPublishedDate | date-time | The from date used when filtering data for the request. |
ToPublishedDate | date-time | The to date used when filtering data for the request. |
Response Examples
# 200 - OK
[
{
"FileId": "79801273097123",
"PortfolioName": "Portfolio 123456",
"PortfolioCode": "SMA00123456",
"FileName": "SMA00123456.pdf",
"Extension": "pdf",
"GeneratedDate": "2019-07-16T14:20:28.643Z",
"PublishedDate": "2019-07-16T15:12:37.797Z"
},
{
"FileId": "79801273097124",
"PortfolioName": "Portfolio 123457",
"PortfolioCode": " 123457",
"FileName": "SMA00123456.pdf",
"Extension": "pdf",
"GeneratedDate": "2019-07-16T14:20:51.863Z",
"PublishedDate": "2019-07-16T15:23:00.17Z"
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
FileId | string | Unique ID of the generated file. |
PortfolioName | string | The PortfolioName of the Portfolio. |
PortfolioCode | string | The PortfolioID of the Portfolio. |
FileName | string | Generated file name of the report. |
Extension | string | File extension. |
GeneratedDate | date-time | Date the file was generated. |
PublishedDate | date-time | Date the file was published. |
GET FileDownload
Definition: https://api.praemium.biz/public/api/reports/files/{fileId}/download
This endpoint provides direct access to download a published file.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
FileId: 79801273097123
Path Parameters
Parameter | Type | Description |
---|---|---|
FileIdrequired | string | FileID as returned in the /Events/{eventide}/published endpoint. |
SMA
Account Setup - Straight Through Processing
Our API allows for a straight through paperless electronic applications process. This allows for accounts, applicants, users and digital signatures to be created and linked directly through API and for a seamless integration into your existing application workflow.
Step 1: Create Account
POST Accounts
Definition: https://api.praemium.biz/public/api/accounts
This endpoint creates a new account in the system.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"Account": {
"Name": "APITest",
"AdviserId": "[email protected]",
"AdviserReference": "",
"PdsId": "AU111",
"ProductId": "",
"EntityType": 5,
"ProviderReference": "",
"CurrencyCode": "AUD",
"BankAccounts": [
{
"BSB": "083004",
"AccountNumber": "123456789",
"AccountName": "Bank2",
"CashContributions": true,
"SmaWithdrawals": true,
"PayoutIncome": false,
"FeeOffset": true,
"RegularContributionPlan": true,
"RegularWithdrawal": true,
"PensionPayment": false
},
{
"BSB": "063000",
"AccountNumber": "123456789",
"AccountName": "Bank1",
"CashContributions": false,
"SmaWithdrawals": false,
"PayoutIncome": true,
"FeeOffset": false,
"RegularContributionPlan": false,
"RegularWithdrawal": false,
"PensionPayment": false
}
],
"Models": [
{
"ModelCode": "SM0001",
"ModelPercent": 60
},
{
"ModelCode": "MACAUD",
"ModelPercent": 40
}
],
"Fees": [
{
"Id": null,
"FeeType": 1,
"Value": 2,
"Type": 0,
"IsPercent": true,
"IncludesTax": true,
"Name": null,
"DollarOverride": null,
"PercentOverride": null,
"DefaultValue": 0,
"DefaultValueWithTax": 0,
"DefaultType": 0
},
{
"Id": null,
"FeeType": 2,
"Value": 77,
"Type": 0,
"IsPercent": false,
"IncludesTax": true,
"Name": null,
"DollarOverride": null,
"PercentOverride": null,
"DefaultValue": 0,
"DefaultValueWithTax": 0,
"DefaultType": 0
}
],
"AccountSetup": {
"InitialInvestment": 100,
"InitialTransferValue": 0,
"CashInvestmentMethod": 1
},
"RegularContributionAmount": 200,
"RegularWithdrawalAmount": 50
},
"Type": 1,
"RequestType": 1
}
Body Parameters
Parameter | Type | Description |
---|---|---|
Typerequired | integer | SMA = 1, SuperSMA Accumulation = 4, SuperSMA Pension (TTR - Transition to retirement) = 5 SuperSMA Pension (ABP - Account based pension) = 6 |
Accountrequired | object | Contains the account data. |
Account.Namerequired | string | Account name. |
Account.AdviserIdrequired | string | The user ID that you have been provided with. |
Account.PdsIdrequired | string | PDS ID to link the account to as returned by the /api/pds/ endpoint. |
Account.EntityTyperequired | integer | Account Entity Type: 0 = Individual (use for Individual Managed account and SuperSMA), 1 = Trust, 2 = Company, 3 = Partnership, 4 = SMSF, 5 = Joint. |
Account.CurrencyCode | string | Base currency of the account. Currently must be set to AUD. |
Account.BankAccounts | array | Contains the details of the external bank account(s) used for cash flows. An account must have at least one bank account linked to the mandatory bank account usages in the PDS, except for SuperSMA accumulation accounts which should not have any linked bank accounts. |
Account.BankAccounts.BSB | string | ABA Bank State Branch number. |
Account.BankAccounts.AccountNumber | string | Bank account number. |
Account.BankAccounts.AccountName | string | Bank account name. |
Account.BankAccounts.CashContributions | boolean | Bank account to be used for direct debit cash contributions. |
Account.BankAccounts.SmaWithdrawals | boolean | Bank account to be used for cash withdrawals. |
Account.BankAccounts.PayoutIncome | boolean | If PayoutIncome is false for all bank accounts, then income will be reinvested into the SMA account. Otherwise, the account with this property set to true will have income paid out. |
Account.BankAccounts.FeeOffset | boolean | Bank account to be used for direct debit fee top-up. |
Account.BankAccounts.RegularContributionPlan | boolean | Bank account to be used for direct debiting regular contribution plan. |
Account.BankAccounts.RegularWithdrawal | boolean | Bank account to be used for regular withdrawals. |
Account.Models | array | Investment model selection. |
Account.Models.ModelCode | string | ModelCode as returned by the /api/pds endpoint. |
Account.Models.ModelPercent | double | Percentage to allocate to the model expressed as a decimal number. This must add to 100. |
Account.Fees | array | Contains any fees to be overridden from the default PDS value. |
Account.Fees.Id | string | Fee ID to override (valid IDs are returned by the PDS response). |
Account.Fees.FeeType | integer | Fee Type to override (valid types are returned by the PDS response). |
Account.Fees.Value | double | Dollar or percentage amount. |
Account.Fees.IsPercent | boolean | Controls if the fee is a percentage or dollar amount. |
Account.Fees.IncludesTax | boolean | Controls if Fees.Value includes GST. |
Account.AccountSetup | object | To be used for regular SMA accounts. |
Account.AccountSetup.InitialInvestment | double | Initial cash investment amount to invest in the account. |
Account.AccountSetup.InitialTransferValue | double | Estimated total in-specie value for transfers into the account. |
Account.AccountSetup.CashInvestmentMethod | integer | Initial investment source. BPay = 1, Direct Debit = 2. |
Account.RegularContributionAmount | double | Regular contribution amount. (To be set if Account.BankAccounts.RegularContributionPlan is supplied). Not available for SuperSMA Pension |
Account.ContributionType | enum | Regular contribution Type for SuperSMA accumulation accounts. NonConcessionalPersonal = 21, NonConcessionalSpouseAndChild = 22. Only available for SuperSMA Accumulation |
Account.RegularWithdrawalAmount | double | Regular contribution amount. (To be set if Account.BankAccounts.RegularContributionPlan is supplied). Only available for SuperSMA Accumulation and SuperSMA Pension |
Account.RegularWithdrawalFrequency | integer | Regular withdrawal frequency: Monthly = 1, Quarterly = 2, Semi-annually = 3, Annually = 4 Only available for SuperSMA Accumulation and SuperSMA Pension |
Account.FeeInstructions | array | Model allocation to deduct fees. |
Account.FeeInstructions.Code | string | Model code. |
Account.FeeInstructions.Percent | double | Model percentage. |
Account.IncomeInstructions | array | Model allocation to reinvest income. |
Account.IncomeInstructions.Code | string | Model code. |
Account.IncomeInstructions.Percent | double | Model percentage. |
Account.ContributionSources | array | SuperSMA source of fund information. Only available for SuperSMA Accumulation and SuperSMA Pension |
Account.ContributionSources.SourceOfContribution | string | Contribution source. |
Account.ContributionSources.ExpectedAmount | double | Expected contribution amount to be transferred. Set if ContributionSources.EntireBalance is false. |
Account.ContributionSources.EntireBalance | boolean | Whether the entire balance of the external fund account will be transferred. |
Account.Transfers | array | Contains details on other SuperSMA account(s) to be transferred to this account. Only available for SuperSMA Accumulation and SuperSMA Pension |
Account.Transfers.TransferFromAccountId | string | Account ID of the other SuperSMA account to transfer to this account. |
Account.Transfers.TransferMethod | enum | WholeAmountWithClose = 0, WholeAmountKeepOpen = 1, SpecifiedAmount = 2 - whether the source account will be kept open. |
Account.Transfers.Amount | double | If Account.Transfers.TransferMethod is WholeAmountKeepOpenSpecifiedAmount, the amount to be transferred. |
Account.OtherContributions | array | Contains details of other assets that will be used to fund this account. Only available for SuperSMA Accumulation and SuperSMA Pension |
Account.OtherContributions.ContributionType | enum | Source of funds. Unknown = 0, ConcessionalEmployee = 11, ConcessionalPersonal = 12, ConcessionalOtherFriendsAndFamily = 13, NonConcessionalPersonal = 21, NonConcessionalSpouseAndChild = 22, NonConcessionalFirstHomeSaverAccount = 23, ExemptCgt15Year = 31, ExemptCgtRetirement = 32, ExemptPersonalInjuryElection = 33, OtherGovernmentCoContribution = 41, OtherLowIncomeSuperContribution = 42. |
Account.OtherContributions.ExpectedAmount | double | Expected other contribution amount to be transferred. |
Account.InitialInvestmentAmount | double | For SuperSMA Accumulation accounts: the amount of cash that will be invested in the account. Only available for SuperSMA Accumulation |
Account.InitialInvestmentType | enum | For SuperSMA Accumulation accounts: the initial investment type. Only available for SuperSMA Accumulation |
Account.PaymentType | enum | Whether the pension payment will be (0) a specified amount; (1) the minimum amount; or (2) the maximum amount. Only available for SuperSMA Pension |
Account.PaymentFrequency | enum | Payment frequency. Monthly = 1, ThreeMonthly = 3, SixMonthly= 6, Annually = 12. Only available for SuperSMA Pension |
Account.PaymentAmount | double | The payment amount paid from the pension account. Only available for SuperSMA Pension |
Account.Consolidation | object | Establish an accumulation account. You can open an accumulation account in the same application alongside a pension account. Only available for SuperSMA Pension |
Account.Consolidation.UseExisting | boolean | Link an existing SuperSMA accumulation account to the pension account. |
Account.Consolidation.AccountCode | string | AccountCode of the linking SuperSMA Account. |
Account.Consolidation.CloseOnRollover | boolean | Specifies whether the Account provided should be closed on successful rollover. |
Response Examples
# 200 - OK for creating single account
{
"CreationStatus":0,
"Account":{
"Code":"SMA00233601",
"Id":"AU233601",
"Name":"Miss Jane Smith",
"Status":1,
"Type":1,
"BpayReference":"2336018"
}
}
# 200 - OK for creating multiple accounts
[
{
"Index":1,
"CreationStatus":0,
"Account":{
"Code":"SMA00233603",
"Id":"AU233603",
"Name":"Miss Jane Smith",
"Status":1,
"Type":1,
"BpayReference": "2336018"
}
},
{
"Index":2,
"CreationStatus":0,
"Account":{
"Code":"SMA00233604",
"Id":"AU233604",
"Name":"Mr Mike Smith",
"Status":1,
"Type":4,
"BpayReference": "2336028"
}
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
Index | integer | |
CreationStatus | enum | 0 if successful. 1 if unsuccessful. |
Account | object | |
Account.Code | string | Portfolio ID. |
Account.Id | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
Account.Name | string | Portfolio name. |
Account.BpayReference | string | BPAY reference. |
Account.Status | enum | Portfolio status. |
Account.Type | enum | Portfolio type. |
ValidationMessage | string | Only displayed on error. |
PATCH Accounts
Definition: https://api.praemium.biz/public/api/accounts
Portfolio User Links. This endpoint is used to associate an investor with an account.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"ModifiedUserId": 9098765,
"UserId": 9091234,
"AccountIds": ["AU400000"],
"UserRole": 3
}
Body Parameters
Parameter | Type | Description |
---|---|---|
ModifiedUserIdrequired | integer | For auditing purposes, the UserID of the user adding the user link. |
UserRole | enum | Accountant = 0, Custodian = 1, FinancialPlanner = 2, InvestmentAdviser = 3, Other = 4 (Default), Owner = 5 |
Access | enum | Full = 0, Read = 1, Update = 2 |
AccountIdsrequired | array | List of AccountIDs (prefixed with AU) to link the User to. |
UserIdrequired | integer | UserID of the user to link. |
Step 2: Create Applicant and Link
POST Applicants
Definition: https://api.praemium.biz/public/api/applicants
Link an individual applicant to the created account.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
[
{
"Type": 1,
"Applicant": {
"AdviserId": "[email protected]",
"AccountId": "AU400000",
"Name": {
"Title": "Mr",
"First": "Tony",
"Last": "Stark"
},
"Sex": "M",
"DateOfBirth": "1974-03-01",
"Email": "[email protected]",
"Phone": "0498765432",
"PhoneOther": "",
"Addresses": [
{
"Type": 0,
"Line1": "367 Collins St",
"Line2": "",
"Line3": "",
"SuburbCounty": "Melbourne",
"TownCityState": "VIC",
"PostCode": 3000,
"CountryCode": "AUS"
}
],
"IsSignatory": true,
"TaxRateElection": "RTFN",
"TaxDomicileCountryCode": "AUS",
"CitizenshipCountryCode": "AUS",
"Identification": [
{
"IdNumber": "876543210",
"Type": 5
}
]
}
},
{
"Type": 1,
"Applicant": {
"AdviserId": "[email protected]",
"AccountId": "AU400000",
"Name": {
"Title": "Mrs",
"First": "Andrea",
"Last": "Stark"
},
"Sex": "F",
"DateOfBirth": "1989-03-01",
"Email": "[email protected]",
"Phone": "0498765432",
"PhoneOther": "",
"Addresses": [
{
"Type": 0,
"Line1": "367 Collins St",
"Line2": " ",
"Line3": "",
"SuburbCounty": "Melbourne",
"TownCityState": "VIC",
"PostCode": 3000,
"CountryCode": "AUS"
}
],
"IsSignatory": true,
"TaxRateElection": "RTFN",
"TaxDomicileCountryCode": "AUS",
"CitizenshipCountryCode": "AUS",
"Identification": [
{
"IdNumber": "876543210",
"Type": 5
}
]
}
}
]
Body Parameters
Parameter | Type | Description |
---|---|---|
Typerequired | integer | Applicant type. This endpoint supports Individual applicants (Type 1). For Corporate Applicants, use the /api/TrusteeApplicants endpoint. |
Applicantrequired | object | Contains the applicant data. When we have more types, the contents will be customisable based on Applicant.Type. |
Applicant.AdviserIdrequired | string | The user ID that you have been provided with. |
Applicant.AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
Applicant.Namerequired | object | |
Applicant.Name.Firstrequired | string | First name. |
Applicant.Name.Lastrequired | string | Last name. |
Applicant.Name.Titlerequired | string | Title: Mr, Mrs, Ms, Miss, Doctor, Lady, Prof and Sir. |
Applicant.DateOfBirthrequired | date-time | Date of birth of the applicant. |
Applicant.Emailrequired | string | E-mail address of the applicant. |
Applicant.Phonerequired | string | Primary contact number. |
Applicant.PhoneOther | string | Secondary contact number. |
Applicant.Addresses | array | |
Applicant.Addresses.Typerequired | enum | Home = 0, Office = 1, Mailing = 2, PrincipalPlaceOfBusiness = 3. |
Applicant.Addresses.Line1required | string | Address line 1. |
Applicant.Addresses.Line2 | string | Address line 2. |
Applicant.Addresses.Line3 | string | Address line 3. |
Applicant.Addresses.SuburbCountyrequired | string | Suburb as associated with the PostCode. |
Applicant.Addresses.TownCityState | string | Town or city or state. |
Applicant.Addresses.PostCoderequired | string | Corresponding postcode to Addresses.SuburbCountry value. |
Applicant.Addresses.CountryCode | string | ISO alpha-3 code for the country the address is in. |
Applicant.IsSignatoryrequired | boolean | Whether the applicant is a signatory on the account. We require one signatory for individual and SuperSMA accounts, and all joint account holders must be signatories. |
Applicant.SignatureImage | string | A base64 string representing an image of the applicant's signature. To prevent distortion of the image when it is printed, please ensure the width of the image is five times the height. |
Applicant.TaxRateElectionrequired | string | Praemium code for the applicant's tax status - RTFN = Resident with TFN, RABN = Resident with ABN, NRWT = Non resident of Australia, NTFN = Resident of Australia without a TFN. |
Applicant.TaxDomicileCountryCoderequired | string | ISO alpha-3 code for the country where the applicant is resident for tax purposes. |
Applicant.CitizenshipCountryCoderequired | string | ISO alpha-3 code for the applicant's country of citizenship. |
Applicant.Identification | array | |
Applicant.Identification.IdNumber | string | TFN or ABN of the applicant. For SuperSMA accounts we require a TFN. |
Applicant.Identification.Type | enum | The type of identification. 0=TIN, 4=ABN, 5=TFN |
Applicant.Sex | string | M = Male, F = Female. |
Response Examples
# 200 - OK for creating single applicant
{
"CreationStatus":0,
"Applicant":{
"Id":"AU21996"
}
}
# 200 - OK for creating multiple applicants
[
{
"Index": 1,
"CreationStatus": 0,
"Applicant": {
"Id": "AU21996"
}
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
Index | integer | |
CreationStatus | enum | 0 if successful. 1 if unsuccessful. |
Applicant | object | |
Applicant.Id | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
ValidationMessage | string | Only displayed on error. |
POST TrusteeApplicants
Definition: https://api.praemium.biz/public/api/trusteeapplicants
Link a corporate applicant to the created account.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"AdviserId": "[email protected]",
"AccountId": "AU400000",
"Name": "Corporation Pty Ltd",
"ContactName": "Tony Stark",
"ContactPhone": "0400000000",
"ContactEmail": "[email protected]",
"Addresses": [
{
"Type": 3,
"Line1": "367 Collins St",
"Line2": "",
"Line3": "",
"SuburbCounty": "Melbourne",
"TownCityState": "VIC",
"PostCode": 3000,
"CountryCode": "AUS"
}
],
"Signatories": [
{
"Capacity": 1,
"Name": {
"Title": "Mr",
"First": "Tony",
"Last": "Stark"
},
"DateOfBirth": "2019-01-02"
},
{
"Capacity": 3,
"Name": {
"Title": "Ms",
"First": "Pamela",
"Last": "Jones"
},
"DateOfBirth": "2017-11-15"
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
AdviserIdrequired | string | The user ID that you have been provided with. |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
Namerequired | string | Corporation name. |
TrusteeNamerequired | string | Corporate trustee name. This is required if a trust or SMSF with a corporate trustee. Only available for corporate applicants |
RegisteredNumber | string | ABN of the Super Fund (rather than the corporate trustee) for corporate applicants, or TFN for an individual trustee. |
ContactName | string | Primary contact name. Only available for corporate applicants |
ContactPhone | string | Primary contact phone. |
ContactEmail | string | Primary contact email. Only available for corporate applicants |
Addresses | array | |
Addresses.Typerequired | enum | Home = 0, Office = 1, Mailing = 2, PrincipalPlaceOfBusiness = 3. We only need 0, and 2 if it is different. |
Addresses.Line1required | string | Address line 1. |
Addresses.Line2 | string | Address line 2. |
Addresses.Line3 | string | Address line 3. |
Addresses.SuburbCountyrequired | string | Suburb as associated with the PostCode. |
Addresses.TownCityState | string | Town or city or state. |
Addresses.PostCoderequired | string | Corresponding postcode to Addresses.SuburbCountry value. |
Addresses.CountryCode | string | ISO alpha-3 code for the country the address is in. |
Signatories | array | |
Signatories.Name | object | |
Signatories.Name.Firstrequired | string | Signatory's first name. |
Signatories.Name.Lastrequired | string | Signatory's last name. |
Signatories.Name.Titlerequired | string | Signatory's title. Valid values are: Mr, Mrs, Ms, Miss, Doctor, Lady, Prof and Sir. |
Signatories.Email | string | Signatory’s email. |
Signatories.Capacity | enum | Director = 1, Company Secretary = 3, Sole Director = 4, Signed Under Seal = 7 for Corporate Applicants. Trustee = 6 for individual applicants. |
Signatories.DateOfBirth | date-time | Date of birth of the signatory. |
Response Examples
# 200 - OK for creating single trustee applicant
{
"CreationStatus": 0,
"Signatories": [
{
"Id": "AU26533"
},
{
"Id": "AU26534"
}
]
}
# 200 - OK for creating multiple trustee applicants
[
{
"Index": 1,
"CreationStatus": 0,
"Signatories": [
{
"Id": "AU26533"
},
{
"Id": "AU26534"
}
]
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
ValidationMessage | string | Only displayed on error. |
CreationStatus | enum | 0 if successful. 1 if unsuccessful. |
Signatories | array | |
Signatories.Id | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
POST BeneficiaryNominations
Definition: https://api.praemium.biz/public/api/beneficiarynominations
Used to nominate a beneficiary for an account.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"AccountId": "AU400000",
"IsBinding": false,
"ModifiedUserId": 6040,
"Beneficiaries": [
{
"Type": 0,
"FullName": "Ms Mary Smith",
"RelationshipToMember": 1,
"Proportion": 40.0,
"DateOfBirth": "1990-01-01"
},
{
"Type": 0,
"FullName": "Ms Stephanie Gu",
"RelationshipToMember": 1,
"Proportion": 60.0,
"DateOfBirth": "1990-01-01"
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
Beneficiariesrequired | array | |
Beneficiaries.Type | enum | Standard = 0, Reversionary Pensioner = 1 |
Beneficiaries.FullName | string | Full legal name of the beneficiary. |
Beneficiaries.RelationshipToMember | enum | Spouse = 1, Child = 2, Other = 3 |
Beneficiaries.Proportion | double | The portion of the benefit that should be paid to the beneficiary. These must add up to 100%. |
Beneficiaries.DateOfBirth | date-time | Beneficiary’s date of birth. |
AccountIdrequired | string | AccountID to link the beneficiary to. |
IsBinding | boolean | Whether the nomination is binding. |
ModifiedUserIdrequired | integer | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 201 - Created
{
"Beneficiaries": [
{
"Type": 0,
"FullName": "Ms Mary Smith",
"RelationshipToMember": 1,
"Proportion": 40.0,
"DateOfBirth": "1990-01-01T00:00:00"
},
{
"Type": 0,
"FullName": "Ms Stephanie Gu",
"RelationshipToMember": 1,
"Proportion": 60.0,
"DateOfBirth": "1990-01-01T00:00:00"
}
],
"AccountId": "AU400000",
"IsBinding": false,
"ModifiedUserId": 911073
}
Response Parameters
Parameter | Type | Description |
---|---|---|
Beneficiaries | array | |
Beneficiaries.Type | enum | Standard = 0, Reversionary Pensioner = 1 |
Beneficiaries.FullName | string | Full legal name of the beneficiary. |
Beneficiaries.RelationshipToMember | enum | Spouse = 1, Child = 2, Other = 3 |
Beneficiaries.Proportion | double | The portion of the benefit that should be paid to the beneficiary. These must add up to 100%. |
Beneficiaries.DateOfBirth | date-time | Beneficiary’s date of birth. |
AccountId | string | AccountID to link the beneficiary to. |
IsBinding | boolean | Whether the nomination is binding. |
ModifiedUserId | integer | Praemium user login to filter returned data based on the user’s Portfolio access. |
Step 3: Signature / Status
GET AppForm
Definition: https://api.praemium.biz/public/api/accounts/{id}/appform
Returns a PDF version of the application form for the specified account. This is a confirmation to the client of the details of their account. The PDF is returned as a base64 encoded string.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
Id: AU12345
Path Parameters
Parameter | Type | Description |
---|---|---|
Idrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
Response Examples
# 200 - OK
{
"FormContent": "BASE64 STRING HERE"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
FormContent | string |
POST Signature
Definition: https://api.praemium.biz/public/api/accounts/{id}/signature
This endpoint is used to send client signature confirmation to Praemium for the account application. The signatures may be click-wrapped acceptance data or graphical images of signatures. The electronic signature may have attached metadata such as GPS coordinates or AML references numbers to ensure surety of digital acceptance.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
Id: AU12345
Path Parameters
Parameter | Type | Description |
---|---|---|
Idrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
Body Parameter Examples
{
"ApplicantID": "AU12345",
"IPAddress": "10.0.0.1",
"UserAgent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36",
"SignatureDate": "2019-06-12 05:00:10",
"AmlReferenceNumber": "123456789",
"Location": null,
"SignatureBlob": null,
"PdsRevision": "2019-06-02",
"PdsNumber": "123456",
"IsPdsSent": true,
"AdditionalData": {
"Item1": "Value"
}
}
Body Parameters
Parameter | Type | Description |
---|---|---|
ApplicantId | string | The ApplicantID as returned by the Applicants endpoint. |
IpAddress | string | IP address of the computer that applicant submitted signature. |
UserAgent | string | User agent of the browser. |
SignatureDate | date-time | Datetime in AEST that the signature was captured by your systems. |
AmlReferenceNumber | string | Anti Money Laundering (AML) reference number |
Location | string | Location of the applicant (GPS coordinates). |
SignatureBlob | string | Signature blob. |
PdsRevision | string | Date or revision of PDS. |
PdsNumber | string | PDS number or name. |
IsPdsSent | boolean | A flag indicates whether PDS has been sent. |
AdditionalData | object | Additional information about the signature. |
GET AccountStatus
Definition: https://api.praemium.biz/public/api/accounts/{id}/status
Returns the status of the account. This can be used to check which state an opening account is in, and the awaiting action.
Possible return/status values:
- 1 - Traded
- 2 - In the market
- 3 - Completely funded
- 4 - Partially funded
- 5 - Awaiting funds
- 6 - Awaiting approval
- 7 - Closure requested
- 8 - Disposing of assets
- 9 - Awaiting settlement
- 10 - Awaiting income
- 11 - Ready for payment
- 12 - Pending payment
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
Id: AU12345
Path Parameters
Parameter | Type | Description |
---|---|---|
Idrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
Response Examples
# 200 - OK
{
"Detail": "Traded"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
Detail | string | Refer to endpoint description. |
GET UserLinks
Definition: https://api.praemium.biz/public/api/accounts/{accountId}/userlinks
Returns user links for the account.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
AccountId: AU400000
Path Parameters
Parameter | Type | Description |
---|---|---|
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
Response Examples
# 200 - OK
[
{
"UserId": 1000001,
"UserRole": 4,
"Access": 2
},
{
"UserId": 1000002,
"UserRole": 3,
"Access": 2
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
UserId | integer | UserID of the user linked to the account |
UserRole | enum | Accountant = 0, Custodian = 1, FinancialPlanner = 2, InvestmentAdviser = 3, Other = 4 (Default), Owner = 5 |
Access | enum | Full = 0, Read = 1, Update = 2 |
Account Setup - Application Portal
Our API also allows for applications to be created through API and confirmed in Applications Portal. This is the best option for high-touch clients or if subsequent changes are required to the application before finalisation.
POST DraftApplication
Definition: https://api.praemium.biz/public/api/applications/draft
This endpoint allows draft applications to be created via Application Portal.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"Adviser": "[email protected]",
"Applicants": [
{
"ApplicantType": "Corporate",
"CorporateDetails": {
"Name": "Smith & Smith",
"BusinessAddress": {
"Street": "123 Test St",
"Postcode": "3000",
"Suburb": "Melbourne",
"State": "VIC",
"CountryCode": "AUS"
},
"Signatories": [
{
"Title": "Mr",
"FirstName": "John",
"LastName": "Smith",
"Email": "[email protected]",
"Capacity": "Director"
}
],
"Identifications": [
{
"Type": "TFN",
"Value": "123456789"
}
]
}
},
{
"ApplicantType": "Individual",
"IndividualDetails": {
"Title": "Mr",
"FirstName": "John",
"LastName": "Smith",
"Email": "[email protected]",
"Phone": "012489235",
"PhoneOther": "012489235",
"Gender": "male",
"BirthCountryCode": "AUS",
"HomeAddress": {
"Street": "123 Test St",
"Postcode": "3000",
"Suburb": "Melbourne",
"State": "VIC",
"CountryCode": "AUS"
},
"MailingAddress": {
"Street": "123 Test St",
"Postcode": "3000",
"Suburb": "Melbourne",
"State": "VIC",
"CountryCode": "AUS"
},
"Identifications": [
{
"Type": "TFN",
"Value": "123456789"
},
{
"Type": "NIN",
"Value": "123456789",
"MissingReason": 1,
"MissingReasonText": "test"
}
]
}
}
],
"Accounts": [
{
"Name": "Miss Jane Smith",
"RegisteredName": "Miss Jane Smith",
"ShortName": "Jane",
"AccountType": "Individual",
"ApplicantIndexes": [
1
],
"PdsId": "AU5",
"Fees": [
{
"Id": "AU21871",
"Rate": 0,
"Unit": "Dollar"
}
],
"Models": [
{
"Code": "AU0001",
"Proportion": 50
},
{
"Code": "IN0001",
"Proportion": 50
}
],
"BankAccounts": [
{
"AccountBsb": "12012",
"AccountNumber": "6555555567",
"AccountName": "Bank1",
"Usages": [
"Income",
"CashContribution"
]
}
],
"Exclusions": [
{
"Code": "AU0002",
"Exchange": "ASX"
}
],
"InitialInvestment": {
"Cash": 132.12,
"Shares": 321.32,
"Method": 0
}
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
Adviserrequired | string | The Adviser ID to create the application under. |
Applicantsrequired | array | Objects containing the applicant data. There must be at least one applicant for the request to succeed. The array of objects may contain a mix of Individual and Corporate applicants. |
Applicants.OwnerAdviserId | string | The user ID that you have been provided with. |
Applicants.ApplicantTyperequired | string | Corporate or Individual. |
Applicants.CorporateDetails | object | Used for Corporate applicants. |
Applicants.CorporateDetails.Name | string | Name of the corporate applicant. |
Applicants.CorporateDetails.TradingName | string | Trading name of the corporate applicant. |
Applicants.CorporateDetails.Identifications | array | Array of TFN / TIN / ABN / NIN |
Applicants.CorporateDetails.Identifications.Type | enum | Tfn = 0, Abn = 1, Tin = 2, Nin = 3 |
Applicants.CorporateDetails.Identifications.Value | string | Identification number (eg TFN number). |
Applicants.CorporateDetails.Identifications.MissingReason | integer | CountryDoesntIssue = 1, DontNeedOne = 2, Other = 99 |
Applicants.CorporateDetails.Identifications.MissingReasonText | string | Reason if identification not provided. |
Applicants.CorporateDetails.BusinessAddress | object | Business address. |
Applicants.CorporateDetails.BusinessAddress.Addressee | string | Addressee. |
Applicants.CorporateDetails.BusinessAddress.Street | string | Address line 1. |
Applicants.CorporateDetails.BusinessAddress.Line2 | string | Address line 2. |
Applicants.CorporateDetails.BusinessAddress.Line3 | string | Address line 3. |
Applicants.CorporateDetails.BusinessAddress.Postcode | string | Postcode of address. |
Applicants.CorporateDetails.BusinessAddress.Suburb | string | Suburb of address. |
Applicants.CorporateDetails.BusinessAddress.CountryCode | string | Country code of address. |
Applicants.CorporateDetails.BusinessAddress.IsRegistered | boolean | Whether address is registered. |
Applicants.CorporateDetails.MailingAddress | object | Mailing address. |
Applicants.CorporateDetails.MailingAddress.Addressee | string | Addressee. |
Applicants.CorporateDetails.MailingAddress.Street | string | Address line 1. |
Applicants.CorporateDetails.MailingAddress.Line2 | string | Address line 2. |
Applicants.CorporateDetails.MailingAddress.Line3 | string | Address line 3. |
Applicants.CorporateDetails.MailingAddress.Postcode | string | Postcode of address. |
Applicants.CorporateDetails.MailingAddress.Suburb | string | Suburb of address. |
Applicants.CorporateDetails.MailingAddress.CountryCode | string | Country code of address. |
Applicants.CorporateDetails.MailingAddress.IsRegistered | boolean | Whether address is registered. |
Applicants.CorporateDetails.ContactIsSignatory | boolean | Whether the corporate contact is signatory. |
Applicants.CorporateDetails.Contact | object | Corporate contact. |
Applicants.CorporateDetails.Contact.Title | string | Title of contact. |
Applicants.CorporateDetails.Contact.FirstName | string | First name of contact. |
Applicants.CorporateDetails.Contact.LastName | string | Last name of contact. |
Applicants.CorporateDetails.Contact.DateOfBirth | date-time | Date of birth of contact. |
Applicants.CorporateDetails.Contact.Email | string | Email of contact. |
Applicants.CorporateDetails.Contact.Phone | string | Phone of contact. |
Applicants.CorporateDetails.Signatories | array | Corporate signatories. |
Applicants.CorporateDetails.Signatories.Capacity | enum | Director = 0, SoleDirector = 1, CompanySecretary = 2 |
Applicants.CorporateDetails.Signatories.Title | string | Title of signatory. |
Applicants.CorporateDetails.Signatories.FirstName | string | First name of signatory. |
Applicants.CorporateDetails.Signatories.LastName | string | Last name of signatory. |
Applicants.CorporateDetails.Signatories.DateOfBirth | date-time | Date of birth of signatory. |
Applicants.CorporateDetails.Signatories.Email | string | Email address of signatory. |
Applicants.CorporateDetails.Signatories.Phone | string | Phone number of signatory. |
Applicants.IndividualDetails | object | Used for Individual applicants. |
Applicants.IndividualDetails.PhoneOther | string | Other phone of individual applicant. |
Applicants.IndividualDetails.Identifications | array | Identifications of individual applicant. |
Applicants.IndividualDetails.Identifications.Type | enum | Tfn = 0, Abn = 1, Tin = 2, Nin = 3 |
Applicants.IndividualDetails.Identifications.Value | string | Identification number (eg TFN number). |
Applicants.IndividualDetails.Identifications.MissingReason | integer | CountryDoesntIssue = 1, DontNeedOne = 2, Other = 99 |
Applicants.IndividualDetails.Identifications.MissingReasonText | string | Reason if identification not provided. |
Applicants.IndividualDetails.TaxResidenceCountryCode | string | Tax residence country code. |
Applicants.IndividualDetails.CitizenshipCountryCode | string | Citizenship country code. |
Applicants.IndividualDetails.BirthCountryCode | string | Birth country code. |
Applicants.IndividualDetails.HomeAddress | object | Home address of individual applicant. |
Applicants.IndividualDetails.HomeAddress.Addressee | string | Addressee. |
Applicants.IndividualDetails.HomeAddress.Street | string | Address line 1. |
Applicants.IndividualDetails.HomeAddress.Line2 | string | Address line 2. |
Applicants.IndividualDetails.HomeAddress.Line3 | string | Address line 3. |
Applicants.IndividualDetails.HomeAddress.Postcode | string | Postcode of address. |
Applicants.IndividualDetails.HomeAddress.Suburb | string | Suburb of address. |
Applicants.IndividualDetails.HomeAddress.CountryCode | string | Country code of address. |
Applicants.IndividualDetails.HomeAddress.IsRegistered | boolean | Whether address is registered. |
Applicants.IndividualDetails.MailingAddress | object | Mailing address of individual applicant. |
Applicants.IndividualDetails.MailingAddress.Addressee | string | Addressee. |
Applicants.IndividualDetails.MailingAddress.Street | string | Address line 1. |
Applicants.IndividualDetails.MailingAddress.Line2 | string | Address line 2. |
Applicants.IndividualDetails.MailingAddress.Line3 | string | Address line 3. |
Applicants.IndividualDetails.MailingAddress.Postcode | string | Postcode of address. |
Applicants.IndividualDetails.MailingAddress.Suburb | string | Suburb of address. |
Applicants.IndividualDetails.MailingAddress.CountryCode | string | Country code of address. |
Applicants.IndividualDetails.MailingAddress.IsRegistered | boolean | Whether address is registered. |
Applicants.IndividualDetails.Gender | string | Gender of individual applicant. |
Applicants.IndividualDetails.UserName | string | User name of individual applicant. |
Applicants.IndividualDetails.UserId | string | User ID of individual applicant. |
Applicants.IndividualDetails.Title | string | Title of individual applicant. |
Applicants.IndividualDetails.FirstName | string | First name of individual applicant. |
Applicants.IndividualDetails.LastName | string | Last name of individual applicant. |
Applicants.IndividualDetails.DateOfBirth | date-time | Date of birth of individual applicant. |
Applicants.IndividualDetails.Email | string | Email of individual applicant. |
Applicants.IndividualDetails.Phone | string | Phone of individual applicant. |
Accounts | array | Array of accounts to be opened with the application. Must be linked to an included applicant. |
Accounts.Name | string | Account name. |
Accounts.RegisteredName | string | Account registered name. |
Accounts.ShortName | string | Account short name. |
Accounts.AccountType | string | Company or Individual. |
Accounts.ApplicantIndexes | array | Index of applicants supplied in your request (starting from 0). |
Accounts.PdsId | string | PDS ID of account. |
Accounts.Fees | array | Account fees. |
Accounts.Fees.Id | string | Fee ID of account returned by PDS endpoint. |
Accounts.Fees.Rate | double | Fee rate of account. |
Accounts.Fees.Unit | string | Fee unit of account. (Dollar or Percent) |
Accounts.Models | array | Account models. |
Accounts.Models.Code | string | Model code of account. |
Accounts.Models.Proportion | double | Model proportion of account. |
Accounts.BankAccounts | array | Bank accounts |
Accounts.BankAccounts.AccountBsb | string | Bank account BSB. |
Accounts.BankAccounts.AccountNumber | string | Bank account number. |
Accounts.BankAccounts.AccountName | string | Bank account name. |
Accounts.BankAccounts.Usages | array | Bank account usages. |
Accounts.Exclusions | array | Account exclusions. |
Accounts.Exclusions.Security | object | Security in account exclusions. |
Accounts.Exclusions.Security.Code | string | Security code in account exclusions. |
Accounts.Exclusions.Security.Exchange | string | Security exchange code in account exclusions. |
Accounts.InitialInvestment | object | Initial investment of account. |
Accounts.InitialInvestment.Cash | double | Cash amount of account initial investment. |
Accounts.InitialInvestment.Shares | double | In-specie amount of account initial investment. |
Accounts.InitialInvestment.Method | enum | BPay = 0, DirectDebit = 1 |
Response Examples
# 200 - OK
{
"ApplicationId": "c1bdac67-39a0-4835-8168-e99f44f01iu7"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ApplicationId | string | Unique ApplicationID to be used as an application reference. |
GET ApplicationStatus
Definition: https://api.praemium.biz/public/api/applications/{applicationId}/status
Returns the status of the application. This can be used to check which state an application is in, and the awaiting action.
Possible return/status values:
- 1 - Draft
- 2 - AwaitingSignature
- 3 - AwaitingApproval
- 4 - AwaitingFunds
- 5 - Funded
- 6 - Trading
- 7 - ClosureRequested
- 8 - Closed
- 9 - Deleted
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
ApplicationId: 83225a21-1e9e-9ty1-b35a-6f1091c7a434
Path Parameters
Parameter | Type | Description |
---|---|---|
ApplicationIdrequired | string | Unique ApplicationID to be used as an application reference. |
Response Examples
# 200 - OK
{
"ApplicationId": "83225a21-1e9e-9ty1-b35a-6f1091c7a434",
"Status": "Submitted",
"AccountsStatus": [
{
"AccountCode": "SMA00400000",
"Status": "ClosureRequested"
}
]
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ApplicationId | string | Unique ApplicationID to be used as an application reference. |
Status | string | Draft / Submitted. |
AccountsStatus | array | |
AccountsStatus.AccountCode | string | Portfolio ID. |
AccountsStatus.Status | enum | Refer to endpoint description. |
Models
GET ModelSubscriptions
Definition: https://api.praemium.biz/public/api/accounts/modelsubscriptions
Returns model subscription details for SMA Accounts.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountID: AU400000
Query Parameters
Parameter | Type | Description |
---|---|---|
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
[
{
"ModelId": "719",
"Description": "High Growth",
"OriginalPercent": 50.0,
"ModelCode": "XX0000",
"Percent": 50.1886512362982
},
{
"ModelId": "720",
"Description": "Income",
"OriginalPercent": 20.0,
"ModelCode": "XX0001",
"Percent": 19.1850854774824
},
{
"ModelId": "1018",
"Description": "Alternatives",
"OriginalPercent": 30.0,
"ModelCode": "XX0002",
"Percent": 30.6262632862194
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
ModelId | string | ModelId as returned by the Models endpoint. |
Description | string | Model description. |
OriginalPercent | double | Original model weights entered for the model. |
ModelCode | string | Model code. |
Percent | double | Current model weights for the model (which are different than OriginalPercent due to floating) |
PUT ModelSubscriptions
Definition: https://api.praemium.biz/public/api/accounts/modelsubscriptions
Modify model subscriptions for SMA Accounts.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"AccountId": "AU400000",
"RebalanceType": "floating",
"ModelSubscriptions": [
{
"ModelCode": "MACAUD",
"Percent": 30
},
{
"ModelCode": "XX0000",
"Percent": 70
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
RebalanceType | string | Either “Floating” or “Fixed” |
ModelSubscriptionsrequired | array | |
ModelSubscriptions.ModelCode | string | Model code. |
ModelSubscriptions.Percent | double | Percentage of the model weight (ie for 30% use ‘30’) |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Customisations
GET SecurityExclusions
Definition: https://api.praemium.biz/public/api/accounts/customisations/exclusions
Returns security exclusions for SMA Accounts
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountID: AU400000
Query Parameters
Parameter | Type | Description |
---|---|---|
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
[
{
"SecurityDescription": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
"ExchangeDescription": "ASX Listed",
"CreatedDate": "2019-10-11T11:39:47.303Z",
"SecurityCode": "CBA",
"ExchangeCode": "ASX"
},
{
"SecurityDescription": "VANGUARD INTERNATIONAL PRPTY SECS IDXHDG",
"ExchangeDescription": "Managed Funds",
"CreatedDate": "2019-10-11T11:39:47.317Z",
"SecurityCode": "VAN0019AU",
"ExchangeCode": "FND"
},
{
"SecurityDescription": "APPLE ORD",
"ExchangeDescription": "NASDAQ",
"CreatedDate": "2019-10-11T11:39:47.317Z",
"SecurityCode": "AAPL",
"ExchangeCode": "NSM"
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
SecurityDescription | string | A description of the security. |
ExchangeDescription | string | A description of the exchange. |
CreatedDate | date-time | Date the exclusion was created. |
SecurityCode | string | The security code of the security. |
ExchangeCode | string | The exchange code of security. |
PUT SecurityExclusions
Definition: https://api.praemium.biz/public/api/accounts/customisations/exclusions
Modify security exclusions for SMA accounts. This endpoint will replace all existing exclusions with the request. To delete all exclusions a blank array of SecurityExclusions can be sent as a Body Parameter.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"AccountId": "AU400000",
"SecurityExclusions": [
{
"SecurityCode": "CBA",
"ExchangeCode": "ASX"
},
{
"SecurityCode": "VAN0019AU",
"ExchangeCode": "FND"
},
{
"SecurityCode": "AAPL",
"ExchangeCode": "NSM"
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
SecurityExclusionsrequired | array | |
SecurityExclusions.SecurityCode | string | The security code of the security. |
SecurityExclusions.ExchangeCode | string | The exchange code of security. |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
POST SecurityExclusions
Definition: https://api.praemium.biz/public/api/accounts/customisations/exclusions
Add exclusions to SMA accounts. This endpoint can be used if appending the list of exclusions for an SMA account, as it will not replace or delete existing exclusions.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"AccountId": "AU400000",
"SecurityExclusions": [
{
"SecurityCode": "CBA",
"ExchangeCode": "ASX"
},
{
"SecurityCode": "VAN0019AU",
"ExchangeCode": "FND"
},
{
"SecurityCode": "AAPL",
"ExchangeCode": "NSM"
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
SecurityExclusionsrequired | array | |
SecurityExclusions.SecurityCode | string | The security code of the security. |
SecurityExclusions.ExchangeCode | string | The exchange code of security. |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
DELETE SecurityExclusions
Definition: https://api.praemium.biz/public/api/accounts/customisations/exclusions
Delete exclusions for SMA accounts. To delete a single exclusion, pass the SecurityCode and ExchangeCode as a Query Parameter. To delete all exclusions, do not pass the SecurityCode and ExchangeCode as a Query Parameter.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountID: AU400000
SecurityCode: AMP
ExchangeCode: ASX
Query Parameters
Parameter | Type | Description |
---|---|---|
SecurityCode | string | The security code of the security. |
ExchangeCode | string | The exchange code of security. |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
GET MinimumTradeSize
Definition: https://api.praemium.biz/public/api/accounts/customisations/minimumtradesize
Returns tolerances that limit the size of trades for SMA accounts as a result of a rebalance.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountID: AU400000
Query Parameters
Parameter | Type | Description |
---|---|---|
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
{
"DollarAmount": 0.0,
"Percentage": 1.00,
"Units": 950.0
}
Response Parameters
Parameter | Type | Description |
---|---|---|
DollarAmount | double | Prevents trades of a value less than this figure. |
Percentage | double | Prevents trades unless they exceed this figure as a percentage of the portfolio’s value. For example, if this is set to 5, only trades that exceed five percent of the portfolio’s total value are performed. |
Units | double | Prevents trades of a quantity less than this figure. |
PATCH MinimumTradeSize
Definition: https://api.praemium.biz/public/api/accounts/customisations/minimumtradesize
Modify tolerances that limit the size of trades for SMA accounts as a result of a rebalance. Note that one or many body parameters are accepted to PATCH.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"DollarAmount": 0,
"Percentage": 1,
"Units": 950,
"AccountId": "AU400000",
"UserId": "JohnSmith"
}
Body Parameters
Parameter | Type | Description |
---|---|---|
DollarAmount | double | Prevents trades of a value less than this figure. |
Percentage | double | Prevents trades unless they exceed this figure as a percentage of the portfolio’s value. For example, if this is set to 5, only trades that exceed five percent of the portfolio’s total value are performed. |
Units | double | Prevents trades of a quantity less than this figure. |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Cashflow Instructions
GET CashflowInstructions
Definition: https://api.praemium.biz/public/api/accounts/cashflowinstructions
Returns cashflow instructions for SMA Accounts
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountID: AU400000
Query Parameters
Parameter | Type | Description |
---|---|---|
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Response Examples
# 200 - OK
[
{
"CashflowInstructionId": 14172,
"Description": "Income Reinvestment",
"CashflowInstructionType": 5,
"FrequencyTypeId": 0,
"StartDate": "2013-12-13T00:00:00Z",
"EndDate": "2200-01-01T00:00:00Z",
"Value": 0.00,
"Allocations": [
{
"Sequence": 1,
"Percentage": 50.000000
},
{
"ModelCode": "ProRata",
"Sequence": 2,
"Percentage": 50.000000
}
]
},
{
"CashflowInstructionId": 210127,
"Description": "One-off direct debit of $123",
"CashflowInstructionType": 3,
"FrequencyTypeId": 0,
"StartDate": "2020-07-29T00:00:00Z",
"EndDate": "2020-07-29T00:00:00Z",
"Value": 123.00,
"Allocations": [
{
"ModelCode": "MACAUD",
"Sequence": 1,
"Percentage": 20.000000
},
{
"ModelCode": "ProRata",
"Sequence": 2,
"Percentage": 80.000000
}
]
},
{
"CashflowInstructionId": 210128,
"Description": "One-off withdrawal of $321",
"CashflowInstructionType": 4,
"FrequencyTypeId": 0,
"StartDate": "2020-07-29T00:00:00Z",
"EndDate": "2020-07-29T00:00:00Z",
"Value": 321.00
},
{
"CashflowInstructionId": 33158,
"Description": "Expenses",
"CashflowInstructionType": 6,
"FrequencyTypeId": 0,
"StartDate": "2015-12-10T00:00:00Z",
"EndDate": "2200-01-01T00:00:00Z",
"Value": 0.00,
"Allocations": [
{
"ModelCode": "SM0001",
"Sequence": 1,
"Percentage": 100.000000
},
{
"ModelCode": "ProRata",
"Sequence": 2,
"Percentage": 100.000000
}
]
},
{
"CashflowInstructionId": 33159,
"Description": "Other additions",
"CashflowInstructionType": 8,
"FrequencyTypeId": 1,
"StartDate": "2015-12-10T00:00:00Z",
"EndDate": "2200-01-01T00:00:00Z",
"Value": 0.00,
"Allocations": [
{
"ModelCode": "SM0001",
"Sequence": 1,
"Percentage": 100.000000
}
]
},
{
"CashflowInstructionId": 33160,
"Description": "Other withdrawals",
"CashflowInstructionType": 9,
"FrequencyTypeId": 1,
"StartDate": "2015-12-10T00:00:00Z",
"EndDate": "2200-01-01T00:00:00Z",
"Value": 0.00
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
CashflowInstructionId | integer | Cashflow instruction ID. |
Description | string | Description of the cashflow instruction. |
CashflowInstructionType | enum | Regular contribution = 1, Regular withdrawal = 2, One-off direct debit = 3, One-off withdrawal = 4, Income reinvestment = 5, Expenses = 6, Pension payment = 7 (Only allowed for SuperSMA (pension) accounts), Other additions for non-SuperSMA (accumulation) accounts = 8, All contributions and rollovers for SuperSMA (accumulation) accounts = 8, Other Withdrawals = 9 |
FrequencyTypeId | integer | Monthly = 1, Quarterly = 2, SixMonthly = 3, Annually = 4 |
StartDate | date-time | Start date of the cashflow instruction. |
EndDate | date-time | End date of the cashflow instruction. |
Value | double | Value of the cashflow instruction. |
Allocations | array | Cashflow instruction details. |
Allocations.ModelCode | string | Model code. (Model code ProRata means pro rata across existing models) |
Allocations.Sequence | integer | Sequence to apply. (Starting from 1 as highest priority, then 2, 3 ...) |
Allocations.Percentage | double | Model percentage. (Only applicable for regular contribution, income reinvestment, one-off direct debit) |
POST One-off CashflowInstruction
Definition: https://api.praemium.biz/public/api/accounts/cashflowinstructions/oneoff
Add one-off cashflow instructions for SMA Accounts
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"AccountId": "AU361234",
"CashflowInstructionType": 1,
"Amount": 16.32,
"Allocations": [
{
"ModelCode": "SM0001",
"Sequence": 1,
"Percentage": 100
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
CashflowInstructionTyperequired | enum | One-off direct debit = 3, One-off withdrawal = 4 |
Amountrequired | double | Amount of the one-off cashflow instruction to apply. |
Allocations | array | Cashflow instruction details. |
Allocations.ModelCode | string | Model code. (Model code ProRata means pro rata across existing models) |
Allocations.Sequence | integer | Sequence to apply. (Starting from 1 as highest priority, then 2, 3 ...) |
Allocations.Percentage | double | Model percentage. (Only applicable for regular contribution, income reinvestment, one-off direct debit) |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
DELETE One-off CashflowInstruction
Definition: https://api.praemium.biz/public/api/accounts/cashflowinstructions/oneoff
Delete one-off cashflow instructions for SMA Accounts (only allowed for one-off direct debit)
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountID: AU400000
CashflowInstructionId: 105846
Query Parameters
Parameter | Type | Description |
---|---|---|
CashflowInstructionIdrequired | integer | Cashflow instruction ID returned by GET cashflow instructions endpoint |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
PUT Regular CashflowInstruction
Definition: https://api.praemium.biz/public/api/accounts/cashflowinstructions/regular
Update regular cashflow instructions for SMA Accounts
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"AccountId": "AU361234",
"CashflowInstructionType": 1,
"Amount": 16.32,
"Allocations": [
{
"ModelCode": "SM0001",
"Sequence": 1,
"Percentage": 50
},
{
"ModelCode": "ProRata",
"Sequence": 2,
"Percentage": 50
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
CashflowInstructionTyperequired | enum | Regular contribution = 1, Regular withdrawal = 2, Income reinvestment = 5, Expenses = 6, All contributions and rollovers for SuperSMA (accumulation) accounts; otherwise Other additions = 8, Other Withdrawals = 9 |
FrequencyTypeId | integer | Monthly = 1, Quarterly = 2, SixMonthly = 3, Annually = 4 (Only applicable for regular withdrawal) |
StartDate | date-time | Start date of the cashflow instruction. (Only applicable for regular withdrawal) |
EndDate | date-time | End date of the cashflow instruction. (Only applicable for regular withdrawal) |
Amount | double | Amount of the cashflow instruction to apply. (Only applicable for regular contribution and regular withdrawal) |
Allocationsrequired | array | Cashflow instruction details. |
Allocations.ModelCode | string | Model code. (Model code ProRata means pro rata across existing models) |
Allocations.Sequence | integer | Sequence to apply. (Starting from 1 as highest priority, then 2, 3 ...) |
Allocations.Percentage | double | Model percentage. (Only applicable for regular contribution, income reinvestment, one-off direct debit) |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
DELETE Regular CashflowInstruction
Definition: https://api.praemium.biz/public/api/accounts/cashflowinstructions/regular
Delete regular cashflow instructions for SMA Accounts
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountID: AU400000
CashflowInstructionType: 1
Query Parameters
Parameter | Type | Description |
---|---|---|
CashflowInstructionTyperequired | enum | Regular contribution = 1, Regular withdrawal = 2 |
AccountIdrequired | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
UserId | string | Praemium user login to filter returned data based on the user’s Portfolio access. |
Other
GET PDS
Definition: https://api.praemium.biz/public/api/pds
Return PDS details.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Response Examples
# 200 - OK
[
{
"Id": "AU123",
"Name": "Sample PDS",
"IsSuperSma": false,
"BpayBillerCode": "347112",
"Status": "Active",
"AccountTypes": [
1
],
"Fees": [
{
"Type": 2,
"Name": "Establishment Fee",
"DollarOverride": {
"MinValue": 0.0,
"MaxValue": 15000.0,
"MinValueWithTax": 0.0,
"MaxValueWithTax": 16500.0
},
"DefaultValue": 0.0,
"DefaultValueWithTax": 0.0,
"DefaultType": 1
},
{
"Id": "AU32000",
"Type": 0,
"Name": "International Admin Fee",
"DefaultValue": 0.081818,
"DefaultValueWithTax": 0.0900,
"DefaultType": 2
},
{
"Id": "AU32001",
"Type": 0,
"Name": "Adviser Fee",
"DollarOverride": {
"MinValue": 0.00,
"MaxValue": 99999.00,
"MinValueWithTax": 0.000,
"MaxValueWithTax": 109998.900
},
"PercentOverride": {
"MinValue": 0.00,
"MaxValue": 1.50,
"MinValueWithTax": 0.000,
"MaxValueWithTax": 1.650
},
"DefaultValue": 0.0,
"DefaultValueWithTax": 0.0,
"DefaultType": 2
}
],
"Models": [
{
"Code": "A200.ASX",
"Name": "BETASHARES AUSTRALIA 200 ETF ETF UNITS FULLY PAID",
"Style": "Diversified"
},
{
"Code": "A2M.ASX",
"Name": "THE A2 MILK COMPANY LIMITED FPO",
"Style": "International Shares"
}
],
"BankAccountUsages": [
{
"Usage": "INCOME",
"Description": "Income payment",
"IsMandatory": false,
"Notes": "If no bank account is selected, income or dividends received will form part of your cash holding."
},
{
"Usage": "CASHCON",
"Description": "Cash contributions",
"IsMandatory": true,
"Notes": ""
},
{
"Usage": "SMAWDWL",
"Description": "Cash withdrawals",
"IsMandatory": true,
"Notes": ""
}
],
"TaxOptions": [
{
"Code": "WTFN",
"Description": "Resident with TFN"
},
{
"Code": "RABN",
"Description": "Resident with ABN"
},
{
"Code": "ALPH",
"Description": "Alphabetic Tax No quoted"
},
{
"Code": "NTFN",
"Description": "Resident without TFN or ABN"
},
{
"Code": "BUS",
"Description": "Financial Services"
},
{
"Code": "AGED",
"Description": "Aged Pension Exemption"
},
{
"Code": "CARE",
"Description": "Carer's Pension Exemption"
},
{
"Code": "INVD",
"Description": "Invalid Pension Exemption"
},
{
"Code": "NONP",
"Description": "Non-Profit Organisation Exemption"
},
{
"Code": "RHAB",
"Description": "Rehabilitaton Allowance Exemption"
},
{
"Code": "SERV",
"Description": "Service/Veteran's Pension Exemption"
},
{
"Code": "SOLE",
"Description": "Sole Parent's Pension Exemption"
},
{
"Code": "SPEC",
"Description": "Special Benefit Exemption"
},
{
"Code": "WIDW",
"Description": "Widow's Pension Exemption"
},
{
"Code": "WIFE",
"Description": "Wife's Pension Exemption"
},
{
"Code": "EXMT",
"Description": "Resident with Exemption"
},
{
"Code": "TERR",
"Description": "Norfolk Island residents"
},
{
"Code": "NRWT",
"Description": "Non-resident of Australia"
}
]
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
Id | string | ID of the PDS. |
Name | string | PDS Name. |
IsSuperSma | boolean | True/False returned for if the PDS is for a SuperSMA product. |
BpayBillerCode | string | BPAY biller code for accounts within the PDS to use. |
Status | string | Either “Active” or ”Closing”. |
AccountTypes | array | The account type of the portfolio. 0 - Standard VWrap/SMA Account, 1 - Super Fund, 2 - Super Fund Holding Account, 3 - Super Fund Segregated Account, 4 - Super Fund Special Function Account, 5 - Holdings Only Portfolio, 6 - SuperSMA (accumulation), 7 - SuperSMA (pension) |
Fees | array | Array of fees available in the PDS. |
Fees.Id | string | ID of the fee. |
Fees.Type | enum | 0 - Fee Table, 1 – Contribution, 2 – Establishment, 3 – Termination, 4 - Withdrawal |
Fees.Name | string | Fee name. |
Fees.Tiers | array | |
Fees.Tiers.ValueAppliedFrom | double | Fee tier starting value. |
Fees.Tiers.FeePercent | double | Fee percentage applied to this tier. |
Fees.Tiers.FeePercentWithTax | double | Fee percentage inclusive of tax. |
Fees.DollarOverride | object | |
Fees.DollarOverride.MinValue | double | Minimum overridable amount. |
Fees.DollarOverride.MaxValue | double | Maximum overridable amount. |
Fees.DollarOverride.MinValueWithTax | double | Minimum overridable amount inclusive of tax. |
Fees.DollarOverride.MaxValueWithTax | double | Maximum overridable amount inclusive of tax. |
Fees.PercentOverride | object | |
Fees.PercentOverride.MinValue | double | Minimum overridable amount. |
Fees.PercentOverride.MaxValue | double | Maximum overridable amount. |
Fees.PercentOverride.MinValueWithTax | double | Minimum overridable amount inclusive of tax. |
Fees.PercentOverride.MaxValueWithTax | double | Maximum overridable amount inclusive of tax. |
Fees.DefaultValue | double | DollarOverride |
Fees.DefaultValueWithTax | double | Default fee value inclusive of tax. |
Fees.DefaultType | enum | Default fee type. The enum value can be seen in Fees.Type |
Models | array | |
Models.Code | string | Model code. |
Models.Name | string | A description of the model. |
Models.Style | string | Style of model investment. |
BankAccountUsages | array | List of available bank account usages in the PDS. |
BankAccountUsages.Usage | string | Usage code of the bank account usage. |
BankAccountUsages.Description | string | Description of the bank account usage. |
BankAccountUsages.IsMandatory | boolean | True/False returned for if the bank account usage is mandatory in the PDS. |
BankAccountUsages.Notes | string | Additional notes regarding the bank account usage. |
TaxOptions | array | |
TaxOptions.Code | string | Tax election code. |
TaxOptions.Description | string | Tax election description. |
GET SuperFunds
Definition: https://api.praemium.biz/public/api/superfunds
Return SuperStream super fund lookup information.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Response Examples
# 200 - OK
[
{
"Usi": "75703857864088",
"FundName": " Praemium SMA Superannuation Fund",
"ProductName": " Praemium Super SMA Accumulation Account"
},
{
"Usi": " 75703857864089",
"FundName": " Praemium SMA Superannuation Fund",
"ProductName": " Praemium SMA Superannuation Fund - Pension Account"
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
Usi | string | Unique Superannuation Identifier (USI) is used in SuperStream to identify an APRA fund and/or its superannuation product which an employee (member) is contributing to. |
Spin | string | Superannuation Product Identifier Number. |
FundName | string | Name of the Superannuation Fund. |
ProductName | string | Product Name of the Superannuation fund. |
GET BPAY
Definition: https://api.praemium.biz/public/api/accounts/bpay
Returns BPAY details for one or all accounts.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
AccountId: AU400000
Query Parameters
Parameter | Type | Description |
---|---|---|
AccountId | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) Omitting this field will retrieve items for all accounts. |
Response Examples
# 200 - OK
[
{
"AccountId": "AU400000",
"BpayReference": "4000001"
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
AccountId | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
BpayReference | string | BPAY reference. |
Model Manager
GET Models
Definition: https://api.praemium.biz/public/api/models
This endpoint returns the details of all models that you have access to.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Response Examples
# 200 - OK
[
{
"Id": "AU123",
"Code": "XX0000",
"Description": "ASX Top20",
"Status": "Open",
"FactsheetUrl": "",
"ProviderName": "Investment",
"UpdatedDate": "2019-10-09T11:00:00+11:00",
"LastTransactionDate": "2019-10-09T11:00:00+11:00"
},
{
"Id": "AU766",
"Code": "XX0007",
"Description": "Investment Balanced",
"Status": "Open",
"FactsheetUrl": "",
"ProviderName": "Investment",
"UpdatedDate": "2019-10-09T11:00:00+11:00",
"LastTransactionDate": "2019-10-09T11:00:00+11:00"
}
]
Response Parameters
Parameter | Type | Description |
---|---|---|
Id | string | Praemium unique model Identifier. |
Code | string | Model code. |
Description | string | A description of the model. |
Status | string | Model Status. Returned values are Open/Closing/Closed |
FactsheetUrl | string | Factsheet URL. |
ProviderName | string | Model Provider name. |
UpdatedDate | date-time | Model status update. Note that this date refers to an update of the model description, not the model weights. |
LastTransactionDate | date-time | Model weights update date. |
GET ApproximateFum
Definition: https://api.praemium.biz/public/api/models/{id}/approximatefum
Returns the portfolios linked to the model and their approximate FUM invested in the model.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
Id: AU123
Path Parameters
Parameter | Type | Description |
---|---|---|
Idrequired | string | ModelID as returned by the /api/models/ endpoint. |
Query Parameter Examples
Date: 2019-06-30
Query Parameters
Parameter | Type | Description |
---|---|---|
Daterequired | date-time | The date to use when calculating data for the request. |
Response Examples
# 200 - OK
{
"ModelId": "AU123",
"Date": "2019-09-20T00:00:00+10:00",
"NumberOfAccountsLinked": 587,
"TotalApproximateFum": 1079558.45,
"ApproximateFumForAccounts": [
{
"AccountId": "AU123456",
"TotalValue": 30687.34,
"ModelWeight": 99.15,
"ApproximateFum": 581.50
},
{
"AccountId": "AU123457",
"TotalValue": 29259.68,
"ModelWeight": 99.15,
"ApproximateFum": 938.46
}
]
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ModelId | string | ModelId as returned by the Models endpoint. |
Date | date-time | The date used when returning data in the request. |
NumberOfAccountsLinked | integer | Number of accounts linked to the model. |
TotalApproximateFum | double | Approximate FUM for all accounts. |
ApproximateFumForAccounts | array | |
ApproximateFumForAccounts.AccountId | string | AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts) |
ApproximateFumForAccounts.TotalValue | double | Total market value of the account. |
ApproximateFumForAccounts.ModelWeight | double | Account weight in the requested model. |
ApproximateFumForAccounts.ApproximateFum | double | Account weight in the requested model. |
GET ModelPerformance
Definition: https://api.praemium.biz/public/api/models/{id}/performance
Calculates performance for the model.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
Id: AU123
Path Parameters
Parameter | Type | Description |
---|---|---|
Idrequired | string | ModelId as returned by the Models endpoint. |
Query Parameter Examples
FromDate: 2019-09-01
ToDate: 2019-09-03
IncludeDailyReturns: true
IncludeAnnualiseReturns: true
Query Parameters
Parameter | Type | Description |
---|---|---|
FromDaterequired | date-time | The from date used when calculating data for the request. |
ToDaterequired | date-time | The to date used when calculating data for the request. |
IncludeDailyReturns | boolean | If True, then the daily performance of the model is returned. |
IncludeAnnulisedReturns | boolean | If True, then the annualised performance of the model is returned. |
Response Examples
# 200 - OK
{
"ModelId": "AU123",
"FromDate": "2019-09-01T00:00:00+10:00",
"ToDate": "2019-09-03T00:00:00+10:00",
"DailyPercentageReturns": [
{
"Date": "2019-09-01T00:00:00+10:00",
"PercentageReturn": 0.0000,
"CumulativePercentageReturn": 0.0000
},
{
"Date": "2019-09-02T00:00:00+10:00",
"PercentageReturn": -0.3359,
"CumulativePercentageReturn": -0.3359
},
{
"Date": "2019-09-03T00:00:00+10:00",
"PercentageReturn": -0.0874,
"CumulativePercentageReturn": -0.4230
}
],
"PercentageReturns": [
{
"PeriodDescription": "1 mth",
"GrossPercentReturn": -2.6832,
"NetPercentReturn": -2.6832,
"Annualised": false
},
{
"PeriodDescription": "3 mths",
"GrossPercentReturn": 3.5223,
"NetPercentReturn": 3.5223,
"Annualised": false
},
{
"PeriodDescription": "1 yr",
"GrossPercentReturn": 9.5408,
"NetPercentReturn": 9.5408,
"Annualised": false
},
{
"PeriodDescription": "Since 01/09/2019",
"GrossPercentReturn": -0.4230,
"NetPercentReturn": -0.4230,
"Annualised": false
}
]
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ModelId | string | ModelId as returned by the Models endpoint. |
FromDate | date-time | The earliest date used to calculate performance data. |
ToDate | date-time | The latest date used to calculate performance data. |
DailyPercentageReturns | array | |
DailyPercentageReturns.Date | date-time | The date used to calculate performance data. |
DailyPercentageReturns.PercentageReturn | double | The performance percentage return |
DailyPercentageReturns.CumulativePercentageReturn | double | Cumulative percentage return from the FromDate to Date. |
PercentageReturns | array | |
PercentageReturns.PeriodDescription | string | A description of the period the returns are calculated for. |
PercentageReturns.GrossPercentReturn | double | The performance percentage return excluding expenses. |
PercentageReturns.NetPercentReturn | double | The performance percentage return including expenses. |
PercentageReturns.Annualised | boolean | Whether the return is annualised. |
GET ModelHoldings
Definition: https://api.praemium.biz/public/api/models/{id}/holdings
Returns the security holding weights in the model.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Path Parameter Examples
Id: AU123
Path Parameters
Parameter | Type | Description |
---|---|---|
Idrequired | string | ModelId as returned by the Models endpoint. |
Query Parameter Examples
Date: 2019-10-10
Query Parameters
Parameter | Type | Description |
---|---|---|
Date | date-time | Date used to display the data. |
Response Examples
# 200 - OK
{
"ModelId": "AU123",
"Date": "2019-10-10T00:00:00+11:00",
"Holdings": [
{
"SecurityCode": "WPL",
"SecurityDescription": "WOODSIDE PETROLEUM LTD FPO",
"TargetValuePercentage": 70.8414,
"ActualValuePercentage": 70.8125,
"EstimatedYield": 5.84
},
{
"SecurityCode": "AUDCASH",
"SecurityDescription": "MAIN CASH ACCOUNT",
"TargetValuePercentage": 29.1586,
"ActualValuePercentage": 29.1875,
"EstimatedYield": 0.77
}
]
}
Response Parameters
Parameter | Type | Description |
---|---|---|
ModelId | string | ModelId as returned by the Models endpoint. |
Date | date-time | Date used to display the data. |
Holdings | array | |
Holdings.SecurityCode | string | The security code of the security. |
Holdings.SecurityDescription | string | A description of the security. |
Holdings.TargetValuePercentage | double | Target value in the model for the security. |
Holdings.ActualValuePercentage | double | Percentage that was implemented allowing for market movements and minimum cash. This is record in the model shadow account for the model. |
Holdings.EstimatedYield | double | Estimated yield of the security. |
GET ModelWeightAdjustments
Definition: https://api.praemium.biz/public/api/models/WeightAdjustments
Returns the weights in the specified models.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Query Parameter Examples
ModelCode: XX0000
Query Parameters
Parameter | Type | Description |
---|---|---|
ModelCode | string | The Code as returned by the Models endpoint. Omitting this field will return weights for all models. |
Response Examples
# 200 - OK
[
{
"ISIN": "AU000000CSL8",
"ModelCode": "XX0000",
"SecurityCode": "CSL",
"ExchangeCode": "ASX",
"Target": 29.3802
},
{
"ISIN": "US30303M1027",
"ModelCode": "XX0000",
"SecurityCode": "FB",
"ExchangeCode": "NSM",
"Target": 40.4836
},
{
"ISIN": "AU60FID00268",
"ModelCode": "XX0000",
"SecurityCode": "FID0026AU",
"ExchangeCode": "FND",
"Target": 30.1362
},
]
Response Parameters
Parameter | Type | Description |
---|---|---|
ISIN | string | The Code as returned by the Models endpoint. Omitting this field will return weights for all models. |
ModelCode | string | Model code. |
SecurityCode | string | The security code of the security. |
ExchangeCode | string | The exchange code of security. |
Target | double | The current percentage weight of the security in the model. |
PUT ModelWeightAdjustments
Definition: https://api.praemium.biz/public/api/models/WeightAdjustments
Model Weight Adjustment, adjusting the weights of the securities within your models. Multiple models can be specified but all weights within a model must add to 100%.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"WeightAdjustments": [
{
"ModelCode": "XX0000",
"SecurityCode": "BHP",
"ExchangeCode": "ASX",
"Target": 70
},
{
"ModelCode": "XX0000",
"SecurityCode": "AUDCASH",
"ExchangeCode": "UNL",
"Target": 30
},
{
"ModelCode": "XX0001",
"SecurityCode": "ASX",
"ExchangeCode": "ASX",
"Target": 20
},
{
"ModelCode": "XX0001",
"SecurityCode": "AAPL",
"ExchangeCode": "NSM",
"Target": 20
},
{
"ModelCode": "XX0001",
"SecurityCode": "RIO",
"ExchangeCode": "ASX",
"Target": 60
}
]
}
Body Parameters
Parameter | Type | Description |
---|---|---|
WeightAdjustments | array | |
WeightAdjustments.ModelCode | string | Model code. |
WeightAdjustments.SecurityCode | string | The security code of the security. |
WeightAdjustments.ExchangeCode | string | The exchange code of security. |
WeightAdjustments.Target | double | The target percentage weight of the security in the model. |
User Management
POST Users
Definition: https://userapi.onpraemium.com/Users
This endpoint creates a new user in the system.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-api-versionrequired | string | API version of the endpoint. |
x-pps-tokenrequired | string | API token issued by Praemium. |
Query Parameter Examples
ModifiedUserId: 12345
Query Parameters
Parameter | Type | Description |
---|---|---|
ModifiedUserId | integer | The integer ID of user that is being used to create new user |
Body Parameter Examples
{
"Id": "[email protected]",
"Name": {
"Title": "Mr",
"First": "John",
"Last": "Smith"
},
"Gender": null,
"Type": 1,
"UserLevel": 1,
"Email": "[email protected]",
"DateOfBirth": "2016-04-24T00:00:00+00:00",
"MothersMaidenName": "Jo",
"Addresses": [
{
"Type": 0,
"AddressLine1": "Unit 1",
"AddressLine2": "123 Test Street",
"AddressLine3": "",
"SuburbCounty": "Melbourne",
"TownCityState": "VIC",
"Postcode": "3000",
"Country": "AUS"
},
{
"Type": 1,
"AddressLine1": "Unit 1",
"AddressLine2": "123 Test Street",
"AddressLine3": "",
"SuburbCounty": "Melbourne",
"TownCityState": "VIC",
"Postcode": "3000",
"Country": "AUS"
},
{
"Type": 2,
"AddressLine1": "Unit 1",
"AddressLine2": "123 Test Street",
"AddressLine3": "",
"SuburbCounty": "Melbourne",
"TownCityState": "VIC",
"Postcode": "3000",
"Country": "AUS"
}
],
"Phone": "0400000000",
"PhoneAlt": "0498765432",
"ServiceId": "AU1000",
"Location": "Melbourne",
"Team": "AB",
"JobTitle": "Developer",
"AdviserId": 123456,
"GenerateGetStartedToken": true
}
Body Parameters
Parameter | Type | Description |
---|---|---|
IDrequired | string | The ID that the user will type when logging in. |
Name | object | Contains the name of the person we are creating a user for. |
Name.Title | string | Title of the user. |
Name.Firstrequired | string | The user's first name. |
Name.Lastrequired | string | The user's last name. |
Gender | string | Male, Female, or null. |
Type | integer | 1 = investor |
UserLevel | integer | 1 = standard investor user |
Emailrequired | string | The user's email address. |
DateOfBirth | date-time | For security purposes if we need to identify the user over the phone. |
MothersMaidenName | string | For security purposes if we need to identify the user over the phone. |
Addresses | array | Contains details of the user's address. |
Addresses.Type | integer | 0 = street address |
Addresses.AddressLine1required | string | Address details - Line 1. |
Addresses.AddressLine2 | string | Address details - Line 2 (if applicable). |
Addresses.AddressLine3 | string | Address details - Line 3 (if applicable). |
Addresses.SuburbCountyrequired | string | Suburb or county details. |
Addresses.TownCityState | string | State or town or city details. |
Addresses.Postcoderequired | string | Postcode. |
Addresses.Countryrequired | string | AUS = Australia. |
Phonerequired | string | The user's phone number. |
PhoneAlt | string | An alternative phone number for the investor. |
ServiceID | string | The ID for the service that the user will log in to. |
Location | string | Location of the user. |
Team | string | Team that user is part of. |
JobTitle | string | The users Job Title. |
AdviserID | string | The adviser ID for this user's adviser. |
GenerateGetStartedToken | boolean | Whether to generate an SSO token for this user to get started. |
Response Parameter Examples
{
"Id": 9108602,
"Name": {
"Title": "Mr",
"First": "John",
"Last": "Smith"
},
"Gender": "Male",
"Type": "Investor",
"UserLevel": 1,
"Email": "[email protected]",
"DateOfBirth": "2016-04-24T00:00:00+10:00",
"MothersMaidenName": "Jo",
"Addresses": [
{
"Type": "Home",
"AddressLine1": "Unit 1",
"AddressLine2": "123 Test Street",
"SuburbCounty": "Melbourne",
"TownCityState": "VIC",
"Postcode": "3000",
"Country": "AUS"
}
],
"Phone": "0400000000",
"PhoneAlt": "0498765432",
"ServiceId": "AU1000",
"Location": "84",
"Team": "114",
"JobTitle": "Developer",
"AdviserId": 9110556,
"GetStartedToken": "https://login.onpraemium.com/useraccount/changepassword?token=9108602-ED6205A469E04029B724EA9A11BDE37F-637141711208895228"
}
Response Parameters
Parameter | Type | Description |
---|---|---|
Id | string | The ID that the user will type when logging in. |
Name | object | Contains the name of the person we are creating a user for. |
Name.Title | string | Title of the user. |
Name.First | string | The user's first name. |
Name.Last | string | The user's last name. |
Gender | string | Male, Female, or null. |
Type | integer | 1 = investor |
UserLevel | integer | 1 = standard investor user |
string | The user's email address. | |
DateOfBirth | date-time | For security purposes if we need to identify the user over the phone. |
MothersMaidenName | string | For security purposes if we need to identify the user over the phone. |
Addresses | array | Contains details of the user's address. |
Addresses.Type | integer | 0 = street address |
Addresses.AddressLine1 | string | Address details - Line 1. |
Addresses.AddressLine2 | string | Address details - Line 2 (if applicable). |
Addresses.AddressLine3 | string | Address details - Line 3 (if applicable). |
Addresses.SuburbCounty | string | Suburb or county details. |
Addresses.TownCityState | string | State or town or city details. |
Addresses.Postcode | string | Postcode. |
Addresses.Country | string | AUS = Australia. |
Phone | string | The user's phone number. |
PhoneAlt | string | An alternative phone number for the investor. |
ServiceId | string | The ID for the service that the user will log in to. |
Location | string | Location of the user. |
Team | string | Team that user is part of. |
JobTitle | string | The users Job Title. |
AdviserID | string | The adviser ID for this user's adviser. |
GetStartedToken | string | An SSO token to get started. (The first visit would usually ask for changing password.) |
SSO
POST SSOLogin
Definition: https://api.praemium.biz/public/api/ssologin
This endpoint is to authenticate a user's access to the Praemium API. It returns a URL that contains a one-time security token. By accessing this URL, an authenticated user will be logged in without having to specify the user's credentials again.
Either UserId or Username is required.
Parameters are used to pass in additional data for certain applications. The following parameters are valid for Platform & Reporting:
- AccountID is the internal ID of the account to be selected when the user is logged in.
- AreaID is an ID to determine which page the user will load initially (e.g. 103 - Transaction History, 1171 - Reporting).
- Frameless is an option to determine whether or not the menu and logo are hidden.
Header Examples
x-pps-api-version: 2020.09.21
x-pps-token: XXXX-XXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXX
Header Parameters
Parameter | Type | Description |
---|---|---|
x-pps-tokenrequired | string | API token issued by Praemium. |
x-pps-api-versionrequired | string | API version of the endpoint. |
Body Parameter Examples
{
"UserId": 1234,
"Application": "Platform"
}
Body Parameters
Parameter | Type | Description |
---|---|---|
Application | string | The ID of the application the user will be sent to once logged in. Platform=V-Wrap, Investor=Investor Portal, Adviser=Adviser Portal, Applications=Application Portal. |
Parameters | object | ItemKey / Value containing AccountID, AreaID or Frameless. |
UserId | integer | The ID of the user to log in. Either UserId or Username is required. |
Username | string | The Praemium username/Login ID of the user to log in. Either UserId or Username is required. |
SAML
Set up Identity Provider
Identity Provider (IdP) has to be set up before you can use the SAML SSO. To set up IdP, you will need to provide the followings:
- X509 Certificate
- Issuer of SAML token
Destination applications
To determine a destination application that users will be landing, you will need to add "Application" attribute/value into your SAML Assertion/Token. The followings are the supported values:
- Platform (Platform & Reporting)
- Adviser (Adviser Portal)
- Investor (Investor Portal)
If no "Application" attribute/value is provided, users will SSO into Platform & Reporting by default.
POST SAML Login
Definition: https://saml.onpraemium.com/login
This endpoint returns a SAML token for login to Praemium platform.
Header Examples
Content-Type: application/x-www-form-urlencoded
Header Parameters
Parameter | Type | Description |
---|---|---|
Content-Typerequired | string | Content type needs to be application/x-www-form-urlencoded. |
Body Parameter Examples
SAMLResponse={base64 encoded string of your SAML token}
Body Parameters
Parameter | Type | Description |
---|---|---|
SAMLResponserequired | string | The value of the SAMLResponse parameter is the base64 encoding of an SAML token. |
Response Examples
# 302 - Redirect
"https://login.onpraemium.com/useraccount/sso?token=******"
Rate Limiting & Response Codes
Rate Limiting
The Praemium API limits requests made to each Praemium service.
The default is 5 requests per second, if you hit the limit the API will return HTTP code 429 (Too many requests). If you genuinely need to make more requests, please speak to our support team.
Response Codes
The Praemium API communicates errors through standard HTTP status codes paired with our own error codes. Generally the following pattern will apply:
API Error Codes
Praemium has implemented unique API Error codes to assist with troubleshooting any bad requests. These are returned in the Errors array and a sample of these are displayed in the table below.
400 - Bad Request
{
"ResponseStatus": {
"Success": false,
"Errors": [
{
"Code": 113,
"Message": "Unexpected character encountered while parsing value: d. Path 'InternalID', line 2, position 23."
}
]
}
}
Code | Description |
---|---|
99 | Unexpected system error. |
100 | Authentication failed. |
101 | User does not have access to the portfolio. |
102 | Portfolio does not exist. |
103 | Portfolio is closed. |
104 | Portfolio not created until after valuation date. |
105 | Valuation date cannot be greater than processed to date. |
106 | Performance period from date cannot be earlier than the date of the first transaction for the portfolio. |
107 | Performance period to date cannot be greater than the portfolio processed to date. |
108 | Invalid performance calculation method. |
109 | From date cannot be after to date. |
110 | Portfolio is not a consolidated portfolio. |
111 | Benchmark ID does not exist. |
112 | Date range cannot be more than 31 days. |
113 | XML invalid. |
114 | User ID must be supplied. |
115 | Too many requests submitted. |
116 | Page cannot be greater than the page count. |
117 | Valuation date can only be the current processed to date. |