{
  "openapi": "3.0.1",
  "info": {
    "x-metadata": {
      "tags": [
        "Class Partner"
      ]
    },
    "title": "Investment Data",
    "version": "1.0",
    "description": "Provides endpoints for accessing and managing investment data, holding accounts, daily valuations, feed reconciliations, and bank account movements within a fund.\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>"
  },
  "tags": [
    {
      "name": "Fund",
      "description": "This refers to data held at an individual Fund level. Most of the end data entered into Class will be at a Fund level e.g. member and transaction date, this applies uniquely to the entity."
    }
  ],
  "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}/investment-data/holding-accounts/{holdingAccountId}/bank-account-movements": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "getBankAccountMovements",
        "summary": "Bank account movements",
        "description": "Retrieves bank account movements for a specific holding account.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "$ref": "#/components/parameters/holdingAccountIdPathParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "description": "Start date for the reporting period (YYYY-MM-DD)",
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": true,
            "description": "End date for the reporting period (YYYY-MM-DD)",
            "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/InvestmentData_BankAccountMovementsDetail"
                    },
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "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}/investment-data/holding-accounts/{holdingAccountId}/feed-reconciliation": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "getFeedReconciliation",
        "summary": "Feed reconciliation",
        "description": "Retrieves feed reconciliation items for a specific holding account.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "$ref": "#/components/parameters/holdingAccountIdPathParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "description": "Start date for the reporting period (YYYY-MM-DD)",
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": true,
            "description": "End date for the reporting period (YYYY-MM-DD)",
            "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/InvestmentData_FeedReconciliationDetail"
                    },
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "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}/investment-data/find-holding-accounts": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "findHoldingAccounts",
        "summary": "Find holding accounts",
        "description": "Searches and retrieves holding accounts based on specified criteria within the Fund.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/HoldingAccountData_HoldingAccountDetail"
                    },
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse",
                        "name": "Errors"
                      }
                    }
                  }
                }
              }
            }
          },
          "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}/investment-data/holding-account-list": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "getHoldingAccounts",
        "summary": "Holding accounts",
        "description": "Retrieves a list of all holding accounts within the Fund.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/HoldingAccountData_HoldingAccountDetail"
                    },
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                },
                "example": {
                  "Data": [
                    {
                      "Id": "6b4bf42c-5100-4da2-83a2-35201f9c06aa",
                      "Code": "AMP",
                      "FundId": "15c609de-b2da-4001-9fbb-98b89c4cdf74",
                      "FundCode": "DEMO_SMSF_2025",
                      "BusinessCode": "demo-business",
                      "Description": "AMP Limited",
                      "MarketType": "Listed Securities Market",
                      "MarketCode": "ASX",
                      "Quantity": 5000,
                      "Cost": 22500,
                      "MarketPrice": 1.42,
                      "MarketValue": 7100,
                      "EffectiveStatusCode": "Active",
                      "FundHoldingReference": "Open Markets - 158948",
                      "AssetPoolName": "Default Pool",
                      "SecurityIssueCode": "AMP",
                      "GLInvestmentClassificationDescription": "Shares in Listed Companies",
                      "GLInvestmentClassificationCode": "ListedShares",
                      "Type": "InvestmentAccount",
                      "BankAccountDetails": null
                    },
                    {
                      "Id": "3a9c71d8-2e5f-4b8a-a140-7d6e93f12c55",
                      "Code": "BHP",
                      "FundId": "15c609de-b2da-4001-9fbb-98b89c4cdf74",
                      "FundCode": "DEMO_SMSF_2025",
                      "BusinessCode": "demo-business",
                      "Description": "BHP Group Limited",
                      "MarketType": "Listed Securities Market",
                      "MarketCode": "ASX",
                      "Quantity": 550,
                      "Cost": 19250,
                      "MarketPrice": 44.2,
                      "MarketValue": 24307.38,
                      "EffectiveStatusCode": "Active",
                      "FundHoldingReference": "Open Markets - 158948",
                      "AssetPoolName": "Default Pool",
                      "SecurityIssueCode": "BHP",
                      "GLInvestmentClassificationDescription": "Shares in Listed Companies",
                      "GLInvestmentClassificationCode": "ListedShares",
                      "Type": "InvestmentAccount",
                      "BankAccountDetails": null
                    },
                    {
                      "Id": "f1153e6b-ff68-4ca5-9ea8-ae83765df9df",
                      "Code": "BA17",
                      "FundId": "15c609de-b2da-4001-9fbb-98b89c4cdf74",
                      "FundCode": "DEMO_SMSF_2025",
                      "BusinessCode": "demo-business",
                      "Description": "Macquarie CMA",
                      "MarketType": "Bank",
                      "MarketCode": null,
                      "Quantity": 31407.38,
                      "Cost": 31407.38,
                      "MarketPrice": 1,
                      "MarketValue": 31407.38,
                      "EffectiveStatusCode": "Active",
                      "FundHoldingReference": "123-456 - 971312328",
                      "AssetPoolName": "Default Pool",
                      "SecurityIssueCode": "BACCT",
                      "GLInvestmentClassificationDescription": "Cash At Bank",
                      "GLInvestmentClassificationCode": "OtherAssets.CashAtBank",
                      "Type": "BankAccount",
                      "BankAccountDetails": {
                        "BsbCode": "123-456",
                        "AccountNumber": "971312328",
                        "AccountName": "Class Super Pty Ltd ATF DEMO_SMSF_2025 Superannuation Fund"
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse",
                        "name": "Errors"
                      }
                    }
                  }
                }
              }
            }
          },
          "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}/investment-data/holding-daily-info": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "getHoldingDailyInformation",
        "summary": "Holding daily information",
        "description": "Retrieves daily position and flow information for all holdings within the Fund for a specified date range.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "description": "Start date for the reporting period (YYYY-MM-DD)",
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": true,
            "description": "End date for the reporting period (YYYY-MM-DD)",
            "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/InvestmentData_HoldingsDailyInformationDetail"
                    },
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse",
                        "name": "Errors"
                      }
                    }
                  }
                }
              }
            }
          },
          "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}/investment-data/holding-account-valuation": {
      "get": {
        "tags": [
          "Fund"
        ],
        "operationId": "getHoldingsDailyValuations",
        "summary": "Holdings daily valuations",
        "description": "Retrieves daily valuations for all holdings within the Fund for a specified date range.",
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "description": "Start date for the reporting period (YYYY-MM-DD)",
            "schema": {
              "type": "string",
              "format": "date",
              "example": "2024-07-01"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": true,
            "description": "End date for the reporting period (YYYY-MM-DD)",
            "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/InvestmentData_HoldingsDailyValuationsDetail"
                    },
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse",
                        "name": "Errors"
                      }
                    }
                  }
                }
              }
            }
          },
          "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}/investment-data/holding-accounts": {
      "get": {
        "operationId": "getHoldingAccountsDetail",
        "summary": "Holding accounts detail",
        "description": "Retrieves detailed information for all holding accounts within the fund, including security codes, market types, statuses, and investment classifications.",
        "tags": [
          "Fund"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentData_HoldingAccountsDetailData"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                },
                "example": {
                  "Data": {
                    "Links": [
                      {
                        "Url": "/api/1.0/f/demo-business/demo-fund/fund-data/fund-detail",
                        "Relation": "fund"
                      },
                      {
                        "Url": "/api/1.0/f/demo-business/demo-fund/investment-data/holding-accounts",
                        "Relation": "self"
                      }
                    ],
                    "HoldingAccounts": [
                      {
                        "Links": [
                          {
                            "Url": "/api/1.0/f/demo-business/demo-fund/investment-data/holding-accounts/6b4bf42c-5100-4da2-83a2-35201f9c06aa",
                            "Relation": "self"
                          }
                        ],
                        "Id": "6b4bf42c-5100-4da2-83a2-35201f9c06aa",
                        "Code": "AMP",
                        "Description": "AMP Limited",
                        "SecurityIssueCode": "AMP",
                        "MarketType": "Listed Securities Market",
                        "MarketCode": "ASX",
                        "Status": "Active",
                        "IsInhouseAsset": false,
                        "Type": "InvestmentAccount",
                        "GLInvestmentClassification": {
                          "Code": "ListedShares",
                          "Description": "Shares in Listed Companies"
                        }
                      },
                      {
                        "Links": [
                          {
                            "Url": "/api/1.0/f/demo-business/demo-fund/investment-data/holding-accounts/f1153e6b-ff68-4ca5-9ea8-ae83765df9df",
                            "Relation": "self"
                          }
                        ],
                        "Id": "f1153e6b-ff68-4ca5-9ea8-ae83765df9df",
                        "Code": "BA17",
                        "Description": "AUD bank account with balance",
                        "SecurityIssueCode": "BACCT",
                        "MarketType": "Bank",
                        "MarketCode": null,
                        "Status": "Active",
                        "IsInhouseAsset": false,
                        "Type": "BankAccount",
                        "GLInvestmentClassification": {
                          "Code": "OtherAssets.CashAtBank",
                          "Description": "Cash At Bank"
                        }
                      },
                      {
                        "Links": [
                          {
                            "Url": "/api/1.0/f/demo-business/demo-fund/investment-data/holding-accounts/d86642cd-74db-4bd6-bae3-f12b5fc6f95d",
                            "Relation": "self"
                          }
                        ],
                        "Id": "d86642cd-74db-4bd6-bae3-f12b5fc6f95d",
                        "Code": "FX01",
                        "Description": "FX bank account with balance",
                        "SecurityIssueCode": "BACCT",
                        "MarketType": "Bank - Foreign",
                        "MarketCode": null,
                        "Status": "Active",
                        "IsInhouseAsset": true,
                        "Type": "ForeignBankAccount",
                        "GLInvestmentClassification": {
                          "Code": "OtherAssets.ForeignCashAtBank",
                          "Description": "Foreign Cash At Bank"
                        }
                      },
                      {
                        "Links": [
                          {
                            "Url": "/api/1.0/f/demo-business/demo-fund/investment-data/holding-accounts/a1e7dfe4-59c2-42b9-ad62-9ce82c23719c",
                            "Relation": "self"
                          }
                        ],
                        "Id": "a1e7dfe4-59c2-42b9-ad62-9ce82c23719c",
                        "Code": "PA1",
                        "Description": "Property Account 1",
                        "SecurityIssueCode": "PD",
                        "MarketType": "Property Direct Market",
                        "MarketCode": null,
                        "Status": "Active",
                        "IsInhouseAsset": false,
                        "Type": "PropertyAccount",
                        "GLInvestmentClassification": {
                          "Code": "Property",
                          "Description": "Direct Property"
                        }
                      },
                      {
                        "Links": [
                          {
                            "Url": "/api/1.0/f/demo-business/demo-fund/investment-data/holding-accounts/fab6127b-c198-4052-b523-6f0ffb6fa3cd",
                            "Relation": "self"
                          }
                        ],
                        "Id": "fab6127b-c198-4052-b523-6f0ffb6fa3cd",
                        "Code": "TD",
                        "Description": "TermDeposit01",
                        "SecurityIssueCode": "TDS",
                        "MarketType": "Term Deposits",
                        "MarketCode": null,
                        "Status": "Active",
                        "IsInhouseAsset": false,
                        "Type": "TermDepositAccount",
                        "GLInvestmentClassification": {
                          "Code": "OtherFixedInterest",
                          "Description": "Other Fixed Interest Securities"
                        }
                      }
                    ]
                  },
                  "Errors": []
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse",
                        "name": "Errors"
                      }
                    }
                  }
                }
              }
            }
          },
          "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}/investment-data/holding-accounts/{holdingAccountId}": {
      "get": {
        "operationId": "getHoldingAccountDetail",
        "summary": "Holding account detail",
        "description": "Retrieves detailed information for a single holding account within the fund by its unique identifier.",
        "tags": [
          "Fund"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/businessCodeParam"
          },
          {
            "$ref": "#/components/parameters/fundCodeParam"
          },
          {
            "name": "holdingAccountId",
            "in": "path",
            "description": "The unique identifier (GUID) of the holding account to retrieve.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "example": "6b4bf42c-5100-4da2-83a2-35201f9c06aa"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success (Ok)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "Data"
                  ],
                  "properties": {
                    "Data": {
                      "$ref": "#/components/schemas/InvestmentData_HoldingAccountDetailData"
                    }
                  },
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ApiResponseBase"
                    }
                  ]
                },
                "example": {
                  "Data": {
                    "Links": [
                      {
                        "Url": "/api/1.0/f/demo-business/demo-fund/fund-data/fund-detail",
                        "Relation": "fund"
                      },
                      {
                        "Url": "/api/1.0/f/demo-business/demo-fund/investment-data/holding-accounts/6b4bf42c-5100-4da2-83a2-35201f9c06aa",
                        "Relation": "self"
                      }
                    ],
                    "Id": "6b4bf42c-5100-4da2-83a2-35201f9c06aa",
                    "Code": "AMP",
                    "Description": "AMP Limited",
                    "SecurityIssueCode": "AMP",
                    "MarketType": "Listed Securities Market",
                    "MarketCode": "ASX",
                    "Status": "Active",
                    "IsInhouseAsset": false,
                    "Type": "InvestmentAccount",
                    "GLInvestmentClassification": {
                      "Code": "ListedShares",
                      "Description": "Shares in Listed Companies"
                    }
                  },
                  "Errors": []
                }
              }
            }
          },
          "400": {
            "description": "Error Message",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Errors": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ErrorResponse",
                        "name": "Errors"
                      }
                    }
                  }
                }
              }
            }
          },
          "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": {
    "schemas": {
      "ApiError": {
        "type": "object",
        "description": "Represents an error returned by the API",
        "required": [
          "Code",
          "Message"
        ],
        "properties": {
          "Code": {
            "type": "string",
            "description": "A unique error code identifying the type of error",
            "example": "VALIDATION_ERROR"
          },
          "Message": {
            "type": "string",
            "description": "A human-readable message describing the error",
            "example": "The request contains invalid data"
          }
        }
      },
      "ApiResponseBase": {
        "type": "object",
        "description": "Base response structure for all API responses",
        "required": [
          "Errors"
        ],
        "properties": {
          "ErrorCodes": {
            "type": "array",
            "description": "List of error codes returned by the API",
            "items": {
              "type": "string"
            },
            "example": []
          },
          "Errors": {
            "type": "array",
            "description": "List of detailed error objects",
            "items": {
              "$ref": "#/components/schemas/ApiError"
            }
          }
        }
      },
      "HoldingAccountData_BankAccountDetail": {
        "type": "object",
        "properties": {
          "BsbCode": {
            "type": "string",
            "description": "Identifying the financial institution and branch for the bank.",
            "example": "123-456"
          },
          "AccountNumber": {
            "type": "string",
            "description": "Bank account number as provided by the financial institution.",
            "example": "000123456"
          },
          "AccountName": {
            "type": "string",
            "description": "Account holder name as it appears on the bank account.",
            "example": "Operating Cash Account"
          }
        }
      },
      "HoldingAccountData_HoldingAccountDetail": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the holding account record.",
            "example": "6b4bf42c-5100-4da2-83a2-35201f9c06aa"
          },
          "Code": {
            "type": "string",
            "description": "System code for the holding account (often the security code for listed securities).",
            "example": "AMP"
          },
          "FundId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier (GUID) of the fund that owns this holding.",
            "example": "15c609de-b2da-4001-9fbb-98b89c4cdf74"
          },
          "FundCode": {
            "type": "string",
            "description": "Class entity code (fund code).",
            "example": "DEMO_SMSF_2025"
          },
          "BusinessCode": {
            "type": "string",
            "description": "Class business code (administrator/brand code).",
            "example": "demo-business"
          },
          "Description": {
            "type": "string",
            "description": "Human‑readable name/description of the investment holding.",
            "example": "AMP Limited"
          },
          "MarketType": {
            "type": "string",
            "description": "Market classification describing where the asset trades or how it is sourced.",
            "example": "Listed Securities Market"
          },
          "MarketCode": {
            "type": "string",
            "description": "Market or exchange code for the security (e.g., ASX, NASDAQ).",
            "example": "ASX"
          },
          "Quantity": {
            "type": "number",
            "format": "decimal",
            "description": "Units/shares currently held (decimal supported).",
            "example": 5000
          },
          "Cost": {
            "type": "number",
            "format": "decimal",
            "description": "Total cost base for the position in the fund's reporting currency (inclusive of prior corporate actions as recorded).",
            "example": 22500
          },
          "MarketPrice": {
            "type": "number",
            "format": "decimal",
            "description": "Latest price per unit/share used for valuation (in the instrument's pricing currency mapped for the fund).",
            "example": 1.42
          },
          "MarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Valuation amount for the position (typically Quantity × MarketPrice, after any internal rounding rules).",
            "example": 7100
          },
          "EffectiveStatusCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatusCode"
              }
            ],
            "description": "Status of the holding account record (e.g., active vs. suspended) as per platform status codes.",
            "example": "Active"
          },
          "FundHoldingReference": {
            "type": "string",
            "description": "Name/identifier of the connected feed or platform account linked to this holding (Fund Holding Reference).",
            "example": "Open Markets - 158948"
          },
          "AssetPoolName": {
            "type": "string",
            "description": "Asset pool to which this holding is allocated within the fund (if applicable).",
            "example": "Default Pool"
          },
          "SecurityIssueCode": {
            "type": "string",
            "description": "Issuer/security code (may include market suffix for foreign listings).",
            "example": "AMP"
          },
          "GLInvestmentClassificationDescription": {
            "type": "string",
            "description": "General ledger investment classification (description) used for reporting.",
            "example": "Shares in Listed Companies"
          },
          "GLInvestmentClassificationCode": {
            "type": "string",
            "description": "General ledger investment classification (code) used for reporting.",
            "example": "ListedShares"
          },
          "Type": {
            "$ref": "#/components/schemas/HoldingAccountType"
          },
          "BankAccountDetails": {
            "$ref": "#/components/schemas/HoldingAccountData_BankAccountDetail"
          }
        }
      },
      "HoldingAccountType": {
        "type": "string",
        "description": "Type of holding account representing how the asset is held and reported (e.g., cash vs. listed security vs. term deposit).",
        "enum": [
          "BankAccount",
          "ForeignBankAccount",
          "InvestmentAccount",
          "PropertyAccount",
          "CollectibleAccount",
          "PlatformAccount",
          "TermDepositAccount"
        ]
      },
      "HoldingsDailyInformationDetail_HoldingDailyAccountFlowDetails": {
        "type": "object",
        "properties": {
          "FlowAmount": {
            "type": "number",
            "format": "decimal",
            "description": "Net cash flow amount of the holding.",
            "example": 1450.75
          },
          "Acquisitions": {
            "type": "number",
            "format": "decimal",
            "description": "Acquisitions that increase the position (e.g., buy trades, unit subscriptions).",
            "example": 2000
          },
          "Disposals": {
            "type": "number",
            "format": "decimal",
            "description": "Disposals that decrease the position (e.g., sell trades, unit redemptions).",
            "example": 549.25
          }
        }
      },
      "HoldingsDailyInformationDetail_HoldingDailyDetails": {
        "type": "object",
        "description": "Daily position and valuation details for a specific holding",
        "properties": {
          "HoldingAccountId": {
            "type": "string",
            "description": "Unique identifier of the holding account",
            "example": "0d465630-1f7c-4b7f-88d5-c366af2f8018"
          },
          "Date": {
            "type": "string",
            "format": "date-time",
            "description": "The date for this daily record",
            "example": "2024-07-01"
          },
          "Quantity": {
            "type": "number",
            "format": "decimal",
            "description": "Number of units/shares held on this date",
            "example": 1250
          },
          "MarketValue": {
            "type": "number",
            "format": "decimal",
            "description": "Market value of the holding on this date",
            "example": 11450
          },
          "BookCost": {
            "type": "number",
            "format": "decimal",
            "description": "Book cost (cost base) of the holding",
            "example": 40045.91
          },
          "UnsettledCapitalPosition": {
            "type": "number",
            "format": "decimal",
            "description": "Unsettled capital position awaiting settlement",
            "example": 0
          },
          "Price": {
            "type": "number",
            "format": "decimal",
            "description": "Unit price on this date",
            "example": 9.16
          },
          "PriceDate": {
            "type": "string",
            "format": "date-time",
            "description": "Date the price was recorded",
            "example": "2024-07-01"
          },
          "QuantityChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in quantity from the previous day",
            "example": 0
          },
          "MarketValueChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in market value from the previous day",
            "example": 125.5
          },
          "BookCostChange": {
            "type": "number",
            "format": "decimal",
            "description": "Change in book cost from the previous day",
            "example": 0
          },
          "HoldingAccountFlow": {
            "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyAccountFlowDetails",
            "description": "Cash flow details for the holding account"
          },
          "UsingEntitlementDate": {
            "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyIncomeFlowContainer",
            "description": "Income flow details using entitlement date accounting"
          },
          "NotUsingEntitlementDate": {
            "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyIncomeFlowContainer",
            "description": "Income flow details not using entitlement date accounting"
          }
        }
      },
      "HoldingsDailyInformationDetail_HoldingDailyIncomeFlowContainer": {
        "type": "object",
        "description": "Container for income flow details including actual and speculative income",
        "properties": {
          "IncomeFlow": {
            "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyIncomeFlowDetails",
            "description": "Actual recorded income flow details"
          },
          "SpeculativeIncomeFlow": {
            "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyIncomeFlowDetails",
            "description": "Speculative or estimated income flow details"
          }
        }
      },
      "HoldingsDailyInformationDetail_HoldingDailyIncomeFlowDetails": {
        "type": "object",
        "description": "Breakdown of income flows including inflows, outflows, and unpaid balances",
        "properties": {
          "InflowAmount": {
            "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyTaxDetails",
            "description": "Income inflow amounts with tax details"
          },
          "OutflowAmount": {
            "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyTaxDetails",
            "description": "Income outflow amounts with tax details"
          },
          "UnpaidBalance": {
            "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyTaxDetails",
            "description": "Unpaid balance amounts with tax details"
          }
        }
      },
      "HoldingsDailyInformationDetail_HoldingDailyTaxDetails": {
        "type": "object",
        "description": "Tax breakdown showing gross amounts and associated tax credits",
        "properties": {
          "Gross": {
            "type": "number",
            "format": "decimal",
            "description": "Gross amount before tax",
            "example": 1500
          },
          "TaxCredits": {
            "type": "number",
            "format": "decimal",
            "description": "Associated franking or tax credits",
            "example": 642.86
          }
        }
      },
      "HoldingsDailyInformationDetail_HoldingDetails": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the holding account/security within the fund.",
            "example": "0d465630-1f7c-4b7f-88d5-c366af2f8018"
          },
          "HoldingCode": {
            "type": "string",
            "description": "System or ticker code that identifies the holding (e.g., ASX code for listed securities).",
            "example": "A2M"
          },
          "Description": {
            "type": "string",
            "description": "Human‑readable description or display name of the holding.",
            "example": "The A2 Milk Company Limited"
          },
          "SecurityIssueId": {
            "type": "string",
            "description": "Internal identifier for the specific security issue (instrument) associated with this holding.",
            "example": "5b6a9c4d-6ab1-4f8a-9e5a-9f4f2b6a1e23"
          },
          "SecurityIssueCode": {
            "type": "string",
            "description": "Security issue code used by the platform or registry (may match the ticker or include a suffix).",
            "example": "A2M"
          },
          "SecurityIssueName": {
            "type": "string",
            "description": "Full name of the security issue.",
            "example": "The A2 Milk Company Limited"
          },
          "MarketCode": {
            "type": "string",
            "description": "Code for the trading market or exchange on which the security is listed.",
            "example": "ASX"
          },
          "MarketAcronym": {
            "type": "string",
            "description": "Acronym for the market or exchange (often the same as MarketCode).",
            "example": "ASX"
          },
          "MarketAwareCode": {
            "type": "string",
            "description": "Market‑aware identifier combining the code and market to avoid ambiguity.",
            "example": "A2M.ASX"
          },
          "FundId": {
            "type": "string",
            "description": "Unique identifier of the fund that owns this holding (commonly a GUID/UUID).",
            "example": "15c609de-b2da-4001-9fbb-98b89c4cdf74"
          },
          "FundCode": {
            "type": "string",
            "description": "Class entity code for the fund.",
            "example": "DEMO_SMSF"
          },
          "FundName": {
            "type": "string",
            "description": "Human‑readable name of the fund.",
            "example": "Demo Super Fund"
          },
          "BusinessCode": {
            "type": "string",
            "description": "Class business code (administrator/brand) under which the fund resides.",
            "example": "demo-business"
          },
          "ResolvedMarketTypeId": {
            "type": "string",
            "description": "Identifier of the platform‑standardised (resolved) market type mapped from native sources.",
            "example": "3f2504e0-4f89-11d3-9a0c-0305e82c3301"
          },
          "ResolvedMarketTypeCode": {
            "type": "string",
            "description": "Platform‑standardised market type code.",
            "example": "LISTED"
          },
          "ResolvedMarketTypeName": {
            "type": "string",
            "description": "Platform‑standardised market type name.",
            "example": "Listed Securities Market"
          },
          "NativeMarketTypeId": {
            "type": "string",
            "description": "Source system’s original market type identifier (before standardisation).",
            "example": "9d5e3a87-2a64-4a4a-9b1c-4b2c9f3f1a77"
          },
          "NativeMarketTypeCode": {
            "type": "string",
            "description": "Source system’s original market type code.",
            "example": "ASX_LISTED"
          },
          "NativeMarketTypeName": {
            "type": "string",
            "description": "Source system’s original market type name.",
            "example": "ASX Listed"
          },
          "EffectiveStatusCode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatusCode"
              }
            ],
            "description": "Status of the holding record (e.g., Active, Suspended) at the time of extraction.",
            "example": "Active"
          },
          "FundHoldingReferenceId": {
            "type": "string",
            "description": "Identifier of the Fund Holding Reference (linked feed/platform account) associated with this holding.",
            "example": "b79e51a1-ea44-4b21-98fa-c4ed22f3b800"
          },
          "FundHoldingReferenceDescription": {
            "type": "string",
            "description": "Display name/description of the linked Fund Holding Reference.",
            "example": "Open Markets - 158948"
          },
          "AssetPoolName": {
            "type": "string",
            "description": "Name of the asset pool within the fund to which this holding is allocated.",
            "example": "Default Pool"
          },
          "GLInvestmentClassificationId": {
            "type": "string",
            "description": "Identifier of the general ledger investment classification applied to this holding.",
            "example": "LISTED_SHARES"
          },
          "GLInvestmentClassificationDescription": {
            "type": "string",
            "description": "Description of the general ledger investment classification.",
            "example": "Shares in Listed Companies"
          },
          "GLInvestmentClassificationCode": {
            "type": "string",
            "description": "Code of the general ledger investment classification.",
            "example": "Shares in Listed Companies"
          },
          "HoldingAccountType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/HoldingAccountType"
              }
            ],
            "description": "Type/category of the holding account (e.g., InvestmentAccount, BankAccount, TermDeposit).",
            "example": "InvestmentAccount"
          },
          "IncludeInPerformanceReports": {
            "type": "boolean",
            "description": "Indicates whether this holding should be included in performance calculations and reports.",
            "example": true
          }
        }
      },
      "HoldingsDailyValuationsDetail_DailyValuation": {
        "type": "object",
        "properties": {
          "Date": {
            "type": "string",
            "description": "The date for daily valuation holdings of the assets.",
            "example": "2024-07-01"
          },
          "Value": {
            "type": "number",
            "description": "The market valuation of the assets.",
            "format": "decimal",
            "example": 0
          }
        }
      },
      "HoldingsDailyValuationsDetail_HoldingValuations": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the holding account/security within the fund.",
            "example": "0d465630-1f7c-4b7f-88d5-c366af2f8018"
          },
          "Code": {
            "type": "string",
            "description": "Ticker or system code for the holding (e.g., ASX code for listed securities).",
            "example": "A2M"
          },
          "Name": {
            "type": "string",
            "description": "Human‑readable instrument or holding name.",
            "example": "The A2 Milk Company Limited"
          },
          "FundHoldingReference": {
            "type": "string",
            "description": "Display name of the linked feed/platform account (Fund Holding Reference) for this holding.",
            "example": "Open Markets - 158948"
          },
          "FundHoldingReferenceId": {
            "type": "string",
            "description": "Identifier of the Fund Holding Reference associated with this holding.",
            "example": "b79e51a1-ea44-4b21-98fa-c4ed22f3b800"
          },
          "MarketType": {
            "type": "string",
            "description": "Market grouping/type indicating where/how the asset is traded or sourced.",
            "example": "Listed Securities Market"
          },
          "MarketTypeId": {
            "type": "string",
            "description": "Internal identifier for the market type.",
            "example": "3f2504e0-4f89-11d3-9a0c-0305e82c3301"
          },
          "AssetPool": {
            "type": "string",
            "description": "Name of the asset pool within the fund to which this holding is allocated.",
            "example": "Default Pool"
          },
          "GlClassification": {
            "type": "string",
            "description": "General ledger investment classification used for reporting.",
            "example": "Shares in listed companies"
          },
          "DailyValuations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HoldingsDailyValuationsDetail_DailyValuation"
            }
          }
        }
      },
      "InvestmentData_HoldingsDailyInformationDetail": {
        "type": "object",
        "properties": {
          "StartDate": {
            "type": "string",
            "description": "Start date/time for the daily holdings information included in the response.",
            "example": "2024-07-01"
          },
          "EndDate": {
            "type": "string",
            "description": "End date/time for the daily holdings information included in the response.",
            "example": "2025-06-30"
          },
          "Holdings": {
            "type": "array",
            "description": "List of holdings covered in the period; provides static/context details for each holding.",
            "items": {
              "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDetails"
            }
          },
          "DailyDetails": {
            "type": "array",
            "description": "Daily data points for each holding across the specified period.",
            "items": {
              "$ref": "#/components/schemas/HoldingsDailyInformationDetail_HoldingDailyDetails"
            }
          }
        }
      },
      "InvestmentData_HoldingsDailyValuationsDetail": {
        "type": "object",
        "properties": {
          "FundId": {
            "type": "string",
            "description": "Unique identifier of the fund.",
            "example": "15c609de-b2da-4001-9fbb-98b89c4cdf74"
          },
          "FundCode": {
            "type": "string",
            "description": "Class entity code for the fund.",
            "example": "DEMO_SMSF"
          },
          "FundName": {
            "type": "string",
            "description": "Class entity name for the fund.",
            "example": "Demo Super Fund"
          },
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "description": "Start of the date range for which daily valuations are included.",
            "example": "2024-07-01"
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "description": "End of the date range for which daily valuations are included.",
            "example": "2025-06-30"
          },
          "HoldingsValuations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HoldingsDailyValuationsDetail_HoldingValuations"
            }
          }
        }
      },
      "InvestmentData_Link": {
        "type": "object",
        "description": "Hypermedia link for navigating to related API resources",
        "properties": {
          "Url": {
            "type": "string",
            "description": "The URL to access the related resource",
            "example": "/f/demo-business/demo-fund/investment-data/holding-accounts/0d465630-1f7c-4b7f-88d5-c366af2f8018"
          },
          "Relation": {
            "type": "string",
            "description": "The relationship type of the link (e.g., self, related)",
            "example": "self"
          }
        }
      },
      "StatusCode": {
        "type": "string",
        "description": "The status of a holding account or investment within the Fund",
        "enum": [
          "Active",
          "Cancelled",
          "Pending",
          "Suspended"
        ],
        "example": "Active"
      },
      "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",
        "properties": {
          "Code": {
            "type": "string",
            "example": "FORBIDDEN"
          },
          "Message": {
            "type": "string",
            "example": "You do not have permission to access this resource."
          }
        }
      },
      "ResourceUnavailableErrorCommon": {
        "type": "object",
        "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"
          }
        }
      },
      "InvestmentData_FeedReconciliationDetail": {
        "type": "object",
        "properties": {
          "ReconciliationItems": {
            "type": "array",
            "description": "List of feed reconciliation items",
            "items": {
              "$ref": "#/components/schemas/InvestmentData_ReconciliationItem"
            }
          }
        }
      },
      "InvestmentData_ReconciliationItem": {
        "type": "object",
        "properties": {
          "Date": {
            "type": "string",
            "format": "date",
            "description": "The date of the reconciliation item",
            "example": "2024-07-01"
          },
          "Description": {
            "type": "string",
            "description": "Description of the reconciliation balance",
            "example": "Opening Balance"
          },
          "LedgerQuantity": {
            "type": "number",
            "nullable": true,
            "description": "The recorded ledger quantity"
          },
          "LedgerBalance": {
            "type": "number",
            "format": "decimal",
            "description": "The recorded ledger balance",
            "example": 3700
          },
          "FeedQuantity": {
            "type": "number",
            "nullable": true,
            "description": "The feed quantity reported"
          },
          "FeedBalance": {
            "type": "number",
            "nullable": true,
            "description": "The feed balance reported"
          },
          "Difference": {
            "type": "number",
            "nullable": true,
            "description": "The computed difference between ledger and feed"
          }
        }
      },
      "InvestmentData_BankAccountMovementsDetail": {
        "type": "object",
        "properties": {
          "Links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvestmentData_Link"
            }
          },
          "Code": {
            "type": "string",
            "description": "The account code",
            "example": "Bank"
          },
          "Description": {
            "type": "string",
            "description": "The description of the bank account",
            "example": "Test CMA"
          },
          "CurrencyCode": {
            "type": "string",
            "description": "The currency of the bank account",
            "example": "AUD"
          },
          "Status": {
            "type": "string",
            "description": "The status of the account",
            "example": "Active"
          },
          "Balance": {
            "$ref": "#/components/schemas/InvestmentData_BankAccountBalance"
          },
          "Transactions": {
            "type": "array",
            "description": "A list of bank account transactions",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "InvestmentData_BankAccountBalance": {
        "type": "object",
        "properties": {
          "StartDate": {
            "type": "string",
            "format": "date-time",
            "description": "The start date of the balance period",
            "example": "2024-07-01T00:00:00"
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "description": "The end date of the balance period",
            "example": "2025-06-30T00:00:00"
          },
          "OpeningBalance": {
            "type": "number",
            "format": "decimal",
            "description": "The opening balance for the period",
            "example": 96190.11
          },
          "TotalDeposit": {
            "type": "number",
            "format": "decimal",
            "description": "The total amount deposited",
            "example": 0
          },
          "TotalWithdrawal": {
            "type": "number",
            "format": "decimal",
            "description": "The total amount withdrawn",
            "example": 0
          },
          "ClosingBalance": {
            "type": "number",
            "format": "decimal",
            "description": "The closing balance for the period",
            "example": 96190.11
          }
        }
      },
      "InvestmentData_GLInvestmentClassification": {
        "type": "object",
        "description": "General ledger investment classification for a holding account.",
        "properties": {
          "Code": {
            "type": "string",
            "description": "The classification code used for reporting.",
            "example": "ListedShares"
          },
          "Description": {
            "type": "string",
            "description": "A human-readable description of the classification.",
            "example": "Shares in Listed Companies"
          }
        }
      },
      "InvestmentData_HoldingAccountItem": {
        "type": "object",
        "description": "Represents a single holding account with summary-level detail.",
        "properties": {
          "Links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvestmentData_Link"
            },
            "description": "Navigation links for this holding account."
          },
          "Id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the holding account.",
            "example": "6b4bf42c-5100-4da2-83a2-35201f9c06aa"
          },
          "Code": {
            "type": "string",
            "description": "System code for the holding account.",
            "example": "AMP"
          },
          "Description": {
            "type": "string",
            "description": "Human-readable name of the holding account.",
            "example": "AMP Limited"
          },
          "SecurityIssueCode": {
            "type": "string",
            "description": "The security issue code identifying the instrument.",
            "example": "AMP"
          },
          "MarketType": {
            "type": "string",
            "description": "Market classification of the asset.",
            "example": "Listed Securities Market"
          },
          "MarketCode": {
            "type": "string",
            "nullable": true,
            "description": "Market or exchange code (e.g. ASX, NASDAQ). Null for non-exchange assets.",
            "example": "ASX"
          },
          "Status": {
            "type": "string",
            "description": "Current status of the holding account.",
            "example": "Active"
          },
          "IsInhouseAsset": {
            "type": "boolean",
            "description": "Indicates whether the asset is managed in-house.",
            "example": false
          },
          "Type": {
            "$ref": "#/components/schemas/HoldingAccountType",
            "description": "The type of holding account."
          },
          "GLInvestmentClassification": {
            "$ref": "#/components/schemas/InvestmentData_GLInvestmentClassification",
            "description": "General ledger investment classification."
          }
        }
      },
      "InvestmentData_HoldingAccountsDetailData": {
        "type": "object",
        "description": "Response data for the holding accounts list, containing navigation links and an array of holding accounts.",
        "properties": {
          "Links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvestmentData_Link"
            },
            "description": "Navigation links for the holding accounts collection."
          },
          "HoldingAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvestmentData_HoldingAccountItem"
            },
            "description": "List of holding accounts in the fund."
          }
        }
      },
      "InvestmentData_HoldingAccountDetailData": {
        "type": "object",
        "description": "Response data for a single holding account detail, including navigation links and account information.",
        "properties": {
          "Links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvestmentData_Link"
            },
            "description": "Navigation links for this holding account."
          },
          "Id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the holding account.",
            "example": "6b4bf42c-5100-4da2-83a2-35201f9c06aa"
          },
          "Code": {
            "type": "string",
            "description": "System code for the holding account.",
            "example": "AMP"
          },
          "Description": {
            "type": "string",
            "description": "Human-readable name of the holding account.",
            "example": "AMP Limited"
          },
          "SecurityIssueCode": {
            "type": "string",
            "description": "The security issue code identifying the instrument.",
            "example": "AMP"
          },
          "MarketType": {
            "type": "string",
            "description": "Market classification of the asset.",
            "example": "Listed Securities Market"
          },
          "MarketCode": {
            "type": "string",
            "nullable": true,
            "description": "Market or exchange code. Null for non-exchange assets.",
            "example": "ASX"
          },
          "Status": {
            "type": "string",
            "description": "Current status of the holding account.",
            "example": "Active"
          },
          "IsInhouseAsset": {
            "type": "boolean",
            "description": "Indicates whether the asset is managed in-house.",
            "example": false
          },
          "Type": {
            "$ref": "#/components/schemas/HoldingAccountType",
            "description": "The type of holding account."
          },
          "GLInvestmentClassification": {
            "$ref": "#/components/schemas/InvestmentData_GLInvestmentClassification",
            "description": "General ledger investment classification."
          }
        }
      }
    },
    "securitySchemes": {
      "Class_oAuth": {
        "type": "oauth2",
        "description": "Class uses oAuth2 and OpenID for authentication and authorisation",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://app.class-test.com.au/connect/authorize",
            "tokenUrl": "https://app.class-test.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"
            }
          }
        }
      }
    },
    "parameters": {
      "businessCodeParam": {
        "name": "businessCode",
        "in": "path",
        "description": "Class business code",
        "required": true,
        "schema": {
          "type": "string",
          "example": "demo-business"
        }
      },
      "fundCodeParam": {
        "name": "fundCode",
        "description": "Class entity code",
        "in": "path",
        "required": true,
        "schema": {
          "type": "string",
          "example": "demo-fund"
        }
      },
      "holdingAccountIdPathParam": {
        "name": "holdingAccountId",
        "in": "path",
        "description": "The unique identifier (GUID) of the holding account",
        "required": true,
        "schema": {
          "type": "string",
          "format": "uuid",
          "example": "19513fa5-b359-4484-b47a-8984b4de6f43"
        }
      }
    }
  }
}