This API is to query and update Target Market Determinations (TMD) using the Financial Services Council (FSC) Design and Distribution Obligations (DDO) specification.
We have built this API and it's documentation to industry agreed templates and Version 1.1 of the FSC DDO Data Standards. Please be aware that this can change at any point based on the corresponding change in FSC DDO Data Standards. The documentation is generated "on-the-fly" from the current API schema source so any changes to the API will be reflected IMMEDIATELY.
If there are any issues with the rendering of this documentation please contact APIR support.
Thank you for your understanding.
HTTP Authentication Scheme: DIGEST
Transmission of the client's API key is achieved using HTTP-DIGEST authorisation.
You will need to generate an API key to access any of the APIR API endpoints. This needs to be activated on your account and will require contacting APIR client services at clientservices@apir.com.au. Once activated you will have access to the Administration/API Settings menu in your APIR portal. From here you will be able to access the API settings page to (re)generate a new API key. On the page, it is as simple as clicking the GENERATE NEW API KEY button and accepting the APIR Terms & Conditions.
With your shiny new API key in hand, you can generate the HTTP Authorization header using DIGEST authorization. The username is your client ID and the password will be the API key.
For details on how to generate an authorization header for DIGEST authoriation see RFC7616. To test that your client ID and API key are working, we suggest using Postman.
https://www.leiaustralia.com.au/api/tmd/
Update a product TMD
This API will create a new request with APIR to update the TMD and notify ditributors that the TMD has been updated.
TMD DOCUMENT UPLOAD
There are 2 methods for uploading TMD documents to APIR.
- The first and most simple is to specify a publicly accessible URL in the PDFLink field of the TMD record. This URL MUST be publicly accessible and is used to validate TMD data while processing the request. The document will be downloaded after the request is processed and during the validation process to be stored by APIR alongside the TMD information.
- The second method is submitting the document using the PDFLink field as a Data URL Encoded string. APIR supports the filename modifier property if you wish to specify the filename.
CONDITIONAL FIELDS
- consumersOtherRequirements
Fields under consumersOtherRequirements are applicable if only the product type is Managed Account.
Request
POST /api/tmd HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials} Content-Type: application/json { "versionOfDataStandard": "1.4", "dateSent": "2021-09-07", "productIssuerAPIRCode": "ABCX123AU", "entityAFSL": "123456789", "entityABN": "11223491505", "entityName": "TEH Captial", "tmds": [ { "product": { "primaryIdentifierType": "APIR", "APIRCode": "PRD1234AU", "listingExchange": "LE1234", "exchangeCode": "EC5678", "ISINCode": "AU60PRD1234", "issuerCode": "PRD1234AU", "fundManagerName": "string", "fundManagerAFSL": "string", "fundManagerABN": "string", "name": "Awesome Financial Product MAX Lifetime Super Plus", "ARSN": "000000000" }, "superFundName": "string", "superFundABN": "string", "insuranceCoverType": "string", "version": "3", "status": "U", "date": "2025-01-11", "PDFLink": "https:\/\/example.com\/docs\/TMD_PRD1234AU.pdf", "contact": { "name": "Philip Sherman", "title": "Compliance Manager", "phone": "+61-2-8888-0000", "email": "psherman@tehcapital.com.au", "address": "42 Wallaby Way, Sydney, NSW 2000", "company": "TEH Captial" }, "targetMarket": "Free text", "characteristics": { "investmentObjective": { "description": "Free text", "capitalGrowth": "Y", "capitalPreservation": "Y", "capitalGuaranteed": "Y", "incomeDistribution": "Neutral" }, "productUse": { "description": "Free text", "standaloneMoreThan75percent": "Neutral", "majorAllocationUpTo75percent": "Neutral", "coreComponentUpTo50percent": "Neutral", "minorAllocationUpTo25percent": "Y", "satelliteAllocationUpTo10percent": "N", "standaloneMoreThan75Percent": "Neutral", "coreComponent25To75Percent": "N", "satelliteLessThan25Percent": "N" }, "investmentTimeframe": { "description": "Free text", "minimum": "integer", "maximum": "integer", "shortLessThan2Years": "Neutral", "mediumMoreThan2Years": "Y", "longMoreThan8Years": "Neutral" }, "returnObjective": { "description": "Free text", "extremelyHighRiskAndReturn": "Neutral", "veryHighRiskAndReturn": "Neutral", "highRiskAndReturn": "N", "mediumRiskAndReturn": "Neutral", "lowRiskAndReturn": "N" }, "redemptionFrequency": { "description": "Free text", "daily": "Y", "weekly": "Y", "monthly": "Neutral", "3months": "Y", "annuallyOrLonger": "N", "annually": "Neutral", "within5Years": "Neutral", "within10Years": "N", "10YearsOrMore": "Y", "issuersDiscretion": "N", "issuersDiscretionDetails": "string" }, "otherManagedAccounts": { "taxManagementIndicator": "Neutral", "transparentPortfolioHoldingsIndicator": "Neutral", "customiseHoldingOtherHoldingsIndicator": "Neutral", "inspecieTransferOfInvestmentsIndicator": "N" } }, "distributionConditions": { "noDistributionConditions": "boolean", "personalAdviceDistributionOnly": "boolean", "personalAdviceDistributionRationale": "Free text", "specifiedDistributorsChannels": "boolean", "specifiedDistributorsChannelsDetails": [ null ], "specifiedDistributorsChannelsRationale": "Free text", "otherDistributionConditions": "boolean", "otherDistributionConditionsDetails": "Free text", "allDistributionChannelsDistributionConditions": "string", "directRetailCustomers": "boolean", "directRetailCustomersDistributionConditions": "string", "personalAdvice": "boolean", "personalAdviceDistributionConditions": "string", "generalAdvice": "boolean", "generalAdviceDistributionConditions": "string", "generalIntrafund": "boolean", "generalIntrafundDistributionConditions": "string", "roboAdvice": "boolean", "roboAdviceDistributionConditions": "string", "defaultEnrolledViaEmployerSuperOnly": "boolean", "defaultEnrolledViaEmployerSuperOnlyDistributionConditions": "string", "corporateSuperSuperOnly": "boolean", "corporateSuperSuperOnlyDistributionConditions": "string" }, "reviewTriggers": { "reviewTrigger": { "materialChangeFSC": "Free text", "materialDeviationFSC": "Free text", "notPerformedAsDisclosedFSC": "Free text", "significantDealingFSC": "Free text", "highNumberComplaintsFSC": "Free text", "productInterventionPowersFSC": "Free text", "other": [ null ] }, "initialReview": 18, "initialReviewMonths": 18, "initialReviewDate": "2023-07-01", "subsequentReview": 36, "maxSubsequentReviewPeriodMonths": 36, "maxSubsequentReviewPeriodDate": "2023-07-01" }, "reporting": { "instructions": "Free text", "acquisitionOutsideTM": "boolean", "FSCDataStandardTransactionsReporting": "boolean", "alternativeDataStandardForTransactions": "Free text", "frequencyOfReport": "yearly", "FSCDataStandardForComplaints": "boolean", "complaintsAlternativeDataStandard": "Free text", "complaintsReportingFrequency": "yearly", "FSCSignificantDealingGuidance": "boolean", "nonFSCSignificantDealingGuidance": "Free text" }, "appropriateness": "Free text", "customData1": "Free text", "customData2": "Free text", "customData3": "Free text", "customData4": "Free text" } ] }
Responses
200 - Return results of request orders created during update.
application/json
{ "tmds": [ { "productAPIR": "PRD1234AU", "ok": true, "code": "RQN-1234-5678" } ], "footer": { "count": 1, "success": 1, "error": 0 } }
https://www.leiaustralia.com.au/api/tmd/statuses
List available TMD statuses
Lists available TMD statuses for use in online forms.
Request
GET /api/tmd/statuses HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials}
Responses
200 - List of available TMD statuses
application/json
[ { "id": 1, "name": "Current", "code": "A" } ]
default - Unexpected Error
application/json
{ "ok": false, "error": { "str": "Bad Request", "code": 400 } }
https://www.leiaustralia.com.au/api/tmd/{productAPIRCode}
Get TMD data for a product
This is the main endpoint for retrieving TMD records for a product. This endpoint will return the entire TMD data in the FSC data standard format it was submitting in. This means that a TMD submitted in version 1.0 format of the data standard will be returned here in version 1.0 format of the standard. The version of the data standard used is described in the versionOfDataStandard field.
Request
GET /api/tmd/{productAPIRCode} HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials}
Responses
200 - TMD data for a product
application/json
{ "versionOfDataStandard": "1.4", "dateSent": "2021-09-07", "productIssuerAPIRCode": "ABCX123AU", "entityAFSL": "123456789", "entityABN": "11223491505", "entityName": "TEH Captial", "tmds": [ { "product": { "primaryIdentifierType": "APIR", "APIRCode": "PRD1234AU", "listingExchange": "LE1234", "exchangeCode": "EC5678", "ISINCode": "AU60PRD1234", "issuerCode": "PRD1234AU", "fundManagerName": "string", "fundManagerAFSL": "string", "fundManagerABN": "string", "name": "Awesome Financial Product MAX Lifetime Super Plus", "ARSN": "000000000" }, "superFundName": "string", "superFundABN": "string", "insuranceCoverType": "string", "version": "3", "status": "U", "date": "2025-01-11", "PDFLink": "https:\/\/example.com\/docs\/TMD_PRD1234AU.pdf", "contact": { "name": "Philip Sherman", "title": "Compliance Manager", "phone": "+61-2-8888-0000", "email": "psherman@tehcapital.com.au", "address": "42 Wallaby Way, Sydney, NSW 2000", "company": "TEH Captial" }, "targetMarket": "Free text", "characteristics": { "investmentObjective": { "description": "Free text", "capitalGrowth": "Y", "capitalPreservation": "Y", "capitalGuaranteed": "Y", "incomeDistribution": "Neutral" }, "productUse": { "description": "Free text", "standaloneMoreThan75percent": "Neutral", "majorAllocationUpTo75percent": "Neutral", "coreComponentUpTo50percent": "Neutral", "minorAllocationUpTo25percent": "Y", "satelliteAllocationUpTo10percent": "N", "standaloneMoreThan75Percent": "Neutral", "coreComponent25To75Percent": "N", "satelliteLessThan25Percent": "N" }, "investmentTimeframe": { "description": "Free text", "minimum": "integer", "maximum": "integer", "shortLessThan2Years": "Neutral", "mediumMoreThan2Years": "Y", "longMoreThan8Years": "Neutral" }, "returnObjective": { "description": "Free text", "extremelyHighRiskAndReturn": "Neutral", "veryHighRiskAndReturn": "Neutral", "highRiskAndReturn": "N", "mediumRiskAndReturn": "Neutral", "lowRiskAndReturn": "N" }, "redemptionFrequency": { "description": "Free text", "daily": "Y", "weekly": "Y", "monthly": "Neutral", "3months": "Y", "annuallyOrLonger": "N", "annually": "Neutral", "within5Years": "Neutral", "within10Years": "N", "10YearsOrMore": "Y", "issuersDiscretion": "N", "issuersDiscretionDetails": "string" }, "otherManagedAccounts": { "taxManagementIndicator": "Neutral", "transparentPortfolioHoldingsIndicator": "Neutral", "customiseHoldingOtherHoldingsIndicator": "Neutral", "inspecieTransferOfInvestmentsIndicator": "N" } }, "distributionConditions": { "noDistributionConditions": "boolean", "personalAdviceDistributionOnly": "boolean", "personalAdviceDistributionRationale": "Free text", "specifiedDistributorsChannels": "boolean", "specifiedDistributorsChannelsDetails": [ null ], "specifiedDistributorsChannelsRationale": "Free text", "otherDistributionConditions": "boolean", "otherDistributionConditionsDetails": "Free text", "allDistributionChannelsDistributionConditions": "string", "directRetailCustomers": "boolean", "directRetailCustomersDistributionConditions": "string", "personalAdvice": "boolean", "personalAdviceDistributionConditions": "string", "generalAdvice": "boolean", "generalAdviceDistributionConditions": "string", "generalIntrafund": "boolean", "generalIntrafundDistributionConditions": "string", "roboAdvice": "boolean", "roboAdviceDistributionConditions": "string", "defaultEnrolledViaEmployerSuperOnly": "boolean", "defaultEnrolledViaEmployerSuperOnlyDistributionConditions": "string", "corporateSuperSuperOnly": "boolean", "corporateSuperSuperOnlyDistributionConditions": "string" }, "reviewTriggers": { "reviewTrigger": { "materialChangeFSC": "Free text", "materialDeviationFSC": "Free text", "notPerformedAsDisclosedFSC": "Free text", "significantDealingFSC": "Free text", "highNumberComplaintsFSC": "Free text", "productInterventionPowersFSC": "Free text", "other": [ null ] }, "initialReview": 18, "initialReviewMonths": 18, "initialReviewDate": "2023-07-01", "subsequentReview": 36, "maxSubsequentReviewPeriodMonths": 36, "maxSubsequentReviewPeriodDate": "2023-07-01" }, "reporting": { "instructions": "Free text", "acquisitionOutsideTM": "boolean", "FSCDataStandardTransactionsReporting": "boolean", "alternativeDataStandardForTransactions": "Free text", "frequencyOfReport": "yearly", "FSCDataStandardForComplaints": "boolean", "complaintsAlternativeDataStandard": "Free text", "complaintsReportingFrequency": "yearly", "FSCSignificantDealingGuidance": "boolean", "nonFSCSignificantDealingGuidance": "Free text" }, "appropriateness": "Free text", "customData1": "Free text", "customData2": "Free text", "customData3": "Free text", "customData4": "Free text" } ] }
default - Unexpected Error
application/json
{ "ok": false, "error": { "str": "Bad Request", "code": 400 } }
https://www.leiaustralia.com.au/api/tmd/issuers
Get a list of issuers with TMDs
Retrieve a list of all product issuers that currently have current TMDs.
Request
GET /api/tmd/issuers HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials}
Responses
200 - Issuer APIR code and TMD access link
application/json
[ { "apirCode": "ABCX123AU", "url": "https:\/\/apir.com.au\/tmd\/api\/ABCX123AU" } ]
default - Unexpected Error
application/json
{ "ok": false, "error": { "str": "Bad Request", "code": 400 } }
https://www.leiaustralia.com.au/api/tmd/issuer/{participantAPIRCode}
Get all TMDs for a product issuer
This API can be used to retrieve all current TMDs associated with a product issuer. Be away that this API is a data-dump and can result in a large(ish) response.
Request
GET /api/tmd/issuer/{participantAPIRCode} HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials}
Responses
200 - TMD data for all products from an issuer
application/json
{ "versionOfDataStandard": "1.4", "dateSent": "2021-09-07", "productIssuerAPIRCode": "ABCX123AU", "entityAFSL": "123456789", "entityABN": "11223491505", "entityName": "TEH Captial", "tmds": [ { "product": { "primaryIdentifierType": "APIR", "APIRCode": "PRD1234AU", "listingExchange": "LE1234", "exchangeCode": "EC5678", "ISINCode": "AU60PRD1234", "issuerCode": "PRD1234AU", "fundManagerName": "string", "fundManagerAFSL": "string", "fundManagerABN": "string", "name": "Awesome Financial Product MAX Lifetime Super Plus", "ARSN": "000000000" }, "superFundName": "string", "superFundABN": "string", "insuranceCoverType": "string", "version": "3", "status": "U", "date": "2025-01-11", "PDFLink": "https:\/\/example.com\/docs\/TMD_PRD1234AU.pdf", "contact": { "name": "Philip Sherman", "title": "Compliance Manager", "phone": "+61-2-8888-0000", "email": "psherman@tehcapital.com.au", "address": "42 Wallaby Way, Sydney, NSW 2000", "company": "TEH Captial" }, "targetMarket": "Free text", "characteristics": { "investmentObjective": { "description": "Free text", "capitalGrowth": "Y", "capitalPreservation": "Y", "capitalGuaranteed": "Y", "incomeDistribution": "Neutral" }, "productUse": { "description": "Free text", "standaloneMoreThan75percent": "Neutral", "majorAllocationUpTo75percent": "Neutral", "coreComponentUpTo50percent": "Neutral", "minorAllocationUpTo25percent": "Y", "satelliteAllocationUpTo10percent": "N", "standaloneMoreThan75Percent": "Neutral", "coreComponent25To75Percent": "N", "satelliteLessThan25Percent": "N" }, "investmentTimeframe": { "description": "Free text", "minimum": "integer", "maximum": "integer", "shortLessThan2Years": "Neutral", "mediumMoreThan2Years": "Y", "longMoreThan8Years": "Neutral" }, "returnObjective": { "description": "Free text", "extremelyHighRiskAndReturn": "Neutral", "veryHighRiskAndReturn": "Neutral", "highRiskAndReturn": "N", "mediumRiskAndReturn": "Neutral", "lowRiskAndReturn": "N" }, "redemptionFrequency": { "description": "Free text", "daily": "Y", "weekly": "Y", "monthly": "Neutral", "3months": "Y", "annuallyOrLonger": "N", "annually": "Neutral", "within5Years": "Neutral", "within10Years": "N", "10YearsOrMore": "Y", "issuersDiscretion": "N", "issuersDiscretionDetails": "string" }, "otherManagedAccounts": { "taxManagementIndicator": "Neutral", "transparentPortfolioHoldingsIndicator": "Neutral", "customiseHoldingOtherHoldingsIndicator": "Neutral", "inspecieTransferOfInvestmentsIndicator": "N" } }, "distributionConditions": { "noDistributionConditions": "boolean", "personalAdviceDistributionOnly": "boolean", "personalAdviceDistributionRationale": "Free text", "specifiedDistributorsChannels": "boolean", "specifiedDistributorsChannelsDetails": [ null ], "specifiedDistributorsChannelsRationale": "Free text", "otherDistributionConditions": "boolean", "otherDistributionConditionsDetails": "Free text", "allDistributionChannelsDistributionConditions": "string", "directRetailCustomers": "boolean", "directRetailCustomersDistributionConditions": "string", "personalAdvice": "boolean", "personalAdviceDistributionConditions": "string", "generalAdvice": "boolean", "generalAdviceDistributionConditions": "string", "generalIntrafund": "boolean", "generalIntrafundDistributionConditions": "string", "roboAdvice": "boolean", "roboAdviceDistributionConditions": "string", "defaultEnrolledViaEmployerSuperOnly": "boolean", "defaultEnrolledViaEmployerSuperOnlyDistributionConditions": "string", "corporateSuperSuperOnly": "boolean", "corporateSuperSuperOnlyDistributionConditions": "string" }, "reviewTriggers": { "reviewTrigger": { "materialChangeFSC": "Free text", "materialDeviationFSC": "Free text", "notPerformedAsDisclosedFSC": "Free text", "significantDealingFSC": "Free text", "highNumberComplaintsFSC": "Free text", "productInterventionPowersFSC": "Free text", "other": [ null ] }, "initialReview": 18, "initialReviewMonths": 18, "initialReviewDate": "2023-07-01", "subsequentReview": 36, "maxSubsequentReviewPeriodMonths": 36, "maxSubsequentReviewPeriodDate": "2023-07-01" }, "reporting": { "instructions": "Free text", "acquisitionOutsideTM": "boolean", "FSCDataStandardTransactionsReporting": "boolean", "alternativeDataStandardForTransactions": "Free text", "frequencyOfReport": "yearly", "FSCDataStandardForComplaints": "boolean", "complaintsAlternativeDataStandard": "Free text", "complaintsReportingFrequency": "yearly", "FSCSignificantDealingGuidance": "boolean", "nonFSCSignificantDealingGuidance": "Free text" }, "appropriateness": "Free text", "customData1": "Free text", "customData2": "Free text", "customData3": "Free text", "customData4": "Free text" } ] }
default - Unexpected Error
application/json
{ "ok": false, "error": { "str": "Bad Request", "code": 400 } }
https://www.leiaustralia.com.au/api/tmd/{productAPIRCode}/history
Get TMD history for a product
This API will return the history of TMDs updated on the product using the short-form data format.
Request
GET /api/tmd/{productAPIRCode}/history HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials}
Responses
200 - TMD history data for a product
application/json
[ { "apirCode": "PRD0000AU", "status": "Available", "version": "1.0a", "created": "2021-03-01", "issueDate": "2021-03-10", "reviewDate": "2022-03-10", "url": "http:\/\/test.apir.com.au\/api\/tmd\/PRD0000AU" } ]
default - Unexpected Error
application/json
{ "ok": false, "error": { "str": "Bad Request", "code": 400 } }
https://www.leiaustralia.com.au/api/tmd/{productAPIRCode}/info
Get short TMD info for a product
Retrieves the short-form information about a TMD which includes the current TMD version, status and a link to the current TMD document.
Request
GET /api/tmd/{productAPIRCode}/info HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials}
Responses
200 - TMD short-form data for a product
application/json
{ "apirCode": "PRD0000AU", "status": "Available", "version": "1.0a", "created": "2021-03-01", "issueDate": "2021-03-10", "reviewDate": "2022-03-10", "url": "http:\/\/test.apir.com.au\/api\/tmd\/PRD0000AU" }
default - Unexpected Error
application/json
{ "ok": false, "error": { "str": "Bad Request", "code": 400 } }
https://www.leiaustralia.com.au/api/tmd/{productAPIRCode}/document
Get the TMD document for a product
This URL allows access to the current PDF version of the TMD document.
Request
GET /api/tmd/{productAPIRCode}/document HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials}
Responses
200 - TMD document for a product
application/pdf
"The content of the TMD PDF."
404 - Document Not Found
application/json
{ "ok": false, "error": { "str": "Not Found", "code": 404 } }
default - Unexpected Error
application/json
{ "ok": false, "error": { "str": "Bad Request", "code": 400 } }
https://www.leiaustralia.com.au/api/tmd/{productAPIRCode}/document/{date}
Get the TMD document at date
This URL allows access to the PDF version of the TMD document as at a specific date in time. For example, using the current date will return the current TMD document. Or if the document was updated 1 week ago, specifying a date prior to that will return the previous version.
Request
GET /api/tmd/{productAPIRCode}/document/{date} HTTP/1.1 Host: www.leiaustralia.com.au Authorization: Digest {credentials}
Responses
200 - TMD document for a product
application/pdf
"The content of the TMD PDF."
404 - Document Not Found
application/json
{ "ok": false, "error": { "str": "Not Found", "code": 404 } }
default - Unexpected Error
application/json
{ "ok": false, "error": { "str": "Bad Request", "code": 400 } }