{
  "openapi": "3.0.1",
  "info": {
    "x-metadata": {
      "tags": [
        "Class Partner"
      ]
    },
    "title": "Investment Reports",
    "version": "1.0",
    "description": "Investment Reports is designed to deliver comprehensive financial reporting \nfor investment funds, focusing on trust income, asset positions, \ninvestment performance, and related financial metrics. This API enables \nusers to retrieve detailed data for specific funds within a business, supporting \ntax reporting, portfolio analysis, and investment performance tracking.\n\n\n<div class=\"env-panel\" data-component-name=\"EnvPanel\"><div class=\"env-panel__header\">Servers</div><div class=\"env-panel__body\"><div class=\"env-row\"><div class=\"env-name\">Partner Integration Environment (Sandbox)</div><div class=\"env-url-row\"><span class=\"env-url\">https://apigateway.class-pie.com.au/api/1.0</span><button type=\"button\" class=\"copy-btn\" data-copy=\"https://apigateway.class-pie.com.au/api/1.0\" aria-label=\"Copy\"><svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.16667 2.66667C5.16667 2.57462 5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667 2.57462 12.1667 2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12 10.8333H10H5.33333C5.24129 10.8333 5.16667 10.7587 5.16667 10.6667V4.66667V2.66667ZM4.16667 4.16667V2.66667C4.16667 2.02233 4.689 1.5 5.33333 1.5H12C12.6443 1.5 13.1667 2.02233 13.1667 2.66667V10.6667C13.1667 11.311 12.6443 11.8333 12 11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395 10.1583 14.1583C9.9395 14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725 14.5 2.0605 14.3771 1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5 13.3333V5.33333C1.5 5.02391 1.62292 4.72717 1.84171 4.50838C2.0605 4.28958 2.35725 4.16667 2.66667 4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775 9.48244 13.4199 9.45118 13.4512C9.41993 13.4824 9.37754 13.5 9.33333 13.5H2.66667C2.62246 13.5 2.58007 13.4824 2.54882 13.4512C2.51756 13.4199 2.5 13.3775 2.5 13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882 5.21548C2.58007 5.18423 2.62246 5.16667 2.66667 5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333 5.33333 11.8333H9.5Z\" fill=\"currentColor\"/></svg></button></div></div><div class=\"env-row\"><div class=\"env-name\">Production Environment</div><div class=\"env-url-row\"><span class=\"env-url\">https://apigateway.class.com.au/api/1.0</span><button type=\"button\" class=\"copy-btn\" data-copy=\"https://apigateway.class.com.au/api/1.0\" aria-label=\"Copy\"><svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.16667 2.66667C5.16667 2.57462 5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667 2.57462 12.1667 2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12 10.8333H10H5.33333C5.24129 10.8333 5.16667 10.7587 5.16667 10.6667V4.66667V2.66667ZM4.16667 4.16667V2.66667C4.16667 2.02233 4.689 1.5 5.33333 1.5H12C12.6443 1.5 13.1667 2.02233 13.1667 2.66667V10.6667C13.1667 11.311 12.6443 11.8333 12 11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395 10.1583 14.1583C9.9395 14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725 14.5 2.0605 14.3771 1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5 13.3333V5.33333C1.5 5.02391 1.62292 4.72717 1.84171 4.50838C2.0605 4.28958 2.35725 4.16667 2.66667 4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775 9.48244 13.4199 9.45118 13.4512C9.41993 13.4824 9.37754 13.5 9.33333 13.5H2.66667C2.62246 13.5 2.58007 13.4824 2.54882 13.4512C2.51756 13.4199 2.5 13.3775 2.5 13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882 5.21548C2.58007 5.18423 2.62246 5.16667 2.66667 5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333 5.33333 11.8333H9.5Z\" fill=\"currentColor\"/></svg></button></div></div></div></div>"
  },
  "servers": [
    {
      "url": "https://apigateway.class-pie.com.au/api/1.0",
      "description": "Partner Integration Environment (Sandbox)"
    },
    {
      "url": "https://apigateway.class.com.au/api/1.0",
      "description": "Production Environment"
    }
  ],
  "paths": {
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/trust-income-schedule-reconciliation": {
      "get": {
        "operationId": "TrustIncomeDistributionReconciliationReportData",
        "summary": "Trust income distribution reconciliation report data",
        "description": "Returns the Trust Income Schedule's details in a given Trust for a particular financial year. This endpoint provides specific information on reconciliation items that is related to Tax Return purposes for individual and non-individual entities, where they are benficiaries entitlted to Trust Income and distribution.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "$ref": "#/components/parameters/groupByParam"
          },
          {
            "$ref": "#/components/parameters/yearParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustIncomeScheduleReconciliationReportGetResponse"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/TrustIncomeScheduleReconciliationReportGetResponse"
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/detailed-fund-asset-position": {
      "get": {
        "operationId": "detailedFundAssetPosition",
        "summary": "detailedFundAssetPosition",
        "description": "A breakdown of the asset classes for the fund's holdings.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "atDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-07-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_DetailedFundAssetPosition"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/investment-income-by-period": {
      "get": {
        "operationId": "investmentIncomeByPeriod",
        "summary": "investmentIncomeByPeriod",
        "description": "A summary of the income received by the fund",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2025-06-30"
            }
          },
          {
            "$ref": "#/components/parameters/groupByParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_InvestmentIncome"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/daily-investment-performance": {
      "get": {
        "operationId": "dailyInvestmentPerformance",
        "summary": "dailyInvestmentPerformance",
        "description": "Provides a daily investment performance which consists of the total return (capital growth and income) for all investments.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The start date for the report period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-07-01"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The end date for the report period.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2025-06-30"
          },
          {
            "name": "groupBy",
            "in": "query",
            "description": "The grouping method to use on the investment accounts.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/HoldingAccountGrouping"
            }
          },
          {
            "name": "benchmarkId",
            "in": "query",
            "description": "benchmarkId",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "useCachedData",
            "in": "query",
            "description": "Specifies whether to use cached data for the report.",
            "required": true,
            "schema": {
              "type": "boolean"
            },
            "example": true
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PortfolioPerformanceData"
                      }
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/distribution-reconciliation": {
      "get": {
        "operationId": "distributionReconciliation",
        "summary": "distributionReconciliation",
        "description": "The Distribution Reconciliation Report data",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "$ref": "#/components/parameters/yearParam"
          },
          {
            "$ref": "#/components/parameters/groupByParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_DistributionReconciliationReport"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/fund-asset-position": {
      "get": {
        "operationId": "fundAssetPosition",
        "summary": "fundAssetPosition",
        "description": "A summary of the fund's asset positions",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "atDate",
            "in": "query",
            "description": "The date at which the report should be generated for",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-07-01"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_FundAssetPosition"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/investment-income-details": {
      "get": {
        "operationId": "investmentIncomeDetails",
        "summary": "investmentIncomeDetails",
        "description": "Details of all investment income received by the fund within the supplied date range.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-07-01"
          },
          {
            "name": "endDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2025-06-30"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_InvestmentIncomeDetails"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/investment-movement-and-returns": {
      "post": {
        "operationId": "investmentMovementAndReturnsReport",
        "summary": "investmentMovementAndReturnsReport",
        "description": "Data source for the investment movement and returns report.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The start date of the period to show movements for",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The end date of the period to show movements for",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2025-06-30"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_InvestmentMovementAndReturnsReport"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvestmentReports_InvestmentMovementAndReturnsReportApiParameters"
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/investment-movement": {
      "get": {
        "operationId": "investmentMovementSummary",
        "summary": "investmentMovementSummary",
        "description": "Provides a detailed list of transactions in a particular bank account or group of bank accounts for a period.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2025-06-30"
            }
          },
          {
            "$ref": "#/components/parameters/groupByParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_InvestmentMovementSummary"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/official-holding-valuation-details": {
      "get": {
        "operationId": "investmentRevaluation",
        "summary": "investmentRevaluation",
        "description": "The official holding valuation for a fund.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "$ref": "#/components/parameters/yearParam"
          },
          {
            "$ref": "#/components/parameters/groupByParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_HoldingValuationDetailsSummary"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/rental-statement": {
      "get": {
        "operationId": "rentalStatementReport",
        "summary": "rentalStatementReport",
        "description": "The rental propery schedule for a fund.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "$ref": "#/components/parameters/yearParam"
          },
          {
            "name": "includeComparatives",
            "in": "query",
            "description": "Defalut value is False",
            "required": false,
            "schema": {
              "type": "boolean",
              "example": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_RentalStatementReport"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "xml": {
                    "wrapped": false,
                    "name": "ApiResponse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
                  },
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse",
                        "wrapped": true,
                        "name": "Errors"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "xml": {
                    "wrapped": false,
                    "name": "ApiResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema-instance\""
                  },
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "object",
                      "properties": {
                        "ApiError": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      },
                      "xml": {
                        "wrapped": true,
                        "name": "Errors"
                      }
                    }
                  },
                  "xml": {
                    "wrapped": false,
                    "name": "ApiResponse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      },
                      "xml": {
                        "wrapped": true,
                        "name": "Errors"
                      }
                    }
                  },
                  "xml": {
                    "wrapped": false,
                    "name": "ApiResponse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      },
                      "xml": {
                        "wrapped": true,
                        "name": "Errors"
                      }
                    }
                  },
                  "xml": {
                    "wrapped": false,
                    "name": "ApiResponse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      },
                      "xml": {
                        "wrapped": true,
                        "name": "Errors"
                      }
                    }
                  },
                  "xml": {
                    "wrapped": false,
                    "name": "ApiResponse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    },
    "/f/{businessCode}/{fundCode}/report-data/investment-reports/investment-summary": {
      "get": {
        "operationId": "investmentSummary",
        "summary": "investmentSummary",
        "description": "Statement of investments held by the fund and their unrealised gains to date.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "atDate",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-07-01"
          },
          {
            "name": "groupBy",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/InvestmentGroupingType"
            }
          },
          {
            "name": "includeIncomeExpected",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "example": true
            }
          },
          {
            "name": "costBaseType",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/CostbaseType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentReports_InvestmentSummary"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UnauthorizedErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ForbiddenErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Resource not available or user does not have access to the fund",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResourceUnavailableErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InternalErrorCommon"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Class_oAuth": [
              "fund.read"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "parameters": {
      "fundCodeParam": {
        "name": "fundCode",
        "description": "Class entity code",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "demo-fund"
        }
      },
      "groupByParam": {
        "name": "groupBy",
        "in": "query",
        "description": "The grouping method to use on the investment accounts",
        "required": false,
        "schema": {
          "$ref": "#/components/schemas/InvestmentGroupingType"
        }
      },
      "businessCodeParam": {
        "name": "businessCode",
        "in": "path",
        "description": "Class business code",
        "required": true,
        "schema": {
          "type": "string",
          "example": "demo-business"
        }
      },
      "yearParam": {
        "name": "year",
        "description": "The financial year to retrieve information",
        "in": "query",
        "required": true,
        "schema": {
          "type": "integer",
          "example": 2024
        }
      }
    },
    "schemas": {
      "AddressSummary": {
        "type": "object",
        "description": "Postal address with three address lines and location details.",
        "properties": {
          "AddressLine1": {
            "type": "string",
            "description": "Primary street address line.",
            "example": "Level 12, 1 Market Street"
          },
          "AddressLine2": {
            "type": "string",
            "description": "Secondary address details such as building or suite.",
            "example": "Tower A"
          },
          "AddressLine3": {
            "type": "string",
            "description": "Additional address information (optional line).",
            "example": "Barangaroo"
          },
          "PostCode": {
            "type": "string",
            "description": "Postal or ZIP code.",
            "example": "2000"
          },
          "Locality": {
            "type": "string",
            "description": "City or suburb.",
            "example": "Sydney"
          },
          "State": {
            "type": "string",
            "description": "State or region.",
            "example": "NSW"
          },
          "Country": {
            "type": "string",
            "description": "Country name in full.",
            "example": "Australia"
          }
        }
      },
      "ApiError": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string"
          },
          "Message": {
            "type": "string"
          }
        }
      },
      "ApiResponseBase": {
        "type": "object",
        "properties": {
          "Errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "CostbaseType": {
        "type": "string",
        "description": "Cost base calculation method used for reporting.",
        "enum": [
          "AccountingCostbase",
          "CGTCostbase"
        ],
        "example": "AccountingCostbase"
      },
      "DateRange": {
        "type": "object",
        "description": "Inclusive reporting window and derived details.",
        "properties": {
          "StartPeriodDate": {
            "type": "string",
            "format": "date",
            "description": "Start date of the period (ISO 8601).",
            "example": "2024-07-01"
          },
          "EndPeriodDate": {
            "type": "string",
            "format": "date",
            "description": "End date of the period (ISO 8601).",
            "example": "2025-06-30"
          },
          "IsEmpty": {
            "type": "boolean",
            "description": "True if the date range has no span (e.g., missing dates).",
            "example": false
          },
          "IsPopulated": {
            "type": "boolean",
            "description": "True if both start and end dates are present.",
            "example": true
          },
          "NumberOfDaysContained": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of days included in the period.",
            "example": 365
          },
          "EpochStart": {
            "type": "string",
            "format": "date",
            "description": "Minimum permissible start date for the dataset.",
            "example": "2000-01-01"
          },
          "EpochEnd": {
            "type": "string",
            "format": "date",
            "description": "Maximum permissible end date for the dataset.",
            "example": "2099-12-31"
          },
          "MinDatePeriodUpdate": {
            "type": "string",
            "format": "date",
            "description": "Earliest date from which updates may apply.",
            "example": "2024-07-01"
          }
        }
      },
      "DetailedFundAssetPosition_AssetClassBreakdown": {
        "type": "object",
        "description": "Breakdown of a holding across asset classes by market/unsettled values.",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Internal identifier for the breakdown item.",
            "example": "bf5ef273-ea6d-46c2-83fb-9b9a6326ff0a"
          },
          "Description": {
            "type": "string",
            "description": "Text description of the breakdown component.",
            "example": "Australian Equity Allocation"
          },
          "AssetClassDescription": {
            "type": "string",
            "description": "Name of the asset class represented.",
            "example": "Equities"
          },
          "MarketValueOfAssetsHeld": {
            "type": "number",
            "format": "decimal",
            "description": "Current market value for assets in this class.",
            "example": 1250000.45
          },
          "UnsettledPositionOnAssetsHeld": {
            "type": "number",
            "format": "decimal",
            "description": "Value of trades pending settlement for this class.",
            "example": 25000
          },
          "TotalValueOfAssetsHeld": {
            "type": "number",
            "format": "decimal",
            "description": "Market value plus unsettled position value.",
            "example": 1275000.45
          }
        }
      },
      "DetailedFundAssetPosition_AssetClassDesc": {
        "type": "object",
        "description": "Target strategy constraints for an asset class.",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique asset class identifier.",
            "example": "2426b645-1bdc-4943-890e-bf47b4d05339"
          },
          "Name": {
            "type": "string",
            "description": "Display name of the asset class.",
            "example": "Australian Equities"
          },
          "StrategyMinPercent": {
            "type": "number",
            "format": "decimal",
            "description": "Minimum allocation percentage.",
            "example": 20
          },
          "StrategyMaxPercent": {
            "type": "number",
            "format": "decimal",
            "description": "Maximum allocation percentage.",
            "example": 40
          },
          "StrategyTargetPercent": {
            "type": "number",
            "format": "decimal",
            "description": "Target allocation percentage.",
            "example": 30
          }
        }
      },
      "DetailedFundAssetPosition_DetailedPortfolioAssetPosition": {
        "type": "object",
        "description": "Portfolio-level asset positions and strategy details.",
        "properties": {
          "AssetClassDescs": {
            "type": "array",
            "description": "Strategy constraints per asset class.",
            "items": {
              "$ref": "#/components/schemas/DetailedFundAssetPosition_AssetClassDesc"
            }
          },
          "HoldingAssetPositionList": {
            "type": "array",
            "description": "Detailed asset positions held by the portfolio.",
            "items": {
              "$ref": "#/components/schemas/DetailedFundAssetPosition_HoldingAssetPosition"
            }
          },
          "StrategyEffectiveDate": {
            "type": "string",
            "format": "date",
            "description": "Date from which the strategy percentages apply.",
            "example": "2025-07-01"
          },
          "StrategyEffectiveDateSpecified": {
            "type": "boolean",
            "description": "True if the effective date is explicitly set.",
            "example": true
          },
          "PortfolioId": {
            "type": "string",
            "description": "Unique portfolio identifier.",
            "example": "34d86f3a-445d-4bb1-a8cd-10735560eaac"
          },
          "PortfolioName": {
            "type": "string",
            "description": "Human-friendly portfolio name.",
            "example": "Balanced Growth"
          }
        }
      },
      "DetailedFundAssetPosition_HoldingAssetPosition": {
        "type": "object",
        "description": "Single holding position including quantities, pricing, and classification.",
        "properties": {
          "Units": {
            "type": "number",
            "format": "decimal",
            "description": "Number of units/shares held.",
            "example": 10000
          },
          "MarketPrice": {
            "type": "number",
            "format": "decimal",
            "description": "Latest market price per unit.",
            "example": 12.34
          },
          "MarketPriceSpecified": {
            "type": "boolean",
            "description": "True if MarketPrice is present and up-to-date.",
            "example": true
          },
          "AssetClassBreakdownList": {
            "type": "array",
            "description": "Breakdown of the holding across asset classes.",
            "items": {
              "$ref": "#/components/schemas/DetailedFundAssetPosition_AssetClassBreakdown"
            }
          },
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/MarketAndSecurityInfo"
          },
          "Description": {
            "type": "string",
            "description": "Holding description.",
            "example": "BHP Group Ltd"
          },
          "ProductName": {
            "type": "string",
            "description": "Product or instrument name.",
            "example": "BHP"
          },
          "Code": {
            "type": "string",
            "description": "Security code or ticker.",
            "example": "BHP"
          },
          "MarketType": {
            "type": "string",
            "description": "Market category of the security.",
            "example": "ASX"
          },
          "MarketTypeCode": {
            "type": "string",
            "description": "Internal market type code.",
            "example": "EQUITY"
          },
          "Reference": {
            "type": "string",
            "description": "External identifier such as ISIN.",
            "example": "ISIN AU000000BHP4"
          }
        }
      },
      "DistributionReconciliationReport_DistHoldingSummary": {
        "type": "object",
        "description": "Distribution reconciliation values per holding account.",
        "properties": {
          "HoldingAccountName": {
            "type": "string",
            "description": "Name of the holding account.",
            "example": "Colonial First State Wholesale Property Securities"
          },
          "HoldingAccountCode": {
            "type": "string",
            "description": "Internal code of the holding account.",
            "example": "BFL0019AU"
          },
          "SecurityCode": {
            "type": "string",
            "description": "Security code if applicable.",
            "example": "CFS-WPS"
          },
          "ManagedAccountCode": {
            "type": "string",
            "description": "Managed account reference if applicable.",
            "example": "MA-001"
          },
          "Grouping": {
            "$ref": "#/components/schemas/HoldingGroupingDetails"
          },
          "NetTrustDistribution": {
            "type": "number",
            "format": "decimal",
            "description": "Net trust distribution amount for the period.",
            "example": 0
          },
          "NonPrimaryProductionIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Income not related to primary production.",
            "example": 0
          },
          "FrankingCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Franking credits attributed to distributions.",
            "example": 0
          },
          "WithholdingTax": {
            "type": "number",
            "format": "decimal",
            "description": "Tax withheld from trust distributions.",
            "example": 0
          },
          "TaxExempt": {
            "type": "number",
            "format": "decimal",
            "description": "Tax-exempt portion of distributions.",
            "example": 0
          },
          "TaxFree": {
            "type": "number",
            "format": "decimal",
            "description": "Tax-free portion of distributions.",
            "example": 0
          },
          "TaxDeferred": {
            "type": "number",
            "format": "decimal",
            "description": "Tax-deferred amount carried forward.",
            "example": 0
          },
          "CapitalReturns": {
            "type": "number",
            "format": "decimal",
            "description": "Return of capital distributions.",
            "example": 0
          },
          "AssessableAmounts": {
            "type": "number",
            "format": "decimal",
            "description": "Amounts assessable for tax.",
            "example": 0
          },
          "ForeignTaxCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Foreign tax offset amount.",
            "example": 0
          },
          "DiscountedCapGains": {
            "type": "number",
            "format": "decimal",
            "description": "Capital gains subject to discount.",
            "example": 0
          },
          "CGTConcessionAmount": {
            "type": "number",
            "format": "decimal",
            "description": "CGT concession applied.",
            "example": 0
          },
          "IndexedCapGains": {
            "type": "number",
            "format": "decimal",
            "description": "Capital gains indexed portion.",
            "example": 0
          },
          "OtherCapGains": {
            "type": "number",
            "format": "decimal",
            "description": "Capital gains (other).",
            "example": 0
          },
          "GrossTrustAccounting": {
            "type": "number",
            "format": "decimal",
            "description": "Gross trust amount per accounting records.",
            "example": 0
          },
          "GrossTrustTax": {
            "type": "number",
            "format": "decimal",
            "description": "Gross trust amount per tax statement.",
            "example": 0
          },
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/MarketAndSecurityInfo"
          },
          "AmitAmount": {
            "type": "number",
            "format": "decimal",
            "description": "Attribution Managed Investment Trust (AMIT) adjustment.",
            "example": 0
          }
        }
      },
      "DistributionReconciliationReport_InvestmentGroup": {
        "type": "object",
        "description": "Grouping of holdings for reconciliation with subtotals.",
        "required": [
          "Name",
          "HoldingReconciliationSummaries",
          "Totals"
        ],
        "properties": {
          "Name": {
            "type": "string",
            "description": "Group name used for presentation.",
            "example": "Managed Fund Markets"
          },
          "HoldingReconciliationSummaries": {
            "type": "array",
            "description": "List of holding summaries within the group.",
            "items": {
              "$ref": "#/components/schemas/DistributionReconciliationReport_DistHoldingSummary"
            }
          },
          "Totals": {
            "$ref": "#/components/schemas/DistributionReconciliationReport_DistHoldingSummary"
          }
        }
      },
      "DistributionReconciliationReport_ReconciliationBlock": {
        "type": "object",
        "description": "Aggregated reconciliation amounts across categories.",
        "properties": {
          "GrossTrustNonPrimaryProduction": {
            "type": "number",
            "format": "decimal",
            "description": "Gross non-primary production trust income.",
            "example": 0
          },
          "GrossTrustFrankingCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Gross franking credits from trusts.",
            "example": 0
          },
          "GrossTrustWithholdingTax": {
            "type": "number",
            "format": "decimal",
            "description": "Gross withholding tax from trusts.",
            "example": 0
          },
          "GrossTrustTotal": {
            "type": "number",
            "format": "decimal",
            "description": "Total of all gross trust amounts.",
            "example": 0
          },
          "ForeignAssessable": {
            "type": "number",
            "format": "decimal",
            "description": "Assessable foreign income.",
            "example": 0
          },
          "ForeignTaxCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Foreign tax credits.",
            "example": 0
          },
          "ForeignTotal": {
            "type": "number",
            "format": "decimal",
            "description": "Total foreign income and credits.",
            "example": 0
          },
          "CapGainsDiscountable": {
            "type": "number",
            "format": "decimal",
            "description": "Discountable capital gains amount.",
            "example": 0
          },
          "CapGainsIndexed": {
            "type": "number",
            "format": "decimal",
            "description": "Indexed capital gains amount.",
            "example": 0
          },
          "CapGainsOther": {
            "type": "number",
            "format": "decimal",
            "description": "Other capital gains amount.",
            "example": 0
          },
          "CapGainsTotal": {
            "type": "number",
            "format": "decimal",
            "description": "Total capital gains.",
            "example": 0
          }
        }
      },
      "FundAssetPosition_AssetClassDetails": {
        "type": "object",
        "description": "Asset class summary values and strategy percentages.",
        "properties": {
          "AssetClassId": {
            "type": "string",
            "description": "Unique identifier for the asset class.",
            "example": "5fc0ea27-7585-438f-a197-6cfd2145783d"
          },
          "AssetClassName": {
            "type": "string",
            "description": "Asset class display name.",
            "example": "Global Equities"
          },
          "ValueOfAssetsHeld": {
            "type": "number",
            "format": "decimal",
            "description": "Total value of assets held in the class.",
            "example": 2000000
          },
          "MarketValueOfAssetsHeld": {
            "type": "number",
            "format": "decimal",
            "description": "Current market value in the class.",
            "example": 1985000
          },
          "UnsettledPositionOnAssetsHeld": {
            "type": "number",
            "format": "decimal",
            "description": "Value pending settlement for the class.",
            "example": 15000
          },
          "AssetStrategyMinPercent": {
            "type": "number",
            "format": "decimal",
            "description": "Minimum allocation per strategy.",
            "example": 15
          },
          "AssetStrategyMaxPercent": {
            "type": "number",
            "format": "decimal",
            "description": "Maximum allocation per strategy.",
            "example": 55
          },
          "AssetStrategyTargetPercent": {
            "type": "number",
            "format": "decimal",
            "description": "Target allocation per strategy.",
            "example": 35
          },
          "AssetStrategyOverallPercent": {
            "type": "number",
            "format": "decimal",
            "description": "Actual allocation percentage.",
            "example": 32.7
          }
        }
      },
      "FundAssetPosition_PortfolioAssetPosition": {
        "type": "object",
        "description": "Portfolio-level position summary by asset class.",
        "properties": {
          "AssetClassDetailList": {
            "type": "array",
            "description": "List of asset class details for the portfolio.",
            "items": {
              "$ref": "#/components/schemas/FundAssetPosition_AssetClassDetails"
            }
          },
          "PortfolioId": {
            "type": "string",
            "description": "Portfolio unique identifier.",
            "example": "0872f336-84d5-4cde-bee8-63b5dbc4fb24"
          },
          "PortfolioName": {
            "type": "string",
            "description": "Portfolio display name.",
            "example": "High Growth"
          },
          "OverallValue": {
            "type": "number",
            "format": "decimal",
            "description": "Total portfolio value.",
            "example": 4500000
          },
          "AssetPercentagesInvalid": {
            "type": "boolean",
            "description": "True if strategy percentages are out of bounds or incomplete.",
            "example": false
          },
          "AssetStrategyEffectiveDate": {
            "type": "string",
            "format": "date",
            "description": "Effective date of the asset strategy.",
            "example": "2025-07-01"
          }
        }
      },
      "HoldingAccountGrouping": {
        "type": "string",
        "description": "Grouping dimension for holding accounts.",
        "enum": [
          "Fund",
          "MarketType",
          "AssetClass",
          "AssetPool",
          "Feed",
          "None",
          "GLClassification"
        ],
        "example": "MarketType"
      },
      "HoldingAccountType": {
        "type": "string",
        "description": "Type/category of the holding account.",
        "enum": [
          "BankAccount",
          "ForeignBankAccount",
          "InvestmentAccount",
          "PropertyAccount",
          "CollectibleAccount",
          "PlatformAccount",
          "TermDepositAccount"
        ],
        "example": "InvestmentAccount"
      },
      "HoldingDailyAccountFlowDetails": {
        "type": "object",
        "description": "Daily movement amounts for a holding account.",
        "required": [
          "FlowAmount",
          "Acquisitions",
          "Disposals"
        ],
        "properties": {
          "FlowAmount": {
            "type": "number",
            "format": "decimal",
            "description": "Net cash flow for the day (positive inflow, negative outflow).",
            "example": 1500
          },
          "Acquisitions": {
            "type": "number",
            "format": "decimal",
            "description": "Total acquisition amount recorded for the day.",
            "example": 1000
          },
          "Disposals": {
            "type": "number",
            "format": "decimal",
            "description": "Total disposal amount recorded for the day.",
            "example": 500
          }
        }
      },
      "HoldingDailyValuation": {
        "type": "object",
        "description": "Daily valuation snapshot for a holding account.",
        "properties": {
          "HoldingAccountId": {
            "type": "string",
            "description": "Unique identifier of the holding account.",
            "example": "e8af114a-a54d-4171-a1cf-60988a6a235d"
          },
          "HoldingAccountCode": {
            "type": "string",
            "description": "Internal code of the holding account.",
            "example": "BFL0019AU"
          },
          "Date": {
            "type": "string",
            "format": "date",
            "description": "Valuation date.",
            "example": "2025-11-10"
          },
          "Quantity": {
            "type": "number",
            "format": "decimal",
            "description": "Units held on the valuation date.",
            "example": 10000
          },
          "QuantityChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in units since previous valuation.",
            "example": 250
          },
          "MarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Gross market value.",
            "example": 123400
          },
          "MarketValueChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in market value since previous valuation.",
            "example": 2400
          },
          "WeightInPortfolio": {
            "type": "number",
            "format": "decimal",
            "description": "Percentage weight of the holding in the portfolio.",
            "example": 2.75
          },
          "NetMarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Market value net of fees and unsettled trades.",
            "example": 122900
          },
          "NetMarketValueChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in net market value since previous valuation.",
            "example": 2300
          },
          "PriceDate": {
            "type": "string",
            "format": "date",
            "description": "Date of the price used for valuation.",
            "example": "2025-11-10"
          }
        }
      },
      "HoldingGroupingDetails": {
        "type": "object",
        "description": "Grouping metadata and tags used for reporting.",
        "properties": {
          "NO_FHR_CAPTION": {
            "type": "string",
            "description": "Optional caption displayed when grouping is not applicable.",
            "example": "No grouping applied"
          },
          "Tags": {
            "type": "array",
            "description": "Key-value tags that define group membership.",
            "items": {
              "$ref": "#/components/schemas/HoldingGroupingDetails_Tag"
            }
          }
        }
      },
      "HoldingGroupingDetails_Tag": {
        "type": "object",
        "description": "Single grouping tag.",
        "properties": {
          "Type": {
            "$ref": "#/components/schemas/InvestmentGroupingType"
          },
          "Value": {
            "type": "string",
            "description": "Value of the tag.",
            "example": "Default Pool"
          }
        }
      },
      "HoldingValuationDetailsSummary_HoldingDetails": {
        "type": "object",
        "description": "Summary valuation details for a single holding.",
        "properties": {
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/MarketAndSecurityInfo"
          },
          "HoldingAccountId": {
            "type": "string",
            "description": "Unique identifier of the holding account.",
            "example": "849f4f5f-7966-4395-9840-ed46ac9096e7"
          },
          "Code": {
            "type": "string",
            "description": "Account or instrument code.",
            "example": "BHP"
          },
          "HoldingAccountDescription": {
            "type": "string",
            "description": "Display name of the holding account.",
            "example": "BHP Group Ltd"
          },
          "Grouping": {
            "$ref": "#/components/schemas/HoldingGroupingDetails"
          },
          "PriceDate": {
            "type": "string",
            "format": "date",
            "description": "Date of the price used.",
            "example": "2025-11-10"
          },
          "Price": {
            "type": "number",
            "format": "decimal",
            "description": "Unit price used in valuation.",
            "example": 12.34
          },
          "Quantity": {
            "type": "number",
            "format": "decimal",
            "description": "Units held.",
            "example": 10000
          },
          "MarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Gross market value.",
            "example": 123400
          },
          "BookCost": {
            "type": "number",
            "format": "decimal",
            "description": "Cost base recorded for the holding.",
            "example": 110000
          },
          "UnsettledAmount": {
            "type": "number",
            "format": "decimal",
            "description": "Value of trades not yet settled.",
            "example": 2500
          },
          "UnrealisedAccountingGainSpecified": {
            "type": "boolean",
            "description": "True if unrealised gain has been computed.",
            "example": true
          },
          "UnrealisedAccountingGain": {
            "type": "number",
            "format": "decimal",
            "description": "Unrealised accounting gain.",
            "example": 13400
          },
          "ValuationDate": {
            "type": "string",
            "format": "date",
            "description": "Date of this valuation record.",
            "example": "2025-11-10"
          }
        }
      },
      "HoldingValuationDetailsSummary_MarketTypeDetails_": {
        "type": "object",
        "description": "Collection of holding details for a given market type.",
        "properties": {
          "HoldingDetailList": {
            "type": "array",
            "description": "Holdings within the market type.",
            "items": {
              "$ref": "#/components/schemas/HoldingValuationDetailsSummary_HoldingDetails"
            }
          },
          "MarketTypeId": {
            "type": "string",
            "description": "Identifier of the market type.",
            "example": "ASX"
          },
          "MarketTypeName": {
            "type": "string",
            "description": "Name of the market type.",
            "example": "Australian Securities Exchange"
          }
        }
      },
      "HoldingValuationDetailsSummary_PortfolioDetails": {
        "type": "object",
        "description": "Portfolio breakdown by market type.",
        "properties": {
          "MarketTypeDetailList": {
            "type": "array",
            "description": "List of market type details.",
            "items": {
              "$ref": "#/components/schemas/HoldingValuationDetailsSummary_MarketTypeDetails_"
            }
          },
          "PortfolioId": {
            "type": "string",
            "description": "Portfolio identifier.",
            "example": "4bc1b3db-67ac-4eab-ab75-a087c72aa16a"
          }
        }
      },
      "InvestmentGroupingType": {
        "type": "string",
        "description": "Grouping dimension used across reports.",
        "enum": [
          "MarketType",
          "Reference",
          "AssetPool",
          "GL"
        ],
        "example": "MarketType"
      },
      "InvestmentIncomeDetails_IncomeHoldingAccountItem": {
        "type": "object",
        "description": "Income transactions associated with an investment holding.",
        "required": [
          "InvestmentName",
          "TransactionItems"
        ],
        "properties": {
          "InvestmentName": {
            "type": "string",
            "description": "Name of the investment.",
            "example": "Vanguard Australian Shares Index ETF"
          },
          "TransactionItems": {
            "type": "array",
            "description": "List of income transactions for the holding.",
            "items": {
              "$ref": "#/components/schemas/InvestmentIncomeDetails_IncomeTransactionItem"
            },
            "example": [
              {
                "Date": "2025-09-15",
                "Description": "Distribution Q3",
                "NetIncome": 450.75
              }
            ]
          }
        }
      },
      "InvestmentIncomeDetails_IncomeTransactionItem": {
        "type": "object",
        "description": "Single income transaction item.",
        "properties": {
          "Date": {
            "type": "string",
            "format": "date",
            "description": "Transaction date.",
            "example": "2025-09-15"
          },
          "Description": {
            "type": "string",
            "description": "Narrative describing the income.",
            "example": "Distribution Q3"
          },
          "NetIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Net income received.",
            "example": 450.75
          },
          "UnfrankedDividends": {
            "type": "number",
            "format": "decimal",
            "description": "Unfranked dividend amount.",
            "example": 0
          },
          "FrankedDividends": {
            "type": "number",
            "format": "decimal",
            "description": "Franked dividend amount.",
            "example": 350
          },
          "NetForeignIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Net foreign income amount.",
            "example": 0
          },
          "FrankingCredit": {
            "type": "number",
            "format": "decimal",
            "description": "Franking credit attached to dividends.",
            "example": 150
          },
          "ForeignTaxCredit": {
            "type": "number",
            "format": "decimal",
            "description": "Foreign tax offset.",
            "example": 0
          },
          "TfnCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Tax File Number (TFN) credits.",
            "example": 0
          }
        }
      },
      "InvestmentIncomeDetails_IncomeTypeItem": {
        "type": "object",
        "description": "Income grouped by type.",
        "properties": {
          "IncomeTypeName": {
            "type": "string",
            "description": "Name of the income type.",
            "example": "Distributions"
          },
          "IsDistribution": {
            "type": "boolean",
            "description": "True if the income type represents a trust distribution.",
            "example": true
          },
          "HoldingAccountItems": {
            "type": "array",
            "description": "Holdings contributing to this income type.",
            "items": {
              "$ref": "#/components/schemas/InvestmentIncomeDetails_IncomeHoldingAccountItem"
            }
          }
        }
      },
      "InvestmentIncome_HoldingAccountItem": {
        "type": "object",
        "description": "Investment income summary for a single holding.",
        "required": [
          "Summary",
          "MarketAndSecurityInfo",
          "InvestmentName",
          "Grouping"
        ],
        "properties": {
          "Summary": {
            "$ref": "#/components/schemas/InvestmentIncome_InvestmentIncomeSummary"
          },
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/MarketAndSecurityInfo"
          },
          "InvestmentName": {
            "type": "string",
            "description": "Name of the investment.",
            "example": "BHP Group Ltd"
          },
          "Grouping": {
            "$ref": "#/components/schemas/HoldingGroupingDetails"
          }
        }
      },
      "InvestmentIncome_InvestmentIncomeSummary": {
        "type": "object",
        "description": "Totals and breakdowns of investment income.",
        "properties": {
          "IncomeTotal": {
            "type": "number",
            "format": "decimal",
            "description": "Total income across the period.",
            "example": 450.75
          },
          "FrankingCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Total franking credits.",
            "example": 150
          },
          "ForeignCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Total foreign credits.",
            "example": 0
          },
          "TFNCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Total TFN credits.",
            "example": 0
          },
          "TaxFree": {
            "type": "number",
            "format": "decimal",
            "description": "Total tax-free amounts.",
            "example": 0
          },
          "TaxExempt": {
            "type": "number",
            "format": "decimal",
            "description": "Total tax-exempt amounts.",
            "example": 0
          },
          "TaxDeferred": {
            "type": "number",
            "format": "decimal",
            "description": "Total tax-deferred amounts.",
            "example": 0
          },
          "Expenses": {
            "type": "number",
            "format": "decimal",
            "description": "Investment-related expenses.",
            "example": 25
          },
          "DistributedCapitalGains": {
            "type": "number",
            "format": "decimal",
            "description": "Capital gains distributed by trusts.",
            "example": 0
          },
          "GST": {
            "type": "number",
            "format": "decimal",
            "description": "Goods and Services Tax component if applicable.",
            "example": 0
          },
          "TaxableIncomeExclCapitalGains": {
            "type": "number",
            "format": "decimal",
            "description": "Taxable income excluding capital gains.",
            "example": 425.75
          },
          "CapitalGainsIndexed": {
            "type": "number",
            "format": "decimal",
            "description": "Indexed capital gains.",
            "example": 0
          },
          "CapitalGainsDiscounted": {
            "type": "number",
            "format": "decimal",
            "description": "Discounted capital gains.",
            "example": 0
          },
          "CapitalGainsOther": {
            "type": "number",
            "format": "decimal",
            "description": "Other capital gains.",
            "example": 0
          },
          "CapitalGainsCGTConcession": {
            "type": "number",
            "format": "decimal",
            "description": "CGT concession amount.",
            "example": 0
          }
        }
      },
      "InvestmentIncome_MarketTypeItem": {
        "type": "object",
        "description": "Investment income aggregated by market type.",
        "properties": {
          "HoldingAccountItems": {
            "type": "array",
            "description": "Holdings included in this market type.",
            "items": {
              "$ref": "#/components/schemas/InvestmentIncome_HoldingAccountItem"
            }
          },
          "MarketTypeName": {
            "type": "string",
            "description": "Name of the market type.",
            "example": "ASX"
          }
        }
      },
      "InvestmentMovementSummary_HoldingSummary": {
        "type": "object",
        "description": "Movement summary for an individual holding over a period.",
        "properties": {
          "OpeningQuantitySpecified": {
            "type": "boolean",
            "description": "True if the opening quantity is defined.",
            "example": true
          },
          "OpeningMarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Market value at the start of the period.",
            "example": 100000
          },
          "TotalAcquisitionQuantitySpecified": {
            "type": "boolean",
            "description": "True if acquisition quantity is explicitly specified.",
            "example": true
          },
          "TotalDisposalQuantitySpecified": {
            "type": "boolean",
            "description": "True if disposal quantity is explicitly specified.",
            "example": true
          },
          "TotalDispoalCost": {
            "type": "number",
            "format": "decimal",
            "description": "Total cost of disposals over the period.",
            "example": 25000
          },
          "ClosingQuantitySpecified": {
            "type": "boolean",
            "description": "True if the closing quantity is defined.",
            "example": true
          },
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/MarketAndSecurityInfo"
          },
          "ChangeInMarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Change in market value across the period.",
            "example": 2400
          },
          "Name": {
            "type": "string",
            "description": "Holding display name.",
            "example": "BHP Group Ltd"
          },
          "Code": {
            "type": "string",
            "description": "Holding code or ticker.",
            "example": "BHP"
          },
          "Grouping": {
            "$ref": "#/components/schemas/HoldingGroupingDetails"
          },
          "OpeningQuantity": {
            "type": "number",
            "format": "decimal",
            "description": "Units held at the start of the period.",
            "example": 9750
          },
          "OpeningBookCost": {
            "type": "number",
            "format": "decimal",
            "description": "Cost base at the start of the period.",
            "example": 90000
          },
          "TotalAcquisitionQuantity": {
            "type": "number",
            "format": "decimal",
            "description": "Units acquired during the period.",
            "example": 500
          },
          "TotalAcquisitionCost": {
            "type": "number",
            "format": "decimal",
            "description": "Cost of acquisitions during the period.",
            "example": 6000
          },
          "TotalDisposalQuantity": {
            "type": "number",
            "format": "decimal",
            "description": "Units sold during the period.",
            "example": 250
          },
          "TotalDisposalProceeds": {
            "type": "number",
            "format": "decimal",
            "description": "Proceeds from disposals during the period.",
            "example": 3250
          },
          "ProfitOrLoss": {
            "type": "number",
            "format": "decimal",
            "description": "Realised profit or loss from disposals.",
            "example": 350
          },
          "ClosingQuantity": {
            "type": "number",
            "format": "decimal",
            "description": "Units held at the end of the period.",
            "example": 10000
          },
          "ClosingBookCost": {
            "type": "number",
            "format": "decimal",
            "description": "Cost base at the end of the period.",
            "example": 96000
          },
          "ClosingMarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Market value at the end of the period.",
            "example": 123400
          }
        }
      },
      "InvestmentMovementSummary_MktTypeItem": {
        "type": "object",
        "description": "Movement summary grouped by market type.",
        "properties": {
          "HoldPerfItems": {
            "type": "array",
            "description": "Holding performance items for the market type.",
            "items": {
              "$ref": "#/components/schemas/InvestmentMovementSummary_HoldingSummary"
            }
          },
          "MarketTypeName": {
            "type": "string",
            "description": "Name of the market type.",
            "example": "ASX"
          },
          "MarketTypeCode": {
            "type": "string",
            "description": "Internal market type code.",
            "example": "EQUITY"
          }
        }
      },
      "InvestmentMovementSummary_PfItem": {
        "type": "object",
        "description": "Portfolio-level movement summary grouped by market type.",
        "properties": {
          "MktTypeItems": {
            "type": "array",
            "description": "Market type movement items.",
            "items": {
              "$ref": "#/components/schemas/InvestmentMovementSummary_MktTypeItem"
            }
          },
          "Id": {
            "type": "string",
            "description": "Unique uuid of investment movement of portfolio",
            "example": "86614c88-912f-4a6d-9071-031b2daec7c2"
          },
          "PortfolioName": {
            "type": "string",
            "description": "Portfolio display name.",
            "example": "Balanced Growth"
          }
        }
      },
      "InvestmentPerformanceReport_HoldingGroup": {
        "type": "object",
        "description": "Holding group with aggregated performance summary.",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Group name.",
            "example": "Equities"
          },
          "Holdings": {
            "type": "array",
            "description": "Holdings included in the group.",
            "items": {
              "$ref": "#/components/schemas/InvestmentPerformanceReport_HoldingSummary"
            }
          },
          "PerformanceSummary": {
            "$ref": "#/components/schemas/InvestmentPerformanceReport_InvestmentPerformanceSummary"
          }
        }
      },
      "InvestmentPerformanceReport_HoldingSummary": {
        "type": "object",
        "description": "Performance summary for a single holding.",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Holding display name.",
            "example": "BHP Group Ltd"
          },
          "Code": {
            "type": "string",
            "description": "Holding code.",
            "example": "BHP"
          },
          "ManagedAccountCode": {
            "type": "string",
            "description": "Managed account reference.",
            "example": "MA-001"
          },
          "PerformanceSummary": {
            "$ref": "#/components/schemas/InvestmentPerformanceReport_InvestmentPerformanceSummary"
          },
          "IncludeInPerformanceReports": {
            "type": "boolean",
            "description": "True to include the holding in performance reports.",
            "example": true
          },
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/MarketAndSecurityInfo"
          }
        }
      },
      "InvestmentPerformanceReport_InvestmentPerformanceSummary": {
        "type": "object",
        "description": "Aggregated performance metrics for a holding or group.",
        "properties": {
          "OpeningBalance": {
            "type": "number",
            "format": "decimal",
            "description": "Opening value of the period.",
            "example": 100000
          },
          "TotalAcquisitions": {
            "type": "number",
            "format": "decimal",
            "description": "Total acquisitions during the period.",
            "example": 6000
          },
          "TotalDisposals": {
            "type": "number",
            "format": "decimal",
            "description": "Total disposals during the period.",
            "example": 3250
          },
          "ClosingBalance": {
            "type": "number",
            "format": "decimal",
            "description": "Closing value of the period.",
            "example": 123400
          },
          "NetInflow": {
            "type": "number",
            "format": "decimal",
            "description": "Net contributions less withdrawals.",
            "example": 2750
          },
          "ChangeInValue": {
            "type": "number",
            "format": "decimal",
            "description": "Change in value over the period.",
            "example": 23400
          },
          "Income": {
            "type": "number",
            "format": "decimal",
            "description": "Investment income received.",
            "example": 450.75
          },
          "ExpectedIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Forecast income for the period.",
            "example": 500
          },
          "ExpectedIncomeSpecified": {
            "type": "boolean",
            "description": "True if expected income was provided.",
            "example": true
          },
          "TotalReturn": {
            "type": "number",
            "format": "decimal",
            "description": "Total return amount.",
            "example": 23850.75
          },
          "TotalReturnPercentage": {
            "type": "number",
            "format": "decimal",
            "description": "Total return expressed as a percentage.",
            "example": 23.85
          },
          "TotalReturnPercentageSpecified": {
            "type": "boolean",
            "description": "True if return percentage is available.",
            "example": true
          },
          "FallbackToSimpleRateOfReturn": {
            "type": "boolean",
            "description": "True if calculation falls back to simple ROR.",
            "example": false
          }
        }
      },
      "InvestmentPerformanceReport_Portfolio": {
        "type": "object",
        "description": "Portfolio performance containing holding groups.",
        "properties": {
          "PortfolioName": {
            "type": "string",
            "description": "Portfolio display name.",
            "example": "Balanced Growth"
          },
          "PerformanceSummary": {
            "$ref": "#/components/schemas/InvestmentPerformanceReport_InvestmentPerformanceSummary"
          },
          "HoldingGroups": {
            "type": "array",
            "description": "Holding groups included in the portfolio.",
            "items": {
              "$ref": "#/components/schemas/InvestmentPerformanceReport_HoldingGroup"
            }
          }
        }
      },
      "InvestmentReports_DateValue": {
        "type": "object",
        "description": "Single dated value for graphing or trend display.",
        "properties": {
          "Date": {
            "type": "string",
            "format": "date",
            "description": "Observation date.",
            "example": "2025-10-31"
          },
          "Amount": {
            "type": "number",
            "format": "decimal",
            "description": "Amount on the observation date.",
            "example": 123456.78
          }
        }
      },
      "InvestmentReports_DateValueRange": {
        "type": "object",
        "description": "Sequence of dated values and a title.",
        "properties": {
          "Values": {
            "type": "array",
            "description": "Series of dated values.",
            "items": {
              "$ref": "#/components/schemas/InvestmentReports_DateValue"
            }
          },
          "Title": {
            "type": "string",
            "description": "Title of the series.",
            "example": "Portfolio Value Over Time"
          }
        }
      },
      "InvestmentReports_DetailedFundAssetPosition": {
        "type": "object",
        "description": "Fund-level view of detailed asset positions by portfolio.",
        "properties": {
          "PortfolioAssetPositions": {
            "type": "array",
            "description": "Asset positions per portfolio.",
            "items": {
              "$ref": "#/components/schemas/DetailedFundAssetPosition_DetailedPortfolioAssetPosition"
            }
          },
          "FundCode": {
            "type": "string",
            "description": "Fund identifier.",
            "example": "demo-fund"
          },
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "atDate": {
            "type": "string",
            "format": "date",
            "description": "As-at reporting date.",
            "example": "2025-11-01"
          }
        }
      },
      "InvestmentReports_DistributionReconciliationReport": {
        "type": "object",
        "description": "Distribution reconciliation for a fund across holdings.",
        "properties": {
          "StartDate": {
            "type": "string",
            "format": "date",
            "description": "Start date of the reconciliation window.",
            "example": "2024-07-01"
          },
          "EndDate": {
            "type": "string",
            "format": "date",
            "description": "End date of the reconciliation window.",
            "example": "2025-06-30"
          },
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "GrossFrankingCredits": {
            "type": "boolean",
            "description": "True to present franking credits on a gross basis.",
            "example": false
          },
          "Summaries": {
            "type": "array",
            "description": "Per-holding distribution summaries.",
            "items": {
              "$ref": "#/components/schemas/DistributionReconciliationReport_DistHoldingSummary"
            }
          },
          "Reconciliation": {
            "$ref": "#/components/schemas/DistributionReconciliationReport_ReconciliationBlock"
          },
          "Totals": {
            "$ref": "#/components/schemas/DistributionReconciliationReport_DistHoldingSummary"
          },
          "InvestmentGroups": {
            "type": "array",
            "description": "Grouping structure for presentation.",
            "items": {
              "$ref": "#/components/schemas/DistributionReconciliationReport_InvestmentGroup"
            }
          },
          "InvestmentGroupingType": {
            "$ref": "#/components/schemas/InvestmentGroupingType"
          }
        }
      },
      "InvestmentReports_FundAssetPosition": {
        "type": "object",
        "description": "Fund-level summary of asset positions across portfolios.",
        "properties": {
          "PortfolioAssetPositions": {
            "type": "array",
            "description": "Portfolio positions included in the report.",
            "items": {
              "$ref": "#/components/schemas/FundAssetPosition_PortfolioAssetPosition"
            }
          },
          "FundCode": {
            "type": "string",
            "description": "Fund identifier.",
            "example": "demo-fund"
          },
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "atDate": {
            "type": "string",
            "format": "date",
            "description": "As-at reporting date.",
            "example": "2025-11-01"
          }
        }
      },
      "InvestmentReports_HoldingValuationDetailsSummary": {
        "type": "object",
        "description": "Fund-level summary of holding valuations by portfolio.",
        "properties": {
          "PortfolioDetailList": {
            "type": "array",
            "description": "Per-portfolio holding valuation details.",
            "items": {
              "$ref": "#/components/schemas/HoldingValuationDetailsSummary_PortfolioDetails"
            }
          },
          "FundCode": {
            "type": "string",
            "description": "Fund identifier.",
            "example": "demo-fund"
          },
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "atDate": {
            "type": "string",
            "format": "date",
            "description": "As-at reporting date.",
            "example": "2025-11-01"
          }
        }
      },
      "InvestmentReports_InvestmentIncome": {
        "type": "object",
        "description": "Aggregated investment income for the fund by market type.",
        "properties": {
          "MarketTypeItems": {
            "type": "array",
            "description": "Income totals per market type.",
            "items": {
              "$ref": "#/components/schemas/InvestmentIncome_MarketTypeItem"
            }
          },
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "FundCode": {
            "type": "string",
            "description": "Fund identifier.",
            "example": "demo-fund"
          },
          "Period": {
            "type": "string",
            "format": "date",
            "description": "Reporting period end date.",
            "example": "2025-06-30"
          }
        }
      },
      "InvestmentReports_InvestmentIncomeDetails": {
        "type": "object",
        "description": "Detailed investment income transactions grouped by type.",
        "properties": {
          "PeriodFrom": {
            "type": "string",
            "format": "date",
            "description": "Start date of the income period.",
            "example": "2024-07-01"
          },
          "PeriodTo": {
            "type": "string",
            "format": "date",
            "description": "End date of the income period.",
            "example": "2025-06-30"
          },
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "FundCode": {
            "type": "string",
            "description": "Fund identifier.",
            "example": "demo-fund"
          },
          "IncomeTypes": {
            "type": "array",
            "description": "Income items grouped by type.",
            "items": {
              "$ref": "#/components/schemas/InvestmentIncomeDetails_IncomeTypeItem"
            }
          }
        }
      },
      "InvestmentReports_InvestmentMovementAndReturnsReport": {
        "type": "object",
        "description": "Comprehensive report covering movements, returns, time series, and value vs. investment.",
        "required": [
          "MovementInValue",
          "PortfolioReturn",
          "ReturnsOverTime",
          "ValueVersusInvestment"
        ],
        "properties": {
          "MovementInValue": {
            "$ref": "#/components/schemas/InvestmentReports_MovementInValueDetails"
          },
          "PortfolioReturn": {
            "$ref": "#/components/schemas/InvestmentReports_PortfolioReturnDetails"
          },
          "ReturnsOverTime": {
            "$ref": "#/components/schemas/InvestmentReports_ReturnsOverTimeDetails"
          },
          "ValueVersusInvestment": {
            "$ref": "#/components/schemas/InvestmentReports_ValueVersusInvestmentDetails"
          }
        }
      },
      "InvestmentReports_InvestmentMovementAndReturnsReportApiParameters": {
        "type": "object",
        "description": "Optional toggles and index codes for movement & return calculations.",
        "required": [
          "IncludeIncomeDeclareButNotPaid",
          "IncludeCumulativeNetInvestInGraph",
          "IncludeAfterExpensesInTwr",
          "AsxIndexCode1",
          "AsxIndexCode2"
        ],
        "properties": {
          "IncludeIncomeDeclareButNotPaid": {
            "type": "boolean",
            "description": "Include income declared but not yet paid.",
            "example": true
          },
          "IncludeCumulativeNetInvestInGraph": {
            "type": "boolean",
            "description": "Overlay cumulative net investments on graphs.",
            "example": true
          },
          "IncludeAfterExpensesInTwr": {
            "type": "boolean",
            "description": "Use after-expenses values in time-weighted return.",
            "example": false
          },
          "AsxIndexCode1": {
            "type": "string",
            "description": "Primary comparison ASX index code.",
            "example": "XAO"
          },
          "AsxIndexCode2": {
            "type": "string",
            "description": "Secondary comparison ASX index code.",
            "example": "XJO"
          }
        }
      },
      "InvestmentReports_InvestmentMovementSummary": {
        "type": "object",
        "description": "Fund-level movement summary across portfolios.",
        "properties": {
          "PfItems": {
            "type": "array",
            "description": "Per-portfolio movement items.",
            "items": {
              "$ref": "#/components/schemas/InvestmentMovementSummary_PfItem"
            }
          },
          "FundCode": {
            "type": "string",
            "description": "Fund identifier.",
            "example": "demo-fund"
          },
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "DateRange": {
            "type": "string",
            "format": "date",
            "description": "Formatted representation of the reporting range.",
            "example": "2024-07-01"
          }
        }
      },
      "InvestmentReports_InvestmentPerformanceReport": {
        "type": "object",
        "description": "Fund-level investment performance across portfolios and groups.",
        "properties": {
          "FundCode": {
            "type": "string",
            "description": "Fund identifier",
            "example": "demo-fund"
          },
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "DateRange": {
            "type": "string",
            "format": "date",
            "description": "Display-friendly reporting window.",
            "example": "2024-07-01"
          },
          "CalculationMethod": {
            "$ref": "#/components/schemas/PerformanceCalculationMethod"
          },
          "GroupingType": {
            "$ref": "#/components/schemas/InvestmentGroupingType"
          },
          "PortfolioSummaries": {
            "type": "array",
            "description": "Performance summaries for each portfolio.",
            "items": {
              "$ref": "#/components/schemas/InvestmentPerformanceReport_Portfolio"
            }
          },
          "IncludeIncomeDeclared": {
            "type": "boolean",
            "description": "True to include income declared but unpaid.",
            "example": true
          },
          "DefaultPortfolioName": {
            "type": "string",
            "description": "Default portfolio name shown in the report.",
            "example": "Default"
          }
        }
      },
      "InvestmentReports_InvestmentSummary": {
        "type": "object",
        "description": "Fund-level summary of holdings, costs, markets, and estimated income.",
        "properties": {
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "FundCode": {
            "type": "string",
            "description": "Fund identifier",
            "example": "demo-fund"
          },
          "DateAsAt": {
            "type": "string",
            "format": "date",
            "description": "As-at date of the summary.",
            "example": "2025-11-01"
          },
          "MarketTypeItems": {
            "type": "array",
            "description": "Summaries grouped by market type.",
            "items": {
              "$ref": "#/components/schemas/InvestmentSummary_MarketTypeItem"
            }
          },
          "TotalCost": {
            "type": "number",
            "format": "decimal",
            "description": "Aggregate cost across all holdings.",
            "example": 3750000
          },
          "TotalMarket": {
            "type": "number",
            "format": "decimal",
            "description": "Aggregate market value across all holdings.",
            "example": 4025000
          },
          "TotalUnrealisedGain": {
            "type": "number",
            "format": "decimal",
            "description": "Unrealised gain across all holdings.",
            "example": 275000
          },
          "TotalGainPercentage": {
            "type": "number",
            "format": "decimal",
            "description": "Gain as a percentage of cost.",
            "example": 7.33
          },
          "TotalTotalPercentage": {
            "type": "number",
            "format": "decimal",
            "description": "Total portfolio percentage across categories (presentation aid).",
            "example": 100
          },
          "TotalEstimatedIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Estimated annual income from holdings.",
            "example": 125000
          },
          "TotalEstimatedYield": {
            "type": "number",
            "format": "decimal",
            "description": "Estimated yield based on market values.",
            "example": 3.1
          },
          "CostbaseType": {
            "$ref": "#/components/schemas/CostbaseType"
          }
        }
      },
      "InvestmentReports_MovementInValueDetails": {
        "type": "object",
        "description": "Movement in value components from opening to closing.",
        "properties": {
          "StartingMarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Opening market value at the start of the period. ",
            "example": 3800000
          },
          "NetAdditionWithdrawal": {
            "type": "number",
            "format": "decimal",
            "description": "Net inflows minus withdrawals.",
            "example": 150000
          },
          "TotalGainsAndLosses": {
            "type": "number",
            "format": "decimal",
            "description": "Net gains/losses from price changes.",
            "example": 120000
          },
          "TotalInvestmentIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Income received during the period.",
            "example": 90000
          },
          "MovementInIncomeDeclaredNotPaid": {
            "type": "number",
            "format": "decimal",
            "description": "Change in declared but unpaid income.",
            "example": -10000
          },
          "FundIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Net fund income after internal adjustments.",
            "example": 88000
          },
          "TotalPortfolioExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Expenses charged to the portfolio.",
            "example": 45000
          },
          "Other": {
            "type": "number",
            "format": "decimal",
            "description": "Other movements not captured elsewhere.",
            "example": 5000
          },
          "EndingMarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Closing market value at the end of the period.",
            "example": 4088000
          },
          "MovementInValue": {
            "type": "number",
            "format": "decimal",
            "description": "Net change in market value across the period.",
            "example": 288000
          }
        }
      },
      "InvestmentReports_PerformanceCalculationMethod": {
        "type": "string",
        "description": "Method used to calculate returns.",
        "enum": [
          "SimpleDietz",
          "ModifiedDietz",
          "TimeWeightedReturn"
        ]
      },
      "InvestmentReports_PortfolioReturnDetails": {
        "type": "object",
        "description": "Return components before/after expenses and index comparisons.",
        "properties": {
          "TotalGainsAndLosses": {
            "type": "number",
            "format": "decimal",
            "description": "Total gains and losses component.",
            "example": 120000
          },
          "InvestmentIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Income contributing to returns.",
            "example": 90000
          },
          "GrossIncomeDeclaredNotPaid": {
            "type": "number",
            "format": "decimal",
            "description": "Declared income not yet paid.",
            "example": 15000
          },
          "Credits": {
            "type": "number",
            "format": "decimal",
            "description": "Credits such as franking or foreign offsets.",
            "example": 10000
          },
          "TotalReturnBeforeExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Return before deducting expenses.",
            "example": 235000
          },
          "InvestmentExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Expenses deducted from returns.",
            "example": 45000
          },
          "TotalReturnAfterExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Return after deducting expenses.",
            "example": 190000
          },
          "ReturnsTable": {
            "$ref": "#/components/schemas/InvestmentReports_PortfolioReturnPeriodTable"
          }
        }
      },
      "InvestmentReports_PortfolioReturnPeriodEntry": {
        "type": "object",
        "description": "Return figures for a specific comparison period.",
        "properties": {
          "PeriodStartDate": {
            "type": "string",
            "format": "date",
            "description": "Start date of the return period.",
            "example": "2024-07-01"
          },
          "EntryType": {
            "$ref": "#/components/schemas/PortfolioReturnPeriodEntryType"
          },
          "TotalReturnBeforeExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Return before expenses for the period.",
            "example": 6.5
          },
          "TotalReturnAfterExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Return after expenses for the period.",
            "example": 5.3
          },
          "Index1Value": {
            "type": "number",
            "format": "decimal",
            "description": "Primary index performance value.",
            "example": 7.1
          },
          "Index2Value": {
            "type": "number",
            "format": "decimal",
            "description": "Secondary index performance value.",
            "example": 6.8
          },
          "HasBeenCalculated": {
            "type": "boolean",
            "description": "True if the entry was successfully calculated.",
            "example": true
          }
        }
      },
      "InvestmentReports_PortfolioReturnPeriodTable": {
        "type": "object",
        "description": "Return comparison table including reporting period and benchmarks.",
        "properties": {
          "FromDate": {
            "type": "string",
            "format": "date",
            "description": "Start date of the reporting window.",
            "example": "2024-07-01"
          },
          "ToDate": {
            "type": "string",
            "format": "date",
            "description": "End date of the reporting window.",
            "example": "2025-06-30"
          },
          "Index1Name": {
            "type": "string",
            "description": "Primary comparison index name.",
            "example": "ASX All Ordinaries (XAO)"
          },
          "Index2Name": {
            "type": "string",
            "description": "Secondary comparison index name.",
            "example": "ASX 200 (XJO)"
          },
          "ComparisonPeriods": {
            "type": "array",
            "description": "Return entries for standard comparison windows.",
            "items": {
              "$ref": "#/components/schemas/InvestmentReports_PortfolioReturnPeriodEntry"
            }
          },
          "ReportingPeriod": {
            "$ref": "#/components/schemas/InvestmentReports_PortfolioReturnPeriodEntry"
          },
          "IncludeAfterExpensesInTwr": {
            "type": "boolean",
            "description": "Include after-expenses values in TWR calculations.",
            "example": false
          }
        }
      },
      "InvestmentReports_RentalStatementReport": {
        "type": "object",
        "description": "Rental income and expense statement for property accounts.",
        "properties": {
          "StartDate": {
            "type": "string",
            "format": "date",
            "description": "Start date of the rental reporting window.",
            "example": "2024-07-01"
          },
          "EndDate": {
            "type": "string",
            "format": "date",
            "description": "End date of the rental reporting window.",
            "example": "2025-06-30"
          },
          "FundDetails": {
            "$ref": "#/components/schemas/RentalStatementReport_FundDetail"
          },
          "PropertyDetails": {
            "type": "array",
            "description": "Per-property rental details.",
            "items": {
              "$ref": "#/components/schemas/RentalStatementReport_PropertyDetail"
            }
          }
        }
      },
      "InvestmentReports_ReturnsOverTimeDetails": {
        "type": "object",
        "description": "Time series values for returns before/after expenses and index comparisons.",
        "properties": {
          "BeforeExpenses": {
            "type": "string",
            "format": "date",
            "description": "Series identifier or timestamp for before-expense returns.",
            "example": "2025-06-30"
          },
          "AfterExpenses": {
            "type": "string",
            "format": "date",
            "description": "Series identifier or timestamp for after-expense returns.",
            "example": "2025-06-30"
          },
          "ComparisonIndexOne": {
            "type": "string",
            "format": "date",
            "description": "Series identifier or timestamp for index one.",
            "example": "2025-06-30"
          },
          "ComparisonIndexTwo": {
            "type": "string",
            "format": "date",
            "description": "Series identifier or timestamp for index two.",
            "example": "2025-06-30"
          },
          "IncludeAfterExpensesInTwr": {
            "type": "boolean",
            "description": "Include after-expenses values in plotted TWR.",
            "example": false
          }
        }
      },
      "InvestmentReports_ValueVersusInvestmentDetails": {
        "type": "object",
        "description": "Portfolio value vs. cumulative net investment, optionally including cumulative series.",
        "properties": {
          "PortfolioValue": {
            "type": "string",
            "format": "date",
            "description": "Series identifier or timestamp for portfolio value.",
            "example": "2025-06-30"
          },
          "CumulativeNet": {
            "type": "string",
            "format": "date",
            "description": "Series identifier or timestamp for cumulative net investment.",
            "example": "2025-06-30"
          },
          "CumulativeNetOpeningValue": {
            "type": "number",
            "format": "decimal",
            "description": "Opening value for cumulative net investment.",
            "example": 3000000
          },
          "CumulativeNetClosingValue": {
            "type": "number",
            "format": "decimal",
            "description": "Closing value for cumulative net investment.",
            "example": 3150000
          },
          "IncludeCumulativeInGraph": {
            "type": "boolean",
            "description": "Overlay cumulative net investment on the chart.",
            "example": true
          }
        }
      },
      "InvestmentSummary_HoldingAccountItem": {
        "type": "object",
        "description": "Holding-level investment summary including market and grouping.",
        "properties": {
          "Summary": {
            "$ref": "#/components/schemas/InvestmentSummary_InvestmentPeformanceSummary"
          },
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/MarketAndSecurityInfo"
          },
          "HoldingAccountName": {
            "type": "string",
            "description": "Holding account display name.",
            "example": "BHP Group Ltd"
          },
          "HoldingAccountId": {
            "type": "string",
            "description": "Holding account identifier.",
            "example": "849f4f5f-7966-4395-9840-ed46ac9096e7"
          },
          "SecurityCode": {
            "type": "string",
            "description": "Security code/ticker.",
            "example": "BHP"
          },
          "ManagedAccountCode": {
            "type": "string",
            "description": "Managed account reference.",
            "example": "MA-001"
          },
          "Grouping": {
            "$ref": "#/components/schemas/HoldingGroupingDetails"
          }
        }
      },
      "InvestmentSummary_InvestmentPeformanceSummary": {
        "type": "object",
        "description": "Performance metrics for a single holding.",
        "properties": {
          "UnitsSpecified": {
            "type": "boolean",
            "description": "True if the Units value is present.",
            "example": true
          },
          "Units": {
            "type": "number",
            "format": "decimal",
            "description": "Units currently held.",
            "example": 10000
          },
          "AverageCost": {
            "type": "number",
            "format": "decimal",
            "description": "Average unit cost.",
            "example": 9.6
          },
          "MarketPrice": {
            "type": "number",
            "format": "decimal",
            "description": "Current market price per unit.",
            "example": 12.34
          },
          "Cost": {
            "type": "number",
            "format": "decimal",
            "description": "Total cost for the holding.",
            "example": 96000
          },
          "Market": {
            "type": "number",
            "format": "decimal",
            "description": "Current market value.",
            "example": 123400
          },
          "UnrealisedGain": {
            "type": "number",
            "format": "decimal",
            "description": "Unrealised gain amount.",
            "example": 27400
          },
          "GainPercentage": {
            "type": "number",
            "format": "decimal",
            "description": "Gain percentage vs. cost.",
            "example": 28.54
          },
          "TotalPercentage": {
            "type": "number",
            "format": "decimal",
            "description": "Holding weight in the portfolio.",
            "example": 2.75
          },
          "EstimatedIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Estimated annual income.",
            "example": 3500
          },
          "EstimatedYield": {
            "type": "number",
            "format": "decimal",
            "description": "Estimated yield percentage.",
            "example": 2.84
          },
          "SupressZeros": {
            "type": "boolean",
            "description": "Suppress zero values in output.",
            "example": true
          }
        }
      },
      "InvestmentSummary_MarketTypeItem": {
        "type": "object",
        "description": "Market type aggregation with totals for cost and value.",
        "properties": {
          "HoldingAccountItems": {
            "type": "array",
            "description": "Holdings included in the market type.",
            "items": {
              "$ref": "#/components/schemas/InvestmentSummary_HoldingAccountItem"
            }
          },
          "MarketTypeName": {
            "type": "string",
            "description": "Market type display name.",
            "example": "ASX"
          },
          "TotalCost": {
            "type": "number",
            "format": "decimal",
            "description": "Total cost across holdings in this market type.",
            "example": 1500000
          },
          "TotalMarket": {
            "type": "number",
            "format": "decimal",
            "description": "Total market value for this market type.",
            "example": 1650000
          },
          "TotalUnrealisedGain": {
            "type": "number",
            "format": "decimal",
            "description": "Total unrealised gain for this market type.",
            "example": 150000
          },
          "TotalGainPercentage": {
            "type": "number",
            "format": "decimal",
            "description": "Gain percentage for the market type.",
            "example": 10
          },
          "TotalTotalPercentage": {
            "type": "number",
            "format": "decimal",
            "description": "Percentage share of the portfolio.",
            "example": 40
          },
          "TotalEstimatedIncome": {
            "type": "number",
            "format": "decimal",
            "description": "Estimated annual income for this market type.",
            "example": 45000
          },
          "TotalEstimatedYield": {
            "type": "number",
            "format": "decimal",
            "description": "Estimated yield for this market type.",
            "example": 2.73
          }
        }
      },
      "MarketAndSecurityInfo": {
        "type": "object",
        "description": "Basic identifiers for a security and its market.",
        "properties": {
          "SecurityCode": {
            "type": "string",
            "description": "Security code or ticker.",
            "example": "BHP"
          },
          "SecurityName": {
            "type": "string",
            "description": "Security display name.",
            "example": "BHP Group Ltd"
          },
          "MarketCode": {
            "type": "string",
            "description": "Market identifier.",
            "example": "ASX"
          },
          "MarketAcronym": {
            "type": "string",
            "description": "Market acronym.",
            "example": "ASX"
          }
        }
      },
      "MovementType": {
        "type": "string",
        "description": "Type of movement applied to a holding or cost base.",
        "enum": [
          "CapitalHoldingTransaction",
          "CostBaseAdjustmentTransaction",
          "QuantityAdjustmentTransaction",
          "IncomeExpenseTransaction"
        ],
        "example": "CapitalHoldingTransaction"
      },
      "PerformanceCalculationMethod": {
        "type": "string",
        "description": "Method for performance calculation.",
        "enum": [
          "SimpleDietz",
          "ModifiedDietz",
          "TimeWeightedReturn"
        ],
        "example": "TimeWeightedReturn"
      },
      "PerformancePeriod": {
        "type": "object",
        "description": "Computed performance period statistics.",
        "properties": {
          "StartDate": {
            "type": "string",
            "format": "date",
            "description": "Start date of the performance period.",
            "example": "2024-07-01"
          },
          "EndDate": {
            "type": "string",
            "format": "date",
            "description": "End date of the performance period.",
            "example": "2025-06-30"
          },
          "StartingPortfolioValue": {
            "type": "number",
            "format": "decimal",
            "description": "Portfolio value at the start of the period.",
            "example": 3800000
          },
          "EndingPortfolioValue": {
            "type": "number",
            "format": "decimal",
            "description": "Portfolio value at the end of the period.",
            "example": 4088000
          },
          "FundExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Expenses charged during the period.",
            "example": 45000
          },
          "NetFlows": {
            "type": "number",
            "format": "decimal",
            "description": "Net contributions minus withdrawals.",
            "example": 150000
          },
          "CumulativeReturn": {
            "type": "number",
            "format": "decimal",
            "description": "Cumulative return amount.",
            "example": 288000
          },
          "CumulativeReturnCalcFailed": {
            "type": "boolean",
            "description": "True if cumulative return calculation failed.",
            "example": false
          },
          "CumulativeReturnPercentage": {
            "type": "number",
            "format": "decimal",
            "description": "Cumulative return percentage.",
            "example": 7.58
          },
          "PeriodReturn": {
            "type": "number",
            "format": "decimal",
            "description": "Return during the period.",
            "example": 23850.75
          }
        }
      },
      "Portfolio": {
        "type": "object",
        "description": "Portfolio metadata and holdings.",
        "properties": {
          "Key": {
            "type": "string",
            "description": "Unique portfolio key.",
            "example": "PF-001"
          },
          "Name": {
            "type": "string",
            "description": "Portfolio display name.",
            "example": "Balanced Growth"
          },
          "SortingValue": {
            "type": "string",
            "description": "Value used for sorting portfolios.",
            "example": "001"
          },
          "HoldingAccounts": {
            "type": "array",
            "description": "Holdings included in the portfolio.",
            "items": {
              "$ref": "#/components/schemas/Portfolio_HoldingSummary"
            }
          }
        }
      },
      "PortfolioPerformanceData": {
        "type": "object",
        "description": "Comprehensive dataset for portfolio performance calculations.",
        "properties": {
          "Portfolio": {
            "$ref": "#/components/schemas/Portfolio"
          },
          "StartDate": {
            "type": "string",
            "format": "date",
            "description": "Start date for the performance dataset.",
            "example": "2024-07-01"
          },
          "EndDate": {
            "type": "string",
            "format": "date",
            "description": "End date for the performance dataset.",
            "example": "2025-06-30"
          },
          "Movements": {
            "type": "array",
            "description": "Actual movements recorded.",
            "items": {
              "$ref": "#/components/schemas/Summaries_HoldingAccountMovement"
            }
          },
          "ExpectedMovements": {
            "type": "array",
            "description": "Expected movements used for forecasting.",
            "items": {
              "$ref": "#/components/schemas/Summaries_HoldingAccountMovement"
            }
          },
          "Valuations": {
            "type": "array",
            "description": "Daily valuations for holdings.",
            "items": {
              "$ref": "#/components/schemas/HoldingDailyValuation"
            }
          },
          "DailyFlows": {
            "type": "array",
            "description": "Daily cash flows and income per holding.",
            "items": {
              "$ref": "#/components/schemas/PortfolioPerformanceData_HoldingDailyFlowDetails"
            }
          },
          "Periods": {
            "type": "array",
            "description": "Computed performance periods.",
            "items": {
              "$ref": "#/components/schemas/PerformancePeriod"
            }
          },
          "IsBenchmark": {
            "type": "boolean",
            "description": "True if this dataset represents a benchmark.",
            "example": false
          },
          "BenchmarkId": {
            "type": "string",
            "description": "Identifier of the benchmark if applicable.",
            "example": "a91527f3-c5d8-4b82-8eca-06306c5d8052"
          }
        }
      },
      "PortfolioPerformanceData_HoldingDailyFlowDetails": {
        "type": "object",
        "description": "Flow and quantity changes per holding for a given date.",
        "properties": {
          "HoldingAccountId": {
            "type": "string",
            "description": "Holding account identifier.",
            "example": "e9c64abd-381e-4f85-a109-a6a03dbe3e9e"
          },
          "Date": {
            "type": "string",
            "format": "date",
            "description": "Transaction date.",
            "example": "2025-11-10"
          },
          "Flow": {
            "type": "number",
            "format": "decimal",
            "description": "Net cash flow amount.",
            "example": 1500
          },
          "Income": {
            "type": "number",
            "format": "decimal",
            "description": "Income amount recorded for the day.",
            "example": 45
          },
          "TaxCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Tax credits recorded for the day.",
            "example": 3.5
          },
          "HoldingFlow": {
            "$ref": "#/components/schemas/HoldingDailyAccountFlowDetails"
          },
          "QuantityChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in units for the day.",
            "example": 250
          }
        }
      },
      "PortfolioReturnPeriodEntryType": {
        "type": "string",
        "description": "Standard comparison window for return tables.",
        "enum": [
          "ReportRange",
          "OneYear",
          "ThreeYear",
          "SinceOnSystemDate"
        ],
        "example": "ReportRange"
      },
      "Portfolio_HoldingSummary": {
        "type": "object",
        "description": "Summary details for a holding within a portfolio.",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Holding identifier.",
            "example": "f0bea727-0087-42c4-9914-ce43489f16c7"
          },
          "Code": {
            "type": "string",
            "description": "Security Code",
            "example": "BHP"
          },
          "ManagedAccountCode": {
            "type": "string",
            "description": "Managed account reference.",
            "example": "MA-001"
          },
          "Name": {
            "type": "string",
            "description": "Holding display name.",
            "example": "BHP Group Ltd"
          },
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/Securities_MarketAndSecurityInfo"
          },
          "HoldingAccountType": {
            "$ref": "#/components/schemas/HoldingAccountType"
          },
          "IncludeInPerformanceReports": {
            "type": "boolean",
            "description": "True to include the holding in performance reports.",
            "example": true
          },
          "PropertyType": {
            "type": "string",
            "description": "Property classification if the holding is a property.",
            "enum": [
              "Commercial",
              "Residential"
            ],
            "example": "Commercial"
          }
        }
      },
      "RentalStatementReport_BalanceDetail": {
        "type": "object",
        "description": "Single rental statement income/expense or balance entry.",
        "properties": {
          "Type": {
            "type": "string",
            "description": "Category of the balance detail.",
            "example": "Repairs and maintenance"
          },
          "TaxReturnLabel": {
            "type": "string",
            "description": "Tax return label mapping (ATO label if applicable).",
            "example": "D3"
          },
          "Amount": {
            "type": "number",
            "format": "decimal",
            "description": "Amount for the category.",
            "example": 1250
          },
          "PriorYearAmount": {
            "type": "number",
            "format": "decimal",
            "description": "Prior year amount for comparison.",
            "example": 1100
          }
        }
      },
      "RentalStatementReport_FundDetail": {
        "type": "object",
        "description": "Fund identifiers included on the rental statement.",
        "properties": {
          "FundName": {
            "type": "string",
            "description": "Fund display name.",
            "example": "DEMO_SMSF_2025"
          },
          "FundCode": {
            "type": "string",
            "description": "Fund identifier.",
            "example": "demo-fund"
          },
          "ABN": {
            "type": "string",
            "description": "Australian Business Number.",
            "example": "12345678901"
          }
        }
      },
      "RentalStatementReport_PropertyDetail": {
        "type": "object",
        "description": "Rental statement details for a single property.",
        "properties": {
          "AccountName": {
            "type": "string",
            "description": "Property account display name.",
            "example": "123 George Street Sydney NSW 2000"
          },
          "Type": {
            "$ref": "#/components/schemas/PropertyType"
          },
          "Address": {
            "$ref": "#/components/schemas/AddressSummary"
          },
          "NumberOfWeeksRented": {
            "type": "integer",
            "format": "int32",
            "description": "Weeks the property was rented during the period.",
            "example": 48
          },
          "IncomeAmounts": {
            "type": "array",
            "description": "List of income amounts for the property.",
            "items": {
              "$ref": "#/components/schemas/RentalStatementReport_BalanceDetail"
            }
          },
          "ExpenseAmounts": {
            "type": "array",
            "description": "List of expense amounts for the property.",
            "items": {
              "$ref": "#/components/schemas/RentalStatementReport_BalanceDetail"
            }
          },
          "GrossRent": {
            "type": "number",
            "format": "decimal",
            "description": "Total rent received.",
            "example": 48000
          },
          "PriorYearGrossRent": {
            "type": "number",
            "format": "decimal",
            "description": "Prior year rent received.",
            "example": 47000
          },
          "TotalExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Total expenses incurred.",
            "example": 12000
          },
          "PriorYearTotalExpenses": {
            "type": "number",
            "format": "decimal",
            "description": "Prior year expenses.",
            "example": 11000
          },
          "NetRent": {
            "type": "number",
            "format": "decimal",
            "description": "Net rent (gross minus expenses).",
            "example": 36000
          },
          "PriorYearNetRent": {
            "type": "number",
            "format": "decimal",
            "description": "Prior year net rent.",
            "example": 36000
          }
        }
      },
      "Securities_MarketAndSecurityInfo": {
        "type": "object",
        "description": "Security identifiers for holdings in portfolio context.",
        "properties": {
          "SecurityCode": {
            "type": "string",
            "description": "Security code",
            "example": "BHP"
          },
          "SecurityName": {
            "type": "string",
            "description": "Security display name.",
            "example": "BHP Group Ltd"
          },
          "MarketCode": {
            "type": "string",
            "description": "Market identifier.",
            "example": "ASX"
          },
          "MarketAcronym": {
            "type": "string",
            "description": "Market acronym.",
            "example": "ASX"
          }
        }
      },
      "StandardApiResponse": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiResponseBase"
          }
        ]
      },
      "Summaries_HoldingAccountMovement": {
        "type": "object",
        "description": "Movement record for a holding account including dates and amounts.",
        "properties": {
          "TransactionId": {
            "type": "string",
            "description": "Unique identifier of the transaction.",
            "example": "ed6dd4ef-50e7-47b5-b518-44610fec1877"
          },
          "HoldingAccountId": {
            "type": "string",
            "description": "Holding account identifier.",
            "example": "ed6dd4ef-50e7-47b5-b518-44610fec1877"
          },
          "EntitlementDate": {
            "type": "string",
            "format": "date",
            "description": "Date on which entitlement is recorded.",
            "example": "2025-09-15"
          },
          "PaymentDate": {
            "type": "string",
            "format": "date",
            "description": "Date on which payment is made.",
            "example": "2025-09-20"
          },
          "MovementDate": {
            "type": "string",
            "format": "date",
            "description": "Effective date of the movement.",
            "example": "2025-09-15"
          },
          "MovementType": {
            "$ref": "#/components/schemas/MovementType"
          },
          "TransactionAmount": {
            "type": "number",
            "format": "decimal",
            "description": "Amount of the transaction.",
            "example": 450.75
          },
          "ProfitOrLoss": {
            "type": "number",
            "format": "decimal",
            "description": "Realised profit or loss.",
            "example": 350
          },
          "QuantityChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in units from the movement.",
            "example": 250
          },
          "BookCostChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in cost base from the movement.",
            "example": 6000
          },
          "DepreciatedAmount": {
            "type": "number",
            "format": "decimal",
            "description": "Depreciation amount if applicable.",
            "example": 0
          },
          "ChangeInMarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Change in market value caused by the movement.",
            "example": 2400
          },
          "FlowAmount": {
            "type": "number",
            "format": "decimal",
            "description": "Net cash flow associated with the movement.",
            "example": 1500
          },
          "IncludeInMarketValuation": {
            "type": "boolean",
            "description": "True if the movement is included in valuation.",
            "example": true
          },
          "IsFrankingCredit": {
            "type": "boolean",
            "description": "True if the movement represents a franking credit.",
            "example": false
          },
          "IncomeAccountedDate": {
            "type": "string",
            "format": "date",
            "description": "Date on which the income is accounted.",
            "example": "2025-09-21"
          }
        }
      },
      "TrustIncomeScheduleReconciliationReportGetResponse": {
        "type": "object",
        "description": "API response for the Trust Income Schedule reconciliation report.",
        "properties": {
          "Data": {
            "type": "object",
            "description": "Payload containing the reconciliation results.",
            "properties": {
              "StartDate": {
                "type": "string",
                "description": "Start date for the reconciliation period.",
                "example": "2023-07-01"
              },
              "EndDate": {
                "type": "string",
                "description": "End date for the reconciliation period.",
                "example": "2024-06-30"
              },
              "FundName": {
                "type": "string",
                "description": "Full name of the fund.",
                "example": "DEMO_SMSF_2025"
              },
              "Summaries": {
                "type": "array",
                "description": "Per-holding distribution summaries.",
                "items": {
                  "$ref": "#/components/schemas/TrustIncomeScheduleDistHoldingsSummaries"
                },
                "xml": {
                  "name": "Summaries",
                  "wrapped": true
                }
              },
              "Totals": {
                "$ref": "#/components/schemas/TotalsTrustIncomeScheduleReconciliation"
              },
              "InvestmentGroups": {
                "type": "array",
                "description": "Investment groups for presentation and totals.",
                "items": {
                  "type": "object",
                  "properties": {
                    "Name": {
                      "type": "string",
                      "description": "Group name.",
                      "example": "Managed Fund Markets"
                    },
                    "TISDistHoldingsSummaries": {
                      "type": "array",
                      "description": "Trust income schedule distribution summaries within the group.",
                      "items": {
                        "$ref": "#/components/schemas/TrustIncomeScheduleDistHoldingsSummaries"
                      }
                    },
                    "Totals": {
                      "$ref": "#/components/schemas/TotalsTrustIncomeScheduleReconciliation"
                    },
                    "InvestmentGroupingType": {
                      "type": "string",
                      "description": "Grouping dimension applied within the report.",
                      "example": "MarketType"
                    }
                  }
                },
                "xml": {
                  "name": "ApiResponse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"",
                  "wrapped": false
                }
              }
            }
          }
        }
      },
      "TotalsTrustIncomeScheduleReconciliation": {
        "type": "object",
        "description": "Aggregate totals across the trust income schedule reconciliation.",
        "properties": {
          "NonPrimaryProductionIncome": {
            "type": "number",
            "description": "Income unrelated to primary production.",
            "example": 0
          },
          "FrankedDistribution": {
            "type": "number",
            "description": "Franked distribution totals.",
            "example": 0
          },
          "FrankingCredits": {
            "type": "number",
            "description": "Total franking credits.",
            "example": 0
          },
          "TFNWithHeld": {
            "type": "number",
            "description": "Tax File Number withholding amounts.",
            "example": 0
          },
          "WithholdingTax": {
            "type": "number",
            "description": "Withholding tax totals.",
            "example": 0
          },
          "ForeignWithheld": {
            "type": "number",
            "description": "Foreign tax withheld amounts.",
            "example": 0
          },
          "CapitalReturns": {
            "type": "number",
            "description": "Return of capital totals.",
            "example": 0
          },
          "CapitalGains": {
            "type": "number",
            "description": "Capital gains totals.",
            "example": 0
          },
          "GrossCapitalGains": {
            "type": "number",
            "description": "Total gross capital gains.",
            "example": 0
          },
          "CGTDiscountApplied": {
            "type": "number",
            "description": "Discount applied to capital gains under CGT rules.",
            "example": 0
          },
          "OtherAssesableForeignIncome": {
            "type": "number",
            "description": "Other assessable foreign income.",
            "example": 0
          },
          "ForeignIncomeTaxOffset": {
            "type": "number",
            "description": "Foreign income tax offset total.",
            "example": 0
          },
          "ForeignShareOfCreditTaxWithheld": {
            "type": "number",
            "description": "Foreign share of credit tax withheld.",
            "example": 0
          },
          "TaxExempt": {
            "type": "number",
            "description": "Tax-exempt amounts.",
            "example": 0
          },
          "TaxFree": {
            "type": "number",
            "description": "Tax-free amounts.",
            "example": 0
          },
          "TaxDeferred": {
            "type": "number",
            "description": "Tax-deferred amounts.",
            "example": 0
          },
          "AmitAmount": {
            "type": "number",
            "description": "AMIT adjustment totals.",
            "example": 0
          }
        }
      },
      "TrustIncomeScheduleDistHoldingsSummaries": {
        "type": "object",
        "description": "Distribution summaries for a single holding within the trust income schedule.",
        "properties": {
          "HoldingAccountName": {
            "type": "string",
            "description": "Holding account display name.",
            "example": "AMP CustomSuper - Colonial First StatWholesale Property Securities"
          },
          "HoldingAccountCode": {
            "type": "string",
            "description": "Internal holding account code.",
            "example": "BFL0019AU"
          },
          "SecurityCode": {
            "type": "string",
            "description": "Security code where applicable.",
            "example": "CFS-WPS"
          },
          "ManagedAccountCode": {
            "type": "string",
            "description": "Managed account code where applicable.",
            "example": "MA-001"
          },
          "MarketAndSecurityInfo": {
            "$ref": "#/components/schemas/MarketAndSecurityInfo"
          },
          "NonPrimaryProductionIncome": {
            "type": "number",
            "description": "Income unrelated to primary production.",
            "example": 0
          },
          "FrankedDistribution": {
            "type": "number",
            "description": "Franked distribution amount.",
            "example": 0
          },
          "FrankingCredits": {
            "type": "number",
            "description": "Franking credits amount.",
            "example": 0
          },
          "TFNWithHeld": {
            "type": "number",
            "description": "TFN withheld amount.",
            "example": 0
          },
          "ForeignWithheld": {
            "type": "number",
            "description": "Foreign tax withheld amount.",
            "example": 0
          },
          "CapitalReturns": {
            "type": "number",
            "description": "Return of capital amount.",
            "example": 0
          },
          "CapitalGains": {
            "type": "number",
            "description": "Capital gains amount.",
            "example": 0
          },
          "GrossCapitalGains": {
            "type": "number",
            "description": "Gross capital gains amount.",
            "example": 0
          },
          "CGTDiscountApplied": {
            "type": "number",
            "description": "CGT discount applied amount.",
            "example": 0
          },
          "OtherAssessableForeignIncome": {
            "type": "number",
            "description": "Other assessable foreign income.",
            "example": 0
          },
          "ForeignIncomeTaxOffset": {
            "type": "number",
            "description": "Foreign income tax offset amount.",
            "example": 0
          },
          "TaxExempt": {
            "type": "number",
            "description": "Tax-exempt amount.",
            "example": 0
          },
          "TaxFree": {
            "type": "number",
            "description": "Tax-free amount.",
            "example": 0
          },
          "TaxDeferred": {
            "type": "number",
            "description": "Tax-deferred amount.",
            "example": 0
          },
          "AmitAmount": {
            "type": "number",
            "description": "AMIT adjustment amount.",
            "example": 0
          },
          "Grouping": {
            "type": "object",
            "description": "Grouping tags for the holding.",
            "properties": {
              "tags": {
                "type": "array",
                "description": "Grouping tags collection.",
                "items": {
                  "type": "object",
                  "properties": {
                    "Type": {
                      "type": "string",
                      "description": "Grouping type.",
                      "example": "AssetPool"
                    },
                    "Value": {
                      "type": "string",
                      "description": "Grouping value.",
                      "example": "Default Pool"
                    }
                  }
                }
              }
            }
          },
          "GrossDistribution": {
            "type": "number",
            "description": "Gross distribution amount.",
            "example": 0
          },
          "GrossTaxStatement": {
            "type": "number",
            "description": "Gross tax statement amount.",
            "example": 0
          },
          "Variance": {
            "type": "number",
            "description": "Difference between internal and external totals.",
            "example": 0
          }
        }
      },
      "InternalErrorCommon": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "example": "API_INTERNAL_ERROR"
          },
          "Message": {
            "type": "string",
            "example": "An unexpected error occurred on the server. Please try again later."
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForbiddenErrorCommon": {
        "type": "object",
        "description": "Forbidden error payload when access is denied.",
        "properties": {
          "Code": {
            "type": "string",
            "example": "FORBIDDEN"
          },
          "Message": {
            "type": "string",
            "example": "You do not have permission to access this resource."
          }
        }
      },
      "ResourceUnavailableErrorCommon": {
        "type": "object",
        "description": "Error payload when a resource is not available.",
        "properties": {
          "Code": {
            "type": "string",
            "example": "API_NOT_FOUND"
          },
          "Message": {
            "type": "string",
            "example": "Resource not available or user does not have access to the fund."
          }
        }
      },
      "UnauthorizedErrorCommon": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "example": "API_NOT_AUTHORISED"
          },
          "Message": {
            "type": "string",
            "example": "Not authorised"
          }
        }
      },
      "PropertyType": {
        "type": "string",
        "description": "Property classification for rental statements.",
        "enum": [
          "Commercial",
          "Residential"
        ],
        "example": "Commercial"
      }
    },
    "securitySchemes": {
      "Class_oAuth": {
        "type": "oauth2",
        "description": "Class uses oAuth2 and OpenID for authentication and authorisation",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://apigateway.class-pie.com.au/connect/authorize",
            "tokenUrl": "https://apigateway.class-pie.com.au/connect/token",
            "scopes": {
              "business.fund.list": "List summarised data of funds in the business",
              "business.fund.create": "Create new funds in the business",
              "fund.details.read": "View basic fund details",
              "fund.details.maintain": "View and maintain basic fund details",
              "fund.member.read": "View member details",
              "fund.member.maintain": "View and maintain member details",
              "fund.read": "View all fund information",
              "fund.maintain": "View and maintain all fund information"
            }
          }
        }
      }
    }
  }
}