openapi: 3.0.1
info:
  x-metadata:
    tags:
      - Class Partner
  title: Minutes Data
  version: '1.0'
  description: >-
    Provides secure access to a comprehensive repository of minutes and official
    records for managed funds. The endpoint enables retrieval of various types
    of trustee and transaction-related minutes, including:


    - **Trustee Minutes** – Official records of trustee meetings, decisions, and
    resolutions.

    - **Financial Statement Trustee Minutes** – Minutes documenting trustee
    approval and discussion of financial statements.

    - **Investment Transaction Confirmation Minutes** – Records confirming
    investment transactions, including approvals and execution
    details.              


    This ensures transparency, auditability, and compliance with governance
    requirements for all fund-related activities.



    <div class="env-panel" data-component-name="EnvPanel"><div
    class="env-panel__header">Servers</div><div class="env-panel__body"><div
    class="env-row"><div class="env-name">Partner Integration Environment
    (Sandbox)</div><div class="env-url-row"><span
    class="env-url">https://apigateway.class-pie.com.au/api/1.0</span><button
    type="button" class="copy-btn"
    data-copy="https://apigateway.class-pie.com.au/api/1.0"
    aria-label="Copy"><svg viewBox="0 0 16 16" fill="none"
    xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path
    fill-rule="evenodd" clip-rule="evenodd" d="M5.16667 2.66667C5.16667 2.57462
    5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667 2.57462 12.1667
    2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12 10.8333H10H5.33333C5.24129
    10.8333 5.16667 10.7587 5.16667 10.6667V4.66667V2.66667ZM4.16667
    4.16667V2.66667C4.16667 2.02233 4.689 1.5 5.33333 1.5H12C12.6443 1.5 13.1667
    2.02233 13.1667 2.66667V10.6667C13.1667 11.311 12.6443 11.8333 12
    11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395 10.1583 14.1583C9.9395
    14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725 14.5 2.0605 14.3771
    1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5 13.3333V5.33333C1.5 5.02391
    1.62292 4.72717 1.84171 4.50838C2.0605 4.28958 2.35725 4.16667 2.66667
    4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775 9.48244 13.4199 9.45118
    13.4512C9.41993 13.4824 9.37754 13.5 9.33333 13.5H2.66667C2.62246 13.5
    2.58007 13.4824 2.54882 13.4512C2.51756 13.4199 2.5 13.3775 2.5
    13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882 5.21548C2.58007 5.18423
    2.62246 5.16667 2.66667 5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333
    5.33333 11.8333H9.5Z" fill="currentColor"/></svg></button></div></div><div
    class="env-row"><div class="env-name">Production Environment</div><div
    class="env-url-row"><span
    class="env-url">https://apigateway.class.com.au/api/1.0</span><button
    type="button" class="copy-btn"
    data-copy="https://apigateway.class.com.au/api/1.0" aria-label="Copy"><svg
    viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"
    aria-hidden="true"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.16667
    2.66667C5.16667 2.57462 5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667
    2.57462 12.1667 2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12
    10.8333H10H5.33333C5.24129 10.8333 5.16667 10.7587 5.16667
    10.6667V4.66667V2.66667ZM4.16667 4.16667V2.66667C4.16667 2.02233 4.689 1.5
    5.33333 1.5H12C12.6443 1.5 13.1667 2.02233 13.1667 2.66667V10.6667C13.1667
    11.311 12.6443 11.8333 12 11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395
    10.1583 14.1583C9.9395 14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725
    14.5 2.0605 14.3771 1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5
    13.3333V5.33333C1.5 5.02391 1.62292 4.72717 1.84171 4.50838C2.0605 4.28958
    2.35725 4.16667 2.66667 4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775
    9.48244 13.4199 9.45118 13.4512C9.41993 13.4824 9.37754 13.5 9.33333
    13.5H2.66667C2.62246 13.5 2.58007 13.4824 2.54882 13.4512C2.51756 13.4199
    2.5 13.3775 2.5 13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882
    5.21548C2.58007 5.18423 2.62246 5.16667 2.66667
    5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333 5.33333 11.8333H9.5Z"
    fill="currentColor"/></svg></button></div></div></div></div>
servers:
  - url: https://apigateway.class-pie.com.au/api/1.0
    description: Partner Integration Environment (Sandbox)
  - url: https://apigateway.class.com.au/api/1.0
    description: Production Environment
paths:
  /f/{businessCode}/{fundCode}/minutes-data/annual-trustee-minutes:
    get:
      operationId: annualTrusteeMinutes
      summary: Annual trustee minutes
      description: The minutes for the Annual Meeting of the trustees of the fund.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: year
          in: query
          required: true
          description: The year of the annual trustee minutes.
          schema:
            type: integer
            format: int32
            example: 2025
        - name: meetingDate
          in: query
          required: true
          description: The date of the meeting.
          schema:
            type: string
            format: date
            example: '2025-07-01'
        - name: meetingAddress
          in: query
          description: >-
            The address where the Annual Trustee meeting is held. Defaults to
            the fund's registered physical address if not provided.
          schema:
            type: string
            example: 123 Smith Street, Sydney NSW 2000
        - name: minuteResolutionType
          in: query
          description: >-
            Specifies whether the document is formatted as a Minute (meeting
            record) or a Resolution (written resolution without a meeting).
          schema:
            $ref: '#/components/schemas/ReportData_MinuteResolutionType'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/MinutesData_AnnualTrusteeMinutes'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/minutes-data/financial-statement-trustee-minute:
    get:
      operationId: financialStatementTrusteeMinute
      summary: Financial statement trustee minute
      description: >-
        The minutes of the meeting of the trustees of the fund regarding the
        financial statement.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: year
          in: query
          required: true
          description: The year of the financial statement, format YYYY.
          schema:
            type: integer
            format: int32
            example: 2023
        - name: meetingAddress
          in: query
          description: >-
            The address where the trustee meeting regarding the financial
            statement is held. Defaults to the fund's registered physical
            address if not provided.
          schema:
            type: string
            example: 123 Smith Street, Sydney NSW 2000
        - name: minuteResolutionType
          in: query
          description: >-
            Specifies whether the document is formatted as a Minute (meeting
            record) or a Resolution (written resolution without a meeting).
          schema:
            $ref: '#/components/schemas/ReportData_MinuteResolutionType'
        - name: meetingDate
          in: query
          description: The date of the meeting, format YYYY-MM-DD
          schema:
            type: string
            format: date
            example: '2023-10-31'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: >-
                      #/components/schemas/MinutesData_FinancialStatementTrusteeMinute
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/minutes-data/investment-transaction-confirmation-minute:
    get:
      operationId: investmentTransactionConfirmationMinute
      summary: Investment transaction confirmation minute
      description: The minutes of the trustees regarding the confirmation of transactions.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          description: >-
            The start date of the investment transaction period to include in
            the minutes (inclusive). Format YYYY-MM-DD.
          schema:
            type: string
            format: date
            example: '2023-10-01'
        - name: endDate
          in: query
          required: true
          description: >-
            The end date of the investment transaction period to include in the
            minutes (inclusive). Format YYYY-MM-DD.
          schema:
            type: string
            format: date
            example: '2024-10-31'
        - name: minuteResolutionType
          in: query
          description: >-
            Specifies whether the document is formatted as a Minute (meeting
            record) or a Resolution (written resolution without a meeting).
          schema:
            $ref: '#/components/schemas/ReportData_MinuteResolutionType'
        - name: meetingDate
          in: query
          description: >-
            The date of the trustee meeting at which the investment transactions
            are confirmed. Format YYYY-MM-DD.
          schema:
            type: string
            format: date
            example: '2023-10-31'
        - name: meetingAddress
          in: query
          description: >-
            The address where the investment confirmation meeting is held.
            Defaults to the fund's registered physical address if not provided.
          schema:
            type: string
            example: 123 Smith Street, Sydney NSW 2000
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: >-
                      #/components/schemas/MinutesData_InvestmentTransactionConfirmationMinute
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/minutes-data/trustee-declaration-report:
    get:
      operationId: trusteeDeclarationReport
      summary: Trustee declaration report
      description: The list of trustees of the fund specified.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: year
          in: query
          required: true
          description: The year of the trustee declaration report, format YYYY.
          schema:
            type: integer
            format: int32
            example: 2023
        - name: includeEmails
          in: query
          description: >-
            Optionally includes chairperson and trustee email addresses in the
            response.
          schema:
            type: boolean
            example: false
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/MinutesData_TrusteeDeclarationReport'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
components:
  schemas:
    AddressSummary:
      type: object
      description: Standard address structure used for physical and postal addresses.
      properties:
        AddressLine1:
          type: string
          description: Primary address line, typically the street address.
          example: 123 George Street
        AddressLine2:
          type: string
          example: Level 5
          description: Secondary address line, such as building or unit number.
        AddressLine3:
          type: string
          example: Suite 501
          description: Additional address line, if applicable.
        PostCode:
          type: string
          example: '2000'
          description: Postal code (Australian postcodes are 4 digits).
        Locality:
          type: string
          example: Sydney
          description: Suburb or locality name.
        State:
          type: string
          example: NSW
          description: State or territory.
        Country:
          type: string
          example: Australia
          description: Country name.
    AnnualTrusteeMinutes_MarketType:
      type: object
      description: Market type grouping for asset transactions.
      properties:
        MarketTypeName:
          type: string
          example: Listed Securities
          description: Name of the market type.
        Holdings:
          type: array
          description: List of holding account groups.
          items:
            $ref: '#/components/schemas/Enclosed_HoldingAccountGroup'
    ApiError:
      type: object
      required:
        - Code
        - Message
      properties:
        Code:
          type: string
        Message:
          type: string
    ApiResponseBase:
      type: object
      required:
        - Errors
      properties:
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
    Enclosed_AllocationDetail:
      type: object
      description: Individual allocation detail entry.
      properties:
        MemberAccountId:
          type: string
          example: abc123-account-id
          description: Unique identifier for the member account.
        MemberAccountName:
          type: string
          example: Accumulation
          description: Name of the member account.
        IncomeAllocation:
          type: number
          format: decimal
          example: 0
          description: Income allocation amount.
        FundTaxAllocation:
          type: number
          format: decimal
          example: 0
          description: Fund tax allocation amount.
        ContributionTaxAllocation:
          type: number
          format: decimal
          example: 0
          description: Contribution tax allocation amount.
        DirectTaxAllocation:
          type: number
          format: decimal
          example: 0
          description: Direct tax allocation amount.
    Enclosed_AllocationGroup:
      type: object
      description: Group of allocation details for a member.
      properties:
        MemberId:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
          description: Unique identifier for the member.
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
        MemberName:
          type: string
          example: Mr Oliver Brown
          description: Full name of the member.
        Details:
          type: array
          description: List of allocation details.
          items:
            $ref: '#/components/schemas/Enclosed_AllocationDetail'
    Enclosed_FundTaxAgent:
      type: object
      description: >-
        Details of the fund's tax agent including contact and registration
        information.
      properties:
        Title:
          type: string
          example: Mr
          description: Title of the tax agent.
        FamilyName:
          type: string
          example: Brown
          description: Family name of the tax agent.
        GivenName:
          type: string
          example: Oliver
          description: Given name of the tax agent.
        MiddleNames:
          type: string
          example: James
          description: Middle names of the tax agent.
        DefaultDisplayName:
          type: string
          example: Oliver Brown
          description: Default display name of the tax agent.
        Gender:
          $ref: '#/components/schemas/Gender'
        EmailAddress:
          type: string
          example: oliver.brown@example.com
          description: Email address of the tax agent.
        PhoneNumber:
          type: string
          example: '0412345678'
          description: Phone number of the tax agent.
        ContactName:
          type: string
          example: Oliver Brown
          description: Name of the contact person for the tax agent.
        TaxAgentPractice:
          type: string
          example: Brown Tax Services
          description: Name of the tax agent's practice.
        TaxAgentNumber:
          type: string
          example: TAX123456
          description: Tax agent registration number.
        ReferenceNumber:
          type: string
          example: REF987654
          description: Reference number for the tax agent.
        PostalAddress:
          $ref: '#/components/schemas/AddressSummary'
        StreetAddress:
          $ref: '#/components/schemas/AddressSummary'
        DefaultAddress:
          $ref: '#/components/schemas/AddressSummary'
    Enclosed_HoldingAccountGroup:
      type: object
      description: Group of transactions for a holding account.
      properties:
        Description:
          type: string
          example: CBA Shares
          description: Description of the holding account.
        Transactions:
          type: array
          description: List of transactions for the holding account.
          items:
            $ref: '#/components/schemas/Enclosed_HoldingAccountTransaction'
    Enclosed_HoldingAccountTransaction:
      type: object
      description: Individual transaction for a holding account.
      properties:
        HoldingAccountDescription:
          type: string
          example: CBA Shares
          description: Description of the holding account.
        EventDescription:
          type: string
          example: Purchase
          description: Description of the transaction event.
        EffectiveDate:
          type: string
          format: date
          example: '2023-06-30'
          description: Date the transaction took effect.
        Units:
          type: number
          format: decimal
          example: 100
          description: Number of units transacted.
        Price:
          type: number
          format: decimal
          example: 100
          description: Price per unit.
        Consideration:
          type: number
          format: decimal
          example: 10000
          description: Total consideration amount.
    Enclosed_PaymentDetail:
      type: object
      description: Individual payment detail entry.
      properties:
        Type:
          type: string
          example: Employer
          description: Type of payment.
        Amount:
          type: number
          format: decimal
          example: 0
          description: Amount of the payment.
    Enclosed_PaymentGroup:
      type: object
      description: Group of payment details for a member.
      properties:
        MemberId:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
          description: Unique identifier for the member.
        MemberName:
          type: string
          example: Mr Oliver Brown
          description: Full name of the member.
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
        AllDetailsAreZero:
          type: boolean
          example: true
          description: Indicates whether all payment amounts are zero.
        Details:
          type: array
          description: List of payment details.
          items:
            $ref: '#/components/schemas/Enclosed_PaymentDetail'
    Enclosed_PropertyValuationDetail:
      type: object
      description: Individual property valuation detail.
      properties:
        Valuation:
          type: number
          format: decimal
          example: 1000000
          description: Valuation amount.
        EffectiveDate:
          type: string
          format: date
          example: '2023-06-30'
          description: Date the valuation took effect.
        ValuationDate:
          type: string
          format: date
          example: '2023-06-30'
          description: Date the valuation was performed.
        Type:
          type: string
          example: Market
          description: Type of valuation.
        Source:
          type: string
          example: External Valuer
          description: Source of the valuation.
    Enclosed_PropertyValuationGroup:
      type: object
      description: Group of property valuation details.
      properties:
        PropertyId:
          type: string
          example: prop123
          description: Unique identifier for the property.
        Address:
          type: string
          example: 456 George Street, Sydney NSW
          description: Address of the property.
        Details:
          type: array
          description: List of property valuation details.
          items:
            $ref: '#/components/schemas/Enclosed_PropertyValuationDetail'
    Enclosed_RolloverDetail:
      type: object
      description: Individual rollover detail entry.
      properties:
        PayeeName:
          type: string
          example: ABC Super Fund
          description: Name of the rollover payee.
        PaymentDate:
          type: string
          format: date
          example: '2023-06-30'
          description: Date of the rollover payment.
        Amount:
          type: number
          format: decimal
          example: 10000
          description: Amount of the rollover payment.
    Enclosed_RolloverGroup:
      type: object
      description: Group of rollover details for a member.
      properties:
        MemberId:
          type: string
          example: 123e4567-e89b-12d3-a456-426614174000
          description: Unique identifier for the member.
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
        MemberName:
          type: string
          example: Mr Oliver Brown
          description: Full name of the member.
        Details:
          type: array
          description: List of rollover details.
          items:
            $ref: '#/components/schemas/Enclosed_RolloverDetail'
    FundAuditorDetails_AuditorDetails:
      type: object
      description: >-
        Details of the fund auditor including contact information and
        professional registration.
      properties:
        AuditorName:
          type: string
          example: Jane Smith
          description: Name of the auditor.
        AuditorAddress:
          $ref: '#/components/schemas/AddressSummary'
        BusinessName:
          type: string
        BusinessAddress:
          $ref: '#/components/schemas/AddressSummary'
        Telephone:
          type: string
          example: '0412345678'
          description: Telephone number of the auditor.
        Fax:
          type: string
          example: '0298765432'
          description: Fax number of the auditor, 10 characters long.
        ProfessionalOrganisation:
          type: string
          example: CPA Australia
          description: Professional organisation the auditor is affiliated with.
        ProfessionalRegistrationNumber:
          type: string
          example: A123456
          description: Professional registration number of the auditor.
        TFN:
          type: string
          example: '999999507'
          description: Tax File Number of the auditor, 9-digits.
    FundReportingDetails:
      type: object
      description: >-
        Reporting details for the fund including addresses, trustee summary and
        contact information.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        PhysicalAddress:
          $ref: '#/components/schemas/AddressSummary'
        PostalAddress:
          $ref: '#/components/schemas/AddressSummary'
        ABN:
          type: string
          example: '81948421769'
          description: Australian Business Number (ABN) of the fund (11 digits).
        HasTFN:
          type: boolean
          example: true
          description: Indicates whether the fund has a Tax File Number.
        FundTrusteeSummary:
          $ref: '#/components/schemas/FundTrusteeSummary'
        AuditorDetails:
          $ref: '#/components/schemas/FundAuditorDetails_AuditorDetails'
        Administrator:
          $ref: '#/components/schemas/FundReportingDetails_AdministratorDetails'
        FundPhone:
          type: string
          example: '0412345678'
          description: Telephone number of the fund.
        FundEmail:
          type: string
          example: fund@example.com
          description: Email address of the fund.
        AccountSequenceNumber:
          type: string
          example: SEQ12345
          description: Sequence number used for fund account tracking.
    FundReportingDetails_AdministratorDetails:
      type: object
      description: Details of the fund administrator including name and postal address.
      properties:
        Name:
          type: string
          example: Super Admin Pty Ltd
          description: Name of the administrator.
        PostalAddress:
          $ref: '#/components/schemas/AddressSummary'
    FundTrusteeSummary:
      type: object
      description: >-
        Summary information about the fund's trustee structure including legal
        type, chairperson and trustee names.
      properties:
        FundLegalType:
          type: string
          example: SMSF
          description: Legal classification of the fund.
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        TrusteeNames:
          type: array
          items:
            $ref: '#/components/schemas/FundTrusteeSummary_TrusteeName'
        TrusteeNamesString:
          type: string
          example: John Doe Pty Limited
          description: String of trustee names.
        ChairpersonName:
          type: string
          example: John Doe
          description: Full name of the chairperson.
        ChairpersonGivenName:
          type: string
          example: John
          description: Given name of the chairperson.
        ChairpersonLastName:
          type: string
          example: Doe
          description: Last name of the chairperson.
        ChairpersonPreferredName:
          type: string
          example: Johnny
          description: Preferred name of the chairperson.
        ChairpersonPartyId:
          type: string
          example: bc6e82b3-1d04-477c-bd08-aa5235a36ac5
          description: >-
            Unique identifier for the entity, in the format of 8-4-4-4-12
            hexadecimal characters.
        IsCorporateTrustee:
          type: boolean
          example: true
          description: Indicates if the fund has a corporate trustee.
        ChairpersonTitle:
          type: string
          example: Mr
          description: Title of the chairperson.
        ChairPersonEmail:
          type: string
          example: john.doe@example.com
          description: Email address of the chairperson.
        CorporateTrusteeACN:
          type: string
          example: '009437852'
          description: Australian Company Number of the corporate trustee.
        CorporateTrusteeABN:
          type: string
          example: '53004085616'
          description: Australian Business Number of the corporate trustee.
    FundTrusteeSummary_TrusteeName:
      type: object
      description: >-
        Details of an individual trustee including name, contact and fund
        participation.
      properties:
        Id:
          type: string
          example: bc6e82b3-1d04-477c-bd08-aa5235a36ac5
          description: >-
            Unique identifier for the entity, in the format of 8-4-4-4-12
            hexadecimal characters
        Name:
          type: string
          example: John Doe
          description: Full name of the trustee.
        PartyType:
          type: string
          example: Individual
          description: Type of party (e.g., Individual or Corporate).
        Title:
          type: string
          example: Mr
          description: Title of the trustee.
        FirstName:
          type: string
          example: John
          description: First name of the trustee.
        MiddleNames:
          type: string
          example: James
          description: Middle names of the trustee.
        LastName:
          type: string
          example: Doe
          description: Last name of the trustee.
        PreferredName:
          type: string
          example: Johnny
          description: Preferred name of the trustee.
        Email:
          type: string
          example: john.doe@example.com
          description: Email address of the trustee.
        DefaultAddress:
          $ref: '#/components/schemas/AddressSummary'
        JoinFundDate:
          type: string
          format: date
          example: '2003-12-17'
          description: Date the trustee joined the fund.
        DisplayName:
          type: string
          example: John Doe
          description: Display name of the trustee.
        IsErrorMessage:
          type: boolean
          example: false
          description: Indicates if the trustee record contains an error message.
    Gender:
      type: string
      enum:
        - Male
        - Female
        - Other
        - NotStated
    InvestmentTransactionConfirmationMinute_MarketType:
      type: object
      description: >-
        Represents a group of investment transactions categorized by market
        type.
      properties:
        MarketTypeName:
          type: string
          example: Listed Securities
          description: Name of the market type for the investment transactions.
        Holdings:
          type: array
          items:
            $ref: '#/components/schemas/Enclosed_HoldingAccountGroup'
    MinutesData_AnnualTrusteeMinutes:
      type: object
      description: >-
        Annual trustee meeting minutes including fund details, contributions,
        payments and valuations.
      properties:
        FinancialYear:
          type: integer
          format: int32
          example: 2024
          description: Financial year of the trustee meeting.
        MeetingDate:
          type: string
          format: date
          example: '2023-10-31'
          description: Date of the trustee meeting.
        MeetingAddress:
          type: string
          example: 123 Smith Street, Sydney NSW
          description: Address where the trustee meeting was held.
        FundReportingDetails:
          $ref: '#/components/schemas/FundReportingDetails'
        FundTaxAgent:
          $ref: '#/components/schemas/Enclosed_FundTaxAgent'
        MemberContributions:
          type: array
          description: List of member contribution details.
          items:
            $ref: '#/components/schemas/Enclosed_PaymentGroup'
        BenefitPayments:
          type: array
          description: List of member benefit payment details.
          items:
            $ref: '#/components/schemas/Enclosed_PaymentGroup'
        RolloverDetails:
          type: array
          description: List of member rollover details.
          items:
            $ref: '#/components/schemas/Enclosed_RolloverGroup'
        IncomeAllocations:
          type: array
          description: List of member income allocation details.
          items:
            $ref: '#/components/schemas/Enclosed_AllocationGroup'
        FundAssetSales:
          type: array
          description: List of fund asset sales grouped by market type.
          items:
            $ref: '#/components/schemas/AnnualTrusteeMinutes_MarketType'
        FundAssetPurchases:
          type: array
          description: List of fund asset purchases grouped by market type.
          items:
            $ref: '#/components/schemas/AnnualTrusteeMinutes_MarketType'
        PropertyValuations:
          type: array
          description: List of property valuations.
          items:
            $ref: '#/components/schemas/Enclosed_PropertyValuationGroup'
        ReportHeader:
          $ref: '#/components/schemas/ReportSummaries_ReportHeader'
    MinutesData_FinancialStatementTrusteeMinute:
      type: object
      description: >-
        Details of the trustee meeting regarding the financial statement of the
        fund.
      properties:
        FundTrusteeSummary:
          $ref: '#/components/schemas/FundTrusteeSummary'
        Period:
          type: string
          format: date
          example: '2025-06-30'
          description: Reporting period end date for the financial statement.
        FundAddress:
          $ref: '#/components/schemas/AddressSummary'
        MeetingAddress:
          type: string
          example: 123 Smith Street, Sydney NSW
          description: Address where the trustee meeting was held.
        FundName:
          type: string
          example: Demo Superannuation Fund 2022
          description: Full name of the fund.
        FundCode:
          type: string
          example: DEMO_SMSF_2022
          description: Unique code identifier for the fund.
        FundAbn:
          type: string
          example: '46121158503'
          description: Australian Business Number (ABN) of the fund.
        TrusteeName:
          type: string
          example: Jennifer Brown
          description: Name of the trustee chairperson.
        ReportHeader:
          $ref: '#/components/schemas/ReportSummaries_ReportHeader'
    MinutesData_InvestmentTransactionConfirmationMinute:
      type: object
      description: >-
        Represents the trustee meeting minutes confirming investment
        transactions for a specific period.
      properties:
        DateAsAt:
          type: string
          format: date
          example: '2023-10-31'
          description: >-
            Date as at which the investment transaction confirmation is
            reported.
        Period:
          type: string
          format: date
          example: '2023-06-30'
          description: End date of the reporting period for investment transactions.
        FundAssetPurchases:
          type: array
          items:
            $ref: >-
              #/components/schemas/InvestmentTransactionConfirmationMinute_MarketType
        FundAssetSales:
          type: array
          items:
            $ref: >-
              #/components/schemas/InvestmentTransactionConfirmationMinute_MarketType
        ReportHeader:
          $ref: '#/components/schemas/ReportSummaries_ReportHeader'
        FundReportingDetails:
          $ref: '#/components/schemas/FundReportingDetails'
        MeetingAddress:
          type: string
          example: 123 Smith Street, Sydney NSW
          description: Address where the trustee meeting was held.
    MinutesData_TrusteeDeclarationReport:
      type: object
      description: Details of the trustee declaration report for a given fund and period.
      properties:
        FundTrusteeSummary:
          $ref: '#/components/schemas/FundTrusteeSummary'
        Period:
          type: string
          format: date
          example: '2025-06-30'
          description: Reporting period for the trustee declaration.
        FundName:
          type: string
          example: Demo Superannuation Fund 2022
          description: Full name of the fund.
        FundCode:
          type: string
          example: DEMO_SMSF_2022
          description: Unique code identifier for the fund.
        FundAbn:
          type: string
          example: '46121158503'
          description: Australian Business Number (ABN) of the fund.
        TrusteeName:
          type: string
          example: Jennifer Brown
          description: Name of the trustee responsible for the declaration.
    ReportData_MinuteResolutionType:
      type: string
      enum:
        - Minute
        - Resolution
    ReportSummaries_ReportHeader:
      type: object
      description: Header lines for the trustee minutes report.
      properties:
        Line1:
          type: string
          example: >-
            Minutes of the meeting of the director(s) of the corporate trustee
            Radley Pty Limited ATF
          description: First line of the report header.
        Line2:
          type: string
          example: Demo Superannuation Fund 2022
          description: Second line of the report header.
        Line3:
          type: string
          example: Held on 31 October 2023 at
          description: Third line of the report header.
        Line4:
          type: string
          example: 123 Smith Street, Sydney NSW
          description: Fourth line of the report header.
    StandardApiResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/ApiResponseBase'
    InternalErrorCommon:
      type: object
      properties:
        Code:
          type: string
          example: API_INTERNAL_ERROR
        Message:
          type: string
          example: An unexpected error occurred on the server. Please try again later.
      xml:
        name: Error
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
    ForbiddenErrorCommon:
      type: object
      properties:
        Code:
          type: string
          example: FORBIDDEN
        Message:
          type: string
          example: You do not have permission to access this resource.
      xml:
        name: Error
    ResourceUnavailableErrorCommon:
      type: object
      properties:
        Code:
          type: string
          example: API_NOT_FOUND
        Message:
          type: string
          example: Resource not available or user does not have access to the fund.
      xml:
        name: Error
    UnauthorizedErrorCommon:
      type: object
      properties:
        Code:
          type: string
          example: API_NOT_AUTHORISED
        Message:
          type: string
          example: Not authorised
      xml:
        name: Error
        wrapped: false
  parameters:
    businessCodeParam:
      name: businessCode
      in: path
      description: Class business code
      required: true
      schema:
        type: string
        example: demo-business
    fundCodeParam:
      name: fundCode
      description: Class entity code
      in: path
      required: true
      schema:
        type: string
        example: demo-fund
  securitySchemes:
    Class_oAuth:
      type: oauth2
      description: Class uses oAuth2 and OpenID for authentication and authorisation
      flows:
        authorizationCode:
          authorizationUrl: https://apigateway.class-pie.com.au/connect/authorize
          tokenUrl: https://apigateway.class-pie.com.au/connect/token
          scopes:
            business.fund.list: List summarised data of funds in the business
            business.fund.create: Create new funds in the business
            fund.details.read: View basic fund details
            fund.details.maintain: View and maintain basic fund details
            fund.member.read: View member details
            fund.member.maintain: View and maintain member details
            fund.read: View all fund information
            fund.maintain: View and maintain all fund information
