NAV Navbar

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 applyforapi@praemium.com. 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 support@praemium.com.au 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: 2022.03.07

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: 2022.03.07
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: 2022.03.07
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": 170,
      "Benchmark1": "S&P/ASX 300 Accumulation Index",
      "Benchmark1Margin": 4.000000,
      "Benchmark2ID": -1,
      "Benchmark2": "None",
      "Benchmark2Margin": 0.000000,
      "Product": "Platinum"
    }
  }
}
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.Benchmark1Margin double The margin (p.a.) 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.
ResponseData.Portfolio.Benchmark2Margin double The margin (p.a.) of the portfolio's benchmark 2.
ResponseData.Portfolio.Product string The description of the portfolio’s product.


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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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,
      "MarketValueGainOrLoss": 239104.23,
      "ExchangeRateGainOrLoss": 0.00,
      "EstIncome": 19044.65,
      "Yield": 2.4500
    },
    "Holdings": [
      {
        "SecurityCode": "STO",
        "SecurityDescription": "SANTOS LIMITED FPO",
        "SEDOL": "BD6CSL2",
        "AssetClassDescription": "Domestic Shares",
        "AssetClassCode": "ASX",
        "AssetType": "ASX Listed",
        "GicsDescription": "ENERGY",
        "Quantity": 346.0000,
        "UnitCost": 6.9267,
        "Cost": 2396.65,
        "UnitValue": 7.3954,
        "UnitPriceDate": "2019-09-13T00:00:00",
        "Value": 2556.94,
        "PercentTotalValue": 0.3300,
        "GainOrLoss": 160.29,
        "MarketValueGainOrLoss": 160.29,
        "ExchangeRateGainOrLoss": 0.00,
        "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",
        "SEDOL": "B0FXT11",
        "AssetClassDescription": "Domestic Shares",
        "AssetClassCode": "ASX",
        "AssetType": "ASX Listed",
        "GicsDescription": "ENERGY",
        "Quantity": 1241.0000,
        "UnitCost": 31.9089,
        "Cost": 39598.89,
        "UnitValue": 31.3235,
        "UnitPriceDate": "2019-09-13T00:00:00",
        "Value": 38905.35,
        "PercentTotalValue": 4.9800,
        "GainOrLoss": -693.54,
        "MarketValueGainOrLoss": -693.54,
        "ExchangeRateGainOrLoss": 0.00,
        "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",
        "SEDOL": "2434202",
        "AssetClassDescription": "Domestic Shares",
        "AssetClassCode": "ASX",
        "AssetType": "ASX Listed",
        "GicsDescription": "MATERIALS",
        "Quantity": 167.0000,
        "UnitCost": 37.8257,
        "Cost": 6316.90,
        "UnitValue": 37.1356,
        "UnitPriceDate": "2019-09-13T00:00:00",
        "Value": 6200.71,
        "PercentTotalValue": 0.7900,
        "GainOrLoss": -116.19,
        "MarketValueGainOrLoss": -116.19,
        "ExchangeRateGainOrLoss": 0.00,
        "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",
        "SEDOL": "",
        "AssetClassDescription": "Cash & Equivalents",
        "AssetClassCode": "CAS",
        "AssetType": "Cash",
        "GicsDescription": "SECTOR NOT CLASSIFIED",
        "Quantity": 70027.9600,
        "UnitCost": 1.0000,
        "Cost": 70027.96,
        "UnitValue": 1.0012,
        "UnitPriceDate": "2019-09-13T00:00:00",
        "Value": 70027.96,
        "PercentTotalValue": 8.9700,
        "GainOrLoss": 0.00,
        "MarketValueGainOrLoss": 0.00,
        "ExchangeRateGainOrLoss": 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",
        "SEDOL": "",
        "AssetClassDescription": "Cash & Equivalents",
        "AssetClassCode": "CAS",
        "AssetType": "Cash",
        "GicsDescription": "SECTOR NOT CLASSIFIED",
        "Quantity": 2373.9300,
        "UnitCost": 1.0000,
        "Cost": 2373.93,
        "UnitValue": 1.4300,
        "UnitPriceDate": "2019-09-13T00:00:00",
        "Value": 2373.93,
        "PercentTotalValue": 0.300,
        "GainOrLoss": 0.00,
        "MarketValueGainOrLoss": 0.00,
        "ExchangeRateGainOrLoss": 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.MarketValueGainOrLoss double MarketValueGainOrLoss as a result of the market price (MV) movement of the security.
ResponseData.Valuation.ExchangeRateGainOrLoss double ExchangeRateGainOrLoss as a result of the movement of the exchange rate (FX).
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.SEDOL string Stock exchange daily official list.
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.MarketValueGainOrLoss double MarketValueGainOrLoss as a result of the market price (MV) movement of the security.
ResponseData.Holdings.ExchangeRateGainOrLoss double ExchangeRateGainOrLoss as a result of the movement of the exchange rate (FX).
ResponseData.Holdings.PercentTotalGainOrLoss double The total gain or loss (TG) 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)


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: 2022.03.07
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: 2022.03.07
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
InternalIds 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 Internal ID of last record. If supplied, only data subsequent to this portfolio would be returned.
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,
          "MarketValueGainOrLoss": 890705.52,
          "ExchangeRateGainOrLoss": 0.00,
          "EstIncome": 69280.3,
          "Yield": 3.12
        },
        "Holdings": [
          {
            "SecurityCode": "ARI",
            "SecurityDescription": "ARRIUM LIMITED FPO",
            "SEDOL": "2113434",
            "AssetClassDescription": "Domestic Shares",
            "AssetClassCode": "DS",
            "AssetClassCategory": "Growth",
            "AssetType": "ASX Listed",
            "GICSDescription": "Materials",
            "Quantity": 375,
            "UnitCost": 2.64,
            "Cost": 990,
            "UnitValue": 0.1542,
            "UnitPriceDate": "1950-01-01T00:00:00Z",
            "Value": 45,
            "PercentTotalValue": 0,
            "GainOrLoss": -945.00,
            "MarketValueGainOrLoss": -945.00,
            "ExchangeRateGainOrLoss": 0.00,
            "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,
          "MarketValueGainOrLoss": 890705.52,
          "ExchangeRateGainOrLoss": 0.00,
          "EstIncome": 69280.3,
          "Yield": 3.12
        },
        "Holdings": [
          {
            "SecurityCode": "ARI",
            "SecurityDescription": "ARRIUM LIMITED FPO",
            "SEDOL": "B1S77G6",
            "AssetClassDescription": "Domestic Shares",
            "AssetClassCode": "DS",
            "AssetClassCategory": "Growth",
            "AssetType": "ASX Listed",
            "GICSDescription": "Materials",
            "Quantity": 375,
            "UnitCost": 2.64,
            "Cost": 990,
            "UnitValue": 0.1232,
            "UnitPriceDate": "1950-01-01T00:00:00Z",
            "Value": 45,
            "PercentTotalValue": 0,
            "GainOrLoss": -945.00,
            "MarketValueGainOrLoss": -945.00,
            "ExchangeRateGainOrLoss": 0.00,
            "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.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.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.MarketValueGainOrLoss double MarketValueGainOrLoss as a result of the market price (MV) movement of the security.
Portfolios.SMA.Valuation.ExchangeRateGainOrLoss double ExchangeRateGainOrLoss as a result of the movement of the exchange rate (FX).
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.SEDOL string Stock exchange daily official list.
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.MarketValueGainOrLoss double MarketValueGainOrLoss as a result of the market price (MV) movement of the security.
Portfolios.SMA.Holdings.ExchangeRateGainOrLoss double ExchangeRateGainOrLoss as a result of the movement of the exchange rate (FX).
Portfolios.SMA.Holdings.PercentTotalGainOrLoss double The total gain or loss (TG) 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.NonSMA array
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.
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.MarketValueGainOrLoss double MarketValueGainOrLoss as a result of the market price (MV) movement of the security.
Portfolios.NonSMA.Valuation.ExchangeRateGainOrLoss double ExchangeRateGainOrLoss as a result of the movement of the exchange rate (FX).
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.SEDOL string Stock exchange daily official list.
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.MarketValueGainOrLoss double MarketValueGainOrLoss as a result of the market price (MV) movement of the security.
Portfolios.NonSMA.Holdings.ExchangeRateGainOrLoss double ExchangeRateGainOrLoss as a result of the movement of the exchange rate (FX).
Portfolios.NonSMA.Holdings.PercentTotalGainOrLoss double The total gain or loss (TG) 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)


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: 2022.03.07
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",
              "ExchangeCode": "ASX",
              "Value": 433.70,
              "Quantity": 202.66
            },
            {
              "Asset": "ANN",
              "ExchangeCode": "ASX",
              "Value": 960.36,
              "Quantity": 41.11
            },
            {
              "Asset": "VRT",
              "ExchangeCode": "ASX",
              "Value": 1041.77,
              "Quantity": 144.89
            }
          ]
        },
        {
          "ModelCode": "XX0001",
          "ModelDescription": "High Growth",
          "ModelPercentage": 49.52,
          "Holdings": [
            {
              "Asset": "AGI",
              "ExchangeCode": "ASX",
              "Value": 431.35,
              "Quantity": 201.57
            },
            {
              "Asset": "WBC",
              "ExchangeCode": "ASX",
              "Value": 967.68,
              "Quantity": 32.00
            },
            {
              "Asset": "WOW",
              "ExchangeCode": "ASX",
              "Value": 1262.56,
              "Quantity": 52.00
            }
          ]
        }
      ],
      "HoldingsNotInModel": [
        {
          "Asset": "AUDCASH",
          "ExchangeCode": "UNL",
          "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 the 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 the 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: 2022.03.07
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.
  • 0 - For the period only
  • 4 - 1 mth, 3 mths, the period
  • 9 - 1 mth, 3 mths, 6 mths, 1 yr, Since inception
  • 11 - 1 mth, 3 mths, 6 mths, 1 yr, 2 yrs, 3 yrs, 4 yrs, 5 yrs, Since inception
  • 16 - 1 mth, 3 mths, 6 mths, 1 yr, 3 yrs, 5 yrs, 10 yrs, Since inception
  • 1 - 1 mth, 3 mths, 1 yr, the period
  • 24 - 1 mth, 3 mths, 1 yr, 3 yrs, 5 yrs, the period
  • 15 - 3 mths, 6 mths, 1 yr, 2 yrs, 3 yrs
  • 17 - 3 mths, 6 mths, 1 yr, 3 yrs, 5 yrs
  • 14 - 3 mths, 6 mths, 1 yr, 2 yrs, Since inception
  • 13 - 3 mths, 1 yr, 2 yrs, 5 yrs, Since Inception
  • 21 - 3 mths, 1 yr, 2 yrs, 3 yrs, Since inception
  • 22 - 3 mths, 1 yr, 2 yr, 3 yrs, 5 yrs
  • 18 - 3 mths, 1 yr, 3 yrs, 5 yrs, 7 yrs
  • 2 - 3 mths, 1 yr, 3 yrs, the period
  • 8 - 3 mths, 1 yr, 3 yrs, 5 yrs, Since inception
  • 10 - 1 yr, 2 yrs, 3 yrs, 4 yrs, 5 yrs
  • 19 - 1 yr, 3 yrs, 5 yrs, 7 yrs, 10 yrs
  • 3 - 1 yr, 3 yrs, 5 yrs, the period
  • 23 - 1 yr, 5 yrs, 10 yrs, Since inception
  • 7 - Qtr to date, Fin yr to date, 1 yr, Since inception
  • 5 - Qtr to date, Fin yr to date, 3 yrs, 5 yrs
  • 6 - Qtr to date, Fin yr to date, 3 yrs, Since inception
  • 20 - The period, Qtr to date, Fin yr to date, Since inception
  • -1 - Portfolio default
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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.
  • 0 - For the period only
  • 4 - 1 mth, 3 mths, the period
  • 9 - 1 mth, 3 mths, 6 mths, 1 yr, Since inception
  • 1 - 1 mth, 3 mths, 1 yr, the period
  • 15 - 3 mths, 6 mths, 1 yr, 2 yrs, 3 yrs
  • 17 - 3 mths, 6 mths, 1 yr, 3 yrs, 5 yrs
  • 14 - 3 mths, 6 mths, 1 yr, 2 yrs, Since inception
  • 13 - 3 mths, 1 yr, 2 yrs, 5 yrs, Since Inception
  • 21 - 3 mths, 1 yr, 2 yrs, 3 yrs, Since inception
  • 22 - 3 mths, 1 yr, 2 yr, 3 yrs, 5 yrs
  • 18 - 3 mths, 1 yr, 3 yrs, 5 yrs, 7 yrs
  • 2 - 3 mths, 1 yr, 3 yrs, the period
  • 8 - 3 mths, 1 yr, 3 yrs, 5 yrs, Since inception
  • 10 - 1 yr, 2 yrs, 3 yrs, 4 yrs, 5 yrs
  • 19 - 1 yr, 3 yrs, 5 yrs, 7 yrs, 10 yrs
  • 3 - 1 yr, 3 yrs, 5 yrs, the period
  • 7 - Qtr to date, Fin yr to date, 1 yr, Since inception
  • 5 - Qtr to date, Fin yr to date, 3 yrs, 5 yrs
  • 6 - Qtr to date, Fin yr to date, 3 yrs, Since inception
  • 20 - The period, Qtr to date, Fin yr to date, Since inception
  • -1 - Portfolio default

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: 2022.03.07
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",
        "ExchangeCode": "ASX",
        "ToDate": "2019-09-01T00:00:00"
      },
      {
        "SecurityCode": "NAB",
        "SecurityDescription": "NATIONAL AUSTRALIA BANK LIMITED FPO",
        "ExchangeCode": "ASX",
        "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.ExchangeCode string The exchange code 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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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.
DateRangeType string The date field that is compared to be between the from and to dates. Options are 'Valuation' (default) or 'Amendment'.
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",
        "EntryDate": "2020-01-13T00:00:00",
        "AmendmentDate": "2020-01-15T00: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,
        "ContractNoteRef": "55988403"
      },
      {
        "TransactionId": 137654286522,
        "Asset": "TWE",
        "AssetDescription": "TREASURY WINE ESTATES LIMITED FPO",
        "ExchangeCode": "ASX",
        "TransactionDate": "2019-01-09T00:00:00",
        "SettlementDate": "2019-01-11T00:00:00",
        "EntryDate": "2020-01-13T00:00:00",
        "AmendmentDate": "2020-01-15T00: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,
        "ContractNoteRef": "55995832"
      },
      {
        "TransactionId": 137654286523,
        "Asset": "WTC",
        "AssetDescription": "WISETECH GLOBAL LIMITED FPO",
        "ExchangeCode": "ASX",
        "TransactionDate": "2019-01-09T00:00:00",
        "SettlementDate": "2019-01-11T00:00:00",
        "EntryDate": "2020-01-13T00:00:00",
        "AmendmentDate": "2020-01-15T00: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,
        "ContractNoteRef": "55996073"
      }
    ]
  }
}
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 the 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.EntryDate date-time The date on which the transaction was first uploaded to our system.
ResponseData.Transactions.AmendmentDate date-time The latest date on which the transaction has been updated.
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
ResponseData.Transactions.ContractNoteRef string Unique contract note reference number.


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: 2022.03.07
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
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.
DateRangeType string The date field that is compared to be between the from and to dates. Options are 'Valuation' (default) or 'Amendment'.
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",
            "EntryDate": "2020-01-13T00:00:00",
            "AmendmentDate": "2020-01-15T00:00:00",
            "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",
            "EntryDate": "2020-01-13T00:00:00",
            "AmendmentDate": "2020-01-15T00:00:00",
            "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",
            "EntryDate": "2020-01-13T00:00:00",
            "AmendmentDate": "2020-01-15T00:00:00",
            "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",
            "EntryDate": "2020-01-13T00:00:00",
            "AmendmentDate": "2020-01-15T00:00:00",
            "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",
            "EntryDate": "2020-01-13T00:00:00",
            "AmendmentDate": "2020-01-15T00:00:00",
            "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.EntryDate date-time The date on which the transaction was first uploaded to our system.
ResponseData.CashBooks.Transactions.AmendmentDate date-time The latest date on which the transaction has been updated.
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: 2022.03.07
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: 2022.03.07
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 the 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: 2022.03.07
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 Execution date of the income record.
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 IncomeSchedules

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: 2022.03.07
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 Tax date of the income record.
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.


GET BulkIncomeSchedules

Definition: https://api.praemium.biz/public/api/income/schedules/bulk

This endpoint returns the income and schedules breakdown for the income entries accrued within the specified period.

Header Examples

x-pps-api-version: 2022.03.07
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: 398249,357441
FromDate: 2019-01-01
ToDate: 2019-09-27
Query Parameters
Parameter Type Description
InternalIds array Multiple InternalIds as string separated by comma.
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
[
  {
    "InternalID": "398249",
    "IncomeSchedules": [
      {
        "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
      }
    ]
  },
  {
    "InternalID": "357441",
    "IncomeSchedules": [
      {
        "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
InternalID string The InternalID of the Portfolio as returned in the GET /api/portfolios endpoint.
IncomeSchedules array
IncomeSchedules.IncomeId integer Praemium income id.
IncomeSchedules.IncomeTypeDescription string Type of income received.
IncomeSchedules.AssetDescription string Asset description.
IncomeSchedules.TaxDate date-time Tax date of the income record.
IncomeSchedules.Interest double Interest amount.
IncomeSchedules.UnfrankedTotal double Amount received that was unfranked.
IncomeSchedules.FrankedTotal double Amount received that was franked.
IncomeSchedules.FrankingCreditsTotal double Imputation credits.
IncomeSchedules.TrustOtherAust double Australian sourced income component that is not classified as one of the above types.
IncomeSchedules.ForeignIncomeTotal double Amount received from non-Australian sources.
IncomeSchedules.TrustCGTDistributionsTotal double Amount received due to distributed capital gains.
IncomeSchedules.NonAssessableTotal double Total amount that is non assessable for tax purposes.
IncomeSchedules.IncomeTotal double Total income amount received.
IncomeSchedules.TaxWithheld double Total tax withheld on the income record.
IncomeSchedules.ForeignIncomeTaxOffsetsTotal double Foreign income tax offsets.
IncomeSchedules.TrustOtherExpenses double Other expenses related to the income record.
IncomeSchedules.CashAmount double Amount received via cash.
IncomeSchedules.DRP double Amount received via dividend reinvestment.
IncomeSchedules.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: 2022.03.07
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 action 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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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,
  "Account": {
    "Name": "APITest",
    "AdviserId": "adviser@praemium.com",
    "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": "Jane Smith",
        "CashContributions": false,
        "SmaWithdrawals": false,
        "PayoutIncome": true,
        "FeeOffset": false,
        "RegularContributionPlan": false,
        "RegularWithdrawal": false,
        "PensionPayment": false
      }
    ],
    "Models": [
      {
        "ModelCode": "SM0001",
        "ModelPercent": 60
      },
      {
        "ModelCode": "MACAUD",
        "ModelPercent": 40
      }
    ],
    "Fees": [
      {
        "FeeType": 1,
        "Value": 2,
        "Type": 0,
        "IsPercent": true,
        "IncludesTax": true,
        "Name": null,
        "DollarOverride": null,
        "PercentOverride": null,
        "DefaultValue": 0,
        "DefaultValueWithTax": 0,
        "DefaultType": 0
      },
      {
        "FeeType": 2,
        "Value": 77,
        "Type": 0,
        "IsPercent": false,
        "IncludesTax": true,
        "Name": null,
        "DollarOverride": null,
        "PercentOverride": null,
        "DefaultValue": 0,
        "DefaultValueWithTax": 0,
        "DefaultType": 0
      }
    ],
    "FeeConsent": {
        "Type": 1,
        "AnniversaryDate": "2022-07-01"
    },
    "AccountSetup": {
      "InitialInvestment": 100,
      "InitialTransferValue": 0,
      "CashInvestmentMethod": 1
    },
    "RegularContributionAmount": 200,
    "RegularWithdrawalAmount": 50,
    "AdviserServicesProvided": [1, 2, 6]
  }
}
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, 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.FeeConsent object Contains fee consent data.
Account.FeeConsent.Type enum Ongoing = 1, FixedTerm = 2, NotCharged = 3. For NotCharged only Establishment fee can be provided.
Account.FeeConsent.AnniversaryDate date-time Anniversary date of ongoing fee. (Cannot be used along with TermStartDate and TermEndDate)
Account.FeeConsent.TermStartDate date-time Start date of fixed term fee. (Cannot be used along with AnniversaryDate)
Account.FeeConsent.TermEndDate date-time End date of fixed term fee. (Cannot be used along with AnniversaryDate)
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, NonConcessionalSpouse = 22, NonConcessionalChild = 24. 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. ConcessionalEmployee = 11, ConcessionalPersonal = 12, ConcessionalOtherFriendsAndFamily = 13, NonConcessionalPersonal = 21, NonConcessionalSpouse = 22, NonConcessionalFirstHomeSaverAccount = 23, NonConcessionalChild = 24, 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.
Account.AdviserServicesProvidedrequired array The services provided by the adviser: Review of your account = 1, Strategic superannuation advice = 2, Investment advice on your account = 3 ,Contribution strategy = 4, Insurance in superannuation strategy = 5, Withdrawal advice (lump sum and/or pension) = 6.

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: 2022.03.07
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.



POST Applicants

Definition: https://api.praemium.biz/public/api/applicants

Link an individual applicant to the created account.

Header Examples

x-pps-api-version: 2022.03.07
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": "adviser@praemium.com",
      "AccountId": "AU400000",
      "Name": {
        "Title": "Mr",
        "First": "Tony",
        "Last": "Stark"
      },
      "Sex": "M",
      "DateOfBirth": "1974-03-01",
      "Email": "test@test.com.au",
      "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",
      "IsPoliticallyExposedPerson": true,
      "PepDetails": "Senior politician",
      "Identification": [
        {
          "IdNumber": "876543210",
          "Type": 5
        }
      ]
    }
  },
  {
    "Type": 1,
    "Applicant": {
      "AdviserId": "adviser@praemium.com",
      "AccountId": "AU400000",
      "Name": {
        "Title": "Mrs",
        "First": "Andrea",
        "Last": "Stark"
      },
      "Sex": "F",
      "DateOfBirth": "1989-03-01",
      "Email": "test2@test.com.au",
      "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",
      "IsPoliticallyExposedPerson": false,
      "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.
Applicant.IsPoliticallyExposedPerson boolean Whether contact is politically exposed.
Applicant.PepDetails string If contact is politically exposed, details must be supplied.

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: 2022.03.07
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": "adviser@praemium.com",
  "AccountId": "AU400000",
  "Name": "Corporation Pty Ltd",
  "ContactName": "Tony Stark",
  "ContactPhone": "0400000000",
  "ContactEmail": "test@test.com.au",
  "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",
      "TaxRateElection": "RTFN"
    },
    {
      "Capacity": 3,
      "Name": {
        "Title": "Ms",
        "First": "Pamela",
        "Last": "Jones"
      },
      "DateOfBirth": "2017-11-15",
      "TaxRateElection": "RABN"
    }
  ]
}
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.
Signatories.TaxRateElection 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.

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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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:

Header Examples

x-pps-api-version: 2022.03.07
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.


Definition: https://api.praemium.biz/public/api/accounts/{accountId}/userlinks

Returns user links for the account.

Header Examples

x-pps-api-version: 2022.03.07
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, Investor = 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: 2022.03.07
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": "adviser@praemium.com",
  "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": "j.smith@example.com",
            "Capacity": "Director"
          }
        ],
        "Identifications": [
          {
            "Type": "TFN",
            "Value": "123456789"
          }
        ]
      }
    },
    {
      "ApplicantType": "Individual",
      "IndividualDetails": {
        "Title": "Mr",
        "FirstName": "John",
        "LastName": "Smith",
        "Email": "j.smith@example.com",
        "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"
          }
        ],
        "IsPoliticallyExposedPerson": true,
        "PepDetails": "Senior politician"
      }
    }
  ],
  "Accounts": [
    {
      "Name": "Miss Jane Smith",
      "RegisteredName": "Miss Jane Smith",
      "ShortName": "Jane",
      "AccountType": "Individual",
      "ApplicantIndexes": [
        1
      ],
      "PdsId": "AU5",
      "Fees": [
        {
          "Type": 1,
          "Rate": 153.4,
          "Unit": "Dollar"
        },
        {
          "Id": "AU21871",
          "Rate": 0,
          "Unit": "Dollar"
        }
      ],
      "FeeConsent": {
        "Type": 1,
        "AnniversaryDate": "2022-07-01"
      },
      "Models": [
        {
          "Code": "AU0001",
          "Proportion": 50
        },
        {
          "Code": "IN0001",
          "Proportion": 50
        }
      ],
      "BankAccounts": [
        {
          "AccountBsb": "12012",
          "AccountNumber": "6555555567",
          "AccountName": "Jane Smith",
          "Usages": [
            "Income",
            "CashContribution"
          ]
        }
      ],
      "Exclusions": [
        {
          "Code": "AU0002",
          "Exchange": "ASX"
        }
      ],
      "InitialInvestment": {
        "Cash": 132.12,
        "Shares": 321.32,
        "Method": 0
      },
      "AdviserServicesProvided": [1, 2, 6]
    }
  ]
}
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.Contact.IsPoliticallyExposedPerson boolean Whether contact is politically exposed.
Applicants.CorporateDetails.Contact.PepDetails string If contact is politically exposed, details must be supplied.
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.CorporateDetails.Signatories.IsPoliticallyExposedPerson boolean
Applicants.CorporateDetails.Signatories.PepDetails string
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.
Applicants.IndividualDetails.IsPoliticallyExposedPerson boolean
Applicants.IndividualDetails.PepDetails string
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 or Joint.
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.Type enum FeeTable = 0, Contribution = 1, Establishment = 2, Termination = 3, Withdrawal = 4, Ongoing = 5. (Use this field if ID is not available)
Accounts.Fees.Rate double Fee rate of account.
Accounts.Fees.Unit string Fee unit of account. (Dollar or Percent)
Accounts.FeeConsent object Account fee consent.
Accounts.FeeConsent.Type enum Ongoing = 1, FixedTerm = 2, NotCharged = 3. For NotCharged only Establishment fee can be provided.
Accounts.FeeConsent.AnniversaryDate date-time Anniversary date of ongoing fee. (Cannot be used along with TermStartDate and TermEndDate)
Accounts.FeeConsent.TermStartDate date-time Start date of fixed term fee. (Cannot be used along with AnniversaryDate)
Accounts.FeeConsent.TermEndDate date-time End date of fixed term fee. (Cannot be used along with AnniversaryDate)
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
Accounts.AdviserServicesProvided array The services provided by the adviser: Review of your account = 1, Strategic superannuation advice = 2, Investment advice on your account = 3 ,Contribution strategy = 4, Insurance in superannuation strategy = 5, Withdrawal advice (lump sum and/or pension) = 6.

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:

Header Examples

x-pps-api-version: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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 SecurityCustomisations

Definition: https://api.praemium.biz/public/api/accounts/customisations

Returns security exclusions and substitutions for SMA Accounts

Header Examples

x-pps-api-version: 2022.03.07
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
UserID: 120395
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
{
  "SecurityExclusions": [
    {
      "CreatedDate": "2019-10-11T11:39:47.303Z",
      "SecurityDescription": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
      "ExchangeDescription": "ASX Listed",
      "SecurityCode": "CBA",
      "ExchangeCode": "ASX"
    },
    {
      "CreatedDate": "2019-10-11T11:39:47.317Z",
      "SecurityDescription": "VANGUARD INTERNATIONAL PRPTY SECS IDXHDG",
      "ExchangeDescription": "Managed Funds",
      "SecurityCode": "VAN0019AU",
      "ExchangeCode": "FND"
    },
    {
      "CreatedDate": "2019-10-11T11:39:47.317Z",
      "SecurityDescription": "APPLE ORD",
      "ExchangeDescription": "NASDAQ",
      "SecurityCode": "AAPL",
      "ExchangeCode": "NSM"
    }
  ]
  "SecuritySubstitutions": [
    {
      "CreatedDate": "2020-10-11T11:39:47.303Z",
      "SecurityCodeFrom": "RIO",
      "ExchangeCodeFrom": "ASX",
      "SecurityCodeTo": "CBA",
      "ExchangeCodeTo": "ASX",
      "SecurityDescriptionFrom": "RIO TINTO LIMITED FPO",
      "ExchangeDescriptionFrom": "ASX Listed",
      "SecurityDescriptionTo": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
      "ExchangeDescriptionTo": "ASX Listed"
    },
    {
      "CreatedDate": "2020-10-11T11:39:47.317Z",
      "SecurityCodeFrom": "VAN0019AU",
      "ExchangeCodeFrom": "FND",
      "SecurityCodeTo": "AAPL",
      "ExchangeCodeTo": "NSM",
      "SecurityDescriptionFrom": "VANGUARD INTERNATIONAL PRPTY SECS IDXHDG",
      "ExchangeDescriptionFrom": "Managed Funds",
      "SecurityDescriptionTo": "APPLE ORD",
      "ExchangeDescriptionTo": "NASDAQ"
    }
  ]
}
Response Parameters
Parameter Type Description
SecurityExclusions array
SecurityExclusions.SecurityDescription string A description of the security.
SecurityExclusions.ExchangeDescription string A description of the exchange.
SecurityExclusions.CreatedDate date-time Date the exclusion was created.
SecurityExclusions.SecurityCode string The security code of the security.
SecurityExclusions.ExchangeCode string The exchange code of the security.
SecuritySubstitutions array
SecuritySubstitutions.SecurityDescriptionFrom string A description of the source security.
SecuritySubstitutions.ExchangeDescriptionFrom string A description of the source exchange.
SecuritySubstitutions.SecurityDescriptionTo string A description of the result security.
SecuritySubstitutions.ExchangeDescriptionTo string A description of the result exchange.
SecuritySubstitutions.CreatedDate date-time Date the substitution was created.
SecuritySubstitutions.SecurityCodeFrom string The security code of the source security.
SecuritySubstitutions.ExchangeCodeFrom string The exchange code of the source security.
SecuritySubstitutions.SecurityCodeTo string The security code of the result security.
SecuritySubstitutions.ExchangeCodeTo string The exchange code of the result security.


PUT SecurityCustomisations

Definition: https://api.praemium.biz/public/api/accounts/customisations

Modify all security exclusions and substitutions for SMA accounts. This endpoint will replace all existing exclusions and substitutions with the request. To delete all substitutions a blank array of SecurityExclusions and/or SecuritySubstitutions can be sent as a body parameter.

Header Examples

x-pps-api-version: 2022.03.07
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"
    }
  ],
  "SecuritySubstitutions": [
    {
      "SecurityCodeFrom": "RIO",
      "ExchangeCodeFrom": "ASX",
      "SecurityCodeTo": "CBA",
      "ExchangeCodeTo": "ASX"
    },
    {
      "SecurityCodeFrom": "VAN0019AU",
      "ExchangeCodeFrom": "FND",
      "SecurityCodeTo": "AAPL",
      "ExchangeCodeTo": "NSM"
    }
  ]
}
Body Parameters
Parameter Type Description
SecurityExclusionsrequired array
SecurityExclusions.SecurityCode string The security code of the security.
SecurityExclusions.ExchangeCode string The exchange code of the security.
SecuritySubstitutionsrequired array
SecuritySubstitutions.SecurityCodeFrom string The security code of the source security.
SecuritySubstitutions.ExchangeCodeFrom string The exchange code of the source security.
SecuritySubstitutions.SecurityCodeTo string The security code of the result security.
SecuritySubstitutions.ExchangeCodeTo string The exchange code of the result security.
AccountIdrequired string
UserId string

Response Examples

# 200 - OK
{
  "SecurityExclusions": [
    {
      "CreatedDate": "2019-10-11T11:39:47.303Z",
      "SecurityDescription": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
      "ExchangeDescription": "ASX Listed",
      "SecurityCode": "CBA",
      "ExchangeCode": "ASX"
    },
    {
      "CreatedDate": "2019-10-11T11:39:47.317Z",
      "SecurityDescription": "VANGUARD INTERNATIONAL PRPTY SECS IDXHDG",
      "ExchangeDescription": "Managed Funds",
      "SecurityCode": "VAN0019AU",
      "ExchangeCode": "FND"
    },
    {
      "CreatedDate": "2019-10-11T11:39:47.317Z",
      "SecurityDescription": "APPLE ORD",
      "ExchangeDescription": "NASDAQ",
      "SecurityCode": "AAPL",
      "ExchangeCode": "NSM"
    }
  ]
  "SecuritySubstitutions": [
    {
      "CreatedDate": "2020-10-11T11:39:47.303Z",
      "SecurityCodeFrom": "RIO",
      "ExchangeCodeFrom": "ASX",
      "SecurityCodeTo": "CBA",
      "ExchangeCodeTo": "ASX",
      "SecurityDescriptionFrom": "RIO TINTO LIMITED FPO",
      "ExchangeDescriptionFrom": "ASX Listed",
      "SecurityDescriptionTo": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
      "ExchangeDescriptionTo": "ASX Listed"
    },
    {
      "CreatedDate": "2020-10-11T11:39:47.317Z",
      "SecurityCodeFrom": "VAN0019AU",
      "ExchangeCodeFrom": "FND",
      "SecurityCodeTo": "AAPL",
      "ExchangeCodeTo": "NSM",
      "SecurityDescriptionFrom": "VANGUARD INTERNATIONAL PRPTY SECS IDXHDG",
      "ExchangeDescriptionFrom": "Managed Funds",
      "SecurityDescriptionTo": "APPLE ORD",
      "ExchangeDescriptionTo": "NASDAQ"
    }
  ]
}
Response Parameters
Parameter Type Description
SecurityExclusions array
SecurityExclusions.SecurityDescription string A description of the security.
SecurityExclusions.ExchangeDescription string A description of the exchange.
SecurityExclusions.CreatedDate date-time Date the exclusion was created.
SecurityExclusions.SecurityCode string The security code of the security.
SecurityExclusions.ExchangeCode string The exchange code of the security.
SecuritySubstitutions array
SecuritySubstitutions.SecurityDescriptionFrom string A description of the source security.
SecuritySubstitutions.ExchangeDescriptionFrom string A description of the source exchange.
SecuritySubstitutions.SecurityDescriptionTo string A description of the result security.
SecuritySubstitutions.ExchangeDescriptionTo string A description of the result exchange.
SecuritySubstitutions.CreatedDate date-time Date the substitution was created.
SecuritySubstitutions.SecurityCodeFrom string The security code of the source security.
SecuritySubstitutions.ExchangeCodeFrom string The exchange code of the source security.
SecuritySubstitutions.SecurityCodeTo string The security code of the result security.
SecuritySubstitutions.ExchangeCodeTo string The exchange code of the result security.


GET SecurityExclusions

Definition: https://api.praemium.biz/public/api/accounts/customisations/exclusions

Returns security exclusions for SMA Accounts

Header Examples

x-pps-api-version: 2022.03.07
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 the 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: 2022.03.07
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 the 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: 2022.03.07
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 the 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: 2022.03.07
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 the 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 SecuritySubstitutions

Definition: https://api.praemium.biz/public/api/accounts/customisations/substitutions

Returns security substitutions for SMA Accounts

Header Examples

x-pps-api-version: 2022.03.07
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
[
  {
    "CreatedDate": "2020-10-11T11:39:47.303Z",
    "SecurityCodeFrom": "RIO",
    "ExchangeCodeFrom": "ASX",
    "SecurityCodeTo": "CBA",
    "ExchangeCodeTo": "ASX",
    "SecurityDescriptionFrom": "RIO TINTO LIMITED FPO",
    "ExchangeDescriptionFrom": "ASX Listed",
    "SecurityDescriptionTo": "COMMONWEALTH BANK OF AUSTRALIA. FPO",
    "ExchangeDescriptionTo": "ASX Listed"
  },
  {
    "CreatedDate": "2020-10-11T11:39:47.317Z",
    "SecurityCodeFrom": "VAN0019AU",
    "ExchangeCodeFrom": "FND",
    "SecurityCodeTo": "AAPL",
    "ExchangeCodeTo": "NSM",
    "SecurityDescription": "VANGUARD INTERNATIONAL PRPTY SECS IDXHDG",
    "ExchangeDescription": "Managed Funds",
    "SecurityDescriptionTo": "APPLE ORD",
    "ExchangeDescriptionTo": "NASDAQ"
  }
]
Response Parameters
Parameter Type Description
SecurityDescriptionFrom string A description of the source security.
ExchangeDescriptionFrom string A description of the source exchange.
SecurityDescriptionTo string A description of the result security.
ExchangeDescriptionTo string A description of the result exchange.
CreatedDate date-time Date the substitution was created.
SecurityCodeFrom string The security code of the source security.
ExchangeCodeFrom string The exchange code of the source security.
SecurityCodeTo string The security code of the result security.
ExchangeCodeTo string The exchange code of the result security.


PUT SecuritySubstitutions

Definition: https://api.praemium.biz/public/api/accounts/customisations/substitutions

Modify security substitutions for SMA accounts. This endpoint will replace all existing substitutions with the request. To delete all substitutions a blank array of SecuritySubstitutions can be sent as a body parameter.

Header Examples

x-pps-api-version: 2022.03.07
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",
  "SecuritySubstitutions": [
    {
      "SecurityCodeFrom": "RIO",
      "ExchangeCodeFrom": "ASX",
      "SecurityCodeTo": "CBA",
      "ExchangeCodeTo": "ASX"
    },
    {
      "SecurityCodeFrom": "VAN0019AU",
      "ExchangeCodeFrom": "FND",
      "SecurityCodeTo": "AAPL",
      "ExchangeCodeTo": "NSM"
    }
  ]
}
Body Parameters
Parameter Type Description
SecuritySubstitutionsrequired array
SecuritySubstitutions.SecurityCodeFrom string The security code of the source security.
SecuritySubstitutions.ExchangeCodeFrom string The exchange code of the source security.
SecuritySubstitutions.SecurityCodeTo string The security code of the result security.
SecuritySubstitutions.ExchangeCodeTo string The exchange code of the result 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 SecuritySubstitutions

Definition: https://api.praemium.biz/public/api/accounts/customisations/substitutions

Add substitutions to SMA accounts. This endpoint can be used if appending the list of substitutions for an SMA account, as it will not replace or delete existing substitutions.

Header Examples

x-pps-api-version: 2022.03.07
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",
  "SecuritySubstitutions": [
    {
      "SecurityCodeFrom": "RIO",
      "ExchangeCodeFrom": "ASX",
      "SecurityCodeTo": "CBA",
      "ExchangeCodeTo": "ASX"
    },
    {
      "SecurityCodeFrom": "VAN0019AU",
      "ExchangeCodeFrom": "FND",
      "SecurityCodeTo": "AAPL",
      "ExchangeCodeTo": "NSM"
    }
  ]
}
Body Parameters
Parameter Type Description
SecuritySubstitutionsrequired array
SecuritySubstitutions.SecurityCodeFrom string The security code of the source security.
SecuritySubstitutions.ExchangeCodeFrom string The exchange code of the source security.
SecuritySubstitutions.SecurityCodeTo string The security code of the result security.
SecuritySubstitutions.ExchangeCodeTo string The exchange code of the result 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 SecuritySubstitutions

Definition: https://api.praemium.biz/public/api/accounts/customisations/substitutions

Delete substitutions for SMA accounts. To delete a single substitution, pass the SecurityCode and ExchangeCode as a Query Parameter. To delete all substitutions, for both securities do not pass the SecurityCode and ExchangeCode as a Query Parameter.

Header Examples

x-pps-api-version: 2022.03.07
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
SecurityCodeFrom: RIO
ExchangeCodeFrom: ASX
SecurityCodeTo: VAN0019AU
ExchangeCodeTo: FND
Query Parameters
Parameter Type Description
SecurityCodeFrom string The security code of the security.
ExchangeCodeFrom string The exchange code of the security.
SecurityCodeTo string The security code of the security.
ExchangeCodeTo string The exchange code of the 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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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), All contributions and rollovers = 8 (Only allowed for SuperSMA accumulation accounts), 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: 2022.03.07
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": 3,
  "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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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 Approximate FUM of the account.


GET ModelPerformance

Definition: https://api.praemium.biz/public/api/models/{id}/performance

Calculates performance for the model.

Header Examples

x-pps-api-version: 2022.03.07
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: 2022.03.07
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: 2022.03.07
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 the 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: 2022.03.07
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 the 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: 2022.03.07
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

{
  "Name": {
    "Title": "Mr",
    "First": "John",
    "Last": "Smith"
  },
  "Gender": 1,
  "Type": 1,
  "UserLevel": 1,
  "Email": "j.smith@example.com",
  "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"
    }
  ],
  "Phone": "0400000000",
  "PhoneAlt": "0498765432",
  "ServiceId": "AU1000",
  "Location": "Melbourne",
  "Team": "AB",
  "JobTitle": "Developer",
  "AdviserId": 123456,
  "GenerateGetStartedToken": true
}
Body Parameters
Parameter Type Description
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 enum 1 = Male, 2 = Female, or null.
Type enum 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 enum 0 = Home, 1 = Office, 2 = Mailing.
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 user's 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": "j.smith@example.com",
  "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
Email 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:

Header Examples

x-pps-api-version: 2022.03.07
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:

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:

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
SAMLResponse 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=******"

Service Provider

GET User Accounts

Definition: https://api.praemium.biz/public/api/serviceprovider/useraccounts

This endpoint returns relationships between users and accounts for SSO.

Header Examples

x-pps-api-version: 2022.03.07
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

AccountIds: AU378902
Query Parameters
Parameter Type Description
AccountIds array A list of account IDs (Max 100 accounts per request). Query string should be like AccountIds=AU378902&AccountIds=AU387198.

Response Examples

[
  {
    "UserEmail": "test@praemium.com.au",
    "UserType": 0,
    "AccountId": "AU378902"
  },
  {
    "UserEmail": "test@praemium.com.au",
    "UserType": 1,
    "AccountId": "AU378902"
  },
  {
    "UserEmail": "test@praemium.com.au",
    "UserType": 1,
    "AccountId": "AU387198"
  }
]
Response Parameters
Parameter Type Description
UserEmail string Email address of the user.
UserType enum Investor = 0, Adviser = 1.
AccountId string AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts)


POST Service Provider SSO Login

Definition: https://api.praemium.biz/public/api/serviceprovider/ssologin

This endpoint allows service provider to SSO log into Praemium applications on behalf of users. If multiple investors are found for same email, SSO login request would be denied and the API will return HTTP code 300 (Multiple Choices).

Header Examples

x-pps-api-version: 2022.03.07
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": "AU123456",
  "UserEmail": "test@praemium.com",
  "Application": "Investor"
}
Body Parameters
Parameter Type Description
Applicationrequired 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.
UserEmailrequired string Email address of the user.
AccountIdrequired string AccountID of the SMA account. (prefixed with ‘AU’ for Australian accounts)

Response Examples

{
  "SsoUrl": "https://login.onpraemium.com/useraccount/sso?token=XXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXX"
}
Response Parameters
Parameter Type Description
SsoUrl string URL containing one-time security token for SSO login.


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.