openapi: 3.0.1
info:
  x-metadata:
    tags:
      - Class Partner
  title: Fund Web
  version: '1.0'
  description: >-
    Provides fund-related data, with a range of functionalities with accessing
    detailed information about specific funds such as contribution caps,
    portfolio details. 



    <div class="env-panel" data-component-name="EnvPanel"><div
    class="env-panel__header">Servers</div><div class="env-panel__body"><div
    class="env-row"><div class="env-name">Partner Integration Environment
    (Sandbox)</div><div class="env-url-row"><span
    class="env-url">https://apigateway.class-pie.com.au/api/1.0</span><button
    type="button" class="copy-btn"
    data-copy="https://apigateway.class-pie.com.au/api/1.0"
    aria-label="Copy"><svg viewBox="0 0 16 16" fill="none"
    xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path
    fill-rule="evenodd" clip-rule="evenodd" d="M5.16667 2.66667C5.16667 2.57462
    5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667 2.57462 12.1667
    2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12 10.8333H10H5.33333C5.24129
    10.8333 5.16667 10.7587 5.16667 10.6667V4.66667V2.66667ZM4.16667
    4.16667V2.66667C4.16667 2.02233 4.689 1.5 5.33333 1.5H12C12.6443 1.5 13.1667
    2.02233 13.1667 2.66667V10.6667C13.1667 11.311 12.6443 11.8333 12
    11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395 10.1583 14.1583C9.9395
    14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725 14.5 2.0605 14.3771
    1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5 13.3333V5.33333C1.5 5.02391
    1.62292 4.72717 1.84171 4.50838C2.0605 4.28958 2.35725 4.16667 2.66667
    4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775 9.48244 13.4199 9.45118
    13.4512C9.41993 13.4824 9.37754 13.5 9.33333 13.5H2.66667C2.62246 13.5
    2.58007 13.4824 2.54882 13.4512C2.51756 13.4199 2.5 13.3775 2.5
    13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882 5.21548C2.58007 5.18423
    2.62246 5.16667 2.66667 5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333
    5.33333 11.8333H9.5Z" fill="currentColor"/></svg></button></div></div><div
    class="env-row"><div class="env-name">Production Environment</div><div
    class="env-url-row"><span
    class="env-url">https://apigateway.class.com.au/api/1.0</span><button
    type="button" class="copy-btn"
    data-copy="https://apigateway.class.com.au/api/1.0" aria-label="Copy"><svg
    viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"
    aria-hidden="true"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.16667
    2.66667C5.16667 2.57462 5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667
    2.57462 12.1667 2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12
    10.8333H10H5.33333C5.24129 10.8333 5.16667 10.7587 5.16667
    10.6667V4.66667V2.66667ZM4.16667 4.16667V2.66667C4.16667 2.02233 4.689 1.5
    5.33333 1.5H12C12.6443 1.5 13.1667 2.02233 13.1667 2.66667V10.6667C13.1667
    11.311 12.6443 11.8333 12 11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395
    10.1583 14.1583C9.9395 14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725
    14.5 2.0605 14.3771 1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5
    13.3333V5.33333C1.5 5.02391 1.62292 4.72717 1.84171 4.50838C2.0605 4.28958
    2.35725 4.16667 2.66667 4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775
    9.48244 13.4199 9.45118 13.4512C9.41993 13.4824 9.37754 13.5 9.33333
    13.5H2.66667C2.62246 13.5 2.58007 13.4824 2.54882 13.4512C2.51756 13.4199
    2.5 13.3775 2.5 13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882
    5.21548C2.58007 5.18423 2.62246 5.16667 2.66667
    5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333 5.33333 11.8333H9.5Z"
    fill="currentColor"/></svg></button></div></div></div></div>
servers:
  - url: https://apigateway.class-pie.com.au/api/1.0
    description: Partner Integration Environment (Sandbox)
  - url: https://apigateway.class.com.au/api/1.0
    description: Production Environment
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.
  - name: User
    description: This refers to data that is tied to token of the authorising user.
paths:
  /f/{businessCode}/{fundCode}/fund-web/all-members-statement-with-auditor-details:
    get:
      tags:
        - Fund
      operationId: allMembersStatement
      summary: Members statement
      description: >-
        Retrieves all member statements along with auditor details for a
        specified income period within a fund.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The starting date for the income period.
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2025-06-30'
          description: The end date for the income period.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/AllMemberStatementsWithAuditorDetails'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/asset-class-details:
    get:
      tags:
        - Fund
      operationId: assetClassDetails
      summary: Asset class details
      description: Retrieves asset class details for a fund at a specified date.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: atDate
          in: query
          required: true
          schema:
            type: string
            format: date
          description: The specific date for which data should be retrieved.
          example: '2024-07-01'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/FundAssetPosition_AssetClassSummary'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/bank-accounts:
    get:
      tags:
        - Fund
      operationId: bankAccounts
      summary: Bank accounts
      description: Retrieves the list of bank accounts associated with a 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:
                    type: array
                    items:
                      $ref: '#/components/schemas/BankAccountList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/benchmark-options:
    get:
      tags:
        - Fund
      operationId: benchmarkOptions
      summary: Benchmark options
      description: Retrieves available benchmark options for a 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/RestSelectableItem'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/client-view/consolidated-menu:
    get:
      tags:
        - Fund
      operationId: consolidatedMenuOptions
      summary: Consolidated menu options
      description: Retrieves the consolidated menu options for client view within a 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/ConsolidatedMenuOptions'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/contribution-caps:
    get:
      tags:
        - Fund
      operationId: contributionCaps
      summary: Contribution caps
      description: >-
        Retrieves the contribution cap details for all members of a fund for a
        specified year.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: year
          in: query
          required: true
          schema:
            type: integer
            format: int32
          description: The calendar year for which data should be retrieved.
          example: 2025
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/MemberContributionCapSummary'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/detailed-fund-asset-position:
    get:
      tags:
        - Fund
      operationId: detailedFundAssetPosition
      summary: Detailed fund asset position
      description: >-
        Retrieves a detailed breakdown of the fund asset position at a specified
        date.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: atDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The specific date for which data should be retrieved.
        - name: includeAssetCodes
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: Indicates whether asset codes should be included in the response.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/DetailedFundAssetPosition'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/fund-financial-dates:
    get:
      tags:
        - Fund
      operationId: financialDates
      summary: Financial dates
      description: Retrieves the financial dates configured for a 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:
                    type: string
                    format: date
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/fund-asset-position:
    get:
      tags:
        - Fund
      operationId: fundAssetPosition
      summary: Fund asset position
      description: Retrieves the fund asset position summary at a specified date.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: atDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The specific date for which data should be retrieved.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/FundAssetPosition'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/fund-deeds:
    get:
      tags:
        - Fund
      operationId: fundDeeds
      summary: Fund deeds
      description: Retrieves the trust deed versions associated with a 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:
                    type: array
                    items:
                      $ref: '#/components/schemas/TrustDeedVersionList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/fund-detail:
    get:
      tags:
        - Fund
      operationId: fundDetails
      summary: Fund details
      description: Retrieves the core details and configuration of a 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/FundDetail'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/fund-relationships:
    get:
      tags:
        - Fund
      operationId: fundRelationships
      summary: Fund relationships
      description: >-
        Retrieves the relationships associated with a fund, such as advisers,
        auditors and administrators.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/FundRelationshipsList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/fundweb-settings:
    get:
      tags:
        - Fund
      operationId: fundWebSettings
      summary: Fund web settings
      description: Retrieves the fund web portal settings for a 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/FundWebSettings'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/gains-source:
    get:
      tags:
        - Fund
      operationId: gainsSource
      summary: Gains source
      description: Retrieves gains source data for a fund across a specified year range.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startYear
          in: query
          required: true
          schema:
            type: integer
            format: int32
          example: 2023
          description: The starting year for the data range.
        - name: endYear
          in: query
          required: true
          schema:
            type: integer
            format: int32
          example: 2025
          description: The ending year for the data range.
        - name: includeIncomeExpected
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: >-
            Indicates whether expected income should be included in the
            response.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/GainsSource'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/cv-portfolio-performance-split-enabled:
    get:
      tags:
        - Fund
      operationId: getClientViewPortfolioPerformanceSplitEnabled
      summary: Client view portfolio performance split enabled
      description: >-
        Retrieves whether portfolio performance split is enabled for the client
        view of a 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:
                    type: boolean
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/holding-performance:
    get:
      tags:
        - Fund
      operationId: holdingPerformanceReport
      summary: Holding performance report
      description: >-
        Retrieves the holding-level performance report for a fund over a
        specified period.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The starting date for the income period.
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2025-06-30'
          description: The end date for the income period.
        - name: groupBy
          in: query
          required: false
          schema:
            format: string
            $ref: '#/components/schemas/InvestmentGroupingType'
          example: MarketType
          description: >-
            Specifies how the investment income should be grouped, e.g. by
            'MarketType' or 'AssetPool'.
        - name: calculationMethod
          in: query
          required: false
          schema:
            format: string
            $ref: '#/components/schemas/PerformanceCalculationMethod'
          example: SimpleDietz
          description: >-
            Specifies the method used for performance calculation, e.g.
            'SimpleDietz' or 'TimeWeightedReturn'.
        - name: includeAssetCodes
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: Indicates whether asset codes should be included in the response.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: >-
                        #/components/schemas/InvestmentPerformanceReport_HoldingSummary
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/investment-income-by-period:
    get:
      tags:
        - Fund
      operationId: investmentIncomeByPeriod
      summary: Investment income by period
      description: >-
        Retrieves the investment income breakdown for a fund over a specified
        period.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The starting date for the income period.
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2025-06-30'
          description: The end date for the income period.
        - name: groupBy
          in: query
          required: false
          schema:
            format: string
            $ref: '#/components/schemas/InvestmentGroupingType'
          example: MarketType
          description: >-
            Specifies how the investment income should be grouped, e.g. by
            'MarketType' or 'AssetPool'.
        - name: includeAssetCodes
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: Indicates whether asset codes should be included in the response.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/InvestmentIncome'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/investment-performance-graph:
    get:
      tags:
        - Fund
      operationId: investmentPerformanceGraph
      summary: Investment performance graph
      description: >-
        Retrieves investment performance graph data for a fund over a specified
        period, optionally grouped by benchmark.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The starting date for the income period.
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2025-06-30'
          description: The end date for the income period.
        - name: groupBy
          in: query
          description: >-
            Specifies how the investment income should be grouped, e.g. by
            'MarketType' or 'AssetPool'.
          required: true
          schema:
            type: string
            enum:
              - Fund
              - MarketType
              - AssetClass
              - AssetPool
              - Feed
              - None
              - GLClassification
        - name: benchMarkId
          in: query
          required: false
          schema:
            type: string
          description: The unique identifier for the benchmark.
        - name: useCachedData
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: Indicates whether to use cached data for the report.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PortfolioPerformanceData'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/investment-performance:
    get:
      tags:
        - Fund
      operationId: investmentPerformanceReport
      summary: Investment performance report
      description: >-
        Retrieves the investment performance report for a fund over a specified
        period.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The starting date for the reporting period.
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2025-06-30'
          description: The end date for the reporting period.
        - name: groupBy
          in: query
          required: false
          schema:
            format: string
            $ref: '#/components/schemas/InvestmentGroupingType'
          example: MarketType
          description: >-
            Specifies how the investment income should be grouped, e.g. by
            'MarketType' or 'AssetPool'.
        - name: calculationMethod
          in: query
          required: false
          schema:
            format: string
            $ref: '#/components/schemas/PerformanceCalculationMethod'
          example: SimpleDietz
          description: >-
            Specifies the performance calculation method used on the investment,
            e.g. by 'SimpleDietz' or 'TimeWeightedReturn'.
        - name: includeAssetCodes
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: Indicates whether asset codes should be included in the response.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/InvestmentPerformanceReport'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/investment-summary:
    get:
      tags:
        - Fund
      operationId: investmentSummary
      summary: Investment summary
      description: Retrieves the investment summary for a fund at a specified date.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: atDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The specific date for which data should be retrieved.
        - name: groupBy
          in: query
          required: false
          schema:
            format: string
            $ref: '#/components/schemas/InvestmentGroupingType'
          example: MarketType
          description: >-
            Specifies how the investment income should be grouped, e.g. by
            'MarketType' or 'AssetPool'.
        - name: includeAssetCodes
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: Indicates whether asset codes should be included in the response.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/InvestmentSummary'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/investment-summary-total:
    get:
      tags:
        - Fund
      operationId: investmentSummaryTotal
      summary: Investment summary total
      description: >-
        Retrieves the total investment summary value for a fund at a specified
        date.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: atDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The specific date for which data should be retrieved.
        - name: includeAssetCodes
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: Indicates whether asset codes should be included in the response.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: number
                    format: decimal
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/latest-bank-movements:
    get:
      tags:
        - Fund
      operationId: latestBankMovements
      summary: Latest bank movements
      description: Retrieves the latest bank movements summary for a 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/LatestBankMovementsSummary'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/logo:
    get:
      tags:
        - Fund
      operationId: logo
      summary: Logo
      description: Retrieves the logo associated with a fund.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpResponseMessage'
        '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}/fund-web/market-valuation:
    get:
      tags:
        - Fund
      operationId: marketValuation
      summary: Market valuation
      description: >-
        Retrieves the market valuation report for a fund over a specified
        period.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The starting date for the reporting period.
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2025-06-30'
          description: The end date for the reporting period.
        - name: marketGrouping
          in: query
          required: true
          schema:
            format: string
            $ref: '#/components/schemas/MarketValuationGrouping'
          example: MarketType
          description: >-
            Specifies how the investment income should be grouped, e.g. by
            'MarketType' or 'AssetPool'.
        - name: serialisationtype
          in: query
          required: false
          schema:
            format: string
            $ref: '#/components/schemas/S3CacheSerializationType'
          example: Json
          description: >-
            Specifies the type of data package for the API call, e.g. 'Json' or
            'Protobuf'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/MarketValuationResults'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/member-summaries:
    get:
      tags:
        - Fund
      operationId: memberSummaries
      summary: Member summaries
      description: Retrieves member summaries for a fund at a specified balance date.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: balanceDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The specific date for which data should be retrieved.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/MemberList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/menu:
    get:
      tags:
        - Fund
      operationId: menu
      summary: Menu
      description: Retrieves the menu configuration for the fund web portal.
      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/MenuModel'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /u/client-view/menu-list:
    get:
      tags:
        - User
      operationId: menuListForActivePortfolio
      summary: Menu list for active portfolio
      description: >-
        Retrieves the menu list for the active portfolio associated with the
        authenticated user.
      parameters:
        - name: query
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/ActivePortfolioMenuQuery'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ActivePortfolioMenuList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /u/fund-web/fund-list:
    get:
      tags:
        - User
      operationId: FundList
      summary: Fund list
      description: Retrieves the list of funds accessible to the authenticated user.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/FundList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /u/client-view/portfolio-list:
    get:
      tags:
        - User
      operationId: myPortfolios
      summary: My portfolios
      description: Retrieves the portfolio list associated with the authenticated user.
      parameters:
        - name: query
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/PortfolioQuery'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PortfolioList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/operating-statement:
    get:
      tags:
        - Fund
      operationId: operatingStatement
      summary: Operating statement
      description: >-
        Retrieves the operating statement for a fund over a specified reporting
        period.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The starting date for the reporting period.
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2025-06-01'
          description: The end date for the reporting period.
        - name: isSummary
          in: query
          required: true
          schema:
            type: boolean
          example: true
          description: Indicates whether a summary or detailed report is required.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/OperatingStatement'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/password-policy:
    get:
      tags:
        - Fund
      operationId: passwordPolicy
      summary: Password policy
      description: Retrieves the password policy configured for a 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/Cryptography_PasswordPolicy'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/pension-limits:
    get:
      tags:
        - Fund
      operationId: pensionLimitDetails
      summary: Pension limit details
      description: >-
        Retrieves pension limit details for all members of a fund for a
        specified year.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: year
          in: query
          required: true
          schema:
            type: integer
            format: int32
          example: 2025
          description: The calendar year for which pension limit details are requested.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/PensionLimitDetails'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/portfolio-child-summary:
    get:
      tags:
        - Fund
      operationId: portfolioChildSummary
      summary: Portfolio child summary
      description: Retrieves child portfolio summaries for a fund at a specified date.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: atDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The specific date for which data should be retrieved.
        - name: includeAssetCodes
          in: query
          required: false
          schema:
            type: boolean
          example: true
          description: Indicates whether asset codes should be included in the response.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PortfolioSummaryWithValue'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/portfolio-detail:
    get:
      tags:
        - Fund
      operationId: portfolioDetails
      summary: Portfolio details
      description: Retrieves the core details and configuration of a portfolio.
      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/FundDetail'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/portfolio-member-summaries:
    get:
      tags:
        - Fund
      operationId: portfolioMemberSummaries
      summary: Portfolio member summaries
      description: >-
        Retrieves portfolio member summaries for a fund at a specified balance
        date.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: balanceDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The specific date for which data should be retrieved.
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PortfolioMemberList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/portfolio-performance-data:
    get:
      tags:
        - Fund
      operationId: portfolioPerformanceReportData
      summary: Portfolio performance report data
      description: >-
        Retrieves the portfolio performance report data for a fund over a
        specified period.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2024-07-01'
          description: The starting date for the reporting period.
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
          example: '2025-06-01'
          description: The end date for the reporting period.
        - name: useCachedData
          in: query
          required: true
          schema:
            type: boolean
          example: true
          description: Indicates whether to use cached data for the report.
        - name: benchMarkId
          in: query
          required: false
          schema:
            type: string
          description: The unique identifier for the benchmark.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                benchmarkid:
                  type: string
                includeassetcodes:
                  type: boolean
              required:
                - benchmarkid
                - includeassetcodes
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/PortfolioPerformanceDataReport'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/fund-web/published-dates:
    get:
      tags:
        - Fund
      operationId: publishedDates
      summary: Published dates
      description: Retrieves the published dates for a 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:
                    type: array
                    items:
                      $ref: '#/components/schemas/PublishedDatesList'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_OAuth:
            - fund.read
components:
  schemas:
    ActivePortfolioMenuList:
      type: object
      description: >-
        Represents the active portfolio menu list, including consolidated
        portfolio parents and summaries.
      properties:
        Total:
          type: integer
          format: int32
          example: 5
          description: Total number of portfolio entries in the menu list.
        ConsolidatedPortfolioParent:
          type: array
          items:
            $ref: '#/components/schemas/PortfolioList_PortfolioSummary'
        HasMultipleConsolidatedPortfolioParents:
          type: boolean
          example: false
          description: Indicates whether multiple consolidated portfolio parents exist.
        MenuListType:
          type: array
          items:
            $ref: '#/components/schemas/MenuListType'
        PortfolioSummaries:
          type: array
          items:
            $ref: '#/components/schemas/PortfolioList_PortfolioSummary'
    ActivePortfolioMenuQuery:
      type: object
      description: Query parameters for retrieving the active portfolio menu list.
      properties:
        ActivePortfolioId:
          type: string
          description: Unique identifier for the active portfolio.
        KnownParentId:
          type: string
          description: Unique identifier for the known parent portfolio.
        ConsolidatedPageSize:
          type: integer
          format: int32
          description: Number of consolidated portfolios to include per page.
    Address:
      type: object
      description: Standard address structure used for physical and postal addresses.
      properties:
        AddressLine1:
          type: string
          description: Primary street address line (street number and name).
          example: 5-9 Harcourt Parade
        AddressLine2:
          type: string
          example: Suite 2
          description: Secondary address line (unit, suite or additional delivery info).
        AddressLine3:
          type: string
          example: Level 1
          description: Tertiary address line (building, floor or locality extension).
        PostCode:
          type: string
          example: 2010
          description: Postal code (Australian postcodes are 4 digits).
        Locality:
          type: string
          example: ROSEBERY
          description: Suburb, town or city.
        State:
          type: string
          example: NSW
          description: State or territory abbreviation.
        Country:
          type: string
          example: Australia
          description: Country name.
    AddressSummary:
      type: object
      description: Standard address structure used for physical and postal addresses.
      properties:
        AddressLine1:
          type: string
          description: Primary street address line (street number and name).
          example: 123 Smith Street
        AddressLine2:
          type: string
          example: Suite 2
          description: Secondary address line (unit, suite or additional delivery info).
        AddressLine3:
          type: string
          example: Level 1
          description: Tertiary address line (building, floor or locality extension).
        PostCode:
          type: string
          example: 2000
          description: Postal code (Australian postcodes are 4 digits).
        Locality:
          type: string
          example: ROSEBERY
          description: Suburb, town or city.
        State:
          type: string
          example: NSW
          description: State or territory abbreviation.
        Country:
          type: string
          example: Australia
          description: Country name.
    AllMemberStatementsWithAuditorDetails:
      type: object
      description: >-
        Contains all member statements for a fund along with auditor details for
        a specified period.
      properties:
        AllMemberStatements:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatementWithAuditorDetails'
    ApiError:
      type: object
      required:
        - Code
        - Message
      properties:
        Code:
          type: string
        Message:
          type: string
    ApiResponseBase:
      type: object
      required:
        - ErrorCodes
        - Errors
        - CreatedUri
        - IsCreatedResponse
      properties:
        ErrorCodes:
          type: array
          items:
            type: string
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
        CreatedUri:
          type: string
        IsCreatedResponse:
          type: boolean
    BankAccount:
      type: object
      description: Represents a single bank account linked to the fund.
      properties:
        Id:
          type: string
          example: e20f30cd-625f-4495-8563-254415f14e95
          description: >-
            Unique identifier for the bank account, in the format of 8-4-4-4-12
            hexadecimal characters.
        Name:
          type: string
          example: Macquarie CMA
          description: Name of the bank account.
        IsDefaultAccount:
          type: boolean
          example: false
          description: Indicates whether this is the default account for the fund.
    BankAccountList:
      type: object
      description: Contains a list of bank accounts associated with the fund.
      properties:
        BankAccounts:
          type: array
          items:
            $ref: '#/components/schemas/BankAccount'
    BankStatementReport:
      type: object
      description: >-
        Represents a bank statement report for a specific holding account within
        a given date range.
      properties:
        FocusId:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
          description: >-
            Unique identifier for the report focus, in the format of 8-4-4-4-12
            hexadecimal characters
        StartDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Start date of the bank statement period.
        EndDate:
          type: string
          format: date
          example: '2024-07-31'
          description: End date of the bank statement period.
        HoldingAccountId:
          type: string
          example: d20f30cd-625f-4495-8563-254415f14e94
          description: Unique identifier for the holding account
        OpeningBalance:
          type: number
          format: decimal
          example: 100000
          description: Opening balance amount.
        BankStatementItems:
          type: array
          items:
            $ref: '#/components/schemas/BankStatementReport_BankStatementItem'
        OnSystemStartDate:
          type: string
          format: date
          example: '2024-06-01'
          description: Date when the account was first recorded in the system.
        CurrencyCode:
          type: string
          example: AUD
          description: Currency code for all amounts in the report.
    BankStatementReport_BankStatementItem:
      type: object
      description: Represents a single transaction entry in the bank statement.
      properties:
        Id:
          type: string
          example: 789e4567-e89b-12d3-a456-426614174999
          description: >-
            Unique identifier for the transaction, in the format of 8-4-4-4-12
            hexadecimal characters.
        TransactionDate:
          type: string
          format: date
          example: '2024-07-15'
          description: Date the transaction occurred.
        Description:
          type: string
          example: EFT Payment - Supplier ABC
          description: Description of the transaction.
        DebitCreditIndicator:
          $ref: '#/components/schemas/DebitCreditIndicator'
        Amount:
          type: number
          format: decimal
          example: 1500
          description: Transaction amount.
        MatchedAmount:
          type: number
          format: decimal
          example: 1500
          description: Amount matched against internal rec
        MatchStatus:
          $ref: '#/components/schemas/MatchStatusType'
        MatchDetails:
          type: array
          items:
            $ref: '#/components/schemas/BankStatementReport_MatchDetail'
        CurrencyCode:
          type: string
          example: AUD
          description: Currency code for the transaction.
    BankStatementReport_MatchDetail:
      type: object
      description: Details of a matched transaction against the bank statement item.
      properties:
        Id:
          type: string
          example: 456e7890-e89b-12d3-a456-426614174abc
          description: >-
            Unique identifier for the matched transaction, in the format of
            8-4-4-4-12 hexadecimal characters
        AccountName:
          type: string
          example: Pension Account
          description: Name of the account associated with the matched transaction.
        Classification:
          type: string
          example: Contribution
          description: Classification of the transaction (e.g., Contribution, Expense).
        EventTypeId:
          type: string
          example: EVT123
          description: Identifier for the event type.
        Description:
          type: string
          example: Member Contribution July
          description: Description of the matched transaction.
        DistinguishedDate:
          type: string
          format: date
          example: '2024-07-15'
          description: Date associated with the matched transaction.
        ValueMatched:
          type: number
          format: decimal
          example: 1500
          description: Amount matched to this transaction.
        MatchStatus:
          $ref: '#/components/schemas/MatchStatusType'
        Direction:
          $ref: '#/components/schemas/DebitCreditIndicator'
    ConsolidatedMenuOptions:
      type: object
      description: >-
        Configuration options for displaying consolidated menu items in the fund
        web portal.
      properties:
        ShowContributions:
          type: boolean
          example: true
          description: >-
            Indicates whether contribution-related menu options should be
            displayed.
        ShowPensions:
          type: boolean
          example: false
          description: Indicates whether pension-related menu options should be displayed.
    ContributionBreakdown_ContributionBreakdownTotal:
      type: object
      description: >-
        Represents a subtotal for a specific contribution type within a
        classification.
      properties:
        ContributionType:
          type: string
          example: Concessional
          description: Type of contribution (e.g., Concessional, Non-Concessional).
        ContributionName:
          type: string
          example: Employer Contributions
          description: Name of the contribution category.
        Amount:
          type: number
          format: decimal
          example: 5000
          description: Amount contributed for this category.
    ContributionClassificationType:
      type: string
      description: >-
        Specifies the classification type of the contribution (e.g.,
        Concessional, NonConcessional).
      enum:
        - Concessional
        - NonConcessional
        - Other
        - Adjustment
    ContributionSummaryRowType:
      type: string
      description: >-
        Specifies the type of contribution summary row (e.g., Generic, Caps,
        ToThisFund).
      enum:
        - Generic
        - Caps
        - ToThisFund
        - ToOtherFunds
        - AsAllocated
        - AboveCaps
        - Available
        - CarryOverCap
    CostbaseType:
      type: string
      description: Specifies the type of cost base used for capital gains calculations.
      enum:
        - AccountingCostbase
        - CGTCostbase
    Cryptography_PasswordPolicy:
      type: object
      description: >-
        Represents the password policy settings for the system, defining
        complexity and length requirements.
      properties:
        RequiresMixedCase:
          type: boolean
          example: false
          description: >-
            Indicates whether passwords must include both uppercase and
            lowercase characters.
        RequiresNumbers:
          type: boolean
          example: false
          description: Indicates whether passwords must include numeric characters.
        RequiresSpecial:
          type: boolean
          example: false
          description: >-
            Indicates whether passwords must include special characters (e.g.,
            @,
        CharFrequencyReducesStrength:
          type: boolean
          example: false
          description: Indicates whether repeated characters reduce password strength.
        MinimumCharacterSets:
          type: integer
          format: int32
          example: 3
          description: >-
            Minimum number of character sets required (e.g., uppercase,
            lowercase, numbers, special characters).
        MinimumLength:
          type: integer
          format: uint32
          example: 6
          description: Minimum length required for passwords.
    DateRange:
      type: object
      description: Represents the start and end dates of the reporting period.
      properties:
        StartPeriodDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Start date of the reporting period.
        EndPeriodDate:
          type: string
          format: date
          example: '2025-06-30'
          description: End date of the reporting period.
        IsEmpty:
          type: boolean
          example: false
          description: Indicates whether the period contains data.
        IsPopulated:
          type: boolean
          example: true
          description: Indicates whether the period is populated with data.
        NumberOfDaysContained:
          type: integer
          format: int32
          example: 365
          description: Number of days in the reporting period.
    DebitCreditIndicator:
      type: string
      description: Indicates whether the transaction is a debit or credit.
      enum:
        - Undefined
        - Credit
        - Debit
    DetailedFundAssetPosition:
      type: object
      description: Represents the detailed asset position of a fund at a specific date.
      properties:
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        AtDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Date at which the asset position is reported.
        PortfolioAssetPositions:
          type: array
          items:
            $ref: >-
              #/components/schemas/DetailedFundAssetPosition_DetailedPortfolioAssetPosition
    DetailedFundAssetPosition_AssetClassBreakdown:
      type: object
      description: Represents the breakdown of a holding across asset classes.
      properties:
        Id:
          type: string
          example: d35985b7-f7f9-456f-85fa-9c077f5ecc9f
          description: >-
            Unique identifier for the asset class, in the format of 8-4-4-4-12
            hexadecimal characters.
        Description:
          type: string
          example: Apple Inc.
          description: Description of the asset within the breakdown.
        AssetClassDescription:
          type: string
          example: International Equities
          description: Name of the asset class.
        MarketValueOfAssetsHeld:
          type: number
          format: decimal
          example: 146276.99
          description: Market value of assets held in this asset class.
        UnsettledPositionOnAssetsHeld:
          type: number
          format: decimal
          example: 0
          description: Unsettled position for this asset class.
        TotalValueOfAssetsHeld:
          type: number
          format: decimal
          example: 146276.99
          description: Total value of assets held in this asset class.
    DetailedFundAssetPosition_AssetClassDesc:
      type: object
      description: >-
        Represents an asset class and its aggregated values within the
        portfolio.
      properties:
        Id:
          type: string
          example: 429aa854-6ca1-430c-9109-007b8889f4ba
          description: >-
            Unique identifier for the asset class, in the format of 8-4-4-4-12
            hexadecimal characters.
        Name:
          type: string
          example: Australian Equities
          description: Name of the asset class.
        StrategyMinPercent:
          type: number
          format: decimal
          example: 0
          description: Minimum percentage allocation for the asset class as per strategy.
        StrategyMaxPercent:
          type: number
          format: decimal
          example: 0
          description: Maximum percentage allocation for the asset class as per strategy.
        TotalMarketValue:
          type: number
          format: decimal
          example: 589958.48
          description: Total market value of assets held in this asset class.
        TotalUnsettledPosition:
          type: number
          format: decimal
          example: 0
          description: Total unsettled position for this asset class.
        TotalValue:
          type: number
          format: decimal
          example: 589958.48
          description: Combined total value of assets held in this asset class.
    DetailedFundAssetPosition_DetailedPortfolioAssetPosition:
      type: object
      description: >-
        Represents a portfolio within the fund and its associated asset
        positions.
      properties:
        PortfolioId:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: Unique identifier for the portfolio.
        PortfolioName:
          type: string
          example: Default
          description: Name of the portfolio.
        AssetClassDescs:
          type: array
          items:
            $ref: '#/components/schemas/DetailedFundAssetPosition_AssetClassDesc'
        HoldingAssetPositionList:
          type: array
          items:
            $ref: >-
              #/components/schemas/DetailedFundAssetPosition_HoldingAssetPosition
        StrategyEffectiveDate:
          type: string
          example: 2025/07/01
          description: Date when the investment strategy became effective.
        StrategyEffectiveDateSpecified:
          type: boolean
          example: false
          description: Indicates whether the strategy effective date is specified.
    DetailedFundAssetPosition_HoldingAssetPosition:
      type: object
      description: >-
        Represents a single holding within the portfolio, including asset
        breakdown and market details.
      properties:
        Description:
          type: string
          example: Apple Inc. (NASDAQ:AAPL)
          description: Description of the holding.
        Code:
          type: string
          example: AAPL
          description: Code representing the holding.
        MarketType:
          type: string
          example: Foreign Investment Assets
          description: Type of market where the holding is listed.
        MarketTypeCode:
          type: string
          example: FOR
          description: Code representing the market type.
        Reference:
          type: string
          example: Demo Broking Account - 1808202014
          description: Reference associated with the holding.
        Units:
          type: number
          format: decimal
          example: 450
          description: Number of units held.
        MarketPrice:
          type: number
          format: decimal
          example: 325.059975
          description: Market price per unit.
        MarketPriceSpecified:
          type: boolean
          example: true
          description: Indicates whether the market price is specified.
        AssetClassBreakdownList:
          type: array
          description: Breakdown of the holding across different asset classes.
          items:
            $ref: '#/components/schemas/DetailedFundAssetPosition_AssetClassBreakdown'
        MarketAndSecurityInfo:
          $ref: '#/components/schemas/MarketAndSecurityInfo'
    EffectiveStatuses:
      type: string
      description: Specifies the effective status for route filtering.
      enum:
        - Default
        - Reportable
        - Updatable
        - All
        - PendingOnly
        - Selectable
        - ActiveOnly
        - CancelledOnly
        - Inactive
        - SuspendedOnly
    ElectronicContact:
      type: object
      description: Represents an electronic contact detail for a member.
      properties:
        Name:
          type: string
          example: Email
          description: Type of electronic contact (e.g., Email, Mobile).
        Value:
          type: string
          example: john.doe@example.com
          description: The electronic contact value.
    EventMatchSummary_EventDetail:
      type: object
      description: >-
        Detailed information about an event related to a contribution
        transaction.
      properties:
        DistinguishedDate:
          type: string
          format: date
          example: '2025-03-15'
          description: Date distinguishing the event occurrence.
        EventValue:
          type: number
          format: decimal
          example: 15000
          description: Value of the event.
        UnmatchedAmount:
          type: number
          format: decimal
          example: 0
          description: Amount remaining unmatched for this event.
        EventId:
          type: string
          example: EVT12345
          description: Unique identifier for the event.
        EventTypeId:
          type: string
          example: CONTRIB
          description: Identifier for the event type.
        Classification:
          type: string
          example: Employer
          description: Classification of the event.
        Description:
          type: string
          example: Employer contribution for March
          description: Description of the event.
        Evidences:
          type: array
          description: Evidence details supporting the event.
          items:
            $ref: '#/components/schemas/EventMatchSummary_Evidence'
        ExtraDetails:
          type: array
          description: Additional details about the event.
          items:
            $ref: '#/components/schemas/EventMatchSummary_ExtraEventDetail'
    EventMatchSummary_Evidence:
      type: object
      description: Evidence details for event matching.
      properties:
        Direction:
          $ref: '#/components/schemas/DebitCreditIndicator'
        Value:
          type: number
          format: decimal
          example: 15000
          description: Original value of the evidence.
        ValueMatched:
          type: number
          format: decimal
          example: 15000
          description: Amount matched from the evidence.
        RemainingValue:
          type: number
          format: decimal
          example: 0
          description: Remaining unmatched value.
    EventMatchSummary_ExtraEventDetail:
      type: object
      description: Additional details for an event.
      properties:
        Label:
          type: string
          example: Reference Number
          description: Label for the extra detail.
        Value:
          type: string
          example: REF12345
          description: Value associated with the label.
    EventMatchSummary_MatchedEventDetail:
      type: object
      description: Details of an event matched to a contribution transaction.
      properties:
        Event:
          $ref: '#/components/schemas/EventMatchSummary_EventDetail'
        AccountName:
          type: string
          example: Accumulation Account
          description: Name of the account associated with the matched event.
        MatchStatus:
          $ref: '#/components/schemas/MatchStatusType'
        ValueMatched:
          type: number
          format: decimal
          example: 15000
          description: Amount matched for this event.
        Direction:
          $ref: '#/components/schemas/DebitCreditIndicator'
    FundAssetPosition:
      type: object
      description: >-
        Represents the overall asset position of a fund at a specific date,
        including portfolio details and asset class breakdowns.
      properties:
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        atDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Date at which the asset position is reported.
        PortfolioAssetPositions:
          type: array
          items:
            $ref: '#/components/schemas/FundAssetPosition_PortfolioAssetPosition'
    FundAssetPosition_AssetClassDetails:
      type: object
      description: >-
        Represents details of an asset class within a portfolio, including
        values and strategy percentages.
      properties:
        AssetClassId:
          type: string
          example: 429aa854-6ca1-430c-9109-007b8889f4ba
          description: >-
            Unique identifier for the asset class, in the format of 8-4-4-4-12
            hexadecimal characters.
        AssetClassName:
          type: string
          example: Australian Equities
          description: Name of the asset class.
        ValueOfAssetsHeld:
          type: number
          format: decimal
          example: 589958.48
          description: Total value of assets held in this asset class.
        MarketValueOfAssetsHeld:
          type: number
          format: decimal
          example: 589958.48
          description: Market value of assets held in this asset class.
        UnsettledPositionOnAssetsHeld:
          type: number
          format: decimal
          example: 0
          description: Unsettled position amount for this asset class.
        AssetStrategyMinPercent:
          type: number
          format: decimal
          example: 0
          description: Minimum percentage allocation for this asset class as per strategy.
        AssetStrategyMaxPercent:
          type: number
          format: decimal
          example: 0
          description: Maximum percentage allocation for this asset class as per strategy.
        AssetStrategyOverallPercent:
          type: number
          format: decimal
          example: 27.01
          description: Overall percentage allocation of this asset class in the portfolio.
        MinimumAdjustmentRequiredValue:
          type: number
          format: decimal
          example: -589958.48
          description: Minimum adjustment value required to meet strategy.
        MinimumAdjustmentRequiredPercent:
          type: number
          format: decimal
          example: -27.01
          description: Minimum adjustment percentage required to meet strategy.
    FundAssetPosition_AssetClassSummary:
      type: object
      description: Summary of assets held within a specific asset class for the fund.
      properties:
        AssetClassId:
          type: string
          example: 539aa854-6ca1-430c-9109-007b8889f4cb
          description: >-
            Unique identifier for the asset class, in the format of 8-4-4-4-12
            hexadecimal characters.
        AssetClassName:
          type: string
          example: Australian Equities
          description: >-
            Name of the asset class, (e.g., Australian Equities, Direct
            Property)
        MarketValueOfAssetsHeld:
          type: number
          format: decimal
          example: 589958.48
          description: Market value of assets held in this asset class.
        AssetStrategyOverallPercent:
          type: number
          format: decimal
          example: 27.01
          description: >-
            Percentage of the overall asset strategy represented by this asset
            class.
    FundAssetPosition_PortfolioAssetPosition:
      type: object
      description: >-
        Represents a portfolio within the fund and its associated asset class
        details.
      properties:
        PortfolioId:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: >-
            Unique identifier for the portfolio, in the format of 8-4-4-4-12
            hexadecimal characters.
        PortfolioName:
          type: string
          example: Default
          description: Name of the portfolio.
        AssetClassDetailList:
          type: array
          items:
            $ref: '#/components/schemas/FundAssetPosition_AssetClassDetails'
        OverallValue:
          type: number
          format: decimal
          example: 2184383.09
          description: Total value of all assets in the portfolio.
        AssetPercentagesInvalid:
          type: boolean
          example: false
          description: Indicates whether asset percentage calculations are invalid.
        AssetStrategyEffectiveDate:
          type: string
          format: date
          example: '0001-01-01'
          description: Date when the asset strategy became effective.
    FundAuditorDetails:
      type: object
      description: >-
        Auditor-related details for the fund including risk management dates,
        contact information and licensing.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        Period:
          type: string
          format: date
          example: '2025-07-01'
          description: Reporting period end date.
        ABN:
          type: string
          example: 81948421769
          description: Australian Business Number (ABN) of the fund (11 digits).
        TFN:
          type: string
          example: 999999507
          description: Tax File Number of the fund, 9-digits.
        RMP_RiskManagementPlan_Date:
          type: string
          format: date
          example: '0001-01-01'
          description: Date of the Risk Management Plan.
        RMP_RiskManagementPlan_DateSpecified:
          type: boolean
          example: false
          description: Indicates whether the Risk Management Plan date is specified.
        RMS_RiskManagementStrategy_Date:
          type: string
          format: date
          example: '0001-01-01'
          description: Date of the Risk Management Strategy.
        RMS_RiskManagementStrategy_DateSpecified:
          type: boolean
          example: false
          description: Indicates whether the Risk Management Strategy date is specified.
        RSE_RegisterableSuperanuationEntities_License:
          type: string
          example: ''
          description: License number for Registerable Superannuation Entity.
        ApprovedTrusteeName:
          type: string
          example: ''
          description: Name of the approved trustee.
        FundAddress:
          $ref: '#/components/schemas/AddressSummary'
        Telephone:
          type: string
          example: 412345678
          description: Telephone number of the fund.
        Fax:
          type: string
          example: 298765432
          description: Fax number of the fund, 10 characters long.
        Auditor_Details:
          $ref: '#/components/schemas/FundAuditorDetails_AuditorDetails'
    FundAuditorDetails_AuditorDetails:
      type: object
      description: >-
        Details of the fund auditor including contact information and
        professional registration.
      properties:
        AuditorName:
          type: string
          example: Jane Smith
          description: Name of the auditor.
        AuditorAddress:
          $ref: '#/components/schemas/AddressSummary'
        BusinessName:
          type: string
          example: Smith Audit Services
          description: Name of the auditor's business.
        BusinessAddress:
          $ref: '#/components/schemas/AddressSummary'
        Telephone:
          type: string
          example: 412345678
          description: Telephone number of the auditor.
        Fax:
          type: string
          example: 298765432
          description: Fax number of the auditor, 10 characters long.
        ProfessionalOrganisation:
          type: string
          example: CPA Australia
          description: Professional organisation the auditor is affiliated with.
        ProfessionalRegistrationNumber:
          type: string
          example: A123456
          description: Professional registration number of the auditor.
        TFN:
          type: string
          example: 999999507
          description: Tax File Number of the auditor, 9-digits.
    FundDetail:
      type: object
      description: >-
        Represents detailed information about a fund, including identifiers,
        addresses and published dates.
      properties:
        TFN:
          type: string
          example: 999999507
          description: Tax File Number of the fund.
        ABN:
          type: string
          example: 46121158503
          description: Australian Business Number of the fund.
        SFN:
          type: string
          example: ''
          description: Superannuation Fund Number, if applicable.
        RSE:
          type: string
          example: ''
          description: Registerable Superannuation Entity license number, if applicable.
        LegalType:
          $ref: '#/components/schemas/LegalEntityType'
        StartDate:
          type: string
          format: date
          example: '2003-12-17'
          description: Date when the fund was established.
        StartDateSpecified:
          type: boolean
          example: true
          description: Indicates whether the start date is specified.
        OnSystemDate:
          type: string
          format: date
          example: '2021-07-01'
          description: Date when the fund was added to the system.
        PUpdateDisplayDate:
          type: string
          format: date
          example: '2023-06-30'
          description: Last update display date for the fund.
        PhysicalAddress:
          $ref: '#/components/schemas/Address'
        MailingAddress:
          $ref: '#/components/schemas/Address'
        UsePhysicalForMailingAddress:
          type: boolean
          example: false
          description: >-
            Indicates whether the physical address is used as the mailing
            address.
        PublishedDates:
          type: array
          items:
            $ref: '#/components/schemas/PublishedDatesList'
        FullCode:
          type: string
          example: Class/demo-fund/fund-code/Demo-Superannuation-Fund
          description: Full code path for the fund in the system.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        IsNonSuper:
          type: boolean
          example: false
          description: Indicates whether the fund is a non-superannuation entity.
        Phone:
          type: string
          example: 412345678
          description: Contact phone number for the fund.
        Url:
          type: string
          example: null
          description: Website URL for the fund.
        Fax:
          type: string
          example: 298765432
          description: Fax number for the fund, 10 characters long.
        Email:
          type: string
          example: john.doe@example.com
          description: Contact email address for the fund.
    FundList:
      type: object
      description: >-
        Represents a list of funds available to the user, including detailed
        summaries for each fund.
      properties:
        FundSummaries:
          type: array
          items:
            $ref: '#/components/schemas/FundList_FundListSummary'
    FundList_FundListSummary:
      type: object
      description: >-
        Represents summary details of a fund, including identifiers, URLs and
        friendly codes for navigation.
      properties:
        Id:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: Unique identifier for the fund.
        Url:
          type: string
          example: https://api.class.com.au/api/1.0/f/fund-name/demo-fund/
          description: API URL for accessing detailed fund information.
        Description:
          type: string
          example: Demo Superannuation Fund
          description: Display name or description of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        BusinessCode:
          type: string
          example: demo-fund
          description: Code representing the business associated with the fund.
        BrandCode:
          type: string
          example: demo-fund
          description: Brand code associated with the fund.
        FriendlyCode:
          type: string
          example: demo-superannuation-fund
          description: Friendly code for the fund, used in URLs or navigation.
        BusinessFriendlyCode:
          type: string
          example: b/demo-fund/
          description: Friendly representation of the business code for URL paths.
        ScopeUrl:
          type: string
          example: system/Class/demo-fund/demo-fund/demo-superannuation-fund/
          description: Internal scope URL for the fund.
        FriendlyScopeUrl:
          type: string
          example: f/demo-fund/demo-superannuation-fund/
          description: Friendly scope URL for navigation.
    FundRelationshipsList:
      type: object
      description: Represents a list of relationships associated with the fund.
      properties:
        FundRelationships:
          type: array
          items:
            $ref: '#/components/schemas/FundRelationshipsList_FundRelationship'
    FundRelationshipsList_FundRelationship:
      type: object
      description: >-
        Represents a relationship between the fund and an associated entity,
        such as trustees or members.
      properties:
        Id:
          type: string
          example: 01dbde9c-d6f9-4d9d-939b-e47567f599b2
          description: >-
            Unique identifier for the relationship record, in the format of
            8-4-4-4-12 hexadecimal characters.
        Type:
          type: string
          example: Fund Trustee Corporate
          description: Type of relationship (e.g., Member, Fund Trustee Corporate).
        Description:
          type: string
          example: Radley Pty Limited
          description: Description of the entity associated with the fund.
        Title:
          type: string
          example: Mr
          description: Title of the individual.
        FirstName:
          type: string
          example: John
          description: First name of the individual.
        MiddleNames:
          type: string
          example: ''
          description: Middle names of the individual (if applicable).
        FamilyName:
          type: string
          example: Doe
          description: Family name of the individual.
        MemberNumber:
          type: string
          example: 1
          description: Member number assigned by the fund.
        MobileNumber:
          type: string
          example: 412345678
          description: Mobile phone number of the individual.
        HomePhoneNumber:
          type: string
          example: 298765432
          description: Home phone number of the individual.
        DirectPhoneNumber:
          type: string
          example: 287654321
          description: Direct phone number of the individual.
        Email:
          type: string
          example: john.doe@example.com
          description: Email address of the individual or entity.
    FundWebSetting:
      type: object
      description: >-
        Represents a configuration setting for FundWeb, including its fully
        qualified code and value.
      properties:
        FullyQualifiedCode:
          type: string
          example: PeriodUpdateSettings.ClientMessaging
          description: Fully qualified code representing the setting category and name.
        Value:
          type: string
          example: true
          description: Value assigned to the setting (e.g., Yes, Auto, ClientView).
    FundWebSettings:
      type: object
      required:
        - Settings
      properties:
        Settings:
          type: array
          items:
            $ref: '#/components/schemas/FundWebSetting'
    GainsSource:
      type: object
      description: >-
        Represents the source of gains for a fund over a specified range of
        financial years.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        StartYear:
          type: integer
          format: int32
          example: 2024
          description: Starting financial year for the gains source report.
        EndYear:
          type: integer
          format: int32
          example: 2025
          description: Ending financial year for the gains source report.
        YearsGainsSource:
          type: array
          items:
            $ref: '#/components/schemas/GainsSource_YearGainsSource'
    GainsSource_YearGainsSource:
      type: object
      description: Represents gains source details for a specific financial year.
      properties:
        Year:
          type: integer
          format: int32
          example: 2024
          description: Financial year for which gains are reported.
        Income:
          type: number
          format: decimal
          example: 30514.7386
          description: Total income for the year.
        CapitalGain:
          type: number
          format: decimal
          example: 184097.4
          description: Total capital gains for the year.
        Other:
          type: number
          format: decimal
          example: 0
          description: Other gains or income for the year.
    HoldingAccountType:
      type: string
      description: Specifies the type of holding account.
      enum:
        - BankAccount
        - ForeignBankAccount
        - InvestmentAccount
        - PropertyAccount
        - CollectibleAccount
        - PlatformAccount
        - TermDepositAccount
    HoldingDailyAccountFlowDetails:
      type: object
      description: Represents daily flow details for a holding account.
      properties:
        FlowAmount:
          type: number
          format: decimal
          example: 10000
          description: Amount of the flow transaction.
        Acquisitions:
          type: number
          format: decimal
          example: 7650
          description: Total acquisitions for the day.
        Disposals:
          type: number
          format: decimal
          example: 2000
          description: Total disposals for the day.
    HoldingDailyValuation:
      type: object
      description: Represents daily valuation details for a holding account.
      properties:
        HoldingAccountId:
          type: string
          example: 2cf699ba-3d11-4070-afbe-56e6fcebbf0a
          description: >-
            Unique identifier for the holding account, in the format of
            8-4-4-4-12 hexadecimal characters.
        HoldingAccountCode:
          type: string
          example: A200
          description: Code representing the holding account.
        Date:
          type: string
          format: date
          example: '2024-11-14'
          description: Date of the valuation.
        Quantity:
          type: number
          format: decimal
          example: 0
          description: Quantity held on the valuation date.
        QuantityChange:
          type: number
          format: decimal
          example: 101922.39
          description: Change in the quantity held from previous day.
        MarketValue:
          type: number
          format: decimal
          example: 101922.39
          description: Market value of the holding on the valuation date.
        MarketValueChange:
          type: number
          format: decimal
          example: 0
          description: Change in market value from the previous day.
        WeightInPortfolio:
          type: number
          format: decimal
          example: 0.0446
          description: Weight of the holding in the portfolio.
        NetMarketValue:
          type: number
          format: decimal
          example: 0
          description: Net market value of the holding.
        NetMarketValueChange:
          type: number
          format: decimal
          example: 101922.39
          description: Change in the net market value of the holding from the previous day.
        PriceDate:
          type: string
          format: date
          example: '2024-11-15'
          description: Date of the price used for valuation.
    HoldingGroupingDetails:
      type: object
      description: >-
        Represents grouping details for a holding, including captions and
        associated tags.
      properties:
        NO_FHR_CAPTION:
          type: string
          example: ''
          description: Caption for NO_FHR grouping.
        Tags:
          type: array
          items:
            $ref: '#/components/schemas/HoldingGroupingDetails_Tag'
    HoldingGroupingDetails_Tag:
      type: object
      description: Represents a single grouping tag for a holding.
      properties:
        Type:
          $ref: '#/components/schemas/InvestmentGroupingType'
        Value:
          type: string
          example: Shares in Listed Companies
          description: Value associated with the grouping type.
    HttpContent:
      type: object
      required:
        - contentType
        - content
      properties:
        contentType:
          type: string
        content:
          type: string
    HttpRequestHeader:
      type: object
      required:
        - name
        - values
      properties:
        name:
          type: string
        values:
          type: array
          items:
            type: string
    HttpRequestHeaders:
      type: object
      required:
        - headers
      properties:
        headers:
          $ref: '#/components/schemas/HttpRequestHeader'
    HttpRequestMessage:
      type: object
      required:
        - Method
        - RequestUri
        - Headers
        - Content
        - Version
      properties:
        Method:
          type: string
        RequestUri:
          type: string
        Headers:
          $ref: '#/components/schemas/HttpRequestHeaders'
        Content:
          $ref: '#/components/schemas/HttpContent'
        Version:
          type: string
    HttpResponseHeader:
      type: object
      required:
        - name
        - values
      properties:
        name:
          type: string
        values:
          type: array
          items:
            type: string
    HttpResponseHeaders:
      type: object
      required:
        - headers
      properties:
        headers:
          type: array
          items:
            $ref: '#/components/schemas/HttpResponseHeader'
    HttpResponseMessage:
      type: object
      required:
        - Version
        - Content
        - StatusCode
        - ReasonPhrase
        - Headers
        - RequestMessage
        - IsSuccessStatusCode
      properties:
        Version:
          type: string
        Content:
          $ref: '#/components/schemas/HttpContent'
        StatusCode:
          type: integer
          format: int32
        ReasonPhrase:
          type: string
        Headers:
          $ref: '#/components/schemas/HttpResponseHeaders'
        RequestMessage:
          $ref: '#/components/schemas/HttpRequestMessage'
        IsSuccessStatusCode:
          type: boolean
    InvestmentGroupingType:
      type: string
      description: Specifies the type of investment grouping (e.g., MarketType, Reference).
      enum:
        - MarketType
        - Reference
        - AssetPool
        - GL
    InvestmentIncome:
      type: object
      description: >-
        Represents investment income details for a fund over a specified period,
        grouped by market type.
      properties:
        Totals:
          $ref: '#/components/schemas/InvestmentIncome_InvestmentIncomeSummary'
        MarketTypeItems:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentIncome_MarketTypeItem'
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        Period:
          type: string
          format: date
          example: '2024-07-01'
          description: The specified reporting period.
    InvestmentIncome_HoldingAccountItem:
      type: object
      description: Represents income details for a specific holding.
      properties:
        Summary:
          $ref: '#/components/schemas/InvestmentIncome_InvestmentIncomeSummary'
        MarketAndSecurityInfo:
          $ref: '#/components/schemas/MarketAndSecurityInfo'
        InvestmentName:
          type: string
          example: Apple Inc. (NASDAQ:AAPL)
          description: Name of the investment
        Grouping:
          $ref: '#/components/schemas/HoldingGroupingDetails'
    InvestmentIncome_InvestmentIncomeSummary:
      type: object
      description: Represents income summary details for a market type or holding.
      properties:
        IncomeTotal:
          type: number
          format: decimal
          example: 20962.34
          description: Total income amount.
        FrankingCredits:
          type: number
          format: decimal
          example: 4341.13
          description: Total franking credits.
        ForeignCredits:
          type: number
          format: decimal
          example: 112.27
          description: Total foreign tax credits.
        TFNCredits:
          type: number
          format: decimal
          example: 0
          description: Total TFN credits.
        TaxFree:
          type: number
          format: decimal
          example: 0
          description: Total tax-free income.
        TaxExempt:
          type: number
          format: decimal
          example: 0
          description: Total tax-exempt income.
        TaxDeferred:
          type: number
          format: decimal
          example: 0
          description: Total tax-deferred income.
        Expenses:
          type: number
          format: decimal
          example: 0
          description: Total expenses.
        DistributedCapitalGains:
          type: number
          format: decimal
          example: 0
          description: Distributed capital gains amount.
        GST:
          type: number
          format: decimal
          example: 0
          description: GST amount.
        TaxableIncomeExclCapitalGains:
          type: number
          format: decimal
          example: 25303.47
          description: Taxable income excluding capital gains.
        CapitalGainsIndexed:
          type: number
          format: decimal
          example: 0
          description: Indexed capital gains amount.
        CapitalGainsDiscounted:
          type: number
          format: decimal
          example: 0
          description: Discounted capital gains amount.
        CapitalGainsOther:
          type: number
          format: decimal
          example: 0
          description: Other capital gains amount.
        CapitalGainsCGTConcession:
          type: number
          format: decimal
          example: 0
          description: CGT concession amount.
    InvestmentIncome_MarketTypeItem:
      type: object
      description: Represents income details grouped by market type.
      properties:
        HoldingAccountItems:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentIncome_HoldingAccountItem'
        Totals:
          $ref: '#/components/schemas/InvestmentIncome_InvestmentIncomeSummary'
        MarketTypeName:
          type: string
          example: Listed Securities Market
          description: Name of the market type.
    InvestmentPerformanceReport:
      type: object
      description: >-
        Represents the investment performance report for a fund over a specified
        date range.
      properties:
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        DateRange:
          $ref: '#/components/schemas/DateRange'
        CalculationMethod:
          $ref: '#/components/schemas/PerformanceCalculationMethod'
        GroupingType:
          $ref: '#/components/schemas/InvestmentGroupingType'
        PortfolioSummaries:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentPerformanceReport_Portfolio'
        IncludeIncomeDeclared:
          type: boolean
          example: true
          description: Indicates whether declared income is included in the report.
        DefaultPortfolioName:
          type: string
          example: Default
          description: Name of the default portfolio.
    InvestmentPerformanceReport_HoldingGroup:
      type: object
      description: Represents a group of holdings within a portfolio.
      properties:
        Name:
          type: string
          example: Default Pool
          description: Name of the holding group.
        Holdings:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentPerformanceReport_HoldingSummary'
        PerformanceSummary:
          $ref: >-
            #/components/schemas/InvestmentPerformanceReport_InvestmentPerformanceSummary
    InvestmentPerformanceReport_HoldingSummary:
      type: object
      description: >-
        Represents performance details for a specific holding within the fund
        during the reporting period.
      properties:
        Name:
          type: string
          example: Apple Inc.
          description: Name of the holding (e.g., security or account name).
        Code:
          type: string
          example: AAPL
          description: Code representing the holding (e.g., ticker symbol or account code).
        PortfolioCode:
          type: string
          example: Demo Superannuation Fund
          description: Code identifying the portfolio to which the holding belongs.
        PerformanceSummary:
          $ref: >-
            #/components/schemas/InvestmentPerformanceReport_InvestmentPerformanceSummary
        HoldingAccountType:
          $ref: '#/components/schemas/HoldingAccountType'
        IncludeInPerformanceReports:
          type: boolean
          example: true
          description: Indicates whether this holding is included in performance reports.
        MarketAndSecurityInfo:
          $ref: '#/components/schemas/MarketAndSecurityInfo'
    InvestmentPerformanceReport_InvestmentPerformanceSummary:
      type: object
      description: >-
        Represents detailed performance metrics for a holding over the reporting
        period.
      properties:
        OpeningBalance:
          type: number
          format: decimal
          example: 100000
          description: Opening balance amount.
        TotalAcquisitions:
          type: number
          format: decimal
          example: 0
          description: Total acquisitions during the reporting period.
        TotalDisposals:
          type: number
          format: decimal
          example: 0
          description: Total disposals during the reporting perio
        ClosingBalance:
          type: number
          format: decimal
          example: 750000
          description: Closing balance amount.
        NetInflow:
          type: number
          format: decimal
          example: 0
          description: Net inflow amount for the holding.
        ChangeInValue:
          type: number
          format: decimal
          example: 680802.71
          description: Change in value of the holding during the reporting period.
        Income:
          type: number
          format: decimal
          example: 704.54
          description: Income generated by the holding during the reporting period.
        TotalReturn:
          type: number
          format: decimal
          example: 681507.25
          description: Total return for the holding, including income and value changes.
        TotalReturnPercentage:
          type: number
          format: decimal
          example: 478.45
          description: Total return percentage for the holding.
        TotalReturnPercentageSpecified:
          type: boolean
          example: true
          description: Indicates whether the total return percentage is specified.
        OpeningPriceDate:
          type: string
          format: date
          example: '2024-06-28'
          description: Date of the opening price used for performance calculation.
        OpeningPriceDateSpecified:
          type: boolean
          example: true
          description: Indicates whether the opening price date is specified.
        ClosingPriceDate:
          type: string
          format: date
          example: '2025-05-26'
          description: Date of the closing price used for performance calculation.
        ClosingPriceDateSpecified:
          type: boolean
          example: true
          description: Indicates whether the closing price date is specified.
        FallbackToSimpleRateOfReturn:
          type: boolean
          example: false
          description: Indicates whether a fallback to simple rate of return was applied.
    InvestmentPerformanceReport_Portfolio:
      type: object
      description: Represents a portfolio summary within the investment performance report.
      properties:
        PortfolioName:
          type: string
          example: Default
          description: Name of the portfolio.
        PerformanceSummary:
          $ref: >-
            #/components/schemas/InvestmentPerformanceReport_InvestmentPerformanceSummary
        HoldingGroups:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentPerformanceReport_HoldingGroup'
    InvestmentSummary:
      type: object
      description: >-
        Represents a summary of investments for a fund as at a specific date,
        grouped by market type or asset pool.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        DateAsAt:
          type: string
          format: date
          example: '2024-07-01'
          description: Date as at which the investment summary is reported.
        MarketTypeItems:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentSummary_MarketTypeItem'
        ChildPortfolios:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentSummary'
        TotalCost:
          type: number
          format: decimal
          example: 1734539.35
          description: Total cost of all holdings.
        TotalMarket:
          type: number
          format: decimal
          example: 2187450.55
          description: Total market value of all holdings.
        TotalUnsettled:
          type: number
          format: decimal
          example: 0
          description: Total unsettled market value.
        TotalUnrealisedGain:
          type: number
          format: decimal
          example: 449843.74
          description: Total unrealised gain across all holdings.
        TotalGainPercentage:
          type: number
          format: decimal
          example: 26.11
          description: Total gain percentage across all holdings.
        TotalTotalPercentage:
          type: number
          format: decimal
          example: 100
          description: Total percentage allocation across all holdings.
        TotalEstimatedIncome:
          type: number
          format: decimal
          example: 26105.74
          description: Total estimated income across all holdings.
        TotalEstimatedYield:
          type: number
          format: decimal
          example: 1.19
          description: Total estimated yield across all holdings.
        CostbaseType:
          $ref: '#/components/schemas/CostbaseType'
        IncludeExpectedIncome:
          type: boolean
          example: true
          description: Indicates whether expected income is included.
        ShowEstimatedIncomeAndYield:
          type: boolean
          example: true
          description: Indicates whether estimated income and yield are displayed.
    InvestmentSummary_HoldingAccountItem:
      type: object
      description: Represents details of a specific holding account within a market type.
      properties:
        Summary:
          $ref: '#/components/schemas/InvestmentSummary_InvestmentPerformanceSummary'
        MarketAndSecurityInfo:
          $ref: '#/components/schemas/MarketAndSecurityInfo'
        HoldingAccountName:
          type: string
          example: Apple Inc.
          description: Name of the holding account.
        HoldingAccountId:
          type: string
          example: be312e4d-b93f-449d-a421-81389b9a5a1a
          description: Unique identifier for the holding account.
        HoldingAccountCode:
          type: string
          example: AAPL
          description: Code representing the holding account.
        SecurityCode:
          type: string
          example: AAPL
          description: Security code for the holding.
        Grouping:
          $ref: '#/components/schemas/HoldingGroupingDetails'
    InvestmentSummary_InvestmentPerformanceSummary:
      type: object
      description: Represents performance summary details for a holding.
      properties:
        Units:
          type: number
          format: decimal
          example: 450
          description: Number of units held.
        AverageCost:
          type: number
          format: decimal
          example: 328.6654
          description: Average cost per unit.
        MarketPrice:
          type: number
          format: decimal
          example: 325.059975
          description: Current market price per unit.
        Cost:
          type: number
          format: decimal
          example: 147899.43
          description: Total cost of the holding.
        Market:
          type: number
          format: decimal
          example: 146276.99
          description: Current market value of the holding.
        UnsettledMarketValue:
          type: number
          format: decimal
          example: 0
          description: Unsettled market value for the holding.
        NetMarketValue:
          type: number
          format: decimal
          example: 146276.99
          description: Net market value of the holding.
        UnrealisedGain:
          type: number
          format: decimal
          example: -1622.44
          description: Unrealised gain or loss for the holding.
        GainPercentage:
          type: number
          format: decimal
          example: -1.09
          description: Gain percentage for the holding.
        TotalPercentage:
          type: number
          format: decimal
          example: 6.68
          description: Percentage allocation of the holding in the portfolio.
        EstimatedIncome:
          type: number
          format: decimal
          example: 671.02
          description: Estimated income for the holding.
        EstimatedYield:
          type: number
          format: decimal
          example: 0.45
          description: Estimated yield for the holding.
        SuppressZeroes:
          type: boolean
          example: false
          description: Indicates whether zero values should be suppressed in display.
    InvestmentSummary_MarketTypeItem:
      type: object
      description: >-
        Represents investment summary details grouped by market type or asset
        pool.
      properties:
        HoldingAccountItems:
          type: array
          items:
            $ref: '#/components/schemas/InvestmentSummary_HoldingAccountItem'
        MarketTypeName:
          type: string
        TotalCost:
          type: number
          format: decimal
          example: 1734539.35
          description: Total cost for this market type.
        TotalMarket:
          type: number
          format: decimal
          example: 2187450.55
          description: Total market value for this market type.
        TotalUnsettled:
          type: number
          format: decimal
          example: 0
          description: Total unsettled market value for this market type.
        TotalUnrealisedGain:
          type: number
          format: decimal
          example: 449843.74
          description: Total unrealised gain for this market type.
        TotalGainPercentage:
          type: number
          format: decimal
          example: 26.11
          description: Gain percentage for this market type.
        TotalTotalPercentage:
          type: number
          format: decimal
          example: 100
          description: Total percentage allocation for this market type.
        TotalEstimatedIncome:
          type: number
          format: decimal
          example: 26105.74
          description: Total estimated income for this market type.
        TotalEstimatedYield:
          type: number
          format: decimal
          example: 1.19
          description: Total estimated yield for this market type.
        UnpaidIncome:
          type: number
          format: decimal
          example: 3067.46
          description: Total unpaid income for this market type.
        UnpaidIncomePercentage:
          type: number
          format: decimal
          example: 0.14
          description: Percentage of unpaid income for this market type.
    LatestBankMovementsSummary:
      type: object
      description: >-
        Represents the latest bank movements for a specific fund and bank
        account, including transactions and closing balance.
      properties:
        FundId:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: >-
            Unique identifier for the fund, in the format of 8-4-4-4-12
            hexadecimal characters.
        BankAccountId:
          type: string
          example: d20f30cd-625f-4495-8563-254415f14e94
          description: >-
            Unique identifier for the bank account, in the format of 8-4-4-4-12
            hexadecimal characters.
        BankAccountName:
          type: string
          example: Macquarie CMA
          description: Name of the bank account.
        Movements:
          type: array
          items:
            $ref: '#/components/schemas/LatestBankMovementsSummary_BankMovement'
        ClosingBalance:
          type: number
          format: decimal
          example: 750000
          description: Closing balance amount.
    LatestBankMovementsSummary_BankMovement:
      type: object
      description: Represents a single bank movement transaction.
      properties:
        Id:
          type: string
          example: e7843d39-c953-4d13-855d-e341f8c9173b
          description: >-
            Unique identifier for the bank movement transaction, in the format
            of 8-4-4-4-12 hexadecimal characters.
        TransactionDate:
          type: string
          format: date
          example: '2025-05-01'
          description: Date when the transaction occurred.
        Description:
          type: string
          example: DEPOSIT INTEREST
          description: Description of the transaction.
        Amount:
          type: number
          format: decimal
          example: 112.67
          description: Amount of the transaction.
        DebitCreditIndicator:
          $ref: '#/components/schemas/DebitCreditIndicator'
    LegalEntityType:
      type: string
      description: Type of legal entity for the fund (e.g., SMSF, SAF)
      enum:
        - SMSF
        - SAF
        - Personal
        - Trust
        - Company
        - Partnership
        - Consolidated
    MarketAndSecurityInfo:
      type: object
      description: Represents market and security details for a holding.
      properties:
        SecurityCode:
          type: string
          example: AAPL
          description: Code representing the security.
        SecurityName:
          type: string
          example: Apple Inc
          description: Name of the security.
        MarketCode:
          type: string
          example: XNAS
          description: Code representing the market.
        MarketAcronym:
          type: string
          example: NASDAQ
          description: Acronym for the market.
    MarketValuationGrouping:
      type: string
      description: Specifies the grouping type for market valuation results.
      enum:
        - MarketValue
        - MarketType
        - AssetClass
        - AssetPool
        - HoldingReference
        - HoldingAccount
        - Portfolio
    MarketValuationResults:
      type: object
      description: >-
        Represents market valuation results for a fund over a specified date
        range, grouped by the selected type.
      properties:
        FundId:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: >-
            Unique identifier for the fund, in the format of 8-4-4-4-12
            hexadecimal characters.
        GroupingType:
          $ref: '#/components/schemas/MarketValuationGrouping'
        SearchRange:
          type: string
          format: date
          example: 2024-07-01 to 2025-06-30
          description: Date range for the valuation search.
        MarketGroups:
          type: array
          items:
            $ref: '#/components/schemas/MarketValuationResults_MarketGroup'
        MarketValueRange:
          $ref: '#/components/schemas/MarketValuationResults_MinMaxValues'
        StackedMarketValueRange:
          $ref: '#/components/schemas/MarketValuationResults_MinMaxValues'
        ShowEstimatedIncomeAndYield:
          type: boolean
          example: true
          description: Indicates whether estimated income and yield are displayed.
        IncludeExpectedIncome:
          type: boolean
          example: true
          description: Indicates whether expected income is included in the results.
    MarketValuationResults_MarketGroup:
      type: object
      description: >-
        Represents a market group with aggregated valuation data and daily
        values.
      properties:
        Id:
          type: string
          example: MT001
          description: Unique identifier for the market group.
        Description:
          type: string
          example: Listed Securities Market
          description: Description of the market group.
        DailyValues:
          type: array
          items:
            $ref: '#/components/schemas/MarketValuationResults_MarketGroupDailyValue'
        MarketValueRange:
          $ref: '#/components/schemas/MarketValuationResults_MinMaxValues'
    MarketValuationResults_MarketGroupDailyValue:
      type: object
      description: Represents a single day's market valuation for a market group.
      properties:
        MarketVectorId:
          type: string
          example: MV001
          description: Identifier for the market vector.
        Date:
          type: string
          format: date
          example: '2024-07-01'
          description: Date of the valuation.
        MarketValue:
          type: number
          format: decimal
          example: 101922.39
          description: Market value for the day.
        MarketValueFormatted:
          type: string
          example: $101,922.39
          description: Formatted market value for display purposes.
    MarketValuationResults_MinMaxValues:
      type: object
      description: >-
        Represents minimum and maximum market values for a group or overall
        range.
      properties:
        MinValue:
          type: number
          format: decimal
          example: 98736.95
          description: Minimum market value in the range.
        MinValueFormatted:
          type: string
          example: $98,736.95
          description: Formatted minimum market value.
        MaxValue:
          type: number
          format: decimal
          example: 119116.56
          description: Maximum market value in the range.
        MaxValueFormatted:
          type: string
          example: $119,116.56
          description: Formatted maximum market value.
    MatchStatusType:
      type: string
      description: Indicates the matching status of the transaction.
      enum:
        - Unmatched
        - PartiallyMatched
        - FullyMatched
        - AwaitingApproval
    Member:
      type: object
      description: Represents details of an individual member in the fund.
      properties:
        Id:
          type: string
          example: 5c411c7a-0cb3-4b36-9b9e-a9968636b4ef
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters.
        DisplayName:
          type: string
          example: Mr John Doe
          description: Display name of the member.
        Accounts:
          type: array
          items:
            $ref: '#/components/schemas/MemberAccount'
        TotalAccountBalance:
          type: number
          format: decimal
          example: 720579.87
          description: Total balance across all member accounts.
        MemberNumber:
          type: string
          example: 1
          description: Member number assigned by the fund.
        JoinFundDate:
          type: string
          format: date
          example: '2003-12-17'
          description: Date when the member joined the fund.
        LeaveFundDate:
          type: string
          format: date
          example: '2026-01-01'
          description: Date when the member left the fund, if applicable.
        AustralianResident:
          type: boolean
          example: true
          description: Indicates if the member is an Australian resident.
        RecordedTaxFileNumber:
          type: boolean
          example: true
          description: Indicates if the member's Tax File Number is recorded.
        ClaimTaxFreeThreshold:
          type: boolean
          example: true
          description: Indicates if the member claims the tax-free threshold.
        MemberInsurance:
          $ref: '#/components/schemas/MemberInsurance'
        MailingAddress:
          $ref: '#/components/schemas/Address'
        PhysicalAddress:
          $ref: '#/components/schemas/Address'
        UsePhysicalForMailingAddress:
          type: boolean
          example: true
          description: Indicates if the physical address is used for mailing.
        ElectronicContacts:
          type: array
          items:
            $ref: '#/components/schemas/ElectronicContact'
        DateOfBirth:
          type: string
          format: date
          example: '1955-12-31'
          description: Date of birth of the member.
        DateOfDeath:
          type: string
          format: date
          example: '2026-01-01'
          description: Date of death of the member, if applicable.
        Gender:
          type: string
          example: Male
          description: Gender of the member.
        BeneficiaryDetails:
          $ref: '#/components/schemas/MemberBeneficiary'
        IsABeneficiary:
          type: boolean
          example: false
          description: Indicates if the member is a beneficiary.
        IsABeneficiaryOrg:
          type: boolean
          example: false
          description: Indicates if the member is a beneficiary organization.
    MemberAccount:
      type: object
      description: Represents details of an account held by a member.
      properties:
        Id:
          type: string
          example: 65065b94-2bd3-4e34-abc8-57410d329434
          description: >-
            Unique identifier for the account, in the format of 8-4-4-4-12
            hexadecimal characters.
        Description:
          type: string
          example: ABP2008
          description: Description of the account.
        Type:
          type: string
          example: Pension - Account Based
          description: Type of the account.
        Balance:
          type: number
          format: decimal
          example: 44521.72
          description: Current balance of the account.
    MemberBeneficiary:
      type: object
      description: Represents beneficiary details for a member.
      properties:
        HasBeenNominated:
          type: boolean
          example: false
          description: Indicates if a beneficiary has been nominated.
        ExpiryDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Expiry date of the beneficiary nomination.
        BindingStatus:
          type: string
          example: NonLapsingBinding
          description: Binding status of the beneficiary nomination.
        NominationDetails:
          type: string
          example: NonLapsingBinding
          description: Additional details about the beneficiary nomination.
    MemberContributionCapSavedData:
      type: object
      description: >-
        Represents saved contribution cap data for a member, including prior
        year contributions and balances.
      properties:
        MemberId:
          type: string
          example: 6d411c7a-0cb3-4b36-9b9e-a8768636b4fg
          description: >-
            Unique identifier for the member account, in the format of
            8-4-4-4-12 hexadecimal characters.
        Year:
          type: integer
          format: int32
          example: 2025
          description: Financial year for which the contribution cap data applies
        PriorYearContributionType:
          $ref: '#/components/schemas/PriorYearContribCapType'
        TotalPreviousNonConcessional:
          type: number
          format: decimal
          example: 120000
          description: Total non-concessional contributions made in previous years.
        TotalPreviousConcessional:
          type: number
          format: decimal
          example: 27500
          description: Total concessional contributions made in previous years.
        OtherFundNonConcessional:
          type: number
          format: decimal
          example: 15000
          description: Non-concessional contributions made to other funds.
        OtherFundConcessional:
          type: number
          format: decimal
          example: 5000
          description: Concessional contributions made to other funds.
        ExternalAccumulationBalance:
          type: number
          format: decimal
          example: 250000
          description: External accumulation balance outside the primary fund.
        ExternalRetirementBalance:
          type: number
          format: decimal
          example: 100000
          description: External retirement balance outside the primary fund.
        AllowEditTotalPreviousConcessional:
          type: boolean
          example: true
          description: >-
            Indicates whether editing of total previous concessional
            contributions is allowed.
        PreviousConcessionalDetails:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberContributionCapSummary_PreviousConcessionalDetail
        LastAcknowledgedOtherFundContribs:
          type: string
          format: date
          example: '2025-06-30'
          description: Date when other fund contributions were last acknowledged.
        LastAcknowledgedBy:
          type: string
          example: admin.user@example.com
          description: >-
            Identifier or username of the person who last acknowledged other
            fund contributions.
    MemberContributionCapSummary:
      type: object
      description: >-
        Summary of contribution caps for a financial year, including member
        details and unmatched cash information.
      properties:
        Year:
          type: integer
          format: int32
          example: 2025
          description: Financial year for which contribution caps are calcula
        FinancialYearPeriod:
          $ref: '#/components/schemas/DateRange'
        AllowedFinancialYears:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberContributionCapSummary_FinancialYearDetails
        Members:
          type: array
          items:
            $ref: '#/components/schemas/MemberContributionCapSummary_MemberDetails'
        UnmatchedCashAmount:
          type: number
          format: decimal
          example: 28978.56
          description: Total unmatched cash amount for the fund.
        EarliestTransactionDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Earliest transaction date considered in the report.
        LatestTransactionDate:
          type: string
          format: date
          example: '2025-06-25'
          description: Latest transaction date considered in the report.
        UnmatchedCashAccount:
          type: string
          example: d20f30cd-625f-4495-8563-254415f14e94
          description: >-
            Identifier for the account holding unmatched cash, in the format of
            8-4-4-4-12 hexadecimal characters.
    MemberContributionCapSummary_ContributionBreakdown:
      type: object
      description: Breakdown of contributions by classification for reporting purposes.
      properties:
        Classification:
          $ref: '#/components/schemas/ContributionClassificationType'
        SubTotals:
          type: array
          items:
            $ref: >-
              #/components/schemas/ContributionBreakdown_ContributionBreakdownTotal
        Total:
          type: number
          format: decimal
          example: 15000
          description: Total amount for this classification.
        ClassificationDisplay:
          type: string
          example: Employer Contributions
          description: Display name for the classification in reports.
    MemberContributionCapSummary_ContributionNote:
      type: object
      description: Represents a note associated with a contribution detail.
      properties:
        Number:
          type: integer
          format: int32
          description: Sequential number of the note.
          example: 1
        Text:
          type: string
          description: Content of the note.
          example: >-
            Non-concessional cap shown does NOT take prior year 'Bring Forward
            Rule' usage into account
    MemberContributionCapSummary_ContributionTotals:
      type: object
      description: Totals of contributions made by the member for the financial year.
      properties:
        Concessional:
          type: number
          format: decimal
          example: 0
          description: Total concessional contributions made during the year.
        NonConcessional:
          type: number
          format: decimal
          example: 0
          description: Total non-concessional contributions made during the year.
        Other:
          type: number
          format: decimal
          example: 0
          description: Total contributions classified as other types.
    MemberContributionCapSummary_ContributionTransaction:
      type: object
      description: >-
        Represents a single contribution transaction for the member, including
        classification and matching details.
      properties:
        TransactionDate:
          type: string
          format: date
          example: '2025-03-15'
          description: Date when the contribution transaction occurred.
        ContributionType:
          type: string
          example: Concessional
          description: Type of contribution (e.g., Concessional, Non-Concessional).
        Classification:
          $ref: '#/components/schemas/ContributionClassificationType'
        Amount:
          type: number
          format: decimal
          example: 15000
          description: Total amount contributed in this transaction.
        EventMatchSummary:
          $ref: '#/components/schemas/ReportData_EventMatchSummary'
        DisplayName:
          type: string
          example: Employer Contribution March
          description: Display name for the transaction in reports.
        DisplayOrder:
          type: integer
          format: int32
          example: 1
          description: Order in which the transaction should appear in the list.
        AmountConcessional:
          type: number
          format: decimal
          example: 15000
          description: Portion of the amount classified as concessional.
        AmountNonConcessional:
          type: number
          format: decimal
          example: 0
          description: Portion of the amount classified as non-concessional.
        AmountOther:
          type: number
          format: decimal
          example: 0
          description: Portion of the amount classified as other contributions.
        EventMatchDate:
          type: string
          format: date
          example: '2025-03-20'
          description: Date when the event was matched to this transaction.
        Source:
          type: string
          example: Internal
          description: Source of the contribution (e.g., Internal, External).
    MemberContributionCapSummary_FinancialYearDetails:
      type: object
      description: Represents an allowed financial year option.
      properties:
        Year:
          type: integer
          format: int32
          example: 2025
          description: Financial year number.
        Description:
          type: string
          example: '2024-25: Financial Year'
          description: Description of the financial year.
    MemberContributionCapSummary_MemberContributionCapDetails:
      type: object
      description: Detailed contribution cap information for the member.
      properties:
        Id:
          type: string
          example: null
          description: Unique identifier for the contribution cap recor
        PriorYearContributionType:
          $ref: '#/components/schemas/PriorYearContributionType'
        PriorYearContributionMode:
          $ref: '#/components/schemas/PriorYearContributionMode'
        PriorYearContributionRules:
          $ref: >-
            #/components/schemas/MemberContributionCapSummary_PriorYearContributionRules
        TotalPreviousNonConcessional:
          type: number
          format: decimal
          description: Total non-concessional contributions from previous years.
          example: 0
        CapInEffectFromPreviousYears:
          type: number
          format: decimal
          description: Contribution cap carried forward from previous years.
          example: 0
        TotalPriorYearMinValue:
          type: number
          format: decimal
          description: >-
            Minimum value of prior year contributions considered for cap
            calculations.
          example: 110000
        TotalPrior2YearMinValue:
          type: number
          format: decimal
          description: >-
            Minimum value of contributions from two years prior considered for
            cap calculations.
          example: 110000
        EditPriorYearContributionType:
          type: boolean
          description: Indicates if the prior year contribution type can be edited.
          example: true
        TriggeredBfrThisYear:
          type: boolean
          description: >-
            Indicates if the bring forward rule has been triggered in the
            current year.
          example: false
        LastAcknowledgedBy:
          type: string
          description: >-
            Identifier of the user who last acknowledged the contribution
            details.
          example: John Smith
        LastAcknowledgedByDate:
          type: string
          format: date
          description: Date when the contribution details were last acknowledged.
          example: '2024-07-01'
        IsPersisted:
          type: boolean
          description: >-
            Indicates if the contribution cap details have been saved to the
            database.
          example: false
        CanCalculateFromPriorYear:
          type: boolean
          description: Indicates if calculations can be performed based on prior year data.
          example: false
        BfrAvailable:
          type: boolean
          description: Indicates if the bring forward rule is available for use.
          example: true
        Notes:
          type: array
          items:
            type: string
        TotalPreviousConcessional:
          type: number
          format: decimal
          description: Total concessional contributions from previous years.
          example: 0
        ExternalAccumulationBalance:
          type: number
          format: decimal
          description: External accumulation balance of the member.
          example: 0
        ExternalRetirementBalance:
          type: number
          format: decimal
          description: External retirement balance of the member.
          example: 0
        ClassAccumulationBalance:
          type: number
          format: decimal
          description: Class accumulation balance of the member.
          example: 687274.9
        ClassRetirementBalance:
          type: number
          format: decimal
          description: Class retirement balance of the member.
          example: 533304.97
        BalanceAdjustmentAmount:
          type: number
          format: decimal
          description: Adjustment amount applied to the member's balance.
          example: 0
        PersonalInjuryBalance:
          type: number
          format: decimal
          description: Personal injury balance of the member.
          example: 0
        TotalClassSuperannuationBalance:
          type: number
          format: decimal
          description: Total class superannuation balance of the member.
          example: 1220579.87
        TotalExternalSuperannuationBalance:
          type: number
          format: decimal
          description: Total external superannuation balance of the member.
          example: 0
        TotalSuperannuationBalance:
          type: number
          format: decimal
          description: Total superannuation balance of the member.
          example: 1220579.87
    MemberContributionCapSummary_MemberDetails:
      type: object
      description: Contribution cap details for an individual member.
      properties:
        Year:
          type: integer
          format: int32
          description: Financial year for which contribution caps are calculated.
          example: 2025
        Id:
          type: string
          example: 5c411c7a-0cb3-4b36-9b9e-a9968636b4ef
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters.
        Name:
          type: string
          example: John Doe
          description: Full name of the member.
        MemberNumber:
          type: string
          example: 1
          description: Member number assigned by the fund.
        MemberDeathDateIsSet:
          type: boolean
          description: Indicates if the member's date of death is recorded.
          example: false
        MemberBirthdayIsSet:
          type: boolean
          description: Indicates if the member's date of birth is recorded.
          example: true
        MemberBirthday:
          type: string
          format: date
          description: Date of birth of the member.
          example: '1955-12-31'
        AgeAtEndFinancialYear:
          type: integer
          format: int32
          description: Age of the member at the end of the financial year.
          example: 69
        AgeAtStartFinancialYear:
          type: integer
          format: int32
          description: Age of the member at the start of the financial year.
          example: 68
        Status:
          type: string
          description: Current status of the member.
          example: >-
            Member may be eligible for the bring forward rule, certain
            conditions apply
        YearBreakdown:
          $ref: >-
            #/components/schemas/MemberContributionCapSummary_YearBreakdownDetails
        ContributionTransactions:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberContributionCapSummary_ContributionTransaction
        ContributionTotals:
          $ref: '#/components/schemas/MemberContributionCapSummary_ContributionTotals'
        ContributionBreakdowns:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberContributionCapSummary_ContributionBreakdown
    MemberContributionCapSummary_MemberYearBalanceDetail:
      type: object
      description: Balance details for the member at the end of the financial year.
      properties:
        ExternalAccumulationBalance:
          type: number
          format: decimal
          example: 0
          description: External accumulation balance outside the fund.
        ExternalRetirementBalance:
          type: number
          format: decimal
          example: 0
          description: External retirement balance outside the fund.
        ClassAccumulationBalance:
          type: number
          format: decimal
          example: 687274.9
          description: Accumulation balance within the fund.
        ClassRetirementBalance:
          type: number
          format: decimal
          example: 533304.97
          description: Retirement balance within the fund.
        BalanceAdjustmentAmount:
          type: number
          format: decimal
          example: 0
          description: Adjustment amount applied to the balance.
        PersonalInjuryBalance:
          type: number
          format: decimal
          example: 0
          description: Balance related to personal injury contributions.
        TotalClassSuperannuationBalance:
          type: number
          format: decimal
          example: 1220579.87
          description: Total superannuation balance within the fund.
        TotalExternalSuperannuationBalance:
          type: number
          format: decimal
          example: 0
          description: Total superannuation balance outside the fund.
        TotalSuperannuationBalance:
          type: number
          format: decimal
          example: 1220579.87
          description: Combined total of internal and external superannuation balances.
    MemberContributionCapSummary_PreviousConcessionalDetail:
      type: object
      description: Details of concessional contributions made in previous financial years.
      properties:
        FinancialYear:
          type: integer
          format: int32
          example: 2024
          description: Financial year for the previous concessional contribution.
        FinancialYearDescription:
          type: string
          example: '2023-24: Financial Year'
          description: Description of the financial year.
        Amount:
          type: number
          format: decimal
          example: 15000
          description: Amount of concessional contributions made in that year.
    MemberContributionCapSummary_PriorYearContributionDetails:
      type: object
      description: Details of prior year contribution caps and totals.
      properties:
        RuleText:
          type: string
          example: Contributions for the previous 2 years are not confirmed
          description: Text explaining the rule applied for prior year contributions.
        CapText:
          type: string
          example: 3-year cap in effect from previous years
          description: Text describing the cap applied from previous years.
        TotalText:
          type: string
          example: Total non-concessional contributions in previous years
          description: Text summarizing total contributions in prior years.
        SuggestedDisplayIfInvalid:
          type: string
          example: unknown
          description: Suggested display text if prior year data is invalid.
        CapAmount:
          type: number
          format: decimal
          example: 0
          description: Amount of the cap applied from previous years.
        TotalAmount:
          type: number
          format: decimal
          example: 0
          description: Total amount of non-concessional contributions in prior years.
    MemberContributionCapSummary_PriorYearContributionRules:
      type: object
      description: Rules applicable to prior year contributions.
      properties:
        Rules:
          type: array
          items:
            $ref: '#/components/schemas/PriorYearContributionTypeCustomModel'
        RuleExtraNote:
          type: string
          description: Additional notes regarding the prior year contribution rules.
          example: ''
        RulesList:
          type: array
          items:
            $ref: >-
              #/components/schemas/PriorYearContributionRules_PriorYearContributionRule
    MemberContributionCapSummary_YearBreakdownDetails:
      type: object
      description: >-
        Detailed breakdown of contribution caps, prior year details and balances
        for the member.
      properties:
        Year:
          type: integer
          format: int32
          example: 2025
          description: Financial year for the breakdown.
        MemberContributionCapDetails:
          $ref: >-
            #/components/schemas/MemberContributionCapSummary_MemberContributionCapDetails
        CalculatedFromPreviousYear:
          $ref: >-
            #/components/schemas/MemberContributionCapSummary_MemberContributionCapDetails
        ContributionDetails:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberContributionCapSummary_YearContributionDetails
        Notes:
          type: array
          items:
            $ref: '#/components/schemas/MemberContributionCapSummary_ContributionNote'
        PriorYearDetails:
          $ref: >-
            #/components/schemas/MemberContributionCapSummary_PriorYearContributionDetails
        PriorYearTotalNonConcessional:
          type: number
          format: decimal
          example: 0
          description: Total non-concessional contributions from prior years.
        ExcessConcessionalContributionAdjustment:
          type: number
          format: decimal
          example: 0
          description: Adjustment amount for excess concessional contributions.
        Warnings:
          type: array
          description: List of warnings related to contribution caps.
          items:
            type: string
          example:
            - >-
              These figures cannot be relied upon without confirming prior year
              contributions
        MemberYearBalanceDetail:
          $ref: >-
            #/components/schemas/MemberContributionCapSummary_MemberYearBalanceDetail
        PreviousConcessionalDetails:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberContributionCapSummary_PreviousConcessionalDetail
        EditMemberContribAllowed:
          type: boolean
          example: true
          description: Indicates if member contribution editing is allowed.
        AllowEditTotalPreviousConcessional:
          type: boolean
          example: false
          description: >-
            Indicates if editing total previous concessional contributions is
            allowed.
    MemberContributionCapSummary_YearContributionDetails:
      type: object
      description: Contribution details for a specific row type in the breakdown.
      properties:
        RowType:
          $ref: '#/components/schemas/ContributionSummaryRowType'
        DetailName:
          type: string
          description: Name of the contribution detail.
          example: Caps
        FootNoteNumbers:
          type: string
          description: Footnote numbers associated with the detail.
          example: '1'
        ShowingWithBfr:
          type: boolean
          description: Indicates if the bring forward rule is applied.
          example: false
        Concessional:
          type: number
          format: decimal
          description: Concessional contribution amount.
          example: 30000
        NonConcessional:
          type: number
          format: decimal
          description: Non-concessional contribution amount.
          example: 120000
        NonConcessionalBfr:
          type: number
          format: decimal
          description: Non-concessional bring forward contribution amount.
          example: 360000
        RowNotes:
          type: array
          items:
            $ref: '#/components/schemas/MemberContributionCapSummary_ContributionNote'
    MemberInsurance:
      type: object
      description: Represents insurance details for a member.
      properties:
        SalaryContinuanceSum:
          type: number
          format: decimal
          example: 0
          description: Salary continuance sum insured.
        DeathSum:
          type: number
          format: decimal
          example: 1000000
          description: Death sum insured.
        TpdSum:
          type: number
          format: decimal
          example: 250000
          description: Total and permanent disability sum insured.
    MemberList:
      type: object
      description: >-
        Represents a summary of members in a fund, including balances and
        reserve member details.
      properties:
        PortfolioId:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: >-
            Unique identifier for the portfolio, in the format of 8-4-4-4-12
            hexadecimal characters.
        TotalIncludingReserves:
          type: number
          format: decimal
          example: 1567828.03
          description: Total balance including reserves.
        TotalMembersBalance:
          type: number
          format: decimal
          example: 1567828.03
          description: Total balance of all members.
        TotalReserveBalance:
          type: number
          format: decimal
          example: 0
          description: Total reserve balance.
        Members:
          type: array
          items:
            $ref: '#/components/schemas/Member'
        ReserveMember:
          $ref: '#/components/schemas/ReserveMember'
    MemberStatement:
      type: object
      description: >-
        Detailed member statement including balances, insurance and beneficiary
        details.
      properties:
        OpeningBalanceDate:
          type: string
          format: date
          example: '2024-06-30'
          description: Opening balance date for the member account.
        AsAtDate:
          type: string
          format: date
          example: '2025-07-01'
          description: Date as at which the statement is generated.
        MemberId:
          type: string
          example: 6d411c7a-0cb3-4b36-9b9e-a8768636b4fg
          description: >-
            Unique identifier for the member account, in the format of
            8-4-4-4-12 hexadecimal characters.
        MemberName:
          type: string
          example: John Doe
          description: Full name of the member.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        FundType:
          type: string
          example: SMSF
          description: Type of the fund.
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundABN:
          type: string
          example: 81948421769
          description: Australian Business Number (ABN) of the fund.
        IsCorporateTrustee:
          type: boolean
          example: true
          description: Indicates if the fund has a corporate trustee.
        MemberDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementMemberDetails'
        BrandEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        FundEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        AuditorEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        InvestmentManagerEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        SMSFOtherInformation:
          $ref: >-
            #/components/schemas/MemberStatement_MemberStatementSMSFOtherInformation
        SAFOtherInformation:
          $ref: >-
            #/components/schemas/MemberStatement_MemberStatementSAFOtherInformation
        Balances:
          type: array
          description: List of account balances for the member.
          items:
            $ref: '#/components/schemas/MemberStatement_MemberAccountBalanceDetails'
        OpeningBalance:
          type: number
          format: decimal
          example: 100000
          description: Opening balance amount.
        ClosingBalance:
          type: number
          format: decimal
          example: 750000
          description: Closing balance amount.
        InsuranceBenefits:
          $ref: >-
            #/components/schemas/MemberStatement_MemberStatementInsuranceBenefits
        BeneficiaryDetails:
          $ref: '#/components/schemas/MemberStatement_NominatedBeneficiaryDetail'
        ReserveAccountBalances:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberStatement_MemberStatementReserveAccountBalanceDetails
        BalanceGraphBase64String:
          type: string
          example: iVBORw0KGgoAAAANSUhEUgAA...
          description: Base64-encoded balance graph image.
        RateOfReturns:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementRateOfReturn'
        DirectorsNames:
          type: array
          description: Names of directors associated with the fund.
          items:
            type: string
          example:
            - Jane Doe
            - John Doe
        TotalEtpComponentBalances:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAmountDetail'
        TotalPreservationBalances:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAmountDetail'
        MemberAccountDetails:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAccountDetails'
    MemberStatementInsuranceBenefits_InsuranceBenefitDetail:
      type: object
      description: Details of a specific insurance benefit.
      properties:
        CoverProvided:
          type: number
          format: decimal
          example: 1000000
          description: Amount of insurance cover provided to the member.
        TotalBenefitPayable:
          type: number
          format: decimal
          example: 1720579.87
          description: Total benefit payable under the insurance policy.
        Balance:
          type: number
          format: decimal
          example: 0
          description: Remaining balance of the insurance benefit.
    MemberStatementWithAuditorDetails:
      type: object
      description: Represents a single member statement and associated auditor details.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        AsAtDate:
          type: string
          format: date
          example: '2025-07-01'
          description: Date as at which the statement is generated.
        PeriodFromDate:
          type: string
          format: date
          example: '2024-06-30'
          description: Start date of the reporting period.
        PeriodToDate:
          type: string
          format: date
          example: '2025-07-01'
          description: End date of the reporting period.
        MemberStatement:
          $ref: '#/components/schemas/MemberStatement'
        AuditorDetails:
          $ref: '#/components/schemas/FundAuditorDetails'
    MemberStatement_EtpBalances:
      type: object
      description: Closing balances for ETP components including total and breakdown.
      properties:
        TotalBalance:
          type: number
          format: decimal
          example: 187274.9
          description: Total ETP balance for the account.
        Balances:
          type: array
          description: Breakdown of ETP balances by component.
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAmountDetail'
    MemberStatement_ExpenseAmounts:
      type: object
      description: >-
        Income details for a member account including total income and itemized
        entries.
      properties:
        TotalIncome:
          type: number
          format: decimal
          example: 0
          description: Total income amount for the member account.
        Expenses:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_TypelessIncomeExpenseDetail'
    MemberStatement_IncomeAmounts:
      type: object
      description: >-
        Income details for a member account including total income and itemized
        entries.
      properties:
        TotalIncome:
          type: number
          format: decimal
          example: 0
          description: Total income amount for the member account.
        Incomes:
          type: array
          description: List of individual income entries for the member account.
          items:
            $ref: '#/components/schemas/MemberStatement_TypelessIncomeExpenseDetail'
    MemberStatement_IncomeExpenseDetail:
      type: object
      description: Represents a single income or expense entry with a specified type.
      properties:
        Type:
          type: string
          example: Expense
          description: Indicates whether the entry is an income or expense.
        Name:
          type: string
          example: Lump Sum Cash Payments
          description: Name of the income or expense item.
        Amount:
          type: number
          format: decimal
          example: 500000
          description: Amount associated with the income or expense item
    MemberStatement_MemberAccountBalanceDetails:
      type: object
      description: >-
        Represents a member's account balance details including account type and
        balance amount.
      properties:
        BalanceType:
          type: string
          example: Opening
          description: Type of balance reported, such as 'Opening' or 'Closing'.
        MemberAccountName:
          type: string
          example: Accumulation
          description: Name of the member's account, e.g., 'Accumulation' or 'ABP200X'.
        Balance:
          type: number
          format: decimal
          example: 687274.9
          description: Balance amount for the specified account type.
    MemberStatement_MemberStatementAccountDetails:
      type: object
      description: Details of a member's account including balances, income, and expenses.
      properties:
        AccountDetails_ID:
          type: string
          example: d12a7891-3588-4d86-8c05-a461ae558d19
          description: >-
            Unique identifier for the member account, in the format of
            8-4-4-4-12 hexadecimal characters.
        AccountDescription:
          type: string
          example: Accumulation
          description: Description of the member account.
        OpeningBalance:
          type: number
          format: decimal
          example: 100000
          description: Opening balance amount.
        ClosingBalance:
          type: number
          format: decimal
          example: 750000
          description: Closing balance amount.
        AccountType:
          type: string
          example: Accumulation
          description: Type of the member account (e.g., Accumulation, Pension).
        AccountStartDate:
          type: string
          format: date
          example: '2003-12-17'
          description: Date the account was established.
        IncomeAmounts:
          $ref: '#/components/schemas/MemberStatement_IncomeAmounts'
        ExpenseAmounts:
          $ref: '#/components/schemas/MemberStatement_ExpenseAmounts'
        TaxableProportion:
          type: number
          format: decimal
          example: 0.72673977
          description: Proportion of the account that is taxable.
        TaxableProportionSpecified:
          type: boolean
          example: true
          description: Indicates whether the taxable proportion is specified.
        PensionAccountStartDate:
          type: string
          format: date
          example: '2007-07-01'
          description: Start date of the pension account.
        PensionAccountStartDateSpecified:
          type: boolean
          example: true
          description: Indicates whether the pension account start date is specified.
        ReversionaryBeneficiaryName:
          type: string
          example: Jane Doe
          description: Name of the reversionary beneficiary.
        IncomeExpenseAmounts:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_IncomeExpenseDetail'
        EtpClosingBalances:
          $ref: '#/components/schemas/MemberStatement_EtpBalances'
        PreservationClosingBalances:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAmountDetail'
        InsuranceBenefits:
          $ref: >-
            #/components/schemas/MemberStatement_MemberStatementInsuranceBenefits
    MemberStatement_MemberStatementAmountDetail:
      type: object
      description: >-
        Details of a specific amount and its percentage allocation within a
        member's account.
      properties:
        Name:
          type: string
          example: Tax Free
          description: Name of the component or category associated with the amount.
        Amount:
          type: number
          format: decimal
          example: 165255.93
          description: Monetary value associated with the classification.
        Percentage:
          type: number
          format: decimal
          example: 22.9337
          description: Percentage representation of the amount relative to the total.
    MemberStatement_MemberStatementEntityDetails:
      type: object
      description: Entity details including contact information and address.
      properties:
        Id:
          type: string
          example: bc6e82b3-1d04-477c-bd08-aa5235a36ac5
          description: >-
            Unique identifier for the entity, in the format of 8-4-4-4-12
            hexadecimal characters.
        Name:
          type: string
          example: John Doe
          description: Name of the entity.
        Address:
          $ref: '#/components/schemas/AddressSummary'
        Telephone:
          type: string
          example: '0412345678'
          description: Telephone number of the member.
        Fax:
          type: string
          example: '0298765432'
          description: Fax number of the member, 10 characters long.
        ContactName:
          type: string
          example: Jane Doe
          description: Name of the contact person for the entity.
        Email:
          type: string
          example: contact@example.com
          description: Email address for the entity.
    MemberStatement_MemberStatementInsuranceBenefits:
      type: object
      description: >-
        Insurance benefit details for the member, including life, disability and
        salary continuation insurance.
      properties:
        InsuranceRecorded:
          type: boolean
          example: true
          description: Indicates whether insurance details are recorded for the member.
        LifeInsurance:
          $ref: >-
            #/components/schemas/MemberStatementInsuranceBenefits_InsuranceBenefitDetail
        DisabilityInsurance:
          $ref: >-
            #/components/schemas/MemberStatementInsuranceBenefits_InsuranceBenefitDetail
        SalaryContinuationInsurance:
          $ref: >-
            #/components/schemas/MemberStatementInsuranceBenefits_InsuranceBenefitDetail
    MemberStatement_MemberStatementMemberDetails:
      type: object
      description: >-
        Personal details of the member including address and contact
        information.
      properties:
        FullName:
          type: string
          example: Mr John Doe
          description: Full name of the member.
        DateOfBirth:
          type: string
          format: date
          example: '1955-12-31'
          description: Date of birth of the member.
        ResidentialAddress:
          $ref: '#/components/schemas/AddressSummary'
        TFNRecorded:
          type: boolean
          example: true
          description: Indicates whether the member's Tax File Number is recorded.
        DateJoinedFund:
          type: string
          format: date
          example: '2003-12-17'
          description: Date the member joined the fund.
        ESPStartDate:
          type: string
          format: date
          example: '2000-11-28'
          description: Start date of the Employer Sponsored Plan (ESP).
        DateLeftFund:
          type: string
          format: date
          example: '2023-06-30'
          description: Date the member left the fund, if applicable.
        DateLeftFundSpecified:
          type: boolean
          example: false
          description: Indicates whether the date left fund is specified.
        Telephone:
          type: string
          example: '0412345678'
          description: Telephone number of the member.
        Fax:
          type: string
          example: '0298765432'
          description: Fax number of the member, 10 characters long.
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
    MemberStatement_MemberStatementRateOfReturn:
      type: object
      description: Annual rate of return information for the member's account.
      properties:
        Year:
          type: string
          example: '2025'
          description: Financial year for which the rate of return is reported.
        Rate:
          type: number
          format: decimal
          example: 5.25
          description: Rate of return for the specified year.
        RateSpecified:
          type: boolean
          example: true
          description: Indicates whether the rate of return is specified.
    MemberStatement_MemberStatementReserveAccountBalanceDetails:
      type: object
      description: Details of a reserve account balance for the member.
      properties:
        AccountName:
          type: string
          example: Reserve Account
          description: Name of the reserve account associated with the member.
        AccountBalance:
          type: number
          format: decimal
          example: 25000
          description: Balance amount held in the reserve account.
    MemberStatement_MemberStatementSAFOtherInformation:
      type: object
      description: SAF-specific details including trustee and auditor information.
      properties:
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        TrusteeEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        AuditorFirmName:
          type: string
          example: Example Audit Firm
          description: Name of the auditor firm.
        EligibleRolloverFundEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        IndividualTrusteeDetails:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        IndividualTrusteeNames:
          type: array
          items:
            type: string
            example:
              - John Doe
            description: Names of individual trustees.
    MemberStatement_MemberStatementSMSFOtherInformation:
      type: object
      description: SMSF-specific details including trustee information.
      properties:
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        TrusteeCompanyName:
          type: string
          example: Doe Pty Limited
          description: Name of the trustee company.
        TrusteeNamesHeading:
          type: string
          example: John Family Trustees
          description: Heading for trustee names section.
        Trustees:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_Trustee'
        TrusteeNames:
          type: array
          items:
            type: string
            example:
              - John Doe
            description: Names of individual trustees.
    MemberStatement_NominatedBeneficiaryDetail:
      type: object
      description: Details of a nominated beneficiary for the member.
      properties:
        BeneficiaryDetailsRecorded:
          type: boolean
          example: false
          description: Indicates whether beneficiary details have been recorded.
        NominationType:
          type: string
          example: Binding
          description: Type of beneficiary nomination (e.g., Binding, Non-Binding)
        EffectiveDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Date the beneficiary nomination became effective.
        ExpiryDate:
          type: string
          format: date
          example: '2025-06-30'
          description: Date the beneficiary nomination expires.
        Details:
          type: string
          example: Nomination includes spouse and children.
          description: Additional details about the beneficiary nomination.
    MemberStatement_Trustee:
      type: object
      description: Name of an individual trustee.
      properties:
        Name:
          type: string
          example: John Doe
          description: Trustee's full name.
    MemberStatement_TypelessIncomeExpenseDetail:
      type: object
      description: Represents a single income or expense entry without a specified type.
      properties:
        Name:
          type: string
          example: Lump Sum Cash Payments
          description: Name of the income or expense item.
        Amount:
          type: number
          format: decimal
          example: 500000
          description: Amount associated with the income or expense item.
    MenuListType:
      type: string
      description: Type of menu list (e.g., Consolidated, Child).
      enum:
        - Default
        - Consolidated
        - Child
    MenuModel:
      type: object
      description: >-
        Represents the menu structure for FundWeb, including top-level and
        nested menu items.
      properties:
        Menus:
          type: array
          items:
            $ref: '#/components/schemas/MenuModel_MenuEntryModel'
    MenuModel_MenuEntryModel:
      type: object
      description: Represents a single menu entry, which may contain child menu items.
      properties:
        MenuItemId:
          type: string
          example: 1de20863-2382-4d2a-b4d2-3dc337339753
          description: >-
            Unique identifier for the menu item, in the format of 8-4-4-4-12
            hexadecimal characters.
        Enabled:
          type: boolean
          example: true
          description: Indicates whether the menu item is enabled.
        Name:
          type: string
          example: Fund Details
          description: Display name of the menu item.
        Index:
          type: integer
          format: int32
          example: 0
          description: Position index of the menu item within its parent.
        ExternalLink:
          type: string
          example: ''
          description: >-
            External link URL if the menu item points to an external resource;
            otherwise null.
        Anchor:
          type: string
          example: FundDetails
          description: Anchor identifier for navigation within the application.
        Pattern:
          $ref: '#/components/schemas/UrlPattern'
        Children:
          type: array
          items:
            $ref: '#/components/schemas/MenuModel_MenuEntryModel'
    MovementType:
      type: string
      description: Type of transaction movement.
      enum:
        - CapitalHoldingTransaction
        - CostBaseAdjustmentTransaction
        - QuantityAdjustmentTransaction
        - IncomeExpenseTransaction
    OperatingStatement:
      type: object
      description: >-
        Represents the operating statement for a fund over a specified period,
        including income, expenses, and tax details.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        Period:
          $ref: '#/components/schemas/DateRange'
        TotalValue:
          type: number
          format: decimal
          example: -476836.67
          description: >-
            Net total value for the operating statement (Income - Expenses -
            Tax).
        Items:
          type: array
          items:
            $ref: '#/components/schemas/OperatingStatement_IncomeExpenseDetailsItem'
    OperatingStatement_IncomeExpenseDetailsItem:
      type: object
      description: >-
        Represents a single income or expense item, which may contain child
        items for detailed breakdown.
      properties:
        Description:
          type: string
          example: Income
          description: Description of the item (e.g., Income, Expense).
        TotalValue:
          type: number
          format: decimal
          example: 23163.33
          description: Total value for this item.
        Children:
          type: array
          items:
            $ref: '#/components/schemas/OperatingStatement_IncomeExpenseDetailsItem'
    PensionBalanceStateType:
      type: string
      description: State of the pension balance.
      enum:
        - OverMax
        - UnderMax
        - UnderPlan
        - UnderMin
    PensionLimitDetails:
      type: object
      description: >-
        Represents pension limits and drawdown details for a fund for a specific
        financial year.
      properties:
        FinancialYear:
          $ref: '#/components/schemas/DateRange'
        FinancialYearId:
          type: string
          example: ea87499f-3850-49f7-a3a0-49ef32833292
          description: >-
            Unique identifier for the financial year, in the format of
            8-4-4-4-12 hexadecimal characters.
        AsAtDate:
          type: string
          format: date
          example: '2025-07-01'
          description: Date as at which the statement is generated.
        UnmatchedCashItems:
          $ref: '#/components/schemas/ReportData_UnmatchedCashItemDetails'
        FinancialYearsActive:
          type: array
          items:
            $ref: '#/components/schemas/ReportData_FundFinancialYearDetail'
        Members:
          type: array
          items:
            $ref: '#/components/schemas/PensionLimitDetails_MemberDetail'
        Totals:
          $ref: '#/components/schemas/PensionLimitDetails_SummaryBalances'
    PensionLimitDetails_BalanceBreakdown:
      type: object
      description: Represents breakdown of balances for drawdowns.
      properties:
        YearToDate:
          type: number
          format: decimal
          example: 25730
          description: Year-to-date balance amount.
        Minimum:
          type: number
          format: decimal
          example: 25730
          description: Minimum required balance.
        RequiredForMinimum:
          type: number
          format: decimal
          example: 0
          description: Amount required to meet the minimum balance.
        Selected:
          type: number
          format: decimal
          example: 25730
          description: Selected balance amount.
        RequiredForSelected:
          type: number
          format: decimal
          example: 0
          description: Amount required to meet the selected balance.
        Maximum:
          type: number
          format: decimal
          example: 30000
          description: Maximum allowable balance.
        RemainingUntilMax:
          type: number
          format: decimal
          example: 4270
          description: Amount remaining until reaching the maximum balance.
        OverMax:
          type: number
          format: decimal
          example: 1234
          description: Amount over the maximum balance, if applicable.
    PensionLimitDetails_MemberDetail:
      type: object
      description: Represents pension limit details for a specific member.
      properties:
        Id:
          type: string
          example: 5c411c7a-0cb3-4b36-9b9e-a9968636b4ef
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters.
        MemberName:
          type: string
          example: Mr John Doe
          description: Full name of the member.
        MemberNumber:
          type: string
          example: 1
          description: Member number assigned by the fund.
        PensionDetails:
          type: array
          items:
            $ref: '#/components/schemas/PensionLimitDetails_PensionDetail'
        Totals:
          $ref: '#/components/schemas/PensionLimitDetails_SummaryBalances'
    PensionLimitDetails_PensionDetail:
      type: object
      description: Represents details of a pension account for a member.
      properties:
        AccountId:
          type: string
          example: 034d684d-016a-4bdf-a5be-133bf1b5992b
          description: >-
            Unique identifier for the pension account, in the format of
            8-4-4-4-12 hexadecimal characters.
        AccountName:
          type: string
          example: ABP2007
          description: Name of the pension account.
        PensionAccountType:
          type: string
          example: AccountBased
          description: Type of pension account.
        OpeningBalance:
          type: number
          format: decimal
          example: 514513.25
          description: Opening balance amount.
        MinimumDrawdownRate:
          type: number
          format: decimal
          example: 0.05
          description: Minimum drawdown rate for the account.
        ProjectedMinimumDrawdownRate:
          type: number
          format: decimal
          example: 0.05
          description: Projected minimum drawdown rate.
        StartDateInPeriod:
          type: string
          format: date
          example: '2023-07-01'
          description: Start date of the pension within the period.
        PensionStartDate:
          type: string
          format: date
          example: '2007-07-01'
          description: Original start date of the pension.
        PensionEndDate:
          type: string
          format: date
          example: '2025-07-01'
          description: End date of the pension, if applicable.
        Balances:
          $ref: '#/components/schemas/PensionLimitDetails_BalanceBreakdown'
        PensionDrawdowns:
          type: array
          items:
            $ref: '#/components/schemas/PensionLimitDetails_PensionDrawdown'
        TotalDrawdowns:
          $ref: '#/components/schemas/PensionLimitDetails_SummaryDrawdowns'
        BalanceState:
          $ref: '#/components/schemas/PensionBalanceStateType'
        ReviewState:
          $ref: '#/components/schemas/ReviewState'
    PensionLimitDetails_PensionDrawdown:
      type: object
      description: Represents details of a pension drawdown transaction.
      properties:
        PaymentDate:
          type: string
          format: date
          example: '2024-06-30'
          description: Date the drawdown payment was made.
        GrossAmount:
          type: number
          format: decimal
          example: 25730
          description: Gross amount of the drawdown.
        NetAmount:
          type: number
          format: decimal
          example: 25730
          description: Net amount of the drawdown.
        PaygAmount:
          type: number
          format: decimal
          example: 0
          description: PAYG amount withheld from the drawdown.
        EventMatchSummary:
          $ref: '#/components/schemas/ReportData_EventMatchSummary'
        OriginEventId:
          type: string
          example: c11393ab-33b8-42bf-91c2-d4b3ee543fe3
          description: >-
            Unique identifier for the origin event, in the format of 8-4-4-4-12
            hexadecimal characters.
    PensionLimitDetails_SummaryBalances:
      type: object
      description: Summary of balances and drawdowns for pension accounts.
      properties:
        GrossDrawdowns:
          $ref: '#/components/schemas/PensionLimitDetails_BalanceBreakdown'
        Payg:
          $ref: '#/components/schemas/PensionLimitDetails_BalanceBreakdown'
        NetCash:
          $ref: '#/components/schemas/PensionLimitDetails_BalanceBreakdown'
    PensionLimitDetails_SummaryDrawdowns:
      type: object
      description: Represents summary of drawdowns for a pension account.
      properties:
        GrossAmount:
          type: number
          format: decimal
          example: 25730
          description: Total gross amount of drawdowns.
        PaygAmount:
          type: number
          format: decimal
          example: 0
          description: Total PAYG amount withheld from drawdowns.
        NetAmount:
          type: number
          format: decimal
          example: 25730
          description: Total net amount of drawdowns.
    PerformanceCalculationMethod:
      type: string
      description: Method used for performance calculation.
      enum:
        - SimpleDietz
        - ModifiedDietz
        - TimeWeightedReturn
    PerformancePeriod:
      type: object
      description: >-
        Represents performance metrics for a specific period within the
        reporting range.
      properties:
        StartDate:
          type: string
          format: date
          example: '2024-10-01'
          description: Start date of the performance period.
        EndDate:
          type: string
          format: date
          example: '2024-10-01'
          description: End date of the performance period.
        StartingPortfolioValue:
          type: number
          format: decimal
          example: 100239.44
          description: Portfolio value at the start of the period.
        EndingPortfolioValue:
          type: number
          format: decimal
          example: 100240.66
          description: Portfolio value at the end of the period.
        FundExpenses:
          type: number
          format: decimal
          example: 0
          description: Fund expenses incurred during the period.
        NetFlows:
          type: number
          format: decimal
          example: 1.22
          description: Net flows during the period.
        CumulativeReturn:
          type: number
          format: decimal
          example: -0.006760448010820797
          description: Cumulative return for the period.
        CumulativeReturnCalcFailed:
          type: boolean
          example: true
          description: Indicates if the cumulative return calculation failed.
        CumulativeReturnPercentage:
          type: number
          format: decimal
          example: -0.6760448010820796
          description: Cumulative return percentage for the period.
        PeriodReturn:
          type: number
          format: decimal
          example: -0.006760448010820797
          description: Return for the specific period.
    Portfolio:
      type: object
      description: Represents a portfolio and its associated holdings.
      properties:
        Key:
          type: string
          example: 023f52b4-ceb5-4253-97fd-756e0b0a94c6
          description: >-
            Unique identifier for the portfolio, in the format of 8-4-4-4-12
            hexadecimal characters.
        Name:
          type: string
          example: Bank
          description: Name of the portfolio.
        SortingValue:
          type: string
          example: Bank
          description: Sorting value for display purposes.
        HoldingAccounts:
          type: array
          description: List of holding accounts within the portfolio.
          items:
            $ref: '#/components/schemas/Portfolio_HoldingSummary'
    PortfolioList:
      type: object
      description: Represents a list of portfolios with summary details.
      properties:
        Total:
          type: integer
          format: int32
          example: 9
          description: Total number of portfolios in the list.
        PortfolioSummaries:
          type: array
          items:
            $ref: '#/components/schemas/PortfolioList_PortfolioSummary'
    PortfolioList_PortfolioSummary:
      type: object
      description: >-
        Represents summary details of a portfolio, including identifiers and
        structural attributes.
      properties:
        Id:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: >-
            Unique identifier for the portfolio, in the format of 8-4-4-4-12
            hexadecimal characters.
        BusinessCode:
          type: string
          example: HUB24
          description: Code representing the business associated with the portfolio.
        Code:
          type: string
          example: demo-fund
          description: Unique code identifier for the portfolio.
        Name:
          type: string
          example: Demo Superannuation Fund
          description: Display name of the portfolio.
        Type:
          type: string
          example: Superannuation
          description: Type of portfolio (e.g., Superannuation, Investment).
        IsNonSuper:
          type: boolean
          example: false
          description: Indicates whether the portfolio is non-superannuation.
        IsConsolidated:
          type: boolean
          example: false
          description: Indicates whether the portfolio is consolidated.
        IsChild:
          type: boolean
          example: true
          description: Indicates whether the portfolio is a child portfolio.
        BrandCode:
          type: string
          example: CLASS
          description: Brand code associated with the portfolio.
        ChildPortfolioIds:
          type: array
          description: List of child portfolio IDs under this portfolio.
          items:
            type: string
            example: 7e627c3f-3984-446f-b5ab-60c6a37141e1
    PortfolioMemberList:
      type: object
      required:
        - IsConsolidated
        - MembersPerPortfolio
      properties:
        IsConsolidated:
          type: boolean
        MembersPerPortfolio:
          type: array
          items:
            $ref: '#/components/schemas/MemberList'
    PortfolioPerformanceData:
      type: object
      description: >-
        Represents detailed performance data for a portfolio over a specified
        date range, including movements, valuations and periods.
      properties:
        Portfolio:
          $ref: '#/components/schemas/Portfolio'
        StartDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Start date of the performance period.
        EndDate:
          type: string
          format: date
          example: '2025-06-30'
          description: End date of the performance period.
        Movements:
          type: array
          items:
            $ref: '#/components/schemas/Summaries_HoldingAccountMovement'
        ExpectedMovements:
          type: array
          items:
            $ref: '#/components/schemas/Summaries_HoldingAccountMovement'
        Valuations:
          type: array
          items:
            $ref: '#/components/schemas/HoldingDailyValuation'
        DailyFlows:
          type: array
          items:
            $ref: >-
              #/components/schemas/PortfolioPerformanceData_HoldingDailyFlowDetails
        Periods:
          type: array
          items:
            $ref: '#/components/schemas/PerformancePeriod'
        IsBenchmark:
          type: boolean
          example: false
          description: Indicates whether this portfolio is a benchmark.
        BenchmarkId:
          type: string
          example: null
          description: Identifier of the benchmark portfolio, if applicable.
    PortfolioPerformanceDataReport:
      type: object
      description: >-
        Represents the portfolio performance data for a specified date range,
        including returns, benchmarks and portfolio-level metrics.
      properties:
        CapitalGains:
          type: number
          format: decimal
          example: 801413.68
          description: Total capital gains for the portfolio during the reporting period.
        Income:
          type: number
          format: decimal
          example: 25475.7829
          description: Total income earned during the reporting period.
        FrankingCredits:
          type: number
          format: decimal
          example: 3477.99
          description: Total franking credits received during the reporting period.
        TotalReturn:
          type: number
          format: decimal
          example: 830367.4529
          description: Total return including capital gains, income, and credits.
        SimpleDietzReturns:
          type: number
          format: decimal
          example: 38.0505121583
          description: Simple Dietz return percentage for the portfolio.
        FallbackToSimpleRateOfReturn:
          type: boolean
          example: false
          description: >-
            Indicates whether the calculation fell back to a simple rate of
            return.
        AverageMarketValue:
          type: number
          format: decimal
          example: 2182276.67855
          description: Average market value of the portfolio during the reporting period.
        TimeWeightedReturn:
          type: number
          format: decimal
          example: 37.9498638741
          description: Time-weighted return percentage for the portfolio.
        BenchmarkTimeWeightedReturn:
          type: number
          format: decimal
          example: 0
          description: Benchmark time-weighted return percentage for comparison.
        StartDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Start date of the performance calculation period.
        EndDate:
          type: string
          format: date
          example: '2025-06-01'
          description: End date of the performance calculation period.
        SelectedBenchmark:
          type: string
          example: null
          description: Selected benchmark for comparison, if applicable.
        PortfolioPerformances:
          type: array
          items:
            $ref: >-
              #/components/schemas/PortfolioPerformanceDataReport_PortfolioPerformance
    PortfolioPerformanceDataReport_PortfolioPerformance:
      type: object
      description: >-
        Represents performance details for an individual portfolio within the
        report.
      properties:
        PortfolioName:
          type: string
          example: Demo Superannuation Fund
          description: Name of the portfolio.
        TimeWeightedReturn:
          type: number
          format: decimal
          example: 37.9498638741
          description: Time-weighted return percentage for the portfolio.
    PortfolioPerformanceData_HoldingDailyFlowDetails:
      type: object
      description: >-
        Represents daily flow details for a holding account within the
        portfolio.
      properties:
        HoldingAccountId:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: >-
            Unique identifier for the account, in the format of 8-4-4-4-12
            hexadecimal characters.
        Date:
          type: string
          format: date
          example: '2024-07-01'
          description: Date of the daily flow entry.
        Flow:
          type: number
          format: decimal
          example: 5000
          description: Total flow amount for the holding on the specified date.
        Income:
          type: number
          format: decimal
          example: 5000
          description: Income amount for the holding on the specified date.
        TaxCredits:
          type: number
          format: decimal
          example: 1000
          description: Tax credits amount for the holding on the specified date.
        HoldingFlow:
          $ref: '#/components/schemas/HoldingDailyAccountFlowDetails'
        QuantityChange:
          type: number
          format: decimal
          example: 1940.84
          description: Change in quantity for the holding on the specified date.
    PortfolioQuery:
      type: object
      description: >-
        Query parameters for searching portfolios with filtering, pagination,
        and sorting options.
      properties:
        BusinessCode:
          type: string
          example: ABC123
          description: Code representing the business associated with the portfolio.
        Code:
          type: string
          example: AC23
          description: Unique code identifier for the portfolio.
        Fragment:
          type: string
          example: Retirement Saver
          description: Text fragment to search for in portfolio names.
        LegalEntityType:
          $ref: '#/components/schemas/LegalEntityType'
        Page:
          type: integer
          format: int32
          example: 1
          description: Page number for pagination.
        PageSize:
          type: integer
          format: int32
          example: 100
          description: Number of items per page for pagination.
        SortDirection:
          $ref: '#/components/schemas/SortDirection'
        SortBy:
          type: string
    PortfolioSummaryWithValue:
      type: object
      description: >-
        Represents a portfolio summary along with its associated value and
        entity type.
      properties:
        Summary:
          type: array
          items:
            $ref: '#/components/schemas/PortfolioList_PortfolioSummary'
        EntityType:
          $ref: '#/components/schemas/LegalEntityType'
        Value:
          type: number
          format: decimal
          example: 1250000
          description: Total value associated with the portfolio.
    Portfolio_HoldingSummary:
      type: object
      description: Represents a summary of a holding account within a portfolio.
      properties:
        Id:
          type: string
          example: d20f30cd-625f-4495-8563-254415f14e94
          description: >-
            Unique identifier for the holding account, in the format of
            8-4-4-4-12 hexadecimal characters.
        Code:
          type: string
          example: MBL.BACCT
          description: Code representing the holding account.
        ManagedAccountCode:
          type: string
          example: null
          description: Managed account code, if applicable.
        Name:
          type: string
          example: Macquarie CMA
          description: Name of the holding account.
        MarketAndSecurityInfo:
          $ref: '#/components/schemas/Securities_MarketAndSecurityInfo'
        HoldingAccountType:
          $ref: '#/components/schemas/HoldingAccountType'
        IncludeInPerformanceReports:
          type: boolean
          example: true
          description: Indicates whether this holding is included in performance reports.
    PriorYearContribCapType:
      type: string
      description: >-
        Specifies the type of prior year contribution cap (e.g., NotApplied,
        AppliedPreviousYear).
      enum:
        - NotApplicable
        - NotApplied
        - Unknown
        - AppliedPreviousYear
        - AppliedTwoYearsPrevious
        - AppliedPreviousYearTwoYearPeriod
        - NotAppliedShortBFPeriodPrior
    PriorYearContributionMode:
      type: string
      description: >-
        Specifies the mode of prior year contributions (e.g., AllAvailable,
        TwoPriorYears).
      enum:
        - AllAvailable
        - TwoPriorYears
        - OnlyPriorYear
        - PriorYearOne
        - PriorYearTwo
        - NothingAvailable
    PriorYearContributionRules_PriorYearContributionRule:
      type: object
      description: Represents a rule for prior year contributions with key-value pairs.
      properties:
        Key:
          $ref: '#/components/schemas/PriorYearContributionType'
        Value:
          type: string
          description: Description of the prior year contribution rule.
          example: null
    PriorYearContributionType:
      type: string
      description: >-
        Specifies the type of prior year contribution (e.g., NotApplied,
        AppliedPreviousYear).
      enum:
        - NotApplicable
        - NotApplied
        - Unknown
        - AppliedPreviousYear
        - AppliedTwoYearsPrevious
        - AppliedPreviousYearTwoYearPeriod
        - NotAppliedShortBFPeriodPrior
    PriorYearContributionTypeCustomModel:
      type: object
      description: Custom model for prior year contribution type with key-value pairs.
      properties:
        key:
          $ref: '#/components/schemas/PriorYearContributionType'
        value:
          type: string
          example: null
          description: Description of the prior year contribution type.
    PublishedDateModel:
      type: object
      description: Represents a single published date entry.
      properties:
        Date:
          type: string
          format: date
          example: '2023-06-30'
          description: Published date for the fund.
    PublishedDatesList:
      type: object
      description: Represents a list of published dates for the fund.
      properties:
        FundId:
          type: string
          example: d2911b94-c749-401d-8379-bb08d01cd7dd
          description: >-
            Unique identifier for the fund, in the format of 8-4-4-4-12
            hexadecimal characters.
        PublishedDates:
          type: array
          items:
            $ref: '#/components/schemas/PublishedDateModel'
    QuickAddLinkType:
      type: string
      description: Specifies the type of quick-add link.
      enum:
        - General
        - InvestmentAccount
    QuickAddLinks:
      type: object
      description: >-
        Configuration for quick-add functionality, including links for editor,
        refresh and validation actions.
      properties:
        LinkType:
          $ref: '#/components/schemas/QuickAddLinkType'
        Editor:
          $ref: '#/components/schemas/RestLink'
        Refresh:
          $ref: '#/components/schemas/RestLink'
        Validate:
          $ref: '#/components/schemas/RestLink'
        EditorRouteName:
          type: string
          example: EditorRoute
          description: Route name for the editor link.
        RefreshRouteName:
          type: string
          example: RefreshRoute
          description: Route name for the refresh link.
        ValidateRouteName:
          type: string
          example: ValidateRoute
          description: Route name for the validate link.
        EditorRouteValues:
          $ref: '#/components/schemas/RouteValues'
        RefreshRouteValues:
          $ref: '#/components/schemas/RouteValues'
        ValidateRouteValues:
          $ref: '#/components/schemas/RouteValues'
        HasWriteAccess:
          type: boolean
          example: true
          description: Indicates if the user has write access for quick-add actions.
        EnableRemoteValidation:
          type: boolean
          example: true
          description: Indicates if remote validation is enabled for quick-add actions.
        SecurityIssueCodes:
          type: array
          items:
            type: string
          example:
            - SEC001
            - SEC002
          description: List of security issue codes associated with quick-add actions.
    RenderMode:
      type: string
      description: Specifies the rendering mode for the selectable item.
      enum:
        - DropDownList
        - AutoComplete
        - MultiSelect
        - DropDownGrid
        - AutoCompleteWithGrid
    ReportData_EventMatchSummary:
      type: object
      description: >-
        Summary of matched events and their details for a contribution
        transaction.
      properties:
        Event:
          $ref: '#/components/schemas/EventMatchSummary_EventDetail'
        SumMatchedEventsUnmatchedAmount:
          type: number
          format: decimal
          example: 0
          description: Total unmatched amount across all matched events.
        MatchingEventDetails:
          type: array
          items:
            $ref: '#/components/schemas/EventMatchSummary_MatchedEventDetail'
        ComparisonValue:
          type: number
          format: decimal
          example: 15000
          description: Value used for comparison during event matching.
        DisplayDate:
          type: string
          format: date
          example: '2025-03-20'
          description: Display date for the event match summary.
    ReportData_FundFinancialYearDetail:
      type: object
      description: Represents details of an active financial year for the fund.
      properties:
        DateRange:
          $ref: '#/components/schemas/DateRange'
        Description:
          type: string
          example: Fund Financial Year.
          description: Description of the financial year.
        Year:
          type: integer
          format: int32
          example: 2024
          description: Year identifier.
    ReportData_UnmatchedCashAccountDetails:
      type: object
      description: Represents unmatched cash details for a specific account.
      properties:
        AccountId:
          type: string
          example: d20f30cd-625f-4495-8563-254415f14e94
          description: >-
            Unique identifier for the account, in the format of 8-4-4-4-12
            hexadecimal characters.
        TotalAmount:
          type: number
          format: decimal
          example: 117259.47
          description: Total unmatched amount for the account.
        EarliestTransactionDate:
          type: string
          format: date
          example: '2023-07-05'
          description: Earliest transaction date for unmatched items.
        LatestTransactionDate:
          type: string
          format: date
          example: '2024-04-24'
          description: Latest transaction date for unmatched items.
    ReportData_UnmatchedCashItemDetails:
      type: object
      description: Represents details of unmatched cash items for the fund.
      properties:
        TotalAmount:
          type: number
          format: decimal
          example: 117259.47
          description: Total amount of unmatched cash items.
        AccountDetails:
          type: array
          items:
            $ref: '#/components/schemas/ReportData_UnmatchedCashAccountDetails'
    ReserveMember:
      type: object
      description: Represents details of the reserve member in the fund.
      properties:
        Id:
          type: string
          example: 4602982d-8a2b-4650-bf3c-88bca2f66c06
          description: Unique identifier for the reserve member.
        DisplayName:
          type: string
          example: Bob Jones
          description: Display name of the reserve member.
        Accounts:
          type: array
          items:
            $ref: '#/components/schemas/MemberAccount'
        TotalAccountBalance:
          type: number
          format: decimal
          example: 0
          description: Total balance across all accounts for the reserve member.
    RestLink:
      type: object
      description: Represents a link used in quick-add functionality.
      properties:
        Id:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
          description: >-
            Unique identifier for the link, in the format of 8-4-4-4-12
            hexadecimal characters.
        Code:
          type: string
          example: EDITOR_LINK
          description: Code representing the link type.
        ScopeCode:
          type: string
          example: FUND_SCOPE
          description: Scope code for the link.
        Uid:
          type: string
          example: UID12345
          description: Unique identifier for the link instance.
        Description:
          type: string
          example: Editor link for quick-add functionality.
          description: Description of the link.
    RestSelectableItem:
      type: object
      description: >-
        Represents a selectable dropdown or multi-select component with
        configuration and allowed values.
      properties:
        SelectedValue:
          type: string
          example: BENCH_ASX200_AI
          description: Currently selected single value
        SelectedValues:
          type: array
          items:
            type: string
          example: []
          description: List of selected values for multi-select scenarios
        DefaultValue:
          type: string
          example: null
          description: Default value for the selection
        EmptySelectionText:
          type: string
          example: Select benchmark
          description: Text displayed when no selection is made
        AllowedValues:
          type: array
          items:
            $ref: '#/components/schemas/RestSelectableItem_AllowedValue'
        NoEmptySelection:
          type: boolean
          example: true
          description: Indicates if empty selection is disallowed.
        NoDefaultSelection:
          type: boolean
          example: true
          description: Indicates if default selection is disallowed.
        SortByText:
          type: boolean
          example: true
          description: Indicates if options should be sorted by text.
        UseKendoWidgets:
          type: boolean
          example: true
          description: Indicates if Kendo UI widgets are used for rendering.
        UseDescriptionAsValueInKendoWidgets:
          type: boolean
          example: true
          description: Indicates if description should be used as value in Kendo widgets.
        EnableAddingNewOptions:
          type: boolean
          example: false
          description: Allows adding new options dynamically.
        RenderMode:
          $ref: '#/components/schemas/RenderMode'
          example: DropDownList
        DropdownHeightInPixels:
          type: integer
          format: int32
          example: 280
          description: Height of the dropdown in pixels
        DropDownGridColumnConfigs:
          type: array
          items:
            $ref: '#/components/schemas/RestSelectableItem_DropDownGridColumnConfig'
          example: []
        RenderDeferred:
          type: boolean
          example: false
          description: Defer rendering until first interaction
        QuickAdd:
          $ref: '#/components/schemas/QuickAddLinks'
          example: null
        SelectedDescription:
          type: string
          example: S&P/ASX 200 Accumulation Index (AUD)
          description: Description of the selected value
        SelectedDescriptions:
          type: array
          items:
            type: string
          example: []
          description: Descriptions of selected values
        Required:
          type: boolean
          example: false
          description: Indicates if selection is required.
        DEFAULT_OPTION_TEXT:
          type: string
          example: — Select —
          description: Default option text for the dropdown
    RestSelectableItem_AllowedValue:
      type: object
      description: Represents an allowed value in the selectable item list.
      properties:
        Value:
          type: string
          example: XAO.ASX
          description: Unique value identifier for the option (e.g., XAO.ASX, XLT.ASX).
        Description:
          type: string
          example: All Ordinaries
          description: Display text for the option (e.g., All Ordinaries, S&P/ASX 20).
        Url:
          type: string
          example: null
          description: Associated URL for the option, if any
        Grouping:
          type: string
          example: Capitalisation
          description: Grouping category for the option.
        GridColumnData:
          type: array
          items:
            $ref: '#/components/schemas/stringCustomModel'
    RestSelectableItem_DropDownGridColumnConfig:
      type: object
      description: Configuration for a column in a dropdown grid.
      properties:
        DataField:
          type: string
          example: Value
          description: Field name for the column.
        IsBasicData:
          type: boolean
          example: true
          description: Indicates if the column contains basic data.
        HeaderName:
          type: string
          example: Benchmark Option
          description: Header name for the column.
        WidthInEms:
          type: number
          format: decimal
          example: 10
          description: Width of the column in em units.
        Searchable:
          type: boolean
          example: true
          description: Indicates if the column is searchable.
    ReviewState:
      type: string
      description: Review state of the pension account.
      enum:
        - Interim
        - Final
        - Calculated
    RouteValues:
      type: object
      description: Represents route values used for quick-add link navigation.
      properties:
        reference:
          type: integer
          format: int32
          example: 101
          description: Reference ID for the route.
        filterString:
          type: string
          example: status=active
          description: Filter string applied to the route.
        effectiveStatuses:
          $ref: '#/components/schemas/EffectiveStatuses'
    S3CacheSerializationType:
      type: string
      description: Specifies the serialization format used for caching data in S3.
      enum:
        - Json
        - MsgPack
        - Protobuf
    Securities_MarketAndSecurityInfo:
      type: object
      description: Represents market and security details for a holding.
      properties:
        SecurityCode:
          type: string
          example: AAPL
          description: Code representing the security.
        SecurityName:
          type: string
          example: Apple Inc
          description: Name of the security.
        MarketCode:
          type: string
          example: XNAS
          description: Code representing the market.
        MarketAcronym:
          type: string
          example: NASDAQ
          description: Acronym for the market.
    SortDirection:
      type: string
      description: Direction for sorting results.
      enum:
        - Asc
        - Desc
    StandardApiResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/ApiResponseBase'
    StatementOfFinancialPosition_FinancialPositionDetailItem:
      type: object
      description: An item in the statement hierarchy.
      properties:
        Id:
          type: string
          example: investments.ListedShares.d6bcdc48-45e8-432c-9c1b-c3381d1bb408
          description: >-
            Identifier for the item, typically combining category path and
            resource identifier.
        Description:
          type: string
          example: ASX Limited
          description: Label for the item (e.g., category name or holding/security name).
        Balance:
          type: number
          format: decimal
          example: 31500
          description: Current-year balance for this item.
        PreviousYearBalance:
          type: number
          format: decimal
          example: 31500
          description: Prior-year balance used for comparison.
        Quantity:
          type: number
          format: decimal
          example: 500
          description: >-
            Quantity applicable to the item (e.g., number of units or property
            count).
        PreviousYearQuantity:
          type: number
          format: decimal
          example: 500
          description: Prior-year quantity for comparison, when relevant.
        Depth:
          type: integer
          format: int32
          example: 3
          description: Nesting level of the item.
        BalanceIsSummary:
          type: boolean
          example: false
          description: Indicates whether the Balance is a summarized total for the items.
        PreviousYearBalanceIsSummary:
          type: boolean
          example: false
          description: Indicates whether the PreviousYearBalance is summarized.
        FundNotesReferenceNumber:
          type: string
          example: 6C
          description: >-
            Optional note reference for financial statement notes, empty string
            if not applicable.
        QuantitySpecified:
          type: boolean
          example: true
          description: Indicates whether Quantity is present for the current year.
        PreviousYearQuantitySpecified:
          type: boolean
          example: true
          description: >-
            Indicates whether PreviousYearQuantity is present for the previous
            year.
        Children:
          type: array
          description: List of child items under this item.
          items:
            $ref: >-
              #/components/schemas/StatementOfFinancialPosition_FinancialPositionDetailItem
    Summaries_HoldingAccountMovement:
      type: object
      description: >-
        Represents a movement in a holding account during the performance
        period.
      properties:
        TransactionId:
          type: string
          example: 2542aa39-bb62-478f-b3e1-68cec2096768
          description: >-
            Unique identifier for the transaction, in the format of 8-4-4-4-12
            hexadecimal characters.
        HoldingAccountId:
          type: string
          example: d20f30cd-625f-4495-8563-254415f14e94
          description: >-
            Identifier for the holding account, in the format of 8-4-4-4-12
            hexadecimal characters.
        EntitlementDate:
          type: string
          format: date
          example: '2024-10-10'
          description: Date when the entitlement occurred.
        PaymentDate:
          type: string
          format: date
          example: '2024-08-01'
          description: Date when the payment was made.
        MovementDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Date of the movement.
        MovementType:
          $ref: '#/components/schemas/MovementType'
        TransactionAmount:
          type: number
          format: decimal
          example: -0.59
          description: Amount of the transaction.
        ProfitOrLoss:
          type: number
          format: decimal
          example: 0
          description: Profit or loss associated with the movement.
        QuantityChange:
          type: number
          format: decimal
          example: 0.59
          description: Change in quantity for the holding.
        BookCostChange:
          type: number
          format: decimal
          example: 0.59
          description: Change in book cost for the holding.
        DepreciatedAmount:
          type: number
          format: decimal
          example: 0
          description: Depreciated amount for the holding.
        ChangeInMarketValue:
          type: number
          format: decimal
          example: 0
          description: Change in market value for the holding.
        FlowAmount:
          type: number
          format: decimal
          example: 0.59
          description: Flow amount for the movement.
        IncludeInMarketValuation:
          type: boolean
          example: true
          description: Indicates whether this movement is included in market valuation.
        IsFrankingCredit:
          type: boolean
          example: false
          description: Indicates whether the movement relates to franking credits.
        IncomeAccountedDate:
          type: string
          format: date
          example: '2024-06-30'
          description: Date when the income was accounted.
    TrustDeedVersionDetail:
      type: object
      description: >-
        Represents details of a trust deed version for the fund, including date,
        jurisdiction, and source information.
      properties:
        DeedDate:
          type: string
          format: date
          example: '2003-12-17'
          description: Date when the trust deed was executed.
        Jurisdiction:
          type: string
          example: New South Wales
          description: Legal jurisdiction under which the trust deed was established.
        TrusteeNamesOnDeed:
          type: string
          example: Bob Jones
          description: Names of trustees listed on the deed.
        DeedType:
          type: string
          example: Establishment
          description: Type of deed (e.g., Establishment, Amendment).
        Comments:
          type: string
          example: ''
          description: Additional comments or notes related to the deed.
        DeedSource:
          type: string
          example: Not Supplied
          description: Source of the deed document.
        DatePrinted:
          type: string
          format: date
          example: '2025-07-01'
          description: Date when the deed was printed, if applicable.
        DatePrintedSpecified:
          type: boolean
          example: false
          description: Indicates whether the printed date is specified.
    TrustDeedVersionList:
      type: object
      required:
        - TrustDeedVersionSummaries
      properties:
        TrustDeedVersionSummaries:
          type: array
          items:
            $ref: '#/components/schemas/TrustDeedVersionDetail'
    UrlPattern:
      type: string
      description: Pattern for constructing URLs with placeholders (e.g., Fund, Business).
      enum:
        - Fund
        - Business
        - User
        - External
    stringCustomModel:
      type: object
      description: Represents a key-value pair for grid column data.
      properties:
        key:
          type: string
          example: ColumnName
          description: Key for the grid column data.
        value:
          type: string
          example: ColumnValue
          description: Value for the grid column data.
    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
  securitySchemes:
    Class_OAuth:
      type: oauth2
      description: >-
        Class use OAuth2 and OpenID for secure authentication and authorisation.
        The base URL reflects the environment—whether Production or PIE and is
        defined under the hosts section.
      flows:
        authorizationCode:
          authorizationUrl: /connect/authorize
          tokenUrl: /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
