openapi: 3.0.1
info:
  x-metadata:
    tags:
      - Class Partner
  title: Business Data
  version: '1.0'
  description: >-
    - List all contacts in a specified business.

    - List all brands in a specified business.

    - Check whether fund Tbar records exist.

    - Load fund reference data into a business; the fund will be created if it
    does not yet exist.

    - Load fund Tbar history.



    <div class="env-panel" data-component-name="EnvPanel"><div
    class="env-panel__header">Servers</div><div class="env-panel__body"><div
    class="env-row"><div class="env-name">Partner Integration Environment
    (Sandbox)</div><div class="env-url-row"><span
    class="env-url">https://apigateway.class-pie.com.au/api/1.0</span><button
    type="button" class="copy-btn"
    data-copy="https://apigateway.class-pie.com.au/api/1.0"
    aria-label="Copy"><svg viewBox="0 0 16 16" fill="none"
    xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path
    fill-rule="evenodd" clip-rule="evenodd" d="M5.16667 2.66667C5.16667 2.57462
    5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667 2.57462 12.1667
    2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12 10.8333H10H5.33333C5.24129
    10.8333 5.16667 10.7587 5.16667 10.6667V4.66667V2.66667ZM4.16667
    4.16667V2.66667C4.16667 2.02233 4.689 1.5 5.33333 1.5H12C12.6443 1.5 13.1667
    2.02233 13.1667 2.66667V10.6667C13.1667 11.311 12.6443 11.8333 12
    11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395 10.1583 14.1583C9.9395
    14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725 14.5 2.0605 14.3771
    1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5 13.3333V5.33333C1.5 5.02391
    1.62292 4.72717 1.84171 4.50838C2.0605 4.28958 2.35725 4.16667 2.66667
    4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775 9.48244 13.4199 9.45118
    13.4512C9.41993 13.4824 9.37754 13.5 9.33333 13.5H2.66667C2.62246 13.5
    2.58007 13.4824 2.54882 13.4512C2.51756 13.4199 2.5 13.3775 2.5
    13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882 5.21548C2.58007 5.18423
    2.62246 5.16667 2.66667 5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333
    5.33333 11.8333H9.5Z" fill="currentColor"/></svg></button></div></div><div
    class="env-row"><div class="env-name">Production Environment</div><div
    class="env-url-row"><span
    class="env-url">https://apigateway.class.com.au/api/1.0</span><button
    type="button" class="copy-btn"
    data-copy="https://apigateway.class.com.au/api/1.0" aria-label="Copy"><svg
    viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"
    aria-hidden="true"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.16667
    2.66667C5.16667 2.57462 5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667
    2.57462 12.1667 2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12
    10.8333H10H5.33333C5.24129 10.8333 5.16667 10.7587 5.16667
    10.6667V4.66667V2.66667ZM4.16667 4.16667V2.66667C4.16667 2.02233 4.689 1.5
    5.33333 1.5H12C12.6443 1.5 13.1667 2.02233 13.1667 2.66667V10.6667C13.1667
    11.311 12.6443 11.8333 12 11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395
    10.1583 14.1583C9.9395 14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725
    14.5 2.0605 14.3771 1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5
    13.3333V5.33333C1.5 5.02391 1.62292 4.72717 1.84171 4.50838C2.0605 4.28958
    2.35725 4.16667 2.66667 4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775
    9.48244 13.4199 9.45118 13.4512C9.41993 13.4824 9.37754 13.5 9.33333
    13.5H2.66667C2.62246 13.5 2.58007 13.4824 2.54882 13.4512C2.51756 13.4199
    2.5 13.3775 2.5 13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882
    5.21548C2.58007 5.18423 2.62246 5.16667 2.66667
    5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333 5.33333 11.8333H9.5Z"
    fill="currentColor"/></svg></button></div></div></div></div>
tags:
  - name: Business
    description: >-
      A Business refers to any single accounting firm/financial
      planner/administrator. Business data sits at a higher level than fund
      level data in the hierarchy as it can contain multiple funds.
  - name: Fund
    description: >-
      This refers to data held at an individual Fund level. Most of the end data
      entered into Class will be at a Fund level e.g. member and transaction
      date, this applies uniquely to the entity.
servers:
  - url: https://apigateway.class-pie.com.au/api/1.0
    description: Partner Integration Environment (Sandbox)
  - url: https://apigateway.class.com.au/api/1.0
    description: Production Environment
paths:
  /b/{businessCode}/business-data/business-contacts:
    get:
      tags:
        - Business
      summary: Business contacts
      description: >
        Returns the contact details for a specific business. 


        **To access this Business Contacts endpoint the authorised user must
        have the Access Controller role in Class for the specified business.**
      operationId: BusinessContacts
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessContactDetailsResponse'
              example:
                data:
                  - id: 37375568-8612-4620-a752-adf8582bdf9b
                    firstName: John
                    middleNames: ''
                    lastName: Doe
                    organisationName: null
                    email: John.Doe.au1234@testemail.com.au
                    partyRelationships:
                      - roleType: Auditor Admin
                        scope: DEMO_SMSF_123
                        scopeType: Fund
                        invitationStatus: Not Invited
                      - roleType: Adviser
                        scope: DEMO_SMSF_2024
                        scopeType: Fund
                        invitationStatus: Not Invited
                      - roleType: Adviser
                        scope: Johntest
                        scopeType: Business
                        invitationStatus: Not Invited
                  - id: adfa2440-216e-4697-9fa2-b1607714a56f
                    firstName: Mark
                    middleNames: ''
                    lastName: Test
                    organisationName: null
                    email: testemail@test.com.au
                    partyRelationships: []
                  - id: daa0fc08-0feb-4baf-afff-f37289b81da4
                    firstName: Test
                    middleNames: ''
                    lastName: User
                    organisationName: null
                    email: testtest@testtest.com.au
                    partyRelationships:
                      - roleType: Access Controller
                        scope: Johntest
                        scopeType: Business
                        invitationStatus: Accepted
                Errors: []
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of validation or request errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of authorization errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of forbidden access errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the business
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of resource not found errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of internal server errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of unexpected errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - business.details.read
  /b/{businessCode}/business-data/brand-list:
    get:
      tags:
        - Business
      operationId: BrandList
      summary: Brand list
      description: List all Brands in the specified Business
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    description: The primary data payload containing brand information.
                    $ref: '#/components/schemas/BusinessData_BrandListDetail'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
              example:
                Data:
                  BrandSummaries:
                    - Code: sample-brand-1
                      Name: Sample Brand Alpha
                      CanWrite: true
                    - Code: sample-brand-2
                      Name: Sample Brand Beta
                      CanWrite: false
                Errors: []
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of validation or request errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of authorization errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of forbidden access 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:
                    description: A list of resource not found errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of internal server errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of unexpected errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - business.fund.list
  /b/{businessCode}/business-data/business-detail:
    get:
      tags:
        - Business
      summary: Business detail
      description: Returns the details of a specific business.
      operationId: BusinessDetail
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    description: The primary data payload containing business details.
                    $ref: '#/components/schemas/BusinessData_BusinessDetailResult'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
              example:
                Data:
                  BusinessDetails:
                    Name: Example Partner Services
                  ContactDetails:
                    Phone: 1300 000 000
                    Url: https://example.com.au
                    Fax: 02 9999 8888
                    Email: support@example.com.au
                    UsePhysicalAddressForMailingAddress: true
                    PhysicalAddress:
                      Addressee: The Manager
                      Line1: Level 1
                      Line2: 123 Sample Road
                      Line3: ''
                      Line4: ''
                      Suburb: Melbourne
                      State: VIC
                      PostCode: '3000'
                      Country: Australia
                    MailingAddress:
                      Addressee: The Manager
                      Line1: Level 1
                      Line2: 123 Sample Road
                      Line3: ''
                      Line4: ''
                      Suburb: Melbourne
                      State: VIC
                      PostCode: '3000'
                      Country: Australia
                Errors: []
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of validation or request errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of authorization errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of forbidden access errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the business
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of resource not found errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of internal server errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of unexpected errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - business.fund.list
  /f/{businessCode}/{fundCode}/business-data/fund-tbar-records-exist:
    get:
      tags:
        - Fund
      operationId: FundTbarRecordsExist
      summary: Fund Tbar records exist
      description: Check whether fund Tbar records exist.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    description: A boolean flag indicating whether fund TBAR records exist.
                    type: boolean
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
              example:
                Data: true
                Errors: []
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of validation or request errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of authorization errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of forbidden access 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:
                    description: A list of resource not found errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of internal server errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of unexpected errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - business.fund.create
  /f/{businessCode}/{fundCode}/business-data/upload-fund-opening-position:
    post:
      tags:
        - Fund
      operationId: UploadFundOpeningPosition
      summary: Upload fund opening position
      description: >-
        Loads a fund's opening balances at a books-closed date, including asset
        positions, member balances, tax position and prior-year data. The fund
        must already exist (created via the Upload fund reference data
        operation) before calling this operation.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardApiResponse'
              example:
                Errors: []
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of validation or request errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of authorization errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of forbidden access 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:
                    description: A list of resource not found errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of internal server errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of unexpected errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/FundOpeningPositions_FundOpeningPositionDocument
            examples:
              accumulationTwoMembers:
                summary: Accumulation - 2 members, shares & cash
                description: >-
                  Two members fully in accumulation phase. Crystallised
                  (post-2007) ETP components; each member's ETP total equals
                  their preservation total.
                value:
                  FundDetails:
                    Code: acc-smsf
                    BooksClosedDate: '2026-06-30'
                    CarryForwardAccountingLoss: '0'
                    CarryForwardCapitalLoss: '0'
                    CarryForwardCapitalCollectibleLoss: '0'
                    StartingNetCumulativeBalance: '345000.00'
                  AssetPositions:
                    HoldingPosition:
                      - Code: CBA
                        ClosingMarketValue: '165000.00'
                        ClosingCarryForwardCapitalLoss: '0'
                        ClosingUnsettledAcquisitions: '0'
                        ClosingUnsettledDisposals: '0'
                        DRPResidual: '0'
                        Acquisition:
                          - AcquisitionDate: '2016-08-10'
                            Quantity: '500'
                            BookCost: '40000.00'
                            Description: CBA parcel
                      - Code: BHP
                        ClosingMarketValue: '140000.00'
                        ClosingCarryForwardCapitalLoss: '0'
                        ClosingUnsettledAcquisitions: '0'
                        ClosingUnsettledDisposals: '0'
                        DRPResidual: '0'
                        Acquisition:
                          - AcquisitionDate: '2016-05-01'
                            Quantity: '2000'
                            BookCost: '40000.00'
                            Description: BHP parcel
                    CashPosition:
                      - Code: BANK.OPS
                        ClosingBalance: '40000.00'
                        ForeignClosingBalance: '0'
                        BookCost: '0'
                        IsForeignCash: 'false'
                  MemberPositions:
                    - Code: '1'
                      AccumulationPosition:
                        ETPBalances:
                          CGTExempt: '0'
                          Concessional: '0'
                          PostJune1994Invalidity: '0'
                          PrePostJune1983: '0'
                          Undeducted: '0'
                          TaxFree: '34500.00'
                          TaxableTaxed: '138000.00'
                          TaxableUntaxed: '0'
                        PreservationBalances:
                          Preserved: '172500.00'
                          RestrictedNonPreserved: '0.00'
                          UnrestrictedNonPreserved: '0.00'
                    - Code: '2'
                      AccumulationPosition:
                        ETPBalances:
                          CGTExempt: '0'
                          Concessional: '0'
                          PostJune1994Invalidity: '0'
                          PrePostJune1983: '0'
                          Undeducted: '0'
                          TaxFree: '25875.00'
                          TaxableTaxed: '146625.00'
                          TaxableUntaxed: '0'
                        PreservationBalances:
                          Preserved: '172500.00'
                          RestrictedNonPreserved: '0.00'
                          UnrestrictedNonPreserved: '0.00'
                  OtherDetails:
                    Asset:
                      PrePaidExpenses: '0'
                      SundryDebtors: '0'
                      DividendsReceivable: '0'
                      InterestReceivable: '0'
                      DistributionsReceivable: '0'
                      InvestmentIncomeReceivable: '0'
                      FundIncomeReceivable: '0'
                      AmountsOwingByOtherPersons: '0'
                    Liability:
                      AmountsOwingToOtherPersons: '0'
                      SundryCreditors: '0'
                      FundExpensesPayable: '0'
                      InvestmentExpensePayable: '0'
                      MemberExpensesPayable: '0'
                      MemberRolloversOutPayable: '0'
                    TaxPosition:
                      ProvisionForDeferredIncomeTax: '0'
                      IncomeTaxPayable: '0'
                      GSTPayableOrRefundable: '0'
                      ImputationCredits: '0'
                      ForeignAndOtherTaxCredits: '0'
                      TFNCredits: '0'
                      ABNCredits: '0'
                      PAYGPayable: '0'
                    FundSuspense:
                      FundSuspenseAmount: '0'
              retirementPension:
                summary: Retirement - account-based pension
                description: >-
                  A retired member with all balances in an account-based pension
                  (unrestricted non-preserved).
                value:
                  FundDetails:
                    Code: pension-smsf
                    BooksClosedDate: '2026-06-30'
                    CarryForwardAccountingLoss: '0'
                    CarryForwardCapitalLoss: '0'
                    CarryForwardCapitalCollectibleLoss: '0'
                    StartingNetCumulativeBalance: '825000.00'
                  AssetPositions:
                    HoldingPosition:
                      - Code: VAS
                        ClosingMarketValue: '520000.00'
                        ClosingCarryForwardCapitalLoss: '0'
                        ClosingUnsettledAcquisitions: '0'
                        ClosingUnsettledDisposals: '0'
                        DRPResidual: '0'
                        Acquisition:
                          - AcquisitionDate: '2011-08-01'
                            Quantity: '5000'
                            BookCost: '300000.00'
                            Description: VAS parcel
                      - Code: VGS
                        ClosingMarketValue: '205000.00'
                        ClosingCarryForwardCapitalLoss: '0'
                        ClosingUnsettledAcquisitions: '0'
                        ClosingUnsettledDisposals: '0'
                        DRPResidual: '0'
                        Acquisition:
                          - AcquisitionDate: '2013-06-20'
                            Quantity: '2500'
                            BookCost: '150000.00'
                            Description: VGS parcel
                    CashPosition:
                      - Code: BANK.OPS
                        ClosingBalance: '100000.00'
                        ForeignClosingBalance: '0'
                        BookCost: '0'
                        IsForeignCash: 'false'
                  MemberPositions:
                    - Code: '1'
                      AccumulationPosition:
                        ETPBalances:
                          CGTExempt: '0'
                          Concessional: '0'
                          PostJune1994Invalidity: '0'
                          PrePostJune1983: '0'
                          Undeducted: '0'
                          TaxFree: '0.00'
                          TaxableTaxed: '0.00'
                          TaxableUntaxed: '0'
                        PreservationBalances:
                          Preserved: '0.00'
                          RestrictedNonPreserved: '0.00'
                          UnrestrictedNonPreserved: '0.00'
                      PensionPosition:
                        - PensionAccountName: PEN-01
                          ETPBalances:
                            CGTExempt: '0'
                            Concessional: '0'
                            PostJune1994Invalidity: '0'
                            PreJuly1983: '0'
                            PrePostJune1983Tax: '0'
                            Undeducted: '0'
                            TaxFree: '206250.00'
                            TaxableTaxed: '618750.00'
                            TaxableUntaxed: '0'
                          PreservationBalances:
                            Preserved: '0.00'
                            RestrictedNonPreserved: '0.00'
                            UnrestrictedNonPreserved: '825000.00'
                  OtherDetails:
                    Asset:
                      PrePaidExpenses: '0'
                      SundryDebtors: '0'
                      DividendsReceivable: '0'
                      InterestReceivable: '0'
                      DistributionsReceivable: '0'
                      InvestmentIncomeReceivable: '0'
                      FundIncomeReceivable: '0'
                      AmountsOwingByOtherPersons: '0'
                    Liability:
                      AmountsOwingToOtherPersons: '0'
                      SundryCreditors: '0'
                      FundExpensesPayable: '0'
                      InvestmentExpensePayable: '0'
                      MemberExpensesPayable: '0'
                      MemberRolloversOutPayable: '0'
                    TaxPosition:
                      ProvisionForDeferredIncomeTax: '0'
                      IncomeTaxPayable: '0'
                      GSTPayableOrRefundable: '0'
                      ImputationCredits: '0'
                      ForeignAndOtherTaxCredits: '0'
                      TFNCredits: '0'
                      ABNCredits: '0'
                      PAYGPayable: '0'
                    FundSuspense:
                      FundSuspenseAmount: '0'
              reservesAndContributions:
                summary: Reserves + contribution history
                description: >-
                  Includes reserve account positions plus prior-year
                  concessional and non-concessional contribution history.
                value:
                  FundDetails:
                    Code: strategy-smsf
                    BooksClosedDate: '2026-06-30'
                    CarryForwardAccountingLoss: '0'
                    CarryForwardCapitalLoss: '5000.00'
                    CarryForwardCapitalCollectibleLoss: '0'
                    StartingNetCumulativeBalance: '600000.00'
                  AssetPositions:
                    HoldingPosition:
                      - Code: VAS
                        ClosingMarketValue: '320000.00'
                        ClosingCarryForwardCapitalLoss: '0'
                        ClosingUnsettledAcquisitions: '0'
                        ClosingUnsettledDisposals: '0'
                        DRPResidual: '0'
                        Acquisition:
                          - AcquisitionDate: '2017-08-10'
                            Quantity: '3000'
                            BookCost: '195000.00'
                            Description: VAS parcel
                      - Code: VGS
                        ClosingMarketValue: '180000.00'
                        ClosingCarryForwardCapitalLoss: '0'
                        ClosingUnsettledAcquisitions: '0'
                        ClosingUnsettledDisposals: '0'
                        DRPResidual: '0'
                        Acquisition:
                          - AcquisitionDate: '2018-04-20'
                            Quantity: '2000'
                            BookCost: '120000.00'
                            Description: VGS parcel
                    CashPosition:
                      - Code: BANK.OPS
                        ClosingBalance: '100000.00'
                        ForeignClosingBalance: '0'
                        BookCost: '0'
                        IsForeignCash: 'false'
                  MemberPositions:
                    - Code: '1'
                      AccumulationPosition:
                        ETPBalances:
                          CGTExempt: '0'
                          Concessional: '0'
                          PostJune1994Invalidity: '0'
                          PrePostJune1983: '0'
                          Undeducted: '0'
                          TaxFree: '103000.00'
                          TaxableTaxed: '412000.00'
                          TaxableUntaxed: '0'
                        PreservationBalances:
                          Preserved: '515000.00'
                          RestrictedNonPreserved: '0.00'
                          UnrestrictedNonPreserved: '0.00'
                  ReservePositions:
                    - ReserveAccountName: Investment Reserve
                      ETPBalances:
                        Unclassified: '60000.00'
                      PreservationBalances:
                        Unclassified: '60000.00'
                    - ReserveAccountName: Contribution Reserve
                      ETPBalances:
                        Unclassified: '25000.00'
                      PreservationBalances:
                        Unclassified: '25000.00'
                  OtherDetails:
                    Asset:
                      PrePaidExpenses: '0'
                      SundryDebtors: '0'
                      DividendsReceivable: '0'
                      InterestReceivable: '0'
                      DistributionsReceivable: '0'
                      InvestmentIncomeReceivable: '0'
                      FundIncomeReceivable: '0'
                      AmountsOwingByOtherPersons: '0'
                    Liability:
                      AmountsOwingToOtherPersons: '0'
                      SundryCreditors: '0'
                      FundExpensesPayable: '0'
                      InvestmentExpensePayable: '0'
                      MemberExpensesPayable: '0'
                      MemberRolloversOutPayable: '0'
                    TaxPosition:
                      ProvisionForDeferredIncomeTax: '0'
                      IncomeTaxPayable: '0'
                      GSTPayableOrRefundable: '0'
                      ImputationCredits: '0'
                      ForeignAndOtherTaxCredits: '0'
                      TFNCredits: '0'
                      ABNCredits: '0'
                      PAYGPayable: '0'
                    FundSuspense:
                      FundSuspenseAmount: '0'
                  MemberPreviousConcessionals:
                    - MemberCode: '1'
                      ConcessionalDetailFields:
                        - FinancialYear: '2024'
                          Amount: '27500.00'
                        - FinancialYear: '2025'
                          Amount: '30000.00'
                        - FinancialYear: '2026'
                          Amount: '30000.00'
                  MemberPreviousNonConcessionals:
                    - MemberCode: '1'
                      TotalPreviousNonConcessional: '220000.00'
                      BFRRule: Not Triggered
      security:
        - Class_oAuth:
            - business.fund.create
  /b/{businessCode}/business-data/upload-fund-reference-data:
    post:
      tags:
        - Business
      operationId: UploadFundReferenceData
      summary: Upload fund reference data
      description: >-
        Creates a new fund and loads its reference data. This is a one-time
        create operation for the fund itself. If a fund with the supplied code
        already exists the request returns a 400 error and the fund's existing
        reference data is not updated; however, any missing holding (investment)
        accounts included in the payload are still created against the existing
        fund. To update an existing fund's core details, use the dedicated fund
        update endpoints.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - name: brand
          in: query
          description: >-
            The brand code thats configured within the Class Application. The
            brand code may be the same as your business code please double check
            within your application.
          required: true
          schema:
            type: string
            example: demo-business
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardApiResponse'
              example:
                Errors: []
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of validation or request errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of authorization errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of forbidden access 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:
                    description: A list of resource not found errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of internal server errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of unexpected errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FundImports_FundReferenceData'
            examples:
              accumulationSmsf:
                summary: SMSF (accumulation) - shares & bank
                description: >-
                  Two members in accumulation phase holding two ASX shares and
                  an operating bank account.
                value:
                  Code: acc-smsf
                  BrandCode: sample-brand
                  LegalType: SMSF
                  IsComplying: 'true'
                  IsResident: 'true'
                  Administrator: ''
                  Name: Accumulation SMSF
                  ABN: '46121158503'
                  TFN: '999999507'
                  PhysicalAddress:
                    Line1: 123 Example Blvd
                    Suburb: Melbourne
                    State: VIC
                    Postcode: '3000'
                    UseUnlistedSuburb: 'false'
                  UsePhysicalAsMailing: 'true'
                  MailingAddress:
                    Line1: 123 Example Blvd
                    Suburb: Melbourne
                    State: VIC
                    Postcode: '3000'
                    UseUnlistedSuburb: 'false'
                  AnnualReturnAddressFrom: Fund
                  StartDate: '2015-07-01'
                  TrustDeeds:
                    - DeedDate: '2015-07-01'
                      Jurisdiction: VIC
                      TrusteeName: Accumulation SMSF Pty Ltd
                      DeedSource: Not Supplied
                      DeedType: Establishment
                      Comments: ''
                  TrusteeCompanyDetails:
                    Name: Accumulation SMSF Pty Ltd
                    ABN: ''
                    ACN: 9437852
                    TFN: ''
                    PhysicalAddress:
                      Line1: 123 Example Blvd
                      Suburb: Melbourne
                      State: VIC
                      Postcode: '3000'
                      UseUnlistedSuburb: 'false'
                    UsePhysicalAsMailing: 'true'
                    MailingAddress:
                      Line1: 123 Example Blvd
                      Suburb: Melbourne
                      State: VIC
                      Postcode: '3000'
                      UseUnlistedSuburb: 'false'
                  FundPolicies:
                    - GSTDetails:
                        GSTStatus: NonRegistered
                        GSTStatusDate: '2015-07-01'
                      Reserved: 'false'
                  MemberDetails:
                    - Code: '1'
                      JoinFundDate: '2015-07-01'
                      ESPStartDate: '2015-07-01'
                      AustralianResident: 'true'
                      ClaimTaxFreeThreshold: 'true'
                      FloodLevyExempt: 'false'
                      DeathSumInsured: '0'
                      TpdSumInsured: '0'
                      SalaryContinuanceSumInsured: '0'
                      TFN: '999999515'
                      FamilyName: Smith
                      GivenName: Jane
                      MiddleNames: ''
                      Salutation: MRS
                      Gender: Female
                      DateOfBirth: '1980-05-15'
                      PreferredGreeting: ''
                      PreferredSalutation: ''
                      PhysicalAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      Pensions: []
                    - Code: '2'
                      JoinFundDate: '2015-07-01'
                      ESPStartDate: '2015-07-01'
                      AustralianResident: 'true'
                      ClaimTaxFreeThreshold: 'true'
                      FloodLevyExempt: 'false'
                      DeathSumInsured: '0'
                      TpdSumInsured: '0'
                      SalaryContinuanceSumInsured: '0'
                      TFN: '123456782'
                      FamilyName: Smith
                      GivenName: John
                      MiddleNames: ''
                      Salutation: MR
                      Gender: Male
                      DateOfBirth: '1978-03-10'
                      PreferredGreeting: ''
                      PreferredSalutation: ''
                      PhysicalAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      Pensions: []
                  InvestmentDetails:
                    Items:
                      - Type: InvestmentAccountDetail
                        Code: CBA
                        Description: Commonwealth Bank of Australia
                        SecurityIssueCode: CBA
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Example Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: BHP
                        Description: BHP Group Ltd
                        SecurityIssueCode: BHP
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Example Broking Account
                        InhouseAsset: 'false'
                      - Type: BankAccountDetail
                        Code: BANK.OPS
                        Description: Operating Bank Account
                        SecurityIssueCode: BACCT
                        MarketTypeCode: BK
                        BSB: 062-001
                        AccountNumber: '20000001'
                        AccountName: ''
                        IsOperational: 'true'
                  FeedsProductsDetails:
                    FeedsProducts:
                      - AccountNumber: '3004202409'
                        ProductName: Example Broking Account
                  AssetPoolDetails: ''
                  Demo: 'true'
              pensionSmsf:
                summary: SMSF with account-based pension
                description: >-
                  A retired member drawing an account-based pension. Note
                  LastRetirementDate and the Pensions array.
                value:
                  Code: pension-smsf
                  BrandCode: sample-brand
                  LegalType: SMSF
                  IsComplying: 'true'
                  IsResident: 'true'
                  Administrator: ''
                  Name: Pension SMSF
                  ABN: '53004085616'
                  TFN: '876543210'
                  PhysicalAddress:
                    Line1: 123 Example Blvd
                    Suburb: Melbourne
                    State: VIC
                    Postcode: '3000'
                    UseUnlistedSuburb: 'false'
                  UsePhysicalAsMailing: 'true'
                  MailingAddress:
                    Line1: 123 Example Blvd
                    Suburb: Melbourne
                    State: VIC
                    Postcode: '3000'
                    UseUnlistedSuburb: 'false'
                  AnnualReturnAddressFrom: Fund
                  StartDate: '2010-07-01'
                  TrustDeeds:
                    - DeedDate: '2010-07-01'
                      Jurisdiction: VIC
                      TrusteeName: Pension SMSF Pty Ltd
                      DeedSource: Not Supplied
                      DeedType: Establishment
                      Comments: ''
                  TrusteeCompanyDetails:
                    Name: Pension SMSF Pty Ltd
                    ABN: ''
                    ACN: '429430802'
                    TFN: ''
                    PhysicalAddress:
                      Line1: 123 Example Blvd
                      Suburb: Melbourne
                      State: VIC
                      Postcode: '3000'
                      UseUnlistedSuburb: 'false'
                    UsePhysicalAsMailing: 'true'
                    MailingAddress:
                      Line1: 123 Example Blvd
                      Suburb: Melbourne
                      State: VIC
                      Postcode: '3000'
                      UseUnlistedSuburb: 'false'
                  FundPolicies:
                    - GSTDetails:
                        GSTStatus: NonRegistered
                        GSTStatusDate: '2010-07-01'
                      Reserved: 'false'
                  MemberDetails:
                    - Code: '1'
                      JoinFundDate: '2010-07-01'
                      ESPStartDate: '2010-07-01'
                      AustralianResident: 'true'
                      ClaimTaxFreeThreshold: 'true'
                      FloodLevyExempt: 'false'
                      DeathSumInsured: '0'
                      TpdSumInsured: '0'
                      SalaryContinuanceSumInsured: '0'
                      TFN: '526269674'
                      FamilyName: Taylor
                      GivenName: Robert
                      MiddleNames: ''
                      Salutation: MR
                      Gender: Male
                      DateOfBirth: '1958-11-05'
                      PreferredGreeting: ''
                      PreferredSalutation: ''
                      PhysicalAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      Pensions:
                        - PensionAccountName: PEN-01
                          StartDate: '2024-07-01'
                          PensionProductType: AccountBased
                          PensionAccountIdentifier: '1'
                      LastRetirementDate: '2024-06-30'
                  InvestmentDetails:
                    Items:
                      - Type: InvestmentAccountDetail
                        Code: VAS
                        Description: Vanguard Australian Shares ETF
                        SecurityIssueCode: VAS
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Example Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: VGS
                        Description: Vanguard MSCI Intl Shares ETF
                        SecurityIssueCode: VGS
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Example Broking Account
                        InhouseAsset: 'false'
                      - Type: BankAccountDetail
                        Code: BANK.OPS
                        Description: Operating Bank Account
                        SecurityIssueCode: BACCT
                        MarketTypeCode: BK
                        BSB: 062-001
                        AccountNumber: '30000001'
                        AccountName: ''
                        IsOperational: 'true'
                  FeedsProductsDetails:
                    FeedsProducts:
                      - AccountNumber: '3004202409'
                        ProductName: Example Broking Account
                  AssetPoolDetails: ''
                  Demo: 'true'
              allAccountTypes:
                summary: All investment account types
                description: >-
                  Shows every InvestmentDetails.Items Type value:
                  InvestmentAccountDetail, BankAccountDetail,
                  PropertyAccountDetail and TermDepositAccountDetail.
                value:
                  Code: mixed-smsf
                  BrandCode: sample-brand
                  LegalType: SMSF
                  IsComplying: 'true'
                  IsResident: 'true'
                  Administrator: ''
                  Name: Mixed Asset SMSF
                  ABN: '51824753556'
                  TFN: '784987769'
                  PhysicalAddress:
                    Line1: 123 Example Blvd
                    Suburb: Melbourne
                    State: VIC
                    Postcode: '3000'
                    UseUnlistedSuburb: 'false'
                  UsePhysicalAsMailing: 'true'
                  MailingAddress:
                    Line1: 123 Example Blvd
                    Suburb: Melbourne
                    State: VIC
                    Postcode: '3000'
                    UseUnlistedSuburb: 'false'
                  AnnualReturnAddressFrom: Fund
                  StartDate: '2018-07-01'
                  TrustDeeds:
                    - DeedDate: '2018-07-01'
                      Jurisdiction: VIC
                      TrusteeName: Mixed Asset SMSF Pty Ltd
                      DeedSource: Not Supplied
                      DeedType: Establishment
                      Comments: ''
                  TrusteeCompanyDetails:
                    Name: Mixed Asset SMSF Pty Ltd
                    ABN: ''
                    ACN: '226074193'
                    TFN: ''
                    PhysicalAddress:
                      Line1: 123 Example Blvd
                      Suburb: Melbourne
                      State: VIC
                      Postcode: '3000'
                      UseUnlistedSuburb: 'false'
                    UsePhysicalAsMailing: 'true'
                    MailingAddress:
                      Line1: 123 Example Blvd
                      Suburb: Melbourne
                      State: VIC
                      Postcode: '3000'
                      UseUnlistedSuburb: 'false'
                  FundPolicies:
                    - GSTDetails:
                        GSTStatus: Registered
                        GSTTaxPeriod: Quarterly
                        GSTStatusDate: '2018-07-01'
                      Reserved: 'false'
                  MemberDetails:
                    - Code: '1'
                      JoinFundDate: '2018-07-01'
                      ESPStartDate: '2018-07-01'
                      AustralianResident: 'true'
                      ClaimTaxFreeThreshold: 'true'
                      FloodLevyExempt: 'false'
                      DeathSumInsured: '0'
                      TpdSumInsured: '0'
                      SalaryContinuanceSumInsured: '0'
                      TFN: '156361897'
                      FamilyName: Brown
                      GivenName: Susan
                      MiddleNames: ''
                      Salutation: MRS
                      Gender: Female
                      DateOfBirth: '1964-09-15'
                      PreferredGreeting: ''
                      PreferredSalutation: ''
                      PhysicalAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      Pensions: []
                  InvestmentDetails:
                    Items:
                      - Type: InvestmentAccountDetail
                        Code: AAPL
                        Description: Apple Inc
                        SecurityIssueCode: AAPL
                        MarketTypeCode: FOR
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Example Broking Account
                        InhouseAsset: 'false'
                        ExchangeCode: NASDAQ
                      - Type: BankAccountDetail
                        Code: BANK.OPS
                        Description: Operating Bank Account
                        SecurityIssueCode: BACCT
                        MarketTypeCode: BK
                        BSB: 062-001
                        AccountNumber: '40000001'
                        AccountName: ''
                        IsOperational: 'true'
                      - Type: PropertyAccountDetail
                        Code: PROP1
                        Description: >-
                          Commercial premises - 55 Business Park Dr, Adelaide SA
                          5000
                        SecurityIssueCode: ''
                        MarketTypeCode: PD
                        InhouseAsset: 'false'
                        CommercialIndicator: 'true'
                        RegisteredForLandTax: 'true'
                        Address:
                          Line1: 55 Business Park Dr
                          Suburb: Adelaide
                          State: SA
                          Postcode: '5000'
                          UseUnlistedSuburb: 'false'
                      - Type: TermDepositAccountDetail
                        Code: TD.12M
                        Description: 12 Month Term Deposit @ 5.25%
                        SecurityIssueCode: TDS
                        MarketTypeCode: TD
                        SpecifiedMarketTypeCode: TD
                        CGInvestmentClassificationCode: NonCGTAsset
                        TaxReturnClassificationCode: AustDirectCash
                        GLInvestmentClassificationCode: Cash
                        InterestRate: '5.25'
                  FeedsProductsDetails:
                    FeedsProducts:
                      - AccountNumber: '3004202409'
                        ProductName: Example Broking Account
                  AssetPoolDetails: ''
                  Demo: 'true'
              withInvestmentStrategy:
                summary: SMSF with documented investment strategy
                description: >-
                  Includes an InvestmentStrategy allocation across five asset
                  classes (totals: Min 50, Max 160, Target 100).
                value:
                  Code: strategy-smsf
                  BrandCode: sample-brand
                  LegalType: SMSF
                  IsComplying: 'true'
                  IsResident: 'true'
                  Administrator: ''
                  Name: Strategy SMSF
                  ABN: '88000014675'
                  TFN: '946066287'
                  PhysicalAddress:
                    Line1: 123 Example Blvd
                    Suburb: Melbourne
                    State: VIC
                    Postcode: '3000'
                    UseUnlistedSuburb: 'false'
                  UsePhysicalAsMailing: 'true'
                  MailingAddress:
                    Line1: 123 Example Blvd
                    Suburb: Melbourne
                    State: VIC
                    Postcode: '3000'
                    UseUnlistedSuburb: 'false'
                  AnnualReturnAddressFrom: Fund
                  StartDate: '2016-07-01'
                  TrustDeeds:
                    - DeedDate: '2016-07-01'
                      Jurisdiction: VIC
                      TrusteeName: Strategy SMSF Pty Ltd
                      DeedSource: Not Supplied
                      DeedType: Establishment
                      Comments: ''
                  TrusteeCompanyDetails:
                    Name: Strategy SMSF Pty Ltd
                    ABN: ''
                    ACN: 9437852
                    TFN: ''
                    PhysicalAddress:
                      Line1: 123 Example Blvd
                      Suburb: Melbourne
                      State: VIC
                      Postcode: '3000'
                      UseUnlistedSuburb: 'false'
                    UsePhysicalAsMailing: 'true'
                    MailingAddress:
                      Line1: 123 Example Blvd
                      Suburb: Melbourne
                      State: VIC
                      Postcode: '3000'
                      UseUnlistedSuburb: 'false'
                  FundPolicies:
                    - GSTDetails:
                        GSTStatus: NonRegistered
                        GSTStatusDate: '2016-07-01'
                      Reserved: 'false'
                  MemberDetails:
                    - Code: '1'
                      JoinFundDate: '2016-07-01'
                      ESPStartDate: '2016-07-01'
                      AustralianResident: 'true'
                      ClaimTaxFreeThreshold: 'true'
                      FloodLevyExempt: 'false'
                      DeathSumInsured: '0'
                      TpdSumInsured: '0'
                      SalaryContinuanceSumInsured: '0'
                      TFN: '218079466'
                      FamilyName: Nguyen
                      GivenName: David
                      MiddleNames: ''
                      Salutation: MR
                      Gender: Male
                      DateOfBirth: '1975-02-14'
                      PreferredGreeting: ''
                      PreferredSalutation: ''
                      PhysicalAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 123 Example Blvd
                        Suburb: Melbourne
                        State: VIC
                        Postcode: '3000'
                        UseUnlistedSuburb: 'false'
                      Pensions: []
                  InvestmentDetails:
                    Items:
                      - Type: InvestmentAccountDetail
                        Code: VAS
                        Description: Vanguard Australian Shares ETF
                        SecurityIssueCode: VAS
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Example Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: VGS
                        Description: Vanguard MSCI Intl Shares ETF
                        SecurityIssueCode: VGS
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Example Broking Account
                        InhouseAsset: 'false'
                      - Type: BankAccountDetail
                        Code: BANK.OPS
                        Description: Operating Bank Account
                        SecurityIssueCode: BACCT
                        MarketTypeCode: BK
                        BSB: 062-001
                        AccountNumber: '50000001'
                        AccountName: ''
                        IsOperational: 'true'
                  FeedsProductsDetails:
                    FeedsProducts:
                      - AccountNumber: '3004202409'
                        ProductName: Example Broking Account
                  AssetPoolDetails: ''
                  Demo: 'true'
                  InvestmentStrategy:
                    - AssetClassCode: Australian Equities
                      MinPercentage: '30'
                      MaxPercentage: '60'
                      TargetPercentage: '40'
                    - AssetClassCode: International Equities
                      MinPercentage: '10'
                      MaxPercentage: '30'
                      TargetPercentage: '20'
                    - AssetClassCode: Australian Fixed Interest
                      MinPercentage: '5'
                      MaxPercentage: '25'
                      TargetPercentage: '15'
                    - AssetClassCode: Cash
                      MinPercentage: '5'
                      MaxPercentage: '25'
                      TargetPercentage: '15'
                    - AssetClassCode: Listed Property
                      MinPercentage: '0'
                      MaxPercentage: '20'
                      TargetPercentage: '10'
              comprehensiveSmsf:
                summary: Comprehensive SMSF - everything in one payload
                description: >-
                  A rich, kitchen-sink example: two members (one retired with
                  two account-based pensions, one in accumulation), reserves, a
                  documented investment strategy, and a wide investment mix
                  showing listed shares, foreign shares (with ExchangeCode), a
                  managed fund, an unlisted security, an AUD and a
                  foreign-currency bank account, a commercial property, and a
                  term deposit.
                value:
                  Code: comprehensive-smsf
                  BrandCode: sample-brand
                  LegalType: SMSF
                  IsComplying: 'true'
                  IsResident: 'true'
                  Administrator: ''
                  Name: Comprehensive Example SMSF
                  ABN: '46121158503'
                  TFN: '999999507'
                  PhysicalAddress:
                    Line1: Level 5, 200 Example St
                    Suburb: Sydney
                    State: NSW
                    Postcode: '2000'
                    UseUnlistedSuburb: 'false'
                  UsePhysicalAsMailing: 'true'
                  MailingAddress:
                    Line1: Level 5, 200 Example St
                    Suburb: Sydney
                    State: NSW
                    Postcode: '2000'
                    UseUnlistedSuburb: 'false'
                  AnnualReturnAddressFrom: Fund
                  StartDate: '2014-07-01'
                  TrustDeeds:
                    - DeedDate: '2014-07-01'
                      Jurisdiction: NSW
                      TrusteeName: Comprehensive Trustee Pty Ltd
                      DeedSource: Not Supplied
                      DeedType: Establishment
                      Comments: ''
                  TrusteeCompanyDetails:
                    Name: Comprehensive Trustee Pty Ltd
                    ABN: ''
                    ACN: 9437852
                    TFN: ''
                    PhysicalAddress:
                      Line1: Level 5, 200 Example St
                      Suburb: Sydney
                      State: NSW
                      Postcode: '2000'
                      UseUnlistedSuburb: 'false'
                    UsePhysicalAsMailing: 'true'
                    MailingAddress:
                      Line1: Level 5, 200 Example St
                      Suburb: Sydney
                      State: NSW
                      Postcode: '2000'
                      UseUnlistedSuburb: 'false'
                  FundPolicies:
                    - GSTDetails:
                        GSTStatus: Registered
                        GSTTaxPeriod: Quarterly
                        GSTStatusDate: '2014-07-01'
                      Reserved: 'true'
                  MemberDetails:
                    - Code: '1'
                      JoinFundDate: '2014-07-01'
                      ESPStartDate: '2014-07-01'
                      AustralianResident: 'true'
                      ClaimTaxFreeThreshold: 'true'
                      FloodLevyExempt: 'false'
                      DeathSumInsured: '0'
                      TpdSumInsured: '0'
                      SalaryContinuanceSumInsured: '0'
                      TFN: '526269674'
                      FamilyName: Taylor
                      GivenName: Robert
                      MiddleNames: ''
                      Salutation: MR
                      Gender: Male
                      DateOfBirth: '1958-11-05'
                      PreferredGreeting: ''
                      PreferredSalutation: ''
                      PhysicalAddress:
                        Line1: 42 Example Ave
                        Suburb: Sydney
                        State: NSW
                        Postcode: '2000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 42 Example Ave
                        Suburb: Sydney
                        State: NSW
                        Postcode: '2000'
                        UseUnlistedSuburb: 'false'
                      Pensions:
                        - PensionAccountName: ABP-2018
                          StartDate: '2018-07-01'
                          PensionProductType: AccountBased
                          PensionAccountIdentifier: '1'
                        - PensionAccountName: ABP-2022
                          StartDate: '2022-07-01'
                          PensionProductType: AccountBased
                          PensionAccountIdentifier: '2'
                      LastRetirementDate: '2018-06-30'
                    - Code: '2'
                      JoinFundDate: '2014-07-01'
                      ESPStartDate: '2014-07-01'
                      AustralianResident: 'true'
                      ClaimTaxFreeThreshold: 'true'
                      FloodLevyExempt: 'false'
                      DeathSumInsured: '0'
                      TpdSumInsured: '0'
                      SalaryContinuanceSumInsured: '0'
                      TFN: '784987769'
                      FamilyName: Taylor
                      GivenName: Sarah
                      MiddleNames: ''
                      Salutation: MRS
                      Gender: Female
                      DateOfBirth: '1968-04-20'
                      PreferredGreeting: ''
                      PreferredSalutation: ''
                      PhysicalAddress:
                        Line1: 42 Example Ave
                        Suburb: Sydney
                        State: NSW
                        Postcode: '2000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 42 Example Ave
                        Suburb: Sydney
                        State: NSW
                        Postcode: '2000'
                        UseUnlistedSuburb: 'false'
                      Pensions: []
                  ReserveDetails:
                    ReserveDetail:
                      JoinFundDate: '2014-07-01'
                      Reserves:
                        - ReserveAccountName: Investment Reserve
                          StartDate: '2014-07-01'
                        - ReserveAccountName: Contributions Reserve
                          StartDate: '2020-07-01'
                  InvestmentDetails:
                    Items:
                      - Type: InvestmentAccountDetail
                        Code: CBA
                        Description: Commonwealth Bank of Australia
                        SecurityIssueCode: CBA
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: BHP
                        Description: BHP Group Ltd
                        SecurityIssueCode: BHP
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: CSL
                        Description: CSL Ltd
                        SecurityIssueCode: CSL
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: VAS
                        Description: Vanguard Australian Shares ETF
                        SecurityIssueCode: VAS
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: VGS
                        Description: Vanguard MSCI Intl Shares ETF
                        SecurityIssueCode: VGS
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: AAPL
                        Description: Apple Inc
                        SecurityIssueCode: AAPL
                        MarketTypeCode: FOR
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                        ExchangeCode: NASDAQ
                      - Type: InvestmentAccountDetail
                        Code: MSFT
                        Description: Microsoft Corporation
                        SecurityIssueCode: MSFT
                        MarketTypeCode: FOR
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                        ExchangeCode: NASDAQ
                      - Type: InvestmentAccountDetail
                        Code: MGE
                        Description: Magellan Global Fund
                        SecurityIssueCode: MGE
                        MarketTypeCode: MF
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: UNLISTED1
                        Description: Private Company Holdings Pty Ltd
                        SecurityIssueCode: UNLISTED1
                        MarketTypeCode: UN
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                        UnlistedSecurityTypeCode: UnlistedCompany
                      - Type: BankAccountDetail
                        Code: BANK.OPS
                        Description: Operating Bank Account
                        SecurityIssueCode: BACCT
                        MarketTypeCode: BK
                        BSB: 062-001
                        AccountNumber: '10000001'
                        AccountName: ''
                        IsOperational: 'true'
                      - Type: BankAccountDetail
                        Code: BANK.USD
                        Description: USD Foreign Currency Account
                        SecurityIssueCode: BACCT
                        MarketTypeCode: BK
                        BSB: 062-001
                        AccountNumber: '10000002'
                        AccountName: ''
                        IsOperational: 'true'
                        CurrencyCode: USD
                      - Type: PropertyAccountDetail
                        Code: PROP.COMM
                        Description: >-
                          Commercial premises - 88 Business Park Dr, Sydney NSW
                          2000
                        SecurityIssueCode: ''
                        MarketTypeCode: PD
                        InhouseAsset: 'false'
                        CommercialIndicator: 'true'
                        RegisteredForLandTax: 'true'
                        Address:
                          Line1: 88 Business Park Dr
                          Suburb: Sydney
                          State: NSW
                          Postcode: '2000'
                          UseUnlistedSuburb: 'false'
                      - Type: TermDepositAccountDetail
                        Code: TD.12M
                        Description: 12 Month Term Deposit @ 5.10%
                        SecurityIssueCode: TDS
                        MarketTypeCode: TD
                        SpecifiedMarketTypeCode: TD
                        CGInvestmentClassificationCode: NonCGTAsset
                        TaxReturnClassificationCode: AustDirectCash
                        GLInvestmentClassificationCode: Cash
                        InterestRate: '5.10'
                  FeedsProductsDetails:
                    FeedsProducts:
                      - AccountNumber: '3004202409'
                        ProductName: Demo Broking Account
                  InvestmentStrategy:
                    - AssetClassCode: Australian Equities
                      MinPercentage: '25'
                      MaxPercentage: '55'
                      TargetPercentage: '35'
                    - AssetClassCode: International Equities
                      MinPercentage: '10'
                      MaxPercentage: '35'
                      TargetPercentage: '20'
                    - AssetClassCode: Listed Property
                      MinPercentage: '0'
                      MaxPercentage: '20'
                      TargetPercentage: '10'
                    - AssetClassCode: Australian Fixed Interest
                      MinPercentage: '5'
                      MaxPercentage: '25'
                      TargetPercentage: '15'
                    - AssetClassCode: Cash
                      MinPercentage: '5'
                      MaxPercentage: '30'
                      TargetPercentage: '20'
                  AssetPoolDetails: ''
                  Demo: 'true'
              discretionaryTrust:
                summary: Family discretionary trust (non-super)
                description: >-
                  LegalType: Trust with an individual (non-member) trustee via
                  NonMemberTrusteeDetails and two individual beneficiaries.
                  Demonstrates the trust variant of the payload.
                value:
                  Code: family-trust
                  BrandCode: sample-brand
                  LegalType: Trust
                  IsComplying: 'true'
                  IsResident: 'true'
                  Administrator: ''
                  Name: Nguyen Family Discretionary Trust
                  ABN: '40584480151'
                  TFN: '405545745'
                  PhysicalAddress:
                    Line1: 77 Beneficiary Blvd
                    Suburb: Perth
                    State: WA
                    Postcode: '6000'
                    UseUnlistedSuburb: 'false'
                  UsePhysicalAsMailing: 'true'
                  MailingAddress:
                    Line1: 77 Beneficiary Blvd
                    Suburb: Perth
                    State: WA
                    Postcode: '6000'
                    UseUnlistedSuburb: 'false'
                  AnnualReturnAddressFrom: Fund
                  StartDate: '2016-07-01'
                  TrustDeeds:
                    - DeedDate: '2016-07-01'
                      Jurisdiction: WA
                      TrusteeName: Linh Nguyen
                      DeedSource: Not Supplied
                      DeedType: Establishment
                      Comments: Individual trustee
                  NonMemberTrusteeDetails:
                    FamilyName: Nguyen
                    GivenName: Linh
                    MiddleNames: ''
                    Title: MRS
                    JobTitle: Company Director
                    FormerName: ''
                    Gender: Female
                    DateOfBirth: '1975-02-14'
                    TFN: '587853601'
                    PreferredGreeting: ''
                    PhysicalAddress:
                      Line1: 77 Beneficiary Blvd
                      Suburb: Perth
                      State: WA
                      Postcode: '6000'
                      UseUnlistedSuburb: 'false'
                    UsePhysicalAsMailing: 'true'
                    MailingAddress:
                      Line1: 77 Beneficiary Blvd
                      Suburb: Perth
                      State: WA
                      Postcode: '6000'
                      UseUnlistedSuburb: 'false'
                  FundPolicies:
                    - GSTDetails:
                        GSTStatus: Registered
                        GSTTaxPeriod: Quarterly
                        GSTStatusDate: '2016-07-01'
                      Reserved: 'false'
                  BeneficiaryDetails:
                    - Code: BEN01
                      TFN: '784987769'
                      FamilyName: Nguyen
                      GivenName: Minh
                      MiddleNames: ''
                      OrganisationName: ''
                      Salutation: MR
                      Gender: Male
                      DateOfBirth: '1972-06-18'
                      PreferredGreeting: ''
                      HomePhone: ''
                      WorkPhone: ''
                      Mobile: ''
                      Fax: ''
                      DirectPhone: ''
                      Email: minh@example.com
                      PhysicalAddress:
                        Line1: 77 Beneficiary Blvd
                        Suburb: Perth
                        State: WA
                        Postcode: '6000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 77 Beneficiary Blvd
                        Suburb: Perth
                        State: WA
                        Postcode: '6000'
                        UseUnlistedSuburb: 'false'
                      Roles: Beneficiary
                      BeneficiaryType: Person
                    - Code: BEN02
                      TFN: '156361897'
                      FamilyName: Nguyen
                      GivenName: An
                      MiddleNames: ''
                      OrganisationName: ''
                      Salutation: MISS
                      Gender: Female
                      DateOfBirth: '2000-09-05'
                      PreferredGreeting: ''
                      HomePhone: ''
                      WorkPhone: ''
                      Mobile: ''
                      Fax: ''
                      DirectPhone: ''
                      Email: an@example.com
                      PhysicalAddress:
                        Line1: 77 Beneficiary Blvd
                        Suburb: Perth
                        State: WA
                        Postcode: '6000'
                        UseUnlistedSuburb: 'false'
                      UsePhysicalAsMailing: 'true'
                      MailingAddress:
                        Line1: 77 Beneficiary Blvd
                        Suburb: Perth
                        State: WA
                        Postcode: '6000'
                        UseUnlistedSuburb: 'false'
                      Roles: Beneficiary
                      BeneficiaryType: Person
                  InvestmentDetails:
                    Items:
                      - Type: InvestmentAccountDetail
                        Code: VAS
                        Description: Vanguard Australian Shares ETF
                        SecurityIssueCode: VAS
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                      - Type: InvestmentAccountDetail
                        Code: VGS
                        Description: Vanguard MSCI Intl Shares ETF
                        SecurityIssueCode: VGS
                        MarketTypeCode: LM
                        ExternalIdentifier: '3004202409'
                        ExternalIdentifierType: ExternalId
                        ExternalProductName: Demo Broking Account
                        InhouseAsset: 'false'
                      - Type: BankAccountDetail
                        Code: BANK.OPS
                        Description: Operating Bank Account
                        SecurityIssueCode: BACCT
                        MarketTypeCode: BK
                        BSB: 062-001
                        AccountNumber: '60000001'
                        AccountName: ''
                        IsOperational: 'true'
                  FeedsProductsDetails:
                    FeedsProducts:
                      - AccountNumber: '3004202409'
                        ProductName: Demo Broking Account
                  AssetPoolDetails: ''
                  Demo: 'true'
      security:
        - Class_oAuth:
            - business.fund.create
  /f/{businessCode}/{fundCode}/business-data/upload-fund-tbar-history:
    post:
      tags:
        - Fund
      operationId: UploadFundTbarHistory
      summary: Upload fund Tbar history
      description: Loads fund Tbar history.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardApiResponse'
              example:
                Errors: []
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of validation or request errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of authorization errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of forbidden access 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:
                    description: A list of resource not found errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of internal server errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    description: A list of unexpected errors.
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FundTbarHistory_FundTbarHistory'
            example:
              FundDetails:
                Code: sample-fund-code
              FundTbarDetails:
                - MemberCode: MEM01
                  PensionAccountName: PEN-01
                  EventDate: '2023-10-15'
                  EventType: SIS
                  Description: Initial Superannuation Income Stream
                  Amount: '150000'
                  LodgmentStatus: Not Lodged
      security:
        - Class_oAuth:
            - business.fund.create
components:
  parameters:
    businessCodeParam:
      name: businessCode
      in: path
      description: The unique identifier code for the Class business.
      required: true
      schema:
        type: string
        example: demo-business
    fundCodeParam:
      name: fundCode
      description: The unique identifier code for the Class entity.
      in: path
      required: true
      schema:
        type: string
        example: demo-fund
  schemas:
    AddressSummary:
      type: object
      required:
        - AddressLine1
        - AddressLine2
        - AddressLine3
        - PostCode
        - Locality
        - State
        - Country
      properties:
        AddressLine1:
          type: string
          description: The primary address line containing street information.
        AddressLine2:
          type: string
          description: The secondary address line, if applicable.
        AddressLine3:
          type: string
          description: The tertiary address line, if applicable.
        PostCode:
          type: string
          description: The postal or zip code for the address.
        Locality:
          type: string
          description: The city, town, or suburb associated with the address.
        State:
          type: string
          description: The state, province, or territory of the address.
        Country:
          type: string
          description: The country name where the address is located.
    AdjustmentAmountType:
      type: string
      description: Specifies the categorization type of an adjustment amount.
      enum:
        - CGTConcession
        - FirstElement
        - TaxDeferred
        - TaxExempted
        - TaxFree
        - AMIT
        - CGTNotionalDeferredGain
        - CGTReliefCostBaseAdjustment
    AnnualRetAddressCode:
      type: string
      description: Indicates the source configuration for the annual return address.
      enum:
        - Default
        - Brand
        - Fund
        - TaxAgent
        - Business
    ApiError:
      type: object
      required:
        - Code
        - Message
      properties:
        Code:
          type: string
          description: The unique error code identifier.
        Message:
          type: string
          description: A detailed human-readable message explaining the error.
    ApiResponseBase:
      type: object
      required:
        - ErrorCodes
        - Errors
        - CreatedUri
        - IsCreatedResponse
      properties:
        ErrorCodes:
          type: array
          description: A collection of error code strings returned by the API operation.
          items:
            type: string
        Errors:
          type: array
          description: A collection of detailed error response objects.
          items:
            $ref: '#/components/schemas/ApiError'
        CreatedUri:
          type: string
          description: The URI pointing to the newly created resource, if applicable.
        IsCreatedResponse:
          type: boolean
          description: Indicates whether the API call successfully created a new resource.
    BeneficiaryTypeEnum:
      type: string
      description: Defines the classification type of the beneficiary.
      enum:
        - Person
        - Organisation
    BindingStatusType:
      type: string
      description: Represents the binding status state of a death benefit nomination.
      enum:
        - Binding
        - Invalid
        - NoNomination
        - StatementOfWishes
        - NonBinding
        - NonLapsingBindingDeathNomination
    BrandListDetail_BrandSummary:
      type: object
      required:
        - Code
        - Name
        - CanWrite
      properties:
        Code:
          type: string
          description: The unique identifier code for the brand.
        Name:
          type: string
          description: The registered name of the brand.
        CanWrite:
          type: boolean
          description: Indicates whether the current user has write access to the brand.
    BusinessContactDetail:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier for the business contact.
        firstName:
          type: string
          description: The first name of the contact.
        middleNames:
          type: string
          description: The middle names of the contact.
        lastName:
          type: string
          description: The last name of the contact.
        organisationName:
          type: string
          nullable: true
          description: The organisation name if the contact represents an entity.
        email:
          type: string
          format: email
          description: The email address of the contact.
        partyRelationships:
          type: array
          description: A list of relationships or roles this contact holds.
          items:
            $ref: '#/components/schemas/PartyRelationship'
    BusinessContactDetailsResponse:
      type: object
      properties:
        data:
          type: array
          description: A list of business contact details.
          items:
            $ref: '#/components/schemas/BusinessContactDetail'
        Errors:
          type: array
          description: A collection of detailed error response objects.
          items:
            $ref: '#/components/schemas/ApiError'
    BusinessData_BrandListDetail:
      type: object
      required:
        - BrandSummaries
      properties:
        BrandSummaries:
          type: array
          description: A collection of summaries for brands associated with the business.
          items:
            $ref: '#/components/schemas/BrandListDetail_BrandSummary'
    BusinessData_BusinessDetailResult:
      type: object
      required:
        - BusinessDetails
        - ContactDetails
      properties:
        BusinessDetails:
          description: The core informational details regarding the business entity.
          $ref: '#/components/schemas/BusinessData_BusinessDetail_Details'
        ContactDetails:
          description: The comprehensive contact information associated with the business.
          $ref: '#/components/schemas/BusinessData_BusinessDetail_ContactDetails'
    BusinessData_BusinessDetail_Details:
      type: object
      properties:
        Name:
          type: string
          description: The official name of the business entity.
          example: Sunrise Wealth Management
    BusinessData_BusinessDetail_ContactDetails:
      type: object
      properties:
        Phone:
          type: string
          description: The primary phone number for reaching the business.
          nullable: true
          example: 02 1234 5678
        Url:
          type: string
          description: The primary website URL belonging to the business.
          nullable: true
          example: https://www.sunrisewealth.com.au
        Fax:
          type: string
          description: The facsimile number belonging to the business.
          nullable: true
          example: 02 1234 5679
        Email:
          type: string
          description: The primary email address for contacting the business.
          nullable: true
          example: info@sunrisewealth.com.au
        UsePhysicalAddressForMailingAddress:
          type: boolean
          description: >-
            A flag dictating whether the physical address is automatically
            reused as the mailing address.
          example: true
        PhysicalAddress:
          description: The structured physical location data of the business.
          $ref: '#/components/schemas/BusinessData_BusinessDetail_Address'
        MailingAddress:
          description: The structured mailing address data for the business.
          $ref: '#/components/schemas/BusinessData_BusinessDetail_Address'
    BusinessData_BusinessDetail_Address:
      type: object
      properties:
        Addressee:
          type: string
          description: The specific person or department the mail is directed to.
          nullable: true
          example: The Manager
        Line1:
          type: string
          description: The first line of the address, typically a unit or floor number.
          nullable: true
          example: Level 10
        Line2:
          type: string
          description: The second line of the address, typically the street name.
          nullable: true
          example: 100 George Street
        Line3:
          type: string
          description: The third line of the address, if required for additional clarity.
          nullable: true
          example: Cnr, George and Smith St
        Line4:
          type: string
          description: The fourth line of the address, if required for complex addresses.
          nullable: true
          example: Level 10, Block B
        Suburb:
          type: string
          description: The suburb or locality where the address resides.
          nullable: true
          example: Sydney
        State:
          type: string
          description: The state or territory abbreviation for the address.
          nullable: true
          example: NSW
        PostCode:
          type: string
          description: The postal or zip code of the address.
          nullable: true
          example: '2000'
        Country:
          type: string
          description: The country designation for the address.
          nullable: true
          example: Australia
    BusinessData_BusinessListDetail:
      type: object
      required:
        - BusinessSummaries
      properties:
        BusinessSummaries:
          type: array
          description: A collection of summary records for available businesses.
          items:
            $ref: '#/components/schemas/BusinessListDetail_BusinessSummary'
    BusinessListDetail_BusinessSummary:
      type: object
      required:
        - Id
        - Code
        - Name
        - CanWrite
      properties:
        Id:
          type: string
          description: The unique system identifier for the business.
        IdSpecified:
          type: boolean
          description: Flag indicating if the Id property has been explicitly provided.
        Code:
          type: string
          description: The unique reference code for the business.
        Name:
          type: string
          description: The display name of the business entity.
        CanWrite:
          type: boolean
          description: >-
            Indicates whether the authenticated user has write permissions for
            this business.
    ContactDetailsResult:
      type: object
      required:
        - Code
        - Name
        - Contacts
      properties:
        Code:
          type: string
          description: The unique business code identifying the contact list owner.
        Name:
          type: string
          description: The name of the business entity owning the contacts.
        Contacts:
          type: array
          description: A collection of detailed portfolio contacts.
          items:
            $ref: '#/components/schemas/ContactDetailsResult_PortfolioContactDetails'
    ContactDetailsResult_PortfolioContactDetails:
      type: object
      required:
        - Type
        - Email
        - PhysicalAddress
        - MailingAddress
        - DirectPhone
        - MobilePhone
        - WorkPhone
        - HomePhone
        - Fax
        - Funds
      properties:
        Type:
          type: string
          description: The role or classification type of the contact.
        Email:
          type: string
          description: The primary email address of the contact.
        PhysicalAddress:
          description: The physical location address for the contact.
          $ref: '#/components/schemas/AddressSummary'
        MailingAddress:
          description: The postal address designated for the contact.
          $ref: '#/components/schemas/AddressSummary'
        DirectPhone:
          type: string
          description: The direct telephone number of the contact.
        MobilePhone:
          type: string
          description: The mobile telephone number of the contact.
        WorkPhone:
          type: string
          description: The primary work telephone number for the contact.
        HomePhone:
          type: string
          description: The primary home telephone number for the contact.
        Fax:
          type: string
          description: The facsimile number for the contact.
        Funds:
          type: array
          description: A list of portfolio scopes linked to this contact.
          items:
            $ref: '#/components/schemas/PortfolioScope'
    EffectiveStatuses:
      type: string
      description: The valid effective status states for filtering objects.
      enum:
        - Default
        - Reportable
        - Updatable
        - All
        - PendingOnly
        - Selectable
        - ActiveOnly
        - CancelledOnly
        - Inactive
        - SuspendedOnly
    ExpenseExemptionCalculationMethod:
      type: string
      description: The method used to calculate exempt expenses for the fund.
      enum:
        - CalculateUsingATOFormula
        - UseActuarialPercentage
        - ManuallySpecifyPercentage
    FundImports_FundReferenceData:
      type: object
      required:
        - Code
        - BrandCode
        - LegalType
        - Name
      properties:
        Code:
          type: string
          description: The unique identifier code for the fund.
        BrandCode:
          type: string
          description: The unique identifier code for the brand associated with the fund.
        LegalType:
          description: The legal classification structure of the fund.
          $ref: '#/components/schemas/FundLegalType'
        ClassProductType:
          type: string
          description: The internal system product type assigned to the fund.
        TrustType:
          description: The numeric designation denoting the specific trust type.
          $ref: '#/components/schemas/TrustTypes'
        IsComplying:
          type: boolean
          description: Indicates whether the fund is a complying superannuation entity.
        IsResident:
          type: boolean
          description: >-
            Indicates whether the fund is an Australian resident for tax
            purposes.
        Administrator:
          type: string
          description: The name of the organization administering the fund.
        Name:
          type: string
          description: The full registered name of the fund.
        PreviousName:
          type: string
          description: The former name of the fund, if a name change occurred.
        ABN:
          type: string
          description: The Australian Business Number assigned to the fund.
        SFN:
          type: string
          description: The Superannuation Fund Number assigned to the entity.
        TFN:
          type: string
          description: The Tax File Number assigned to the fund.
        RSEDetails:
          description: The Registrable Superannuation Entity registration details.
          $ref: '#/components/schemas/FundImports_FundReferenceDataRSEDetails'
        PhysicalAddress:
          description: The structured physical location address of the fund.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        UsePhysicalAsMailing:
          type: boolean
          description: >-
            Determines if the physical address is mirrored as the mailing
            address.
        MailingAddress:
          description: The structured postal mailing address of the fund.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        AnnualReturnAddressFrom:
          description: The source designated to provide the annual return address.
          $ref: '#/components/schemas/AnnualRetAddressCode'
        AnnualReturnAddressFromSpecified:
          type: boolean
          description: >-
            Flag indicating whether an annual return address source has been
            explicitly configured.
        Phone:
          type: string
          description: The primary contact phone number for the fund.
        Fax:
          type: string
          description: The primary facsimile number for the fund.
        Email:
          type: string
          description: The primary contact email address for the fund.
        URL:
          type: string
          description: The website URL related to the fund entity.
        StartDate:
          type: string
          format: date
          description: The official commencement or inception date of the fund.
        StartDateSpecified:
          type: boolean
          description: Flag indicating if the start date property is explicitly provided.
        TrustDeeds:
          type: array
          description: A collection of trust deeds defining the fund's governing rules.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataTrustDeed'
        TrusteeCompanyDetails:
          description: Details regarding the corporate trustee entity governing the fund.
          $ref: >-
            #/components/schemas/FundImports_FundReferenceDataTrusteeCompanyDetails
        NonMemberTrusteeDetails:
          description: >-
            Details regarding individual trustees who are not members of the
            fund.
          $ref: >-
            #/components/schemas/FundImports_FundReferenceDataNonMemberTrusteeDetails
        FundPolicies:
          type: array
          description: >-
            A collection of regulatory and operational policies attached to the
            fund.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataFundPolicy'
        FundHoldingReferences:
          type: array
          description: >-
            A collection of external holding account references associated with
            the fund.
          items:
            $ref: >-
              #/components/schemas/FundImports_FundReferenceDataFundHoldingReference
        FundInvestmentReturns:
          type: array
          description: A collection of historical investment return rates for the fund.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataFundReturn'
        MemberDetails:
          type: array
          description: A collection of individuals registered as members of the fund.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataMemberDetail'
        BeneficiaryDetails:
          description: A collection of non-member individuals registered as beneficiaries.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundImports_FundReferenceDataBeneficiaryDetail
        ReserveDetails:
          description: Details pertaining to any active reserve accounts held by the fund.
          $ref: '#/components/schemas/FundImports_FundReferenceDataReserveDetails'
        InvestmentDetails:
          description: >-
            Details of the various investments and holding accounts managed by
            the fund.
          $ref: '#/components/schemas/FundImports_FundReferenceDataInvestmentDetails'
        FeedsProductsDetails:
          description: >-
            Configuration data representing the automated data feeds linked to
            the fund.
          $ref: '#/components/schemas/FundImports_FundReferenceDataFeedsProducts'
        InvestmentStrategy:
          type: array
          description: >-
            A collection of strategic allocations defining the fund's investment
            plan.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataComponent'
        AssetPoolDetails:
          description: >-
            Operational details governing the management of specific asset
            pools.
          $ref: '#/components/schemas/FundImports_FundReferenceDataAssetPoolDetails'
        Demo:
          type: boolean
          description: >-
            Indicates if the fund is a demonstration environment rather than
            live data.
        ASN:
          type: string
          description: The Australian Scheme Number of the fund.
        ShouldSerializeTrustProperties:
          type: boolean
          description: >-
            Internal flag determining whether trust-specific properties are
            serialized.
    FundImports_FundReferenceDataAssetPool:
      type: object
      required:
        - Description
        - IsSegregatedToPension
        - IsSystemManaged
        - MemberAccounts
        - HoldingAccounts
      properties:
        Description:
          type: string
          description: A clear description indicating the purpose of the asset pool.
        IsSegregatedToPension:
          type: boolean
          description: >-
            Indicates if the pool's assets are specifically segregated for
            pension accounts.
        IsSystemManaged:
          type: boolean
          description: >-
            Indicates whether the asset pool balances are managed automatically
            by the system.
        MemberAccounts:
          type: array
          description: A list of member accounts linked to this specific asset pool.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataAssetPoolMember'
        HoldingAccounts:
          type: array
          description: >-
            A list of investment holding accounts that reside within the asset
            pool.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataAssetPoolHolding'
    FundImports_FundReferenceDataAssetPoolDetails:
      type: object
      required:
        - AssetPools
      properties:
        AssetPools:
          type: array
          description: A collection of asset pools administered within the fund.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataAssetPool'
    FundImports_FundReferenceDataAssetPoolHolding:
      type: object
      required:
        - HoldingAccountName
      properties:
        HoldingAccountName:
          type: string
          description: >-
            The designated name of the holding account participating in the
            pool.
    FundImports_FundReferenceDataAssetPoolMember:
      type: object
      required:
        - MemberAccountName
      properties:
        MemberAccountName:
          type: string
          description: The designated name of the member account participating in the pool.
    FundImports_FundReferenceDataBeneficiaryDetail:
      type: object
      required:
        - Code
      properties:
        Code:
          type: string
          description: The unique identifier code assigned to the beneficiary.
        TFN:
          type: string
          description: The Tax File Number of the beneficiary.
        FamilyName:
          type: string
          description: The surname or family name of the beneficiary.
        GivenName:
          type: string
          description: The first name or given name of the beneficiary.
        MiddleNames:
          type: string
          description: Any middle names belonging to the beneficiary.
        OrganisationName:
          type: string
          description: >-
            The registered name of the organization, if the beneficiary is
            non-individual.
        Salutation:
          type: string
          description: The title or salutation used to address the beneficiary.
        Gender:
          description: The biological or identified gender of the beneficiary.
          $ref: '#/components/schemas/Gender'
        DateOfBirth:
          type: string
          format: date
          description: The birthdate of the individual beneficiary.
        PreferredGreeting:
          type: string
          description: The preferred informal greeting format for the beneficiary.
        PreferredVoiceContact:
          description: The preferred type of telephone contact method.
          $ref: '#/components/schemas/VoiceContactType'
        PreferredVoiceContactSpecified:
          type: boolean
          description: >-
            Indicates whether a preferred voice contact method was explicitly
            provided.
        PreferredWrittenContact:
          description: The preferred method of written correspondence.
          $ref: '#/components/schemas/WrittenContactType'
        PreferredWrittenContactSpecified:
          type: boolean
          description: >-
            Indicates whether a preferred written contact method was explicitly
            provided.
        HomePhone:
          type: string
          description: The residential telephone number of the beneficiary.
        WorkPhone:
          type: string
          description: The occupational telephone number of the beneficiary.
        Mobile:
          type: string
          description: The cellular telephone number of the beneficiary.
        Fax:
          type: string
          description: The facsimile transmission number of the beneficiary.
        DirectPhone:
          type: string
          description: A direct inward dialing number for the beneficiary.
        Email:
          type: string
          description: The electronic mail address of the beneficiary.
        PhysicalAddress:
          description: The geographic location address of the beneficiary.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        UsePhysicalAsMailing:
          type: boolean
          description: Dictates whether the physical address doubles as the postal address.
        MailingAddress:
          description: The designated postal delivery address for the beneficiary.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        Roles:
          description: The designated legal roles held by the individual within the trust.
          $ref: '#/components/schemas/TrustRoles'
        BeneficiaryType:
          description: >-
            Indicates whether the beneficiary is an individual or an
            organization.
          $ref: '#/components/schemas/BeneficiaryTypeEnum'
    FundImports_FundReferenceDataComponent:
      type: object
      required:
        - AssetClassCode
        - MinPercentage
        - MaxPercentage
      properties:
        AssetClassCode:
          type: string
          description: >-
            The asset class name for the strategy allocation. Across all
            allocations: total MinPercentage must be less than 100, total
            MaxPercentage must be greater than or equal to 100, and if any
            TargetPercentage is supplied the targets must total exactly 100.
            Each asset class must be unique and each row must satisfy Min <=
            Target <= Max.
          enum:
            - Cash
            - Australian Fixed Interest
            - International Fixed Interest
            - Australian Equities
            - International Equities
            - Listed Property
            - Direct Property
            - Mortgages
            - Other
          example: Australian Equities
        MinPercentage:
          type: number
          format: decimal
          description: The minimum acceptable percentage allocation for the asset class.
        MaxPercentage:
          type: number
          format: decimal
          description: The maximum acceptable percentage allocation for the asset class.
        TargetPercentage:
          type: number
          format: decimal
          description: The target or ideal percentage allocation for the asset class.
        TargetPercentageSpecified:
          type: boolean
          description: Flag indicating if a specific target percentage was provided.
    FundImports_FundReferenceDataFeedsProduct:
      type: object
      required:
        - AccountNumber
        - ProductName
      properties:
        AccountNumber:
          type: string
          description: The external account number registered with the feed provider.
        ProductName:
          type: string
          description: The specific name of the automated data feed product.
    FundImports_FundReferenceDataFeedsProducts:
      type: object
      required:
        - FeedsProducts
      properties:
        FeedsProducts:
          type: array
          description: A collection of data feed product associations.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataFeedsProduct'
    FundImports_FundReferenceDataFundHoldingReference:
      type: object
      required:
        - ExternalIdentifier
      properties:
        ExternalIdentifier:
          type: string
          description: The external system's unique identifier for the holding.
        ExternalIdentifierType:
          description: The category type of the external identifier.
          $ref: '#/components/schemas/HoldingAccountExternalIdentifierType'
        ExternalIdentifierTypeSpecified:
          type: boolean
          description: >-
            Indicates whether the external identifier type was explicitly
            provided.
        StartDate:
          type: string
          format: date
          description: The date when the holding reference became active.
        EndDate:
          type: string
          format: date
          description: The date when the holding reference was deactivated or closed.
        Enabled:
          type: boolean
          description: Indicates whether the holding reference is currently active.
        StartDateSpecified:
          type: boolean
          description: Indicates whether a start date was explicitly defined.
        EndDateSpecified:
          type: boolean
          description: Indicates whether an end date was explicitly defined.
        FinancialInstitution:
          type: string
          description: The name of the financial institution hosting the account.
        ProviderName:
          type: string
          description: The name of the data or service provider.
        ProductName:
          type: string
          description: The specific name of the financial product.
        DisplayName:
          type: string
          description: A user-friendly display name for the holding reference.
        AccountName:
          type: string
          description: The registered name on the account.
    FundImports_FundReferenceDataFundPolicy:
      type: object
      properties:
        GSTDetails:
          description: The GST registration and reporting configuration for the fund.
          $ref: >-
            #/components/schemas/FundImports_FundReferenceDataFundPolicyGSTDetails
        Reserved:
          type: boolean
          description: >-
            An internal indicator specifying if the policy is marked as
            reserved.
        PolicyStartDate:
          type: string
          format: date
          description: The date on which the policy rules take effect.
        PolicyStartDateSpecified:
          type: boolean
          description: Indicates whether a policy start date was provided.
        PolicyEndDate:
          type: string
          format: date
          description: The date on which the policy rules cease to apply.
        PolicyEndDateSpecified:
          type: boolean
          description: Indicates whether a policy end date was provided.
        UseSegregatedPensions:
          type: boolean
          description: >-
            Indicates if the fund utilizes segregated assets for its pension
            accounts.
        UseSegregatedPensionsSpecified:
          type: boolean
          description: >-
            Indicates whether the segregated pensions setting was explicitly
            defined.
        PensionExemptionPercentage:
          type: number
          format: decimal
          description: >-
            The percentage of fund income exempt from tax due to pension
            accounts.
        PensionExemptionPercentageSpecified:
          type: boolean
          description: Indicates whether the pension exemption percentage was provided.
        ActuarialPensionExemptionPercentage:
          type: number
          format: decimal
          description: The tax-exempt percentage as determined by an actuarial certificate.
        ActuarialPensionExemptionPercentageSpecified:
          type: boolean
          description: Indicates whether the actuarial exemption percentage was provided.
        ExpensesPensionExemptionPercentage:
          type: number
          format: decimal
          description: >-
            The percentage applied to determine deductible expenses related to
            exempt pension income.
        ExpensesPensionExemptionPercentageSpecified:
          type: boolean
          description: Indicates whether the expenses exemption percentage was provided.
        CapitalLossProvisionRate:
          type: number
          format: decimal
          description: The provisioning rate applied to deferred capital losses.
        CapitalLossProvisionRateSpecified:
          type: boolean
          description: Indicates whether the capital loss provision rate was provided.
        AccountingLossProvisionRate:
          type: number
          format: decimal
          description: The provisioning rate applied to deferred accounting losses.
        AccountingLossProvisionRateSpecified:
          type: boolean
          description: Indicates whether the accounting loss provision rate was provided.
        UnrealisedTaxProvisionRate:
          type: number
          format: decimal
          description: The tax provision rate applied against unrealized asset positions.
        UnrealisedTaxProvisionRateSpecified:
          type: boolean
          description: Indicates whether the unrealized tax provision rate was provided.
        CapitalLossesProvisionRate:
          type: number
          format: decimal
          description: >-
            The specific rate applied when provisioning for aggregate capital
            losses.
        CapitalLossesProvisionRateSpecified:
          type: boolean
          description: >-
            Indicates whether the aggregate capital losses provision rate was
            provided.
        IncomeLossesProvisionRate:
          type: number
          format: decimal
          description: The rate applied when provisioning for deferred income losses.
        IncomeLossesProvisionRateSpecified:
          type: boolean
          description: Indicates whether the income losses provision rate was provided.
        UnrealisedGainsProvisionRate:
          type: number
          format: decimal
          description: The rate applied to provision against unrealized capital gains.
        UnrealisedGainsProvisionRateSpecified:
          type: boolean
          description: Indicates whether the unrealized gains provision rate was provided.
        UseTaxEffectAccounting:
          type: boolean
          description: >-
            Indicates if tax effect accounting principles are applied to the
            fund's ledger.
        UseTaxEffectAccountingSpecified:
          type: boolean
          description: >-
            Indicates whether the tax effect accounting flag was explicitly
            defined.
        DeferMemberTax:
          type: boolean
          description: >-
            Indicates whether member-level taxation events are deferred within
            the period.
        DeferMemberTaxSpecified:
          type: boolean
          description: Indicates whether the defer member tax flag was explicitly defined.
        ExpenseExemptionCalculationMethod:
          description: The methodology used to determine the proportion of exempt expenses.
          $ref: '#/components/schemas/ExpenseExemptionCalculationMethod'
        ElectionECPICalculationMethod:
          type: string
          description: The chosen method for calculating Exempt Current Pension Income.
    FundImports_FundReferenceDataFundPolicyGSTDetails:
      type: object
      required:
        - GSTStatus
      properties:
        GSTStatus:
          description: >-
            The fund's current registration status regarding Goods and Services
            Tax.
          $ref: '#/components/schemas/FundPolicyGSTStatusCode'
        GSTTaxPeriod:
          description: The reporting frequency designated for GST lodgments.
          $ref: '#/components/schemas/FundPolicyGSTTaxPeriodCode'
        GSTStatusDate:
          type: string
          format: date
          description: The effective date when the current GST status began.
        GSTStatusDateSpecified:
          type: boolean
          description: Indicates if the GST status date was explicitly supplied.
    FundImports_FundReferenceDataFundReturn:
      type: object
      required:
        - FinancialYear
      properties:
        FinancialYear:
          type: integer
          format: int32
          description: The specific financial year the return applies to.
        RateOfReturn:
          type: number
          format: decimal
          description: The calculated investment return percentage for the period.
        RateOfReturnSpecified:
          type: boolean
          description: Indicates whether the rate of return was explicitly provided.
    FundImports_FundReferenceDataInvestmentDetails:
      type: object
      description: >-
        The fund's investment accounts. Items is a polymorphic array; every item
        must carry a Type field whose value names the concrete account schema.
        Supported values: InvestmentAccountDetail, BankAccountDetail,
        PropertyAccountDetail, TermDepositAccountDetail. The Type value is
        case-sensitive.
      properties:
        Items:
          type: array
          description: >-
            The collection of investment/holding accounts. Each item is
            discriminated by its Type field.
          items:
            oneOf:
              - $ref: '#/components/schemas/FundImports_HoldingAccountDetail'
              - $ref: '#/components/schemas/FundImports_BankAccountDetail'
              - $ref: '#/components/schemas/FundImports_PropertyAccountDetail'
              - $ref: '#/components/schemas/FundImports_TermDepositAccountDetail'
            discriminator:
              propertyName: Type
              mapping:
                InvestmentAccountDetail: '#/components/schemas/FundImports_HoldingAccountDetail'
                BankAccountDetail: '#/components/schemas/FundImports_BankAccountDetail'
                PropertyAccountDetail: '#/components/schemas/FundImports_PropertyAccountDetail'
                TermDepositAccountDetail: '#/components/schemas/FundImports_TermDepositAccountDetail'
    FundImports_FundReferenceDataMemberDetail:
      type: object
      required:
        - Code
      properties:
        Code:
          type: string
          description: The unique identifier code assigned to the member.
        JoinFundDate:
          type: string
          format: date
          description: The date the member originally joined the fund.
        LeaveFundDate:
          type: string
          description: The date the member ceased being a part of the fund.
        ESPStartDate:
          type: string
          format: date
          description: The start date for the Eligible Service Period of the member.
        ESPStartDateSpecified:
          type: boolean
          description: Indicates if the Eligible Service Period start date was provided.
        DateOfDisability:
          type: string
          format: date
          description: The official date of permanent disability, if applicable.
        DateOfDisabilitySpecified:
          type: boolean
          description: Indicates if a date of disability was explicitly provided.
        LastRetirementDate:
          type: string
          format: date
          nullable: true
          description: >-
            The date the member met a condition of release for retirement.
            Optional, but should be supplied for a retired member holding a
            retirement-phase pension so the pension is treated as an
            account-based pension rather than a transition-to-retirement income
            stream (TRIS).
        LastRetirementDateSpecified:
          type: boolean
          description: Indicates if the last retirement date was explicitly provided.
        AustralianResident:
          type: boolean
          description: >-
            Indicates if the member is considered an Australian resident for tax
            purposes.
        FloodLevyExempt:
          type: boolean
          description: Indicates whether the member claims exemption from the flood levy.
        SpouseAgreementDate:
          type: string
          format: date
          description: >-
            The execution date of a formal superannuation agreement with a
            spouse.
        SpouseAgreementDateSpecified:
          type: boolean
          description: Indicates if the spouse agreement date was provided.
        ClaimTaxFreeThreshold:
          type: boolean
          description: Indicates whether the member is claiming the tax-free threshold.
        DeathSumInsured:
          type: number
          format: decimal
          description: The monetary amount insured in the event of the member's death.
        TpdSumInsured:
          type: number
          format: decimal
          description: The monetary amount insured for Total and Permanent Disability.
        SalaryContinuanceSumInsured:
          type: number
          format: decimal
          description: >-
            The monetary amount insured for income or salary continuance
            protection.
        ClaimTaxFreeThresholdSpecified:
          type: boolean
          description: Indicates if the tax-free threshold claim was explicitly specified.
        DeathSumInsuredSpecified:
          type: boolean
          description: Indicates if the death sum insured amount was explicitly provided.
        TpdSumInsuredSpecified:
          type: boolean
          description: Indicates if the TPD sum insured amount was explicitly provided.
        SalaryContinuanceSumInsuredSpecified:
          type: boolean
          description: >-
            Indicates if the salary continuance sum insured was explicitly
            provided.
        TFN:
          type: string
          description: The member's registered Tax File Number.
        FamilyName:
          type: string
          description: The surname or family name of the member.
        GivenName:
          type: string
          description: The given or first name of the member.
        MiddleNames:
          type: string
          description: Any middle names associated with the member.
        Salutation:
          type: string
          description: The title used to address the member formally.
        Gender:
          description: The recognized gender of the member.
          $ref: '#/components/schemas/Gender'
        DateOfBirth:
          type: string
          format: date
          description: The member's date of birth.
        DateOfBirthSpecified:
          type: boolean
          description: Indicates if the date of birth was explicitly provided.
        DateOfDeath:
          type: string
          format: date
          description: The date of death for the member, if deceased.
        DateOfDeathSpecified:
          type: boolean
          description: Indicates if the date of death was explicitly provided.
        PreferredGreeting:
          type: string
          description: The preferred informal greeting format for the member.
        PreferredSalutation:
          type: string
          description: The preferred formal salutation for correspondence.
        PreferredVoiceContact:
          description: The preferred method of telephone contact.
          $ref: '#/components/schemas/VoiceContactType'
        PreferredVoiceContactSpecified:
          type: boolean
          description: Indicates if a preferred voice contact method was supplied.
        PreferredWrittenContact:
          description: The preferred method of written contact.
          $ref: '#/components/schemas/WrittenContactType'
        PreferredWrittenContactSpecified:
          type: boolean
          description: Indicates if a preferred written contact method was supplied.
        HomePhone:
          type: string
          description: The member's residential telephone number.
        WorkPhone:
          type: string
          description: The member's occupational telephone number.
        Mobile:
          type: string
          description: The member's cellular or mobile telephone number.
        Fax:
          type: string
          description: The facsimile transmission number for the member.
        DirectPhone:
          type: string
          description: The direct dial-in telephone number for the member.
        Email:
          type: string
          description: The primary electronic mail address for the member.
        PhysicalAddress:
          description: The geographical residential address for the member.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        UsePhysicalAsMailing:
          type: boolean
          description: >-
            Indicates whether the residential address acts as the postal
            address.
        MailingAddress:
          description: The designated mailing or postal address for the member.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        MemberTransitions:
          description: A history of status transitions affecting the member's account.
          $ref: '#/components/schemas/FundImports_FundReferenceDataMemberTransitions'
        BeneficiaryDetails:
          description: >-
            Information regarding individuals nominated as beneficiaries by the
            member.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundImports_FundReferenceDataMemberDetailBeneficiaryDetails
        Pensions:
          description: A list of pension accounts active under the member.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundImports_FundReferenceDataMemberDetailPensionDetails
    FundImports_FundReferenceDataMemberDetailBeneficiaryDetails:
      type: object
      required:
        - EffectiveDate
        - BindingStatus
      properties:
        EffectiveDate:
          type: string
          format: date
          description: The date on which the beneficiary nomination becomes active.
        ExpiryDate:
          type: string
          format: date
          description: The date on which the beneficiary nomination lapses or expires.
        ExpiryDateSpecified:
          type: boolean
          description: >-
            Indicates if an expiry date was explicitly defined for the
            nomination.
        BindingStatus:
          description: >-
            Indicates the legal enforceability status of the death benefit
            nomination.
          $ref: '#/components/schemas/BindingStatusType'
        Details:
          type: string
          description: >-
            Additional notes or conditions surrounding the beneficiary
            nomination.
    FundImports_FundReferenceDataMemberDetailPensionDetails:
      type: object
      required:
        - PensionAccountName
        - StartDate
        - PensionProductType
        - PensionAccountIdentifier
      properties:
        PensionAccountName:
          type: string
          description: The internal display name referencing the pension account.
        StartDate:
          type: string
          format: date
          description: The commencement date of the income stream or pension.
        PensionProductType:
          description: The regulatory classification of the pension product.
          $ref: '#/components/schemas/PensionProductType'
        EtpPost07ChangeDate:
          type: string
          format: date
          description: The date defining a change in status under the post-2007 ETP rules.
        EtpPost07ChangeDateSpecified:
          type: boolean
          description: Indicates if the ETP post-2007 change date was explicitly supplied.
        PensionAccountIdentifier:
          type: string
          description: >-
            A unique external or internal identifier associated with the pension
            account.
    FundImports_FundReferenceDataMemberTransition:
      type: object
      required:
        - EffectiveDate
        - TransitionType
      properties:
        EffectiveDate:
          type: string
          format: date
          description: The effective date when the member status transition occurred.
        TransitionType:
          type: string
          description: The specific classification of the member transition phase.
    FundImports_FundReferenceDataMemberTransitions:
      type: object
      required:
        - MemberTransitions
      properties:
        MemberTransitions:
          type: array
          description: A list documenting the various transitional phases of a member.
          items:
            $ref: '#/components/schemas/FundImports_FundReferenceDataMemberTransition'
    FundImports_FundReferenceDataNonMemberTrusteeDetails:
      type: object
      required:
        - FamilyName
        - GivenName
      properties:
        FamilyName:
          type: string
          description: The surname of the individual non-member trustee.
        GivenName:
          type: string
          description: The first name of the individual non-member trustee.
        MiddleNames:
          type: string
          description: Any middle names of the non-member trustee.
        Title:
          type: string
          description: The salutation used for the non-member trustee.
        JobTitle:
          type: string
          description: The professional job title of the individual.
        FormerName:
          type: string
          description: A former name or maiden name of the trustee, if applicable.
        Gender:
          type: string
          description: The identified gender of the non-member trustee.
        DateOfBirth:
          type: string
          format: date
          description: The birthdate of the non-member trustee.
        DateOfBirthSpecified:
          type: boolean
          description: Indicates if the birth date was explicitly provided.
        TFN:
          type: string
          description: The Tax File Number of the non-member trustee.
        PreferredGreeting:
          type: string
          description: The preferred informal greeting format for the trustee.
        PreferredVoiceContact:
          description: The preferred method of telephone communication.
          $ref: '#/components/schemas/VoiceContactType'
        PreferredVoiceContactSpecified:
          type: boolean
          description: Indicates if a preferred voice contact method was supplied.
        PreferredWrittenContact:
          description: The preferred method of written communication.
          $ref: '#/components/schemas/WrittenContactType'
        PreferredWrittenContactSpecified:
          type: boolean
          description: Indicates if a preferred written contact method was supplied.
        HomePhone:
          type: string
          description: The residential telephone number of the trustee.
        WorkPhone:
          type: string
          description: The occupational telephone number of the trustee.
        Mobile:
          type: string
          description: The cellular telephone number of the trustee.
        Fax:
          type: string
          description: The facsimile transmission number of the trustee.
        DirectPhone:
          type: string
          description: A direct telephone number for the trustee.
        Email:
          type: string
          description: The primary electronic mail address of the trustee.
        PhysicalAddress:
          description: The structured physical address of the trustee.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        UsePhysicalAsMailing:
          type: boolean
          description: Flag indicating if the physical address is used for mailing.
        MailingAddress:
          description: The structured mailing address of the trustee.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
    FundImports_FundReferenceDataRSEDetails:
      type: object
      required:
        - RSE
        - EffectiveDate
      properties:
        RSE:
          type: string
          description: The assigned Registrable Superannuation Entity number.
        EffectiveDate:
          type: string
          format: date
          description: The date when the RSE registration became effective.
    FundImports_FundReferenceDataReserveDetails:
      type: object
      required:
        - ReserveDetail
      properties:
        ReserveDetail:
          description: The specific attributes outlining the fund's reserve configuration.
          $ref: >-
            #/components/schemas/FundImports_FundReferenceDataReserveDetailsReserveDetail
    FundImports_FundReferenceDataReserveDetailsReserveDetail:
      type: object
      required:
        - JoinFundDate
      properties:
        JoinFundDate:
          type: string
          format: date
          description: >-
            The date the reserve account was formally established within the
            fund.
        Reserves:
          description: A list detailing individual reserve sub-accounts.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundImports_FundReferenceDataReserveDetailsReserveDetailReserveDetails
    FundImports_FundReferenceDataReserveDetailsReserveDetailReserveDetails:
      type: object
      required:
        - ReserveAccountName
        - StartDate
      properties:
        ReserveAccountName:
          type: string
          description: The designated internal name for the specific reserve account.
        StartDate:
          type: string
          format: date
          description: The date the specific reserve account began operations.
    FundImports_FundReferenceDataTrustDeed:
      type: object
      required:
        - DeedDate
        - Jurisdiction
        - TrusteeName
        - DeedType
      properties:
        DeedDate:
          type: string
          format: date
          description: The execution date of the fund's trust deed.
        DatePrinted:
          type: string
          format: date
          description: The date the physical trust deed document was printed.
        DatePrintedSpecified:
          type: boolean
          description: Indicates if the deed print date was explicitly supplied.
        Jurisdiction:
          description: The state or territory whose laws govern the trust deed.
          $ref: '#/components/schemas/TrustDeedJurisdiction'
        TrusteeName:
          type: string
          description: The name of the trustee recorded on the trust deed.
        DeedSource:
          type: string
          description: The provider or legal source supplying the trust deed.
        DeedType:
          description: >-
            The classification indicating if this is an establishment or an
            amended deed.
          $ref: '#/components/schemas/TrustDeedType'
        Comments:
          type: string
          description: Miscellaneous remarks or notes pertaining to the trust deed.
    FundImports_FundReferenceDataTrusteeCompanyDetails:
      type: object
      required:
        - Name
      properties:
        Name:
          type: string
          description: The registered name of the corporate trustee entity.
        ABN:
          type: string
          description: The Australian Business Number of the corporate trustee.
        ACN:
          type: string
          description: The Australian Company Number of the corporate trustee.
        TFN:
          type: string
          description: The Tax File Number assigned to the corporate trustee.
        PreferredVoiceContact:
          description: The preferred method of telephone communication for the company.
          $ref: '#/components/schemas/VoiceContactType'
        PreferredVoiceContactSpecified:
          type: boolean
          description: Indicates if a preferred voice contact method was supplied.
        PreferredWrittenContact:
          description: The preferred method of written correspondence for the company.
          $ref: '#/components/schemas/WrittenContactType'
        PreferredWrittenContactSpecified:
          type: boolean
          description: Indicates if a preferred written contact method was supplied.
        Phone:
          type: string
          description: The primary telephone number for the corporate trustee.
        Fax:
          type: string
          description: The facsimile number for the corporate trustee.
        Email:
          type: string
          description: The primary electronic mail address for the corporate trustee.
        URL:
          type: string
          description: The website URL representing the corporate trustee.
        PhysicalAddress:
          description: The structured physical location of the corporate trustee.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        UsePhysicalAsMailing:
          type: boolean
          description: >-
            Flag indicating if the physical address doubles as the mailing
            address.
        MailingAddress:
          description: The structured postal address of the corporate trustee.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
        ASN:
          type: string
          description: The Australian Scheme Number, if applicable to the trustee company.
    FundImports_HoldingAccountDetail:
      type: object
      required:
        - Code
        - Type
      properties:
        Type:
          type: string
          description: Discriminator. Set to InvestmentAccountDetail.
          example: InvestmentAccountDetail
        Code:
          type: string
          description: The unique system code identifying the holding account.
        Description:
          type: string
          description: A human-readable description describing the holding account.
        SecurityIssueCode:
          type: string
          description: The specific security issue code tied to the investment.
        MarketTypeCode:
          description: The code identifying the market where the security is traded.
          $ref: '#/components/schemas/MarketTypeCode'
        MarketTypeCodeSpecified:
          type: boolean
          description: Indicates if the market type code was explicitly provided.
        UnlistedSecurityTypeCode:
          type: string
          description: The specific classification code for unlisted investments.
        ForeignSecurityTypeCode:
          type: string
          description: The specific classification code for foreign investments.
        ExternalIdentifier:
          type: string
          description: An identifier string utilized by external systems or brokers.
        ExternalIdentifierType:
          description: The category type classifying the external identifier.
          $ref: '#/components/schemas/HoldingAccountExternalIdentifierType'
        ExternalIdentifierTypeSpecified:
          type: boolean
          description: Indicates if the external identifier type was explicitly provided.
        ExternalProductName:
          type: string
          description: >-
            The external or commercial name associated with the financial
            product.
        ExternalProductNameSpecified:
          type: boolean
          description: Indicates if the external product name was explicitly provided.
        InhouseAsset:
          type: boolean
          description: Flags whether the holding account represents an in-house asset.
        InhouseAssetSpecified:
          type: boolean
          description: Indicates if the in-house asset flag was explicitly provided.
        IsSegregatedToPension:
          type: boolean
          description: >-
            Flags whether the holding account is segregated specifically for
            pension purposes.
        IsSegregatedToPensionSpecified:
          type: boolean
          description: Indicates if the pension segregation flag was explicitly provided.
        SegregatedToPensionAccountCode:
          type: string
          description: The specific pension account code this asset is segregated to.
        SegregatedToPensionAccountCodeSpecified:
          type: boolean
          description: >-
            Indicates if the target pension account code for segregation was
            provided.
        SpecifiedMarketTypeCode:
          type: string
          description: A manually overridden or explicitly specified market type code.
        CGInvestmentClassificationCode:
          type: string
          description: The classification code used for Capital Gains tax reporting.
        TaxReturnClassificationCode:
          type: string
          description: >-
            The classification code assigning the asset's position on the tax
            return.
        GLInvestmentClassificationCode:
          type: string
          description: The general ledger classification code mapping the investment.
        HoldingTypeForGst:
          description: >-
            Dictates how the holding interacts with Goods and Services Tax
            calculations.
          $ref: '#/components/schemas/HoldingTypeForGst'
        HoldingTypeForGstSpecified:
          type: boolean
          description: Indicates if the GST holding type setting was explicitly defined.
    FundImports_BankAccountDetail:
      type: object
      properties:
        Type:
          type: string
          description: Discriminator. Set to BankAccountDetail.
          example: BankAccountDetail
        Code:
          type: string
          description: The unique internal code mapped to the bank account.
        Description:
          type: string
          description: A textual description identifying the bank account.
        SecurityIssueCode:
          type: string
          description: The specific security issue code tied to the bank account.
        MarketTypeCode:
          type: string
          description: The code identifying the market where the account operates.
        ExternalIdentifier:
          type: string
          description: The external system identifier associated with the bank account.
        ExternalIdentifierType:
          type: string
          description: The category type of the external identifier.
        ExternalProductName:
          type: string
          description: The external or commercial name associated with the banking product.
        BSB:
          type: string
          description: The Bank State Branch code identifying the financial institution.
        AccountNumber:
          type: string
          description: The specific account number assigned by the financial institution.
        AccountName:
          type: string
          nullable: true
          description: >-
            The registered name associated with the bank account. Optional; may
            be an empty string.
        IsOperational:
          type: string
          description: >-
            A flag indicating if this is the primary operational account for the
            fund.
        CurrencyCode:
          type: string
          description: >-
            The standard currency code representing the denomination of the
            account.
    FundImports_PropertyAccountDetail:
      type: object
      properties:
        Type:
          type: string
          description: Discriminator. Set to PropertyAccountDetail.
          example: PropertyAccountDetail
        Code:
          type: string
          description: The unique code representing the real property investment.
        Description:
          type: string
          description: A textual description identifying the property.
        SecurityIssueCode:
          type: string
          description: >-
            The security issue code mapped to the property, which is often left
            blank.
        MarketTypeCode:
          type: string
          description: The designated market type code for property assets.
        ExternalIdentifier:
          type: string
          description: An external reference or identifier for the property.
        ExternalIdentifierType:
          type: string
          description: The category type classifying the external identifier.
        InhouseAsset:
          type: string
          description: >-
            A flag indicating whether the property is considered an in-house
            asset.
        CommercialIndicator:
          type: string
          description: A flag indicating whether the property is strictly commercial.
        RegisteredForLandTax:
          type: string
          description: >-
            A flag indicating whether the property is formally registered for
            land tax.
        Address:
          description: The comprehensive structured geographical address of the property.
          $ref: '#/components/schemas/FundImports_PhysicalAddress'
    FundImports_TermDepositAccountDetail:
      type: object
      properties:
        Type:
          type: string
          description: Discriminator. Set to TermDepositAccountDetail.
          example: TermDepositAccountDetail
        Code:
          type: string
          description: The unique internal code mapped to the term deposit account.
        Description:
          type: string
          description: A textual description describing the term deposit.
        SecurityIssueCode:
          type: string
          description: The specific security issue code tied to the term deposit account.
        MarketTypeCode:
          type: string
          description: The code identifying the market type for term deposits.
        SpecifiedMarketTypeCode:
          type: string
          description: An explicitly provided override for the market type code.
        CGInvestmentClassificationCode:
          type: string
          description: >-
            The specific classification determining how the asset interacts with
            Capital Gains calculations.
        TaxReturnClassificationCode:
          type: string
          description: >-
            The code determining where the term deposit sits on the annual tax
            return.
        GLInvestmentClassificationCode:
          type: string
          description: >-
            The internal general ledger classification used for accounting
            mapping.
        InterestRate:
          type: string
          description: The confirmed fixed interest rate applied to the term deposit.
    FundImports_PhysicalAddress:
      type: object
      description: >-
        A structured address. All fields are optional; supply at least Line1,
        Suburb, State and Postcode for a usable address.
      properties:
        Addressee:
          type: string
          nullable: true
          description: The name of the entity or individual the correspondence targets.
        Line1:
          type: string
          nullable: true
          description: The primary street address line.
        Line2:
          type: string
          nullable: true
          description: The secondary address line for building or suite numbers.
        Line3:
          type: string
          nullable: true
          description: The tertiary address line for additional clarity.
        Line4:
          type: string
          nullable: true
          description: The fourth address line for complex location descriptions.
        Suburb:
          type: string
          nullable: true
          description: The city, town, or suburb name.
        State:
          type: string
          nullable: true
          description: The state, territory, or province abbreviation.
        Postcode:
          type: string
          nullable: true
          description: The postal or zip code associated with the locality.
        UseUnlistedSuburb:
          type: boolean
          description: Flag indicating if the suburb is a custom unlisted entry.
    FundLegalType:
      type: string
      description: Defines the structural legal entity type of the fund.
      enum:
        - SMSF
        - SAF
        - Personal
        - Trust
        - Company
        - Partnership
        - Consolidated
    FundOpeningPositionOperatingStatementBalance_AccountBalance:
      type: object
      required:
        - IncomeExpenseClassification
        - IncomeExpenseTypeCode
        - Balance
      properties:
        IncomeExpenseClassification:
          type: string
          description: Broad classification categorizing the account as income or expense.
        IncomeExpenseTypeCode:
          type: string
          description: The specific system code detailing the exact income or expense type.
        Balance:
          type: number
          format: decimal
          description: The monetary balance attributed to this operating statement account.
    FundOpeningPositions_BeneficiaryDistribution:
      type: object
      required:
        - MemberAccountReference
      properties:
        DistributionAmount:
          type: number
          format: decimal
          description: The calculated financial amount distributed to the beneficiary.
        MemberAccountReference:
          type: string
          description: >-
            The unique reference pointing to the member account receiving the
            distribution.
    FundOpeningPositions_ConcessionalDetailField:
      type: object
      required:
        - FinancialYear
        - Amount
      properties:
        FinancialYear:
          type: string
          description: >-
            The specific financial year the concessional contribution occurred
            in.
        Amount:
          type: number
          format: decimal
          description: The monetary amount of the concessional contribution.
    FundOpeningPositions_FundOpeningPositionAssetPositions:
      type: object
      properties:
        HoldingPosition:
          description: >-
            A collection detailing the opening balances and tax parcels of
            investment holdings.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionAssetPositionsHoldingPosition
        CashPosition:
          description: A collection detailing the opening balances of cash-based accounts.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionAssetPositionsCashPosition
    FundOpeningPositions_FundOpeningPositionAssetPositionsAssetPosition:
      type: object
      description: Represents a generalized opening asset position.
    FundOpeningPositions_FundOpeningPositionAssetPositionsCashPosition:
      type: object
      required:
        - Code
        - ClosingBalance
        - ForeignClosingBalance
        - BookCost
        - IsForeignCash
        - ForeignCashAcquisitions
        - AdjustmentTypeChoices
        - BankAccountChoices
      properties:
        Code:
          type: string
          description: The unique system code for the cash account.
        ClosingBalance:
          type: number
          format: decimal
          description: The opening domestic currency balance for the cash account.
        ForeignClosingBalance:
          type: number
          format: decimal
          description: The opening foreign currency balance, if applicable.
        BookCost:
          type: number
          format: decimal
          description: The adjusted book cost basis for the cash holdings.
        IsForeignCash:
          type: boolean
          description: Indicates whether the account holds foreign-denominated currency.
        ForeignCashAcquisitions:
          type: array
          description: >-
            A collection of historical acquisition parcels for the foreign
            currency.
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionAssetPositionsHoldingPositionAcquisition
        AdjustmentTypeChoices:
          description: >-
            The available adjustment types that can be applied to this cash
            position.
          $ref: '#/components/schemas/RestSelectableItem'
        BankAccountChoices:
          description: The valid bank account selections mapped to this cash position.
          $ref: '#/components/schemas/RestSelectableItem'
    FundOpeningPositions_FundOpeningPositionAssetPositionsHoldingPosition:
      type: object
      required:
        - Code
        - ClosingMarketValue
        - ClosingCarryForwardCapitalLoss
        - ClosingUnsettledAcquisitions
        - ClosingUnsettledDisposals
        - DRPResidual
        - Acquisition
      properties:
        Code:
          type: string
          description: The unique system code representing the investment holding account.
        ClosingMarketValue:
          type: number
          format: decimal
          description: >-
            The reported market value of the investment holding at the opening
            date.
        ClosingCarryForwardCapitalLoss:
          type: number
          format: decimal
          description: Capital losses carried forward specifically tied to this holding.
        ClosingUnsettledAcquisitions:
          type: number
          format: decimal
          description: >-
            The monetary value of purchases that remain unsettled as of the
            opening date.
        ClosingUnsettledDisposals:
          type: number
          format: decimal
          description: >-
            The monetary value of sales that remain unsettled as of the opening
            date.
        DRPResidual:
          type: number
          format: decimal
          description: >-
            The residual cash balance residing in a Dividend Reinvestment Plan
            associated with the holding.
        Acquisition:
          description: >-
            A list detailing the individual tax parcels comprising the holding's
            balance.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionAssetPositionsHoldingPositionAcquisition
    FundOpeningPositions_FundOpeningPositionAssetPositionsHoldingPositionAcquisition:
      type: object
      required:
        - AcquisitionDate
        - Quantity
        - BookCost
        - Description
      properties:
        AcquisitionDate:
          type: string
          format: date
          description: The original transaction date when the asset parcel was acquired.
        Quantity:
          type: number
          format: decimal
          description: The numerical number of units or shares in this acquisition parcel.
        BookCost:
          type: number
          format: decimal
          description: The recorded accounting book cost of this specific parcel.
        Description:
          type: string
          description: A brief narrative description describing the acquisition parcel.
        Adjustment:
          description: >-
            A list of tax or accounting adjustments applied to the parcel's cost
            base.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionAssetPositionsHoldingPositionAcquisitionAdjustment
    FundOpeningPositions_FundOpeningPositionAssetPositionsHoldingPositionAcquisitionAdjustment:
      type: object
      required:
        - AdjustmentDate
        - Description
        - AdjustmentAmount
        - AdjustmentType
        - AdjustmentTypeChoices
        - BankAccountChoices
      properties:
        AdjustmentDate:
          type: string
          format: date
          description: The effective date when the cost base adjustment occurred.
        Description:
          type: string
          description: A brief narrative detailing the reason for the cost base adjustment.
        AdjustmentAmount:
          type: number
          format: decimal
          description: The monetary value modifying the parcel's cost base.
        AdjustmentType:
          description: The specific tax classification representing the type of adjustment.
          $ref: '#/components/schemas/AdjustmentAmountType'
        AdjustmentTypeChoices:
          description: The valid options available for selecting adjustment types.
          $ref: '#/components/schemas/RestSelectableItem'
        BankAccountChoices:
          description: >-
            The valid bank account selections associated with the adjustment, if
            cash was involved.
          $ref: '#/components/schemas/RestSelectableItem'
    FundOpeningPositions_FundOpeningPositionBeneficiaryLevelEquityPosition:
      type: object
      required:
        - EquityAccountName
        - EquityAccountCode
        - Balance
      properties:
        EquityAccountName:
          type: string
          description: The display name assigned to the equity account.
        EquityAccountCode:
          type: string
          description: The internal system code mapped to the equity account.
        Balance:
          type: number
          format: decimal
          description: The opening monetary balance representing the equity position.
    FundOpeningPositions_FundOpeningPositionBeneficiaryLevelPosition:
      type: object
      required:
        - EquityPositions
        - Code
        - UnitHolding
      properties:
        EquityPositions:
          type: array
          description: >-
            A collection of financial equity positions attributed at the
            beneficiary level.
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionBeneficiaryLevelEquityPosition
        Code:
          type: string
          description: The unique identifier code for the beneficiary holding the position.
        UnitHolding:
          description: >-
            Unit holding balances reflecting the beneficiary's interest in the
            fund.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionBeneficiaryLevelUnitHolding
    FundOpeningPositions_FundOpeningPositionBeneficiaryLevelUnitHolding:
      type: object
      required:
        - Quantity
        - Capital
      properties:
        Quantity:
          type: number
          format: decimal
          description: The number of units issued to the beneficiary.
        Capital:
          type: number
          format: decimal
          description: The total capital balance backing the unit holdings.
    FundOpeningPositions_FundOpeningPositionDocument:
      type: object
      required:
        - FundDetails
        - AssetPositions
        - OperatingStatementBalances
        - TrustPriorYearOperatingStatement
        - MemberPositions
        - ReservePositions
        - BeneficiaryLevelEquityPositions
        - PortfolioLevelEquityPositions
        - OtherDetails
        - CGTConcessionTypePresent
      properties:
        FundDetails:
          description: The core entity details anchoring the opening position data.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionFundDetails
        AssetPositions:
          description: >-
            The aggregate collection mapping all opening asset balances and tax
            parcels.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionAssetPositions
        OperatingStatementBalances:
          description: >-
            The list of opening balances assigned to various income and expense
            ledger accounts.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionOperatingStatementBalance
        TrustPriorYearOperatingStatement:
          description: >-
            Comparative data detailing the trust's operating statement from the
            prior year.
          $ref: >-
            #/components/schemas/FundOpeningPositions_TrustPriorYearOperatingStatementComparativeModel
        MemberPositions:
          type: array
          description: >-
            A collection of opening accumulation and pension phase balances for
            each member.
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionMemberPosition
        ReservePositions:
          type: array
          description: >-
            A collection of opening balances mapping to the fund's reserve
            accounts.
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionReservePosition
        BeneficiaryLevelEquityPositions:
          type: array
          description: >-
            Equity balances structurally linked directly to specific
            beneficiaries.
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionBeneficiaryLevelPosition
        PortfolioLevelEquityPositions:
          type: array
          description: Equity balances structurally mapped at the broader portfolio level.
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionPortfolioLevelEquityPosition
        OtherDetails:
          description: >-
            Various ledger items capturing other assets, liabilities, and tax
            components.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionOtherDetails
        CGTConcessionTypePresent:
          type: boolean
          description: >-
            A flag indicating if any asset positions utilize specialized CGT
            concession rules.
        MemberPreviousConcessionals:
          description: >-
            A historical record of previous concessional contributions made by
            members.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_MemberPreviousConcessional
        MemberPreviousNonConcessionals:
          description: >-
            A historical record of previous non-concessional contributions made
            by members.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_MemberPreviousNonConcessional
    FundOpeningPositions_FundOpeningPositionFundDetails:
      type: object
      required:
        - Code
        - BooksClosedDate
      properties:
        Code:
          type: string
          description: >-
            The unique identifier code for the fund receiving the opening
            balances.
        BooksClosedDate:
          type: string
          format: date
          description: The critical date when prior financial books were officially closed.
        CarryForwardAccountingLoss:
          type: number
          format: decimal
          description: >-
            General accounting losses that are carried forward from prior
            periods.
        CarryForwardAccountingLossSpecified:
          type: boolean
          description: Indicates whether a carry forward accounting loss was supplied.
        CarryForwardCapitalLoss:
          type: number
          format: decimal
          description: >-
            General capital losses that are carried forward to offset future
            gains.
        CarryForwardCapitalLossSpecified:
          type: boolean
          description: Indicates whether a carry forward capital loss was supplied.
        CarryForwardCapitalCollectibleLoss:
          type: number
          format: decimal
          description: Capital losses originating specifically from collectible assets.
        CarryForwardCapitalCollectibleLossSpecified:
          type: boolean
          description: >-
            Indicates whether a carry forward collectible capital loss was
            supplied.
        StartingNetCumulativeBalance:
          type: number
          format: decimal
          description: >-
            The initial cumulative net balance for the fund before current
            period operations.
        StartingNetCumulativeBalanceSpecified:
          type: boolean
          description: Indicates whether a starting net cumulative balance was supplied.
    FundOpeningPositions_FundOpeningPositionMemberPosition:
      type: object
      required:
        - Code
        - AccumulationPosition
      properties:
        Code:
          type: string
          description: The unique reference code identifying the member.
        AccumulationPosition:
          description: >-
            The opening tax and preservation balances tied to the member's
            accumulation phase.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionMemberPositionAccumulationPosition
        PensionPosition:
          description: >-
            A collection of opening balances representing the member's various
            pension accounts.
          type: array
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionMemberPositionPensionPosition
    FundOpeningPositions_FundOpeningPositionMemberPositionAccumulationPosition:
      type: object
      required:
        - ETPBalances
        - PreservationBalances
      properties:
        ETPBalances:
          description: >-
            The detailed breakdown of tax components for the accumulation
            account.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionMemberPositionAccumulationPositionETPBalances
        PreservationBalances:
          description: >-
            The detailed breakdown showing preservation status within the
            accumulation account.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionMemberPositionAccumulationPositionPreservationBalances
    FundOpeningPositions_FundOpeningPositionMemberPositionAccumulationPositionETPBalances:
      type: object
      required:
        - CGTExempt
        - Concessional
        - PostJune1994Invalidity
        - PrePostJune1983
        - Undeducted
        - TaxFree
        - TaxableTaxed
        - TaxableUntaxed
      properties:
        CGTExempt:
          type: number
          format: decimal
          description: The portion of the balance exempt from Capital Gains Tax.
        Concessional:
          type: number
          format: decimal
          description: The portion of the balance derived from concessional contributions.
        PostJune1994Invalidity:
          type: number
          format: decimal
          description: The invalidity segment originating after June 1994.
        PrePostJune1983:
          type: number
          format: decimal
          description: The combined pre and post June 1983 balance component.
        Undeducted:
          type: number
          format: decimal
          description: >-
            The undeducted contribution portion, typically representing
            non-concessional funds.
        TaxFree:
          type: number
          format: decimal
          description: The strictly tax-free segment of the accumulation balance.
        TaxableTaxed:
          type: number
          format: decimal
          description: >-
            The taxable segment of the balance upon which tax has already been
            paid by the fund.
        TaxableUntaxed:
          type: number
          format: decimal
          description: >-
            The taxable segment of the balance upon which the fund has not yet
            paid tax.
    FundOpeningPositions_FundOpeningPositionMemberPositionAccumulationPositionPreservationBalances:
      type: object
      required:
        - Preserved
        - RestrictedNonPreserved
        - UnrestrictedNonPreserved
      properties:
        Preserved:
          type: number
          format: decimal
          description: >-
            The segment of the balance legally mandated to remain preserved
            until retirement.
        RestrictedNonPreserved:
          type: number
          format: decimal
          description: >-
            The segment that is not preserved but remains restricted due to
            employment conditions.
        UnrestrictedNonPreserved:
          type: number
          format: decimal
          description: The fully accessible segment of the balance that is not preserved.
    FundOpeningPositions_FundOpeningPositionMemberPositionPensionPosition:
      type: object
      required:
        - PensionAccountName
        - ETPBalances
        - PreservationBalances
      properties:
        PensionAccountName:
          type: string
          description: >-
            The designated internal identifier name for the specific pension
            account.
        ETPBalances:
          description: >-
            The detailed tax breakdown mapping the components of the pension
            account.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionMemberPositionPensionPositionETPBalances
        PreservationBalances:
          description: >-
            The detailed breakdown showing the preservation status of funds
            within the pension.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionMemberPositionPensionPositionPreservationBalances
    FundOpeningPositions_FundOpeningPositionMemberPositionPensionPositionETPBalances:
      type: object
      required:
        - CGTExempt
        - Concessional
        - PostJune1994Invalidity
        - PreJuly1983
        - PrePostJune1983Tax
        - Undeducted
        - TaxFree
        - TaxableTaxed
        - TaxableUntaxed
      properties:
        CGTExempt:
          type: number
          format: decimal
          description: The portion of the pension balance exempt from Capital Gains Tax.
        Concessional:
          type: number
          format: decimal
          description: >-
            The portion of the pension balance derived from concessional
            contributions.
        PostJune1994Invalidity:
          type: number
          format: decimal
          description: The invalidity segment of the pension originating after June 1994.
        PreJuly1983:
          type: number
          format: decimal
          description: The portion of the pension balance established before July 1983.
        PrePostJune1983Tax:
          type: number
          format: decimal
          description: >-
            The combined pre and post June 1983 taxable component of the
            pension.
        Undeducted:
          type: number
          format: decimal
          description: >-
            The undeducted or non-concessional segment forming part of the
            pension.
        TaxFree:
          type: number
          format: decimal
          description: The purely tax-free segment of the pension balance.
        TaxableTaxed:
          type: number
          format: decimal
          description: The taxable portion of the pension on which the fund has paid tax.
        TaxableUntaxed:
          type: number
          format: decimal
          description: >-
            The taxable portion of the pension on which the fund has not paid
            tax.
    FundOpeningPositions_FundOpeningPositionMemberPositionPensionPositionPreservationBalances:
      type: object
      required:
        - Preserved
        - RestrictedNonPreserved
        - UnrestrictedNonPreserved
      properties:
        Preserved:
          type: number
          format: decimal
          description: >-
            The preserved portion of the pension balance subject to release
            conditions.
        RestrictedNonPreserved:
          type: number
          format: decimal
          description: The restricted non-preserved portion bound by employment conditions.
        UnrestrictedNonPreserved:
          type: number
          format: decimal
          description: >-
            The unrestricted non-preserved portion of the pension that is fully
            accessible.
    FundOpeningPositions_FundOpeningPositionOperatingStatementBalance:
      type: object
      required:
        - IsOperatingStatementEnabled
        - Balances
      properties:
        IsOperatingStatementEnabled:
          type: boolean
          description: >-
            A flag indicating if opening balances apply to operating statement
            accounts.
        Balances:
          type: array
          description: >-
            A collection detailing the opening balances for individual operating
            statement accounts.
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositionOperatingStatementBalance_AccountBalance
    FundOpeningPositions_FundOpeningPositionOtherDetails:
      type: object
      required:
        - Asset
        - Liability
        - TaxPosition
        - FundSuspense
        - TaxLosses
      properties:
        Asset:
          description: >-
            The aggregated opening balances mapping to various other fund
            assets.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionOtherDetailsAsset
        Liability:
          description: The aggregated opening balances mapping to various fund liabilities.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionOtherDetailsLiability
        TaxPosition:
          description: >-
            The consolidated opening values determining the fund's starting tax
            status.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionOtherDetailsTaxPosition
        FundSuspense:
          description: >-
            Opening balances resting within temporary suspense or clearing
            accounts.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionOtherDetailsFundSuspense
        TaxLosses:
          type: array
          description: >-
            A detailed collection of historical tax losses carried into the new
            period.
          items:
            $ref: >-
              #/components/schemas/FundOpeningPositions_FundOpeningPositionOtherDetailsTaxLossesTaxLoss
    FundOpeningPositions_FundOpeningPositionOtherDetailsAsset:
      type: object
      required:
        - PrePaidExpenses
        - SundryDebtors
        - DividendsReceivable
        - InterestReceivable
        - DistributionsReceivable
        - InvestmentIncomeReceivable
        - FundIncomeReceivable
        - AmountsOwingByOtherPersons
        - TotalAssets
      properties:
        PrePaidExpenses:
          type: number
          format: decimal
          description: The recorded opening balance of expenses paid in advance.
        SundryDebtors:
          type: number
          format: decimal
          description: The aggregate balance owed to the fund by miscellaneous debtors.
        DividendsReceivable:
          type: number
          format: decimal
          description: The opening balance of declared dividends not yet received as cash.
        InterestReceivable:
          type: number
          format: decimal
          description: The opening balance of accrued interest pending receipt.
        DistributionsReceivable:
          type: number
          format: decimal
          description: The opening balance of pending trust or partnership distributions.
        InvestmentIncomeReceivable:
          type: number
          format: decimal
          description: >-
            The total receivable amount derived broadly from investment
            activities.
        FundIncomeReceivable:
          type: number
          format: decimal
          description: Receivable balances originating from general fund income sources.
        AmountsOwingByOtherPersons:
          type: number
          format: decimal
          description: >-
            Outstanding balances specifically owed by other individual entities
            to the fund.
        TotalAssets:
          type: number
          format: decimal
          description: >-
            The calculated aggregate sum of all miscellaneous opening asset
            balances.
    FundOpeningPositions_FundOpeningPositionOtherDetailsFundSuspense:
      type: object
      required:
        - FundSuspenseAmount
        - TotalFundSuspense
      properties:
        FundSuspenseAmount:
          type: number
          format: decimal
          description: >-
            The specific monetary amount residing inside the suspense ledger
            account.
        TotalFundSuspense:
          type: number
          format: decimal
          description: The calculated aggregate total of all suspense clearing accounts.
    FundOpeningPositions_FundOpeningPositionOtherDetailsLiability:
      type: object
      required:
        - AmountsOwingToOtherPersons
        - SundryCreditors
        - FundExpensesPayable
        - InvestmentExpensePayable
        - MemberExpensesPayable
        - MemberRolloversOutPayable
        - TotalLiabilites
      properties:
        AmountsOwingToOtherPersons:
          type: number
          format: decimal
          description: >-
            Monetary obligations owed by the fund directly to other individuals
            or entities.
        SundryCreditors:
          type: number
          format: decimal
          description: The aggregate amount payable to general miscellaneous creditors.
        FundExpensesPayable:
          type: number
          format: decimal
          description: >-
            The opening balance of operational expenses incurred but not yet
            paid.
        InvestmentExpensePayable:
          type: number
          format: decimal
          description: >-
            The opening balance of accrued expenses linked directly to
            investments.
        MemberExpensesPayable:
          type: number
          format: decimal
          description: Accrued liabilities specifically related to member administration.
        MemberRolloversOutPayable:
          type: number
          format: decimal
          description: Monies owed representing pending member benefits being rolled out.
        TotalLiabilites:
          type: number
          format: decimal
          description: The calculated aggregate sum of all opening liability balances.
    FundOpeningPositions_FundOpeningPositionOtherDetailsTaxLossesTaxLoss:
      type: object
      required:
        - LossGeneratedDate
        - LossAmount
      properties:
        LossGeneratedDate:
          type: string
          format: date
          description: >-
            The exact date or financial period marker when the tax loss was
            incurred.
        LossAmount:
          type: number
          format: decimal
          description: The monetary size of the carried forward tax loss.
    FundOpeningPositions_FundOpeningPositionOtherDetailsTaxPosition:
      type: object
      required:
        - ProvisionForDeferredIncomeTax
        - TaxBenefitOfCarryForwardLoss
        - IncomeTaxPayable
        - GSTPayableOrRefundable
        - ImputationCredits
        - ForeignAndOtherTaxCredits
        - TFNCredits
        - ABNCredits
        - PAYGPayable
        - TotalTaxPosition
      properties:
        ProvisionForDeferredIncomeTax:
          type: number
          format: decimal
          description: >-
            The opening accounting provision reserved for deferred income tax
            obligations.
        TaxBenefitOfCarryForwardLoss:
          type: number
          format: decimal
          description: >-
            The recognized future tax benefit stemming from carried forward
            losses.
        IncomeTaxPayable:
          type: number
          format: decimal
          description: The current standing balance of income tax owed to the authorities.
        GSTPayableOrRefundable:
          type: number
          format: decimal
          description: The net balance indicating either GST owed or GST to be refunded.
        ImputationCredits:
          type: number
          format: decimal
          description: Accumulated franking or imputation credits available to offset tax.
        ForeignAndOtherTaxCredits:
          type: number
          format: decimal
          description: >-
            Accumulated tax credits derived from foreign sources or other offset
            provisions.
        TFNCredits:
          type: number
          format: decimal
          description: Tax withheld credits resulting from an undeclared Tax File Number.
        ABNCredits:
          type: number
          format: decimal
          description: >-
            Tax withheld credits resulting from business transactions involving
            ABN issues.
        PAYGPayable:
          type: number
          format: decimal
          description: The outstanding balance for Pay As You Go installment obligations.
        TotalTaxPosition:
          type: number
          format: decimal
          description: >-
            The calculated net total representing the fund's comprehensive tax
            position.
    FundOpeningPositions_FundOpeningPositionPortfolioLevelEquityPosition:
      type: object
      required:
        - EquityAccountName
        - EquityAccountCode
        - Balance
      properties:
        EquityAccountName:
          type: string
          description: The display name referencing the broad portfolio equity account.
        EquityAccountCode:
          type: string
          description: The internal system code mapped to the portfolio equity account.
        Balance:
          type: number
          format: decimal
          description: >-
            The total monetary value backing the portfolio-level equity
            position.
    FundOpeningPositions_FundOpeningPositionReservePosition:
      type: object
      required:
        - ReserveAccountName
        - ETPBalances
        - PreservationBalances
      properties:
        ReserveAccountName:
          type: string
          description: >-
            The designated internal name referencing the specific reserve
            account.
        ETPBalances:
          description: >-
            The detailed unclassified tax breakdown tied directly to the
            reserve.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionReservePositionETPBalances
        PreservationBalances:
          description: >-
            The breakdown detailing the preservation nature of funds held within
            the reserve.
          $ref: >-
            #/components/schemas/FundOpeningPositions_FundOpeningPositionReservePositionPreservationBalances
    FundOpeningPositions_FundOpeningPositionReservePositionETPBalances:
      type: object
      required:
        - Unclassified
      properties:
        Unclassified:
          type: number
          format: decimal
          description: >-
            The generalized, unclassified tax balance segment belonging to the
            reserve.
    FundOpeningPositions_FundOpeningPositionReservePositionPreservationBalances:
      type: object
      required:
        - Unclassified
      properties:
        Unclassified:
          type: number
          format: decimal
          description: >-
            The generalized, unclassified preservation balance belonging to the
            reserve.
    FundOpeningPositions_MemberPreviousConcessional:
      type: object
      required:
        - MemberCode
        - ConcessionalDetailFields
      properties:
        MemberCode:
          type: string
          description: >-
            The system code identifying the member claiming the historical
            concessionals.
        ConcessionalDetailFields:
          type: array
          description: >-
            A structured breakdown of the member's concessional amounts year by
            year.
          items:
            $ref: '#/components/schemas/FundOpeningPositions_ConcessionalDetailField'
    FundOpeningPositions_MemberPreviousNonConcessional:
      type: object
      required:
        - MemberCode
        - TotalPreviousNonConcessional
        - BFRRule
      properties:
        MemberCode:
          type: string
          description: >-
            The system code identifying the member mapping to the
            non-concessional history.
        TotalPreviousNonConcessional:
          type: number
          format: decimal
          description: >-
            The aggregate total of non-concessional contributions made
            historically.
        BFRRule:
          type: string
          description: >-
            The bring-forward rule configuration applying to the
            non-concessional limits.
    FundOpeningPositions_TrustPriorYearOperatingStatementComparativeModel:
      type: object
      required:
        - BeneficiaryDistributions
      properties:
        PriorYearRetainedEarningsAmount:
          type: number
          format: decimal
          description: Retained earnings carried forward from the preceding operating year.
        TrustIncomeDefinitionAdjustmentToProfitAmount:
          type: number
          format: decimal
          description: >-
            Trust profit adjustments driven by specific trust income
            definitions.
        CapitalLossTransferAmount:
          type: number
          format: decimal
          description: >-
            Capital losses transferred into the trust from previous operational
            periods.
        AssetRevaluationAmount:
          type: number
          format: decimal
          description: Changes to profit resulting from historical asset revaluations.
        BeneficiaryDistributions:
          type: array
          description: >-
            A historical list showing prior year distributions allocated to
            beneficiaries.
          items:
            $ref: '#/components/schemas/FundOpeningPositions_BeneficiaryDistribution'
    FundPolicyGSTStatusCode:
      type: string
      description: Classifies the regulatory GST registration status for the fund.
      enum:
        - Registered
        - NonRegistered
        - Cancelled
    FundPolicyGSTTaxPeriodCode:
      type: string
      description: The configured frequency indicating how often GST lodgments are made.
      enum:
        - Item
        - Annually
        - Monthly
        - Quarterly
    FundTbarHistory_FundTbarHistory:
      type: object
      required:
        - FundDetails
        - FundTbarDetails
      properties:
        FundDetails:
          description: The core entity identifier details for the TBAR history upload.
          $ref: '#/components/schemas/FundTbarHistory_FundTbarHistoryFundDetails'
        FundTbarDetails:
          type: array
          description: A collection of distinct Transfer Balance Account Report events.
          items:
            $ref: '#/components/schemas/FundTbarHistory_FundTbarHistoryFundTbarDetail'
    FundTbarHistory_FundTbarHistoryFundDetails:
      type: object
      required:
        - Code
      properties:
        Code:
          type: string
          description: The unique identifier code pointing to the specific fund.
    FundTbarHistory_FundTbarHistoryFundTbarDetail:
      type: object
      required:
        - MemberCode
        - PensionAccountName
        - EventDate
        - EventType
        - Description
        - Amount
        - LodgmentStatus
      properties:
        MemberCode:
          type: string
          description: >-
            The system code representing the member associated with the TBAR
            event.
        PensionAccountName:
          type: string
          description: >-
            The designated internal name representing the affected pension
            account.
        EventDate:
          type: string
          format: date
          description: The date when the specific transfer balance event occurred.
        EventType:
          type: string
          minLength: 3
          maxLength: 3
          enum:
            - SIS
            - LRB
            - IRS
            - ICR
            - MCO
            - CC1
            - CC2
            - CC3
            - CC4
            - SSP
            - STO
            - APV
            - RPV
            - NTC
          description: >
            SIS = Superannuation Income Stream, LRB = Limited Resource Borrowing
            Arrangement, IRS = Reversionary Income Stream, ICR = Reversionary
            Child Death Benefit Income Stream, MCO = Member Commutation, CC1 =
            Commutation Authority - Commuted in full, CC2 = Commutation
            Authority - Commuted in part, CC3 = Commutation Authority -
            Deceased, CC4 = Commutation Authority - Defined benefit, SSP =
            Personal Injury structured settlement, STO = Income stream stops
            being retirement phase, APV = Accumulation phase value, RPV =
            Retirement phase value, NTC = Notational taxed contributions
        Description:
          type: string
          description: >-
            A human-readable description describing the exact nature of the TBAR
            event.
        Amount:
          type: number
          format: decimal
          description: >-
            The financial value that credits or debits the transfer balance
            account.
        LodgmentStatus:
          type: string
          description: >-
            The current status indicating if the event has been lodged with the
            ATO.
    Gender:
      type: string
      description: Biological or identified gender categories recognized by the system.
      enum:
        - Male
        - Female
        - Other
        - NotStated
    HoldingAccountExternalIdentifierType:
      type: string
      description: >-
        Classifies the nature of the external reference tied to an investment
        holding.
      enum:
        - Item
        - Hin
        - Srn
        - WrapAccount
        - ExternalId
        - AccountNumber
    HoldingTypeForGst:
      type: string
      description: >-
        Indicates whether a specific holding account type is subject to GST
        calculations.
      enum:
        - DoesNotAttractGst
        - AttractsGst
    InvestmentData_Link:
      type: object
      required:
        - Url
        - Relation
      properties:
        Url:
          type: string
          description: The target uniform resource locator representing the link.
        Relation:
          type: string
          description: Describes how the linked resource relates to the current entity.
    MarketTypeCode:
      type: string
      description: Defines the financial market classification where a security operates.
      enum:
        - BK
        - CM
        - LD
        - LM
        - MF
        - MM
        - PD
        - SP
        - UN
        - Platform
        - FOR
        - TD
    PartyRelationship:
      type: object
      properties:
        roleType:
          type: string
          description: The role type assigned to the contact.
        scope:
          type: string
          description: The specific scope identifier for the role.
        scopeType:
          type: string
          description: The level or type of scope (e.g., Fund, Business).
        invitationStatus:
          type: string
          description: The current status of the invitation for this role.
    PensionProductType:
      type: string
      description: >-
        Regulatory classification defining the structure of an active pension
        product.
      enum:
        - AccountBased
        - AllocatedPension
        - Complying
        - Flexi
        - NonCommutableAllocatedPension
        - TAPS
    PortfolioScope:
      type: object
      required:
        - Id
        - Name
        - Code
        - link
      properties:
        Id:
          type: string
          description: The primary internal system identifier defining the portfolio scope.
        Name:
          type: string
          description: The standard display name associated with the portfolio.
        Code:
          type: string
          description: A unique shorthand reference code for the portfolio scope.
        link:
          description: HATEOAS link data facilitating navigation to the portfolio resource.
          $ref: '#/components/schemas/InvestmentData_Link'
    QuickAddLinkType:
      type: string
      description: >-
        Categorizes the nature of a quick-add navigation link within the user
        interface.
      enum:
        - General
        - InvestmentAccount
    QuickAddLinks:
      type: object
      required:
        - LinkType
        - Editor
        - Refresh
        - Validate
        - EditorRouteName
        - RefreshRouteName
        - ValidateRouteName
        - EditorRouteValues
        - RefreshRouteValues
        - ValidateRouteValues
        - HasWriteAccess
        - EnableRemoteValidation
        - SecurityIssueCodes
      properties:
        LinkType:
          description: The behavioral classification type of the quick-add link.
          $ref: '#/components/schemas/QuickAddLinkType'
        Editor:
          description: Navigation routing data pointing to the entity editor.
          $ref: '#/components/schemas/RestLink'
        Refresh:
          description: Navigation routing data pointing to the entity refresh action.
          $ref: '#/components/schemas/RestLink'
        Validate:
          description: Navigation routing data pointing to the entity validation action.
          $ref: '#/components/schemas/RestLink'
        EditorRouteName:
          type: string
          description: The specific framework route name invoking the editor.
        RefreshRouteName:
          type: string
          description: The specific framework route name invoking the refresh handler.
        ValidateRouteName:
          type: string
          description: The specific framework route name invoking the validation handler.
        EditorRouteValues:
          description: A mapping of parameters specifically required by the editor route.
          $ref: '#/components/schemas/RouteValues'
        RefreshRouteValues:
          description: A mapping of parameters specifically required by the refresh route.
          $ref: '#/components/schemas/RouteValues'
        ValidateRouteValues:
          description: A mapping of parameters specifically required by the validate route.
          $ref: '#/components/schemas/RouteValues'
        HasWriteAccess:
          type: boolean
          description: >-
            Flag detailing whether the user interacting with the link has write
            capability.
        EnableRemoteValidation:
          type: boolean
          description: Dictates whether the entity utilizes server-side validation rules.
        SecurityIssueCodes:
          type: array
          description: A collection of related security issue codes for fast mapping.
          items:
            type: string
    RenderMode:
      type: string
      description: >-
        Controls how the system renders dropdowns and selectable lists in the
        user interface.
      enum:
        - DropDownList
        - AutoComplete
        - MultiSelect
        - DropDownGrid
        - AutoCompleteWithGrid
    RestLink:
      type: object
      required:
        - Id
        - Code
        - ScopeCode
        - Uid
        - Description
      properties:
        Id:
          type: string
          description: The underlying internal system identifier for the routing target.
        Code:
          type: string
          description: The reference code distinguishing the specific target resource.
        ScopeCode:
          type: string
          description: >-
            The authorization scope level required to access the destination
            link.
        Uid:
          type: string
          description: A globally unique identifier assigned to the REST link.
        Description:
          type: string
          description: >-
            A short narrative description outlining the destination or purpose
            of the link.
    RestSelectableItem:
      type: object
      required:
        - SelectedValue
        - SelectedValues
        - DefaultValue
        - EmptySelectionText
        - AllowedValues
        - NoEmptySelection
        - NoDefaultSelection
        - SortByText
        - UseKendoWidgets
        - UseDescriptionAsValueInKendoWidgets
        - EnableAddingNewOptions
        - RenderMode
        - DropDownGridColumnConfigs
        - RenderDeferred
        - QuickAdd
        - SelectedDescription
        - SelectedDescriptions
        - Required
        - DEFAULT_OPTION_TEXT
      properties:
        SelectedValue:
          type: string
          description: >-
            The single value currently designated as selected within the
            control.
        SelectedValues:
          type: array
          description: >-
            A list of values marked as actively selected in a multi-select
            control.
          items:
            type: string
        DefaultValue:
          type: string
          description: >-
            The preconfigured base value applied automatically when no selection
            is made.
        EmptySelectionText:
          type: string
          description: >-
            The specific placeholder text displayed when no valid selection
            exists.
        AllowedValues:
          type: array
          description: >-
            The complete set of valid options users are permitted to choose
            from.
          items:
            $ref: '#/components/schemas/RestSelectableItem_AllowedValue'
        NoEmptySelection:
          type: boolean
          description: >-
            Forces the control to always mandate a valid selection, disabling
            empty states.
        NoDefaultSelection:
          type: boolean
          description: Suppresses the automatic population of the predefined default value.
        SortByText:
          type: boolean
          description: >-
            Indicates if the selectable options should be automatically ordered
            alphabetically.
        UseKendoWidgets:
          type: boolean
          description: >-
            Internal instruction dictating whether rich UI components are
            utilized for rendering.
        UseDescriptionAsValueInKendoWidgets:
          type: boolean
          description: >-
            Replaces the underlying strict value with the human-readable
            description during specific UI events.
        EnableAddingNewOptions:
          type: boolean
          description: >-
            Permits users to bypass predefined values and dynamically append
            custom options.
        RenderMode:
          description: >-
            The specific visual mode the UI dictates for rendering the options
            list.
          $ref: '#/components/schemas/RenderMode'
        DropdownHeightInPixels:
          type: integer
          format: int32
          description: >-
            Specifies the exact maximum visual height for a dropdown interface
            before scrolling occurs.
        DropDownGridColumnConfigs:
          type: array
          description: >-
            A complex configuration defining how columns populate when rendered
            as a data grid.
          items:
            $ref: '#/components/schemas/RestSelectableItem_DropDownGridColumnConfig'
        RenderDeferred:
          type: boolean
          description: >-
            Defers rendering of the control component to improve initial page
            load performance.
        QuickAdd:
          description: >-
            Embedded configuration for dynamically creating new linked
            resources.
          $ref: '#/components/schemas/QuickAddLinks'
        SelectedDescription:
          type: string
          description: >-
            The matching human-readable description mapped to the single
            SelectedValue.
        SelectedDescriptions:
          type: array
          description: >-
            A list of human-readable descriptions directly mapping to
            SelectedValues.
          items:
            type: string
        Required:
          type: boolean
          description: >-
            Signifies whether the system mandates a value selection to pass
            validation.
        DEFAULT_OPTION_TEXT:
          type: string
          description: >-
            The foundational text constantly displayed when a default baseline
            option exists.
    RestSelectableItem_AllowedValue:
      type: object
      required:
        - Value
        - Description
        - Url
        - Grouping
        - GridColumnData
      properties:
        Value:
          type: string
          description: >-
            The technical underlying string value submitted to the system upon
            selection.
        Description:
          type: string
          description: The human-readable label presented to the user during selection.
        Url:
          type: string
          description: >-
            An optional external link bridging the choice to additional
            reference information.
        Grouping:
          type: string
          description: >-
            A categorical identifier allowing the interface to cluster related
            options together.
        GridColumnData:
          type: array
          description: >-
            Supplemental mapped data injected when rendering the option within a
            grid layout.
          items:
            $ref: '#/components/schemas/stringCustomModel'
    RestSelectableItem_DropDownGridColumnConfig:
      type: object
      required:
        - DataField
        - IsBasicData
        - HeaderName
        - Searchable
      properties:
        DataField:
          type: string
          description: >-
            The raw property mapping the column directly back to the data
            source.
        IsBasicData:
          type: boolean
          description: >-
            Determines if the bound column requires complex rendering or handles
            purely basic text.
        HeaderName:
          type: string
          description: The visual title applied directly to the top of the grid column.
        WidthInEms:
          type: number
          format: decimal
          description: >-
            The explicit proportional width of the column dictated in CSS em
            units.
        Searchable:
          type: boolean
          description: >-
            Enables or disables the ability to filter the grid rows via this
            column.
    RouteValues:
      type: object
      required:
        - reference
        - filterString
        - effectiveStatuses
      properties:
        reference:
          type: integer
          format: int32
          description: An integer indicating an internal system node reference for routing.
        filterString:
          type: string
          description: >-
            A raw string containing active search constraints injected into the
            route URL.
        effectiveStatuses:
          description: >-
            Filters ensuring routing respects current visibility status
            settings.
          $ref: '#/components/schemas/EffectiveStatuses'
    StandardApiResponse:
      type: object
      description: >-
        The universally structured base response envelope used for standard API
        returns.
      allOf:
        - $ref: '#/components/schemas/ApiResponseBase'
    TrustDeedJurisdiction:
      type: string
      description: >-
        Identifies the Australian state or territory providing the governing
        laws for the trust deed.
      enum:
        - Item
        - ACT
        - WA
        - VIC
        - SA
        - NSW
        - TAS
        - QLD
        - NT
    TrustDeedType:
      type: string
      description: Indicates the nature of the specific trust deed document executed.
      enum:
        - Establishment
        - Amendment
        - RetirementAndAppointment
        - Upgrade
    TrustRoles:
      type: string
      description: >-
        Specifies the functional legal capacity assumed by an individual over a
        trust.
      enum:
        - Beneficiary
        - Trustee
        - BeneficiaryAndTrustee
    TrustTypes:
      type: number
      description: >-
        Numeric categorization representing varying regulatory classifications
        of trust entities.
      enum:
        - 67
        - 68
        - 70
        - 72
        - 73
        - 77
        - 80
        - 81
        - 83
        - 84
        - 85
    VoiceContactType:
      type: string
      description: Classifies the operational nature of a telephone contact number.
      enum:
        - Home
        - Mobile
        - Work
        - Business
        - Direct
    WrittenContactType:
      type: string
      description: >-
        Classifies the designated medium for distributing written
        correspondence.
      enum:
        - Email
        - MailingAddress
        - Fax
        - PhysicalAddress
    bool:
      type: object
      required:
        - TrueString
        - FalseString
      properties:
        TrueString:
          type: string
          description: The string interpretation mapped to a Boolean true value.
        FalseString:
          type: string
          description: The string interpretation mapped to a Boolean false value.
    stringCustomModel:
      type: object
      required:
        - key
        - value
      properties:
        key:
          type: string
          description: The dictionary string key serving as the unique lookup parameter.
        value:
          type: string
          description: The concrete string data assigned to the dictionary key.
    InternalErrorCommon:
      type: object
      properties:
        Code:
          type: string
          description: The internal system error code signaling an unexpected failure.
          example: API_INTERNAL_ERROR
        Message:
          type: string
          description: >-
            The generic public message advising of an unanticipated backend
            error.
          example: An unexpected error occurred on the server. Please try again later.
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: A specific alphanumeric code mapped to the validation failure.
          nullable: true
        message:
          type: string
          description: >-
            A detailed explanation isolating the root cause of the validation
            failure.
          nullable: true
      additionalProperties: false
    ForbiddenErrorCommon:
      type: object
      properties:
        Code:
          type: string
          description: >-
            The standard error code emitted when a user lacks required system
            privileges.
          example: FORBIDDEN
        Message:
          type: string
          description: >-
            A clear message detailing the denial of access based on permission
            models.
          example: You do not have permission to access this resource.
    ResourceUnavailableErrorCommon:
      type: object
      properties:
        Code:
          type: string
          description: >-
            The standard error code mapped to missing resources or denied
            visibility rights.
          example: API_NOT_FOUND
        Message:
          type: string
          description: >-
            Information clarifying that the target resource cannot be found or
            viewed.
          example: Resource not available or user does not have access to the fund.
    UnauthorizedErrorCommon:
      type: object
      properties:
        Code:
          type: string
          description: The error code isolating authentication token absence or invalidity.
          example: API_NOT_AUTHORISED
        Message:
          type: string
          description: >-
            A prompt message stating the client session must successfully
            authenticate first.
          example: Not authorised
  securitySchemes:
    Class_oAuth:
      type: oauth2
      description: Class uses oAuth2 and OpenID for authentication and authorisation
      flows:
        authorizationCode:
          authorizationUrl: https://apigateway.class-pie.com.au/connect/authorize
          tokenUrl: https://apigateway.class-pie.com.au/connect/token
          scopes:
            business.details.read: View basic business details
            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
