{
    "openapi": "3.0.0",
    "info": {
        "version": "1.0.0",
        "title": "APIR Target Market Determinations API",
        "description": "This API is to query and update _Target Market Determinations (TMD)_ using the _Financial Services Council (FSC)_ _Design and Distribution Obligations (DDO)_ specification.\n\nWe 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.\n\nIf there are any issues with the rendering of this documentation please contact APIR support.\n\nThank you for your understanding.",
        "license": {
            "name": "Proprietary"
        },
        "contact": {
            "name": "APIR Support",
            "url": "https://support.apir.com.au/",
            "email": "clientservices@apir.com.au"
        },
        "x-import": [
            {
                "component": "schemas/TMD",
                "formDef": "tmd/update_v2_0",
                "property": "template",
                "replace": true,
                "transform": [
                    {
                        "property": "tmds",
                        "type": "array"
                    }
                ]
            }
        ]
    },
    "servers": [
        {
            "url": "https://www.leiaustralia.com.au/api/tmd",
            "description": "APIR production server"
        }
    ],
    "paths": {
        "/": {
            "post": {
                "summary": "Update a product TMD",
                "description": "This API will create a new request with APIR to update the TMD and notify ditributors that the TMD has been updated.\n\n <div class=\"alert alert-warning\"><b>NOTE:</b> A TMD document in PDF format <b>MUST</b> be supplied when submitting a TMD update via the API.</div>\n\n<b>TMD DOCUMENT UPLOAD</b>\n\nThere are 2 methods for uploading TMD documents to APIR.  <ul><li>The first and most simple is to specify a publicly accessible URL in the <em>PDFLink</em> field of the TMD record.  This URL <b>MUST</b> 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.</li><li>The second method is submitting the document using the <em>PDFLink</em> field as a <a target=\"_blank\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\">Data URL Encoded</a> string.  APIR supports the <em>filename</em> modifier property if you wish to specify the filename.</li></ul>\n\n<b>CONDITIONAL FIELDS</b> <ul><li><b>consumersOtherRequirements</b> <p>Fields under consumersOtherRequirements are applicable if only the product type is Managed Account.</p></li></ul>",
                "operationId": "apiTMDUpdateTMD",
                "responses": {
                    "200": {
                        "description": "Return results of request orders created during update.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/requestReport"
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/TMD"
                            }
                        }
                    }
                }
            }
        },
        "/statuses": {
            "get": {
                "summary": "List available TMD statuses",
                "description": "Lists available TMD statuses for use in online forms.",
                "operationId": "apiTMDGetStatuses",
                "responses": {
                    "200": {
                        "description": "List of available TMD statuses",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TMDStatuses"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/{productAPIRCode}": {
            "get": {
                "summary": "Get TMD data for a product",
                "description": "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 <em>versionOfDataStandard</em> field.",
                "responses": {
                    "200": {
                        "description": "TMD data for a product",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TMD"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "name": "productAPIRCode",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ]
        },
        "/issuers": {
            "get": {
                "summary": "Get a list of issuers with TMDs",
                "description": "Retrieve a list of all product issuers that currently have current TMDs.",
                "responses": {
                    "200": {
                        "description": "Issuer APIR code and TMD access link",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TMDIssuers"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "name": "participantAPIRCode",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ]
        },
        "/issuer/{participantAPIRCode}": {
            "get": {
                "summary": "Get all TMDs for a product issuer",
                "description": "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.",
                "responses": {
                    "200": {
                        "description": "TMD data for all products from an issuer",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TMD"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "name": "participantAPIRCode",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ]
        },
        "/{productAPIRCode}/history": {
            "get": {
                "summary": "Get TMD history for a product",
                "description": "This API will return the history of TMDs updated on the product using the short-form data format.",
                "responses": {
                    "200": {
                        "description": "TMD history data for a product",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TMDHistory"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "name": "productAPIRCode",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ]
        },
        "/{productAPIRCode}/info": {
            "get": {
                "summary": "Get short TMD info for a product",
                "description": "Retrieves the short-form information about a TMD which includes the current TMD version, status and a link to the current TMD document.",
                "responses": {
                    "200": {
                        "description": "TMD short-form data for a product",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TMDInfo"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "name": "productAPIRCode",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ]
        },
        "/{productAPIRCode}/document": {
            "get": {
                "summary": "Get the TMD document for a product",
                "description": "This URL allows access to the current PDF version of the TMD document.",
                "responses": {
                    "200": {
                        "description": "TMD document for a product",
                        "content": {
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "example": "The content of the TMD PDF."
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Document Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error404"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "name": "productAPIRCode",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ]
        },
        "/{productAPIRCode}/document/{date}": {
            "get": {
                "summary": "Get the TMD document at date",
                "description": "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.",
                "responses": {
                    "200": {
                        "description": "TMD document for a product",
                        "content": {
                            "application/pdf": {
                                "schema": {
                                    "type": "string",
                                    "example": "The content of the TMD PDF."
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Document Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error404"
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Unexpected Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/error"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "name": "productAPIRCode",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                },
                {
                    "name": "date",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": "string"
                    }
                }
            ]
        }
    },
    "components": {
        "requestBodies": {
            "TMD": {
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/requestBodies/TMD"
                        }
                    }
                }
            }
        },
        "responses": {
            "TMD": {
                "$ref": "#/components/schemas/TMD"
            }
        },
        "schemas": {
            "requestReport": {
                "type": "object",
                "properties": {
                    "tmds": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "productAPIR": {
                                    "type": "string",
                                    "example": "PRD1234AU"
                                },
                                "ok": {
                                    "type": "boolean",
                                    "example": true
                                },
                                "code": {
                                    "type": "string",
                                    "example": "RQN-1234-5678"
                                }
                            }
                        }
                    },
                    "footer": {
                        "type": "object",
                        "properties": {
                            "count": {
                                "type": "integer",
                                "example": 1
                            },
                            "success": {
                                "type": "integer",
                                "example": 1
                            },
                            "error": {
                                "type": "integer",
                                "example": 0
                            }
                        }
                    }
                }
            },
            "TMDStatuses": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "integer",
                            "example": 1
                        },
                        "name": {
                            "type": "string",
                            "example": "Current"
                        },
                        "code": {
                            "type": "string",
                            "example": "A"
                        }
                    }
                }
            },
            "TMDIssuers": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "apirCode": {
                            "type": "string",
                            "title": "Issuer APIR Code",
                            "example": "ABCX123AU"
                        },
                        "url": {
                            "type": "string",
                            "title": "TMD Access URL",
                            "description": "Use this link to obtain a list of TMDs from this issuer",
                            "example": "https://apir.com.au/tmd/api/ABCX123AU"
                        }
                    }
                }
            },
            "TMD": {
                "type": "object",
                "properties": {
                    "versionOfDataStandard": {
                        "type": "string",
                        "title": "Version of Data Standard",
                        "description": "Version number of data standard. Can be non-integer. Major versions should increment by 1. Minor changes (backwards compatible) can increment by less than 1. (eg 2.1, 2.2, 2.3).",
                        "example": "2.0"
                    },
                    "dateSent": {
                        "type": "string",
                        "title": "Date Sent",
                        "description": "Date that this report was sent.",
                        "example": "2021-09-07"
                    },
                    "productIssuerAPIRCode": {
                        "type": "string",
                        "title": "Participant APIR Code",
                        "example": "ABCX123AU"
                    },
                    "entityAFSL": {
                        "type": "string",
                        "title": "AFSL",
                        "example": "123456789"
                    },
                    "entityABN": {
                        "type": "string",
                        "title": "ABN",
                        "example": "11223491505"
                    },
                    "entityName": {
                        "type": "string",
                        "title": "Name",
                        "example": "TEH Captial"
                    },
                    "tmds": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "product": {
                                    "type": "object",
                                    "properties": {
                                        "primaryIdentifierType": {
                                            "type": "string",
                                            "description": "Which of the following types of IDs has been determined to be the primary ID of the product. The primary ID is used in the rest of the standard to identify the product uniquely.",
                                            "example": "APIR"
                                        },
                                        "APIRCode": {
                                            "type": "string",
                                            "title": "Product APIR Code",
                                            "description": "The product's APIR code. Must include if available.",
                                            "example": "PRD1234AU"
                                        },
                                        "listingExchange": {
                                            "type": "string",
                                            "description": "Code of exchange the product is listed on, using ISO Market Identifier Code (MIC). Must include if product is listed.  If a product is listed in Australia and another country, prefer the Australian listing.",
                                            "example": "LE1234"
                                        },
                                        "exchangeCode": {
                                            "type": "string",
                                            "description": "The product's exchange code (for listed products). Must include if \u201clisting exchange\u201d is completed.",
                                            "example": "EC5678"
                                        },
                                        "ISINCode": {
                                            "type": "string",
                                            "title": "ISIN",
                                            "description": "The product's ISIN code. Must include if available.",
                                            "example": "AU60PRD1234"
                                        },
                                        "issuerCode": {
                                            "type": "string",
                                            "description": "Issuer determined product code \u2013 should be the type of last resort.  Don't reuse industry wide codes in this field.  (platforms, insurance products).",
                                            "example": "PRD1234AU"
                                        },
                                        "fundManagerName": {
                                            "type": "string",
                                            "title": "Fund Manager Name",
                                            "description": "Name of fund manager. Optional - only use where different from issuer."
                                        },
                                        "fundManagerAFSL": {
                                            "type": "string",
                                            "title": "Fund Manager AFSL",
                                            "description": "The AFSL of the fund manager. Optional - only use where different from issuer."
                                        },
                                        "fundManagerABN": {
                                            "type": "string",
                                            "title": "Fund Manager ABN",
                                            "description": "The ABN of the fund manager. Optional - only use where different from issuer."
                                        },
                                        "name": {
                                            "type": "string",
                                            "title": "Product Name",
                                            "description": "Financial instrument (Product) name. Note name is subject to change over time \u2013 not for machine analysis.",
                                            "example": "Awesome Financial Product MAX Lifetime Super Plus"
                                        },
                                        "ARSN": {
                                            "type": "string",
                                            "title": "ARSN",
                                            "description": "Product ARSN. Must include if available.  Do not use this field as primary product identifier.",
                                            "example": "000000000"
                                        }
                                    },
                                    "required": [
                                        "APIRCode"
                                    ],
                                    "title": "Product Identifier"
                                },
                                "superFundName": {
                                    "type": "string",
                                    "title": "Super Fund Name"
                                },
                                "superFundABN": {
                                    "type": "string",
                                    "title": "Super Fund ABN"
                                },
                                "insuranceCoverType": {
                                    "type": "string",
                                    "title": "Insurance Cover Type"
                                },
                                "version": {
                                    "type": "integer",
                                    "title": "Version Number",
                                    "description": "Version number of the TMD",
                                    "example": "3"
                                },
                                "status": {
                                    "type": "string",
                                    "title": "Status",
                                    "description": "The status of the product which indicates whether it should be distributed. A status of cease distribution will be a signal to distributor to stop retail distribution (unless the distribution is excluded dealing).",
                                    "enum": [
                                        "A",
                                        "C",
                                        "U"
                                    ],
                                    "example": "A"
                                },
                                "date": {
                                    "type": "string",
                                    "title": "Date TMD approved",
                                    "description": "Date that this TMD version issued or made.",
                                    "example": "2026-05-25"
                                },
                                "PDFLink": {
                                    "type": "string",
                                    "title": "URL link to location of PDF version of the TMD",
                                    "example": "https://example.com/docs/TMD_PRD1234AU.pdf"
                                },
                                "contact": {
                                    "type": "object",
                                    "properties": {
                                        "name": {
                                            "type": "string",
                                            "title": "Name",
                                            "description": "Contact details for this record - name.",
                                            "example": "Philip Sherman"
                                        },
                                        "title": {
                                            "type": "string",
                                            "title": "Title",
                                            "description": "Contact position title (eg Senior Product Manager; Compliance Manager).",
                                            "example": "Compliance Manager"
                                        },
                                        "phone": {
                                            "type": "string",
                                            "title": "Phone",
                                            "description": "Phone for contact person.",
                                            "example": "+61-2-8888-0000"
                                        },
                                        "email": {
                                            "type": "string",
                                            "title": "Email",
                                            "description": "Email for contact person.",
                                            "example": "psherman@tehcapital.com.au"
                                        },
                                        "address": {
                                            "type": "string",
                                            "title": "Address",
                                            "description": "Address for contact person.",
                                            "example": "42 Wallaby Way, Sydney, NSW 2000"
                                        },
                                        "company": {
                                            "type": "string",
                                            "title": "Company",
                                            "description": "The name of the company that this contact represents.",
                                            "example": "TEH Captial"
                                        }
                                    },
                                    "title": "Contact Details"
                                },
                                "targetMarket": {
                                    "type": "string",
                                    "title": "Description of Target Market",
                                    "description": "Summary of target market as per TMD.",
                                    "example": "Free text"
                                },
                                "characteristics": {
                                    "type": "object",
                                    "properties": {
                                        "investmentObjective": {
                                            "type": "object",
                                            "properties": {
                                                "description": {
                                                    "type": "string",
                                                    "title": "1.01. Investment Objective Description - product description including key attributes",
                                                    "description": "A description of the investment objective of the product, including growth/defensive split.",
                                                    "example": "Free text"
                                                },
                                                "capitalGrowth": {
                                                    "type": "string",
                                                    "title": "1.02. Capital Growth",
                                                    "description": "Do the product investment objectives align with those of an investor seeking Capital Growth.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                },
                                                "capitalPreservation": {
                                                    "type": "string",
                                                    "title": "1.03. Capital Preservation",
                                                    "description": "Do the product investment objectives align with those of an investor seeking Capital Preservation.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "capitalGuaranteed": {
                                                    "type": "string",
                                                    "title": "1.04. Capital Guaranteed",
                                                    "description": "Do the product investment objectives align with those of an investor seeking Capital Guaranteed.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                },
                                                "incomeDistribution": {
                                                    "type": "string",
                                                    "title": "1.05. Income Distribution",
                                                    "description": "Do the product investment objectives align with those of an investor seeking Income Distribution?",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                }
                                            },
                                            "title": "1. Consumer's Investment Objective"
                                        },
                                        "productUse": {
                                            "type": "object",
                                            "properties": {
                                                "description": {
                                                    "type": "string",
                                                    "title": "2.01. Product Use Description - product description including key attributes",
                                                    "description": "A description of the investment objective of the product, including asset allocation and diversification information.",
                                                    "example": "Free text"
                                                },
                                                "standaloneMoreThan75percent": {
                                                    "type": "string",
                                                    "title": "2.02. Standalone more than 75%",
                                                    "description": "Is the product intended to be used as a Solution / Standalone product (up to 100% of portfolio).",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                },
                                                "majorAllocationUpTo75percent": {
                                                    "type": "string",
                                                    "title": "2.03. Major Allocation up to 75%",
                                                    "description": "Is the product intended to be used as a major allocation of a portfolio  (up to 75% of a portfolio).",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "coreComponentUpTo50percent": {
                                                    "type": "string",
                                                    "title": "2.04. Core Component up to 50%",
                                                    "description": "Is the product intended to be used as a core component of a portfolio  (up to 50% of a portfolio).",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                },
                                                "minorAllocationUpTo25percent": {
                                                    "type": "string",
                                                    "title": "2.05. Minor Allocation up to 25%",
                                                    "description": "Is the product intended to be used as a minor allocation a portfolio  (up to 25% of a portfolio).",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                },
                                                "satelliteAllocationUpTo10percent": {
                                                    "type": "string",
                                                    "title": "2.06. Satellite Allocation up to 10%",
                                                    "description": "Is the product intended to be used as a satellite allocation a portfolio  (up to 10% of a portfolio).",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "standaloneMoreThan75Percent": {
                                                    "type": "string",
                                                    "title": "2.02. Solution / Standalone (75% - 100%)",
                                                    "description": "Is the product intended to be used as a Solution / Standalone product.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                },
                                                "coreComponent25To75Percent": {
                                                    "type": "string",
                                                    "title": "2.07. Core Component (25% -75%)",
                                                    "description": "Is the product intended to be used as a core component of a portfolio.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "satelliteLessThan25Percent": {
                                                    "type": "string",
                                                    "title": "2.08. Satellite less than 25%",
                                                    "description": "Is the product intended to be used as a Satellite component of a portfolio.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                }
                                            },
                                            "title": "2. Consumer's Intended Product Use"
                                        },
                                        "investmentTimeframe": {
                                            "type": "object",
                                            "properties": {
                                                "description": {
                                                    "type": "string",
                                                    "title": "3.01. Investment Timeframe Description - product description including key attributes",
                                                    "description": "A description of the minimum suggested timeframe for holding the product.",
                                                    "example": "Free text"
                                                },
                                                "minimum": {
                                                    "type": "integer",
                                                    "title": "3.02. Minimum",
                                                    "description": "The minimum investment timeframe for the product in years."
                                                },
                                                "maximum": {
                                                    "type": "integer",
                                                    "title": "3.03. Maximum",
                                                    "description": "The maximum investment timeframe for the product in years."
                                                },
                                                "shortLessThan2Years": {
                                                    "type": "string",
                                                    "title": "3.04. Short (< 2 years)",
                                                    "description": "Is it appropriate for investors to hold the product for 0-2 years before selling.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "mediumMoreThan2Years": {
                                                    "type": "string",
                                                    "title": "3.05. Medium (> 2 years)",
                                                    "description": "Is it appropriate for investors to hold the product for 2-6 years before selling.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "longMoreThan8Years": {
                                                    "type": "string",
                                                    "title": "3.06. Long (> 8 years)",
                                                    "description": "Is it appropriate for investors to hold the product for more than 8 years before selling.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                }
                                            },
                                            "title": "3. Consumer's Investment Timeframe"
                                        },
                                        "returnObjective": {
                                            "type": "object",
                                            "properties": {
                                                "description": {
                                                    "type": "string",
                                                    "title": "4.01. Risk and Return description - product description including key attributes",
                                                    "description": "A description of the product risk and return metrics, include risk band and the return hurdle rate.",
                                                    "example": "Free text"
                                                },
                                                "extremelyHighRiskAndReturn": {
                                                    "type": "string",
                                                    "title": "4.02. Extremely High",
                                                    "description": "Does the product have extremely high risk and return attributes.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                },
                                                "veryHighRiskAndReturn": {
                                                    "type": "string",
                                                    "title": "4.03. Very High",
                                                    "description": "Does the product have very high risk and return attributes.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                },
                                                "highRiskAndReturn": {
                                                    "type": "string",
                                                    "title": "4.04. High",
                                                    "description": "Does the product have high risk and return attributes.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                },
                                                "mediumRiskAndReturn": {
                                                    "type": "string",
                                                    "title": "4.05. Medium",
                                                    "description": "Does the product have medium risk and return attributes.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                },
                                                "lowRiskAndReturn": {
                                                    "type": "string",
                                                    "title": "4.06. Low",
                                                    "description": "Does the product have low risk and return attributes.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                }
                                            },
                                            "title": "4. Consumer's Risk (ability to bear loss) and Return Profile"
                                        },
                                        "redemptionFrequency": {
                                            "type": "object",
                                            "properties": {
                                                "description": {
                                                    "type": "string",
                                                    "title": "5.01. Need to withdraw money description - product description including key attributes",
                                                    "description": "A description of the intended frequency and mechanism for which investors redeem interests in the product.",
                                                    "example": "Free text"
                                                },
                                                "daily": {
                                                    "type": "string",
                                                    "title": "5.02. Daily",
                                                    "description": "Product suitable for investors that redeem interests daily.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "weekly": {
                                                    "type": "string",
                                                    "title": "5.03. Weekly",
                                                    "description": "Product suitable for investors that need to access capital weekly.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "monthly": {
                                                    "type": "string",
                                                    "title": "5.04. Monthly",
                                                    "description": "Product suitable for investors that need to access capital monthly.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "3months": {
                                                    "type": "string",
                                                    "title": "5.05. 3 Months",
                                                    "description": "Product suitable for investors that need to access capital within three months.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "annuallyOrLonger": {
                                                    "type": "string",
                                                    "title": "5.06. Annually or Longer",
                                                    "description": "Product suitable for investors that redeem interests annually or longer.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                },
                                                "annually": {
                                                    "type": "string",
                                                    "title": "5.07. Annually",
                                                    "description": "Product suitable for investors that need to access capital annually.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                },
                                                "within5Years": {
                                                    "type": "string",
                                                    "title": "5.08. Within 5 Years",
                                                    "description": "Product suitable for investors that need to access capital within 5 years.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "within10Years": {
                                                    "type": "string",
                                                    "title": "5.09. Within 10 Years",
                                                    "description": "Product suitable for investors that need to access capital within 10 years.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "10YearsOrMore": {
                                                    "type": "string",
                                                    "title": "5.10. 10 Years or more",
                                                    "description": "Product suitable for investors that need to access capital in a period longer than 10 years.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                },
                                                "issuersDiscretion": {
                                                    "type": "string",
                                                    "title": "5.11. Issuers Discretion",
                                                    "description": "Product suitable for investors that can access capital at issuer discretion.",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                },
                                                "issuersDiscretionDetails": {
                                                    "type": "string",
                                                    "title": "5.12. Issuers Discretion Details",
                                                    "description": "State details of issuers redemption discretion."
                                                }
                                            },
                                            "title": "5. Customer's Need to Withdraw Money"
                                        },
                                        "otherManagedAccounts": {
                                            "type": "object",
                                            "properties": {
                                                "taxManagementIndicator": {
                                                    "type": "string",
                                                    "title": "6.01. Individual tax management of investments - product description including key attributes",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Neutral"
                                                },
                                                "transparentPortfolioHoldingsIndicator": {
                                                    "type": "string",
                                                    "title": "6.02. Visibility / transparency of portfolio holdings",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                },
                                                "customiseHoldingOtherHoldingsIndicator": {
                                                    "type": "string",
                                                    "title": "6.03. Ability to customise portfolio or accommodate other holdings",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "Y"
                                                },
                                                "inspecieTransferOfInvestmentsIndicator": {
                                                    "type": "string",
                                                    "title": "6.04. Ability to include in specie transfer of existing investments",
                                                    "enum": [
                                                        "Y",
                                                        "Neutral",
                                                        "N"
                                                    ],
                                                    "example": "N"
                                                }
                                            },
                                            "title": "6. Other Managed Accounts"
                                        }
                                    },
                                    "title": "TMD Characteristics"
                                },
                                "distributionConditions": {
                                    "type": "object",
                                    "properties": {
                                        "noDistributionConditions": {
                                            "type": "boolean",
                                            "title": "No distribution conditions",
                                            "description": "Confirm if there are no distribution conditions - note ASIC has indicated that they believe distribution conditions are mandatory."
                                        },
                                        "personalAdviceDistributionOnly": {
                                            "type": "boolean",
                                            "title": "Personal advice distribution only",
                                            "description": "Only suitable for distribution through dealing if distributor is reasonably satisfied that consumers have received personal advice? Y = distribution only permitted to those who have received personal advice."
                                        },
                                        "personalAdviceDistributionRationale": {
                                            "type": "string",
                                            "title": "Personal advice distribution rationale",
                                            "description": "Only suitable for distribution to consumers who have received personal advice \u2013 set out rationale.",
                                            "example": "Free text"
                                        },
                                        "specifiedDistributorsChannels": {
                                            "type": "boolean",
                                            "title": "Specified distributors/channels only",
                                            "description": "Only suitable for distribution through specified distributors / specified channels - Confirm"
                                        },
                                        "specifiedDistributorsChannelsDetails": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "title": "Specified distributors/channels details",
                                            "description": " If only suitable for distribution through specified distributors / specified channels, insert distributor name (including unique ID) or channel name.",
                                            "example": [
                                                "Free text"
                                            ]
                                        },
                                        "specifiedDistributorsChannelsRationale": {
                                            "type": "string",
                                            "title": "Specified distributors/channels rationale",
                                            "description": "Only suitable for distribution through specified distributors / specified channels \u2013 set out rationale.",
                                            "example": "Free text"
                                        },
                                        "otherDistributionConditions": {
                                            "type": "boolean",
                                            "title": "Other distribution conditions",
                                            "description": "Are there any other distribution conditions (ie sale via use of call script only)."
                                        },
                                        "otherDistributionConditionsDetails": {
                                            "type": "string",
                                            "title": "Other distribution conditions details",
                                            "description": "Specify and describe any other distribution conditions.",
                                            "example": "Free text"
                                        },
                                        "allDistributionChannelsDistributionConditions": {
                                            "type": "string",
                                            "title": "All Distribution Channels Distribution Conditions",
                                            "description": "Description of distribution conditions for that specific channel"
                                        },
                                        "directRetailCustomers": {
                                            "type": "boolean",
                                            "title": "Direct Retail Customers"
                                        },
                                        "directRetailCustomersDistributionConditions": {
                                            "type": "string",
                                            "title": "Direct Retail Customers Distribution Conditions",
                                            "description": "Description of distribution conditions for that specific channel"
                                        },
                                        "personalAdvice": {
                                            "type": "boolean",
                                            "title": "Personal Advice"
                                        },
                                        "personalAdviceDistributionConditions": {
                                            "type": "string",
                                            "title": "Personal Advice Distribution Conditions",
                                            "description": "Description of distribution conditions for that specific channel"
                                        },
                                        "generalAdvice": {
                                            "type": "boolean",
                                            "title": "General Advice"
                                        },
                                        "generalAdviceDistributionConditions": {
                                            "type": "string",
                                            "title": "General Advice Distribution Conditions",
                                            "description": "Description of distribution conditions for that specific channel"
                                        },
                                        "generalIntrafund": {
                                            "type": "boolean",
                                            "title": "General Intrafund"
                                        },
                                        "generalIntrafundDistributionConditions": {
                                            "type": "string",
                                            "title": "General Intrafund Distribution Conditions",
                                            "description": "Description of distribution conditions for that specific channel"
                                        },
                                        "roboAdvice": {
                                            "type": "boolean",
                                            "title": "Robo Advice"
                                        },
                                        "roboAdviceDistributionConditions": {
                                            "type": "string",
                                            "title": "Robo Advice Distribution Conditions",
                                            "description": "Description of distribution conditions for that specific channel"
                                        },
                                        "defaultEnrolledViaEmployerSuperOnly": {
                                            "type": "boolean",
                                            "title": "Default Enrolled via Employer Super only"
                                        },
                                        "defaultEnrolledViaEmployerSuperOnlyDistributionConditions": {
                                            "type": "string",
                                            "title": "Default Enrolled via Employer Super only Distribution Conditions",
                                            "description": "Description of distribution conditions for that specific channel"
                                        },
                                        "corporateSuperSuperOnly": {
                                            "type": "boolean",
                                            "title": "Corporate Super Super only"
                                        },
                                        "corporateSuperSuperOnlyDistributionConditions": {
                                            "type": "string",
                                            "title": "Corporate Super Super only Distribution Conditions",
                                            "description": "Description of distribution conditions for that specific channel"
                                        }
                                    },
                                    "title": "Distribution Conditions"
                                },
                                "reviewTriggers": {
                                    "type": "object",
                                    "properties": {
                                        "reviewTrigger": {
                                            "type": "object",
                                            "properties": {
                                                "materialChangeFSC": {
                                                    "type": "string",
                                                    "title": "Material Change FSC",
                                                    "description": "Material change to key attributes, fund investment objective and/or fees",
                                                    "example": "Free text"
                                                },
                                                "materialDeviationFSC": {
                                                    "type": "string",
                                                    "title": "Material Deviation FSC",
                                                    "description": "Material deviation from benchmark / objective over sustained period",
                                                    "example": "Free text"
                                                },
                                                "notPerformedAsDisclosedFSC": {
                                                    "type": "string",
                                                    "title": "Not Performed as Disclosed FSC",
                                                    "description": "Key attributes have not performed as disclosed by a material degree and for a material period",
                                                    "example": "Free text"
                                                },
                                                "significantDealingFSC": {
                                                    "type": "string",
                                                    "title": "Significant Dealing FSC",
                                                    "description": "Determination by the issuer of an ASIC reportable Significant Dealing",
                                                    "example": "Free text"
                                                },
                                                "highNumberComplaintsFSC": {
                                                    "type": "string",
                                                    "title": "High Number Complaints FSC",
                                                    "description": "Material or unexpectedly high number of complaints (as defined in section 994A(1) of the Act) about the product or distribution of the product",
                                                    "example": "Free text"
                                                },
                                                "productInterventionPowersFSC": {
                                                    "type": "string",
                                                    "title": "Product Intervention Powers FSC",
                                                    "description": "The use of Product Intervention Powers, regulator orders or directions that affects the product",
                                                    "example": "Free text"
                                                },
                                                "other": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    },
                                                    "title": "Other Review Triggers",
                                                    "description": "Include all other review triggers",
                                                    "example": [
                                                        "Free text"
                                                    ]
                                                }
                                            }
                                        },
                                        "initialReview": {
                                            "type": "integer",
                                            "title": "Initial Review (no. of months)",
                                            "description": "For example 15 equals 15 months. This represents a review that is 15 months after TMD Date",
                                            "example": 18
                                        },
                                        "initialReviewMonths": {
                                            "type": "integer",
                                            "title": "Initial Review Months",
                                            "description": "Initial reivew if specified in X months. For example '15 months'. Therefore 15 months after \"TMD Date\". Do not use after initial review or if \"initial review date\" field is used.",
                                            "example": 18
                                        },
                                        "initialReviewDate": {
                                            "type": "string",
                                            "title": "Initial Review Date",
                                            "description": "Initial reivew if specified in as a specific date eg \"1 July 20XX\". Do not use after initial review or if \"intitial review months\" field is used.",
                                            "example": "2023-07-01"
                                        },
                                        "subsequentReview": {
                                            "type": "integer",
                                            "title": "Maximum subsequent review period (no. of months)",
                                            "description": "For example 39 means 39 months. e.g. 3 years plus 3 months after previous review",
                                            "example": 36
                                        },
                                        "maxSubsequentReviewPeriodMonths": {
                                            "type": "integer",
                                            "title": "Maximum Subsequent Review Period Months",
                                            "description": "Initial reivew if specified in X months. For example '15 months'\u2019'. Therefore 15 months after \"TMD Date\".",
                                            "example": 36
                                        },
                                        "maxSubsequentReviewPeriodDate": {
                                            "type": "string",
                                            "title": "Maximum Subsequent Review Period Date",
                                            "description": "Initial reivew if specified in as a specific date eg \"1 July 20XX\".",
                                            "example": "2023-07-01"
                                        }
                                    },
                                    "title": "Review Triggers"
                                },
                                "reporting": {
                                    "type": "object",
                                    "properties": {
                                        "instructions": {
                                            "type": "string",
                                            "title": "Reporting Instructions",
                                            "description": "Instructions to distributors on how to report to issuers. Exact copy from TMD",
                                            "example": "Free text"
                                        },
                                        "acquisitionOutsideTM": {
                                            "type": "boolean",
                                            "title": "Acquisition outside TM",
                                            "description": "Does issuer require reporting on transactions outside TMD that the Distributor is aware of?"
                                        },
                                        "FSCDataStandardTransactionsReporting": {
                                            "type": "boolean",
                                            "title": "FSC data standard for transactions?",
                                            "description": "Should report follow FSC DDO data standard for transactions?"
                                        },
                                        "alternativeDataStandardForTransactions": {
                                            "type": "string",
                                            "title": "Link to alternative data standard if used",
                                            "example": "Free text"
                                        },
                                        "frequencyOfReport": {
                                            "type": "string",
                                            "title": "Frequency of Report",
                                            "description": "Required frequency of report by distributors on dealings outside target market.",
                                            "enum": [
                                                "monthly",
                                                "quarterly",
                                                "half yearly",
                                                "yearly"
                                            ],
                                            "example": "quarterly"
                                        },
                                        "FSCDataStandardForComplaints": {
                                            "type": "boolean",
                                            "title": "FSC data standard for complaints?",
                                            "description": "Is complaints reporting required to use FSC complaints standard?"
                                        },
                                        "complaintsAlternativeDataStandard": {
                                            "type": "string",
                                            "title": "Alternative data standard",
                                            "description": "link to alternative data standard.",
                                            "example": "Free text"
                                        },
                                        "complaintsReportingFrequency": {
                                            "type": "string",
                                            "title": "Complaints reporting frequency",
                                            "enum": [
                                                "monthly",
                                                "quarterly",
                                                "half yearly",
                                                "yearly"
                                            ],
                                            "example": "monthly"
                                        },
                                        "FSCSignificantDealingGuidance": {
                                            "type": "boolean",
                                            "title": "Significant dealing distributor guidance",
                                            "description": "As per statutory obligations s994F(6)."
                                        },
                                        "nonFSCSignificantDealingGuidance": {
                                            "type": "string",
                                            "title": "Non FSC Significant dealing distributor guidance",
                                            "example": "Free text"
                                        }
                                    },
                                    "title": "Distributor Reporting Requirements"
                                },
                                "appropriateness": {
                                    "type": "string",
                                    "title": "Appropriateness",
                                    "description": "Explanation how issuer considers TMD performs against appropriateness test as required by ASIC RG.",
                                    "example": "Free text"
                                },
                                "customData1": {
                                    "type": "string",
                                    "title": "Custom Data 1",
                                    "description": "Additional data used to define the target market not included above",
                                    "example": "Free text"
                                },
                                "customData2": {
                                    "type": "string",
                                    "title": "Custom Data 2",
                                    "description": "Additional data used to define the target market not included above",
                                    "example": "Free text"
                                },
                                "customData3": {
                                    "type": "string",
                                    "title": "Custom Data 3",
                                    "description": "Additional data used to define the target market not included above",
                                    "example": "Free text"
                                },
                                "customData4": {
                                    "type": "string",
                                    "title": "Custom Data 4",
                                    "description": "Additional data used to define the target market not included above",
                                    "example": "Free text"
                                }
                            },
                            "required": [
                                "version",
                                "status",
                                "date"
                            ]
                        }
                    }
                },
                "required": [
                    "versionOfDataStandard",
                    "dateSent",
                    "productIssuerAPIRCode"
                ]
            },
            "TMDHistory": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/TMDInfo"
                }
            },
            "TMDInfo": {
                "type": "object",
                "required": [
                    "apirCode",
                    "status",
                    "version",
                    "created",
                    "issueDate",
                    "url"
                ],
                "properties": {
                    "apirCode": {
                        "type": "string",
                        "example": "PRD0000AU"
                    },
                    "status": {
                        "type": "string",
                        "example": "Available"
                    },
                    "version": {
                        "type": "string",
                        "example": "1.0a"
                    },
                    "created": {
                        "type": "string",
                        "format": "date",
                        "example": "2021-03-01"
                    },
                    "issueDate": {
                        "type": "string",
                        "example": "2021-03-10"
                    },
                    "reviewDate": {
                        "type": "string",
                        "example": "2022-03-10"
                    },
                    "url": {
                        "type": "string",
                        "example": "http://test.apir.com.au/api/tmd/PRD0000AU"
                    }
                }
            },
            "error": {
                "type": "object",
                "required": [
                    "ok",
                    "error"
                ],
                "properties": {
                    "ok": {
                        "type": "boolean",
                        "example": false
                    },
                    "error": {
                        "type": "object",
                        "properties": {
                            "str": {
                                "type": "string",
                                "example": "Bad Request"
                            },
                            "code": {
                                "type": "integer",
                                "example": 400
                            }
                        }
                    }
                }
            },
            "error404": {
                "type": "object",
                "required": [
                    "ok",
                    "error"
                ],
                "properties": {
                    "ok": {
                        "type": "boolean",
                        "example": false
                    },
                    "error": {
                        "type": "object",
                        "properties": {
                            "str": {
                                "type": "string",
                                "example": "Not Found"
                            },
                            "code": {
                                "type": "integer",
                                "example": 404
                            }
                        }
                    }
                }
            }
        },
        "parameters": {
            "productAPIRCode": {
                "name": "productAPIRCode",
                "in": "path",
                "style": "simple",
                "description": "A product APIR code issue by APIR Systems Pty. Ltd.",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "participantAPIRCode": {
                "name": "participantAPIRCode",
                "in": "path",
                "style": "simple",
                "description": "A participant APIR code issue by APIR Systems Pty. Ltd.",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "date": {
                "name": "date",
                "in": "path",
                "style": "simple",
                "description": "A date in ISO format (yyyy-mm-dd)",
                "required": true,
                "schema": {
                    "type": "string"
                }
            }
        },
        "securitySchemes": {
            "api_key": {
                "type": "http",
                "scheme": "digest",
                "description": "Transmission of the client's API key is achieved using HTTP-DIGEST authorisation.\n\nYou 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](page/legal#terms_conditions).\n\nWith 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.\n\nFor details on how to generate an authorization header for DIGEST authoriation see [RFC7616](https://tools.ietf.org/html/rfc7616).  To test that your client ID and API key are working, we suggest using [Postman](http://getpostman.com)."
            }
        }
    },
    "security": [
        {
            "api_key": []
        }
    ]
}