openapi: 3.0.1
info:
  x-metadata:
    tags:
      - Class Partner
  title: Member Reports
  version: '1.0'
  description: >-
    Provides secure access to detailed financial and member-related reporting
    data for managed funds. The system enables retrieval of member-specific
    reports, including:
      
    - **Income Stream Schedules** – Detailed breakdown of periodic income
    payments and associated tax components.

    - **Contribution Summaries** – Comprehensive records of member
    contributions, including employer, personal, and government
    co-contributions.

    - **Pension Limits** – Monitoring and reporting of pension caps to ensure
    compliance with regulatory thresholds.

    - **Transaction Details** – Itemised history of all member transactions,
    such as deposits, withdrawals, rollovers, and adjustments.



    <div class="env-panel" data-component-name="EnvPanel"><div
    class="env-panel__header">Servers</div><div class="env-panel__body"><div
    class="env-row"><div class="env-name">Partner Integration Environment
    (Sandbox)</div><div class="env-url-row"><span
    class="env-url">https://apigateway.class-pie.com.au/api/1.0</span><button
    type="button" class="copy-btn"
    data-copy="https://apigateway.class-pie.com.au/api/1.0"
    aria-label="Copy"><svg viewBox="0 0 16 16" fill="none"
    xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path
    fill-rule="evenodd" clip-rule="evenodd" d="M5.16667 2.66667C5.16667 2.57462
    5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667 2.57462 12.1667
    2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12 10.8333H10H5.33333C5.24129
    10.8333 5.16667 10.7587 5.16667 10.6667V4.66667V2.66667ZM4.16667
    4.16667V2.66667C4.16667 2.02233 4.689 1.5 5.33333 1.5H12C12.6443 1.5 13.1667
    2.02233 13.1667 2.66667V10.6667C13.1667 11.311 12.6443 11.8333 12
    11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395 10.1583 14.1583C9.9395
    14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725 14.5 2.0605 14.3771
    1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5 13.3333V5.33333C1.5 5.02391
    1.62292 4.72717 1.84171 4.50838C2.0605 4.28958 2.35725 4.16667 2.66667
    4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775 9.48244 13.4199 9.45118
    13.4512C9.41993 13.4824 9.37754 13.5 9.33333 13.5H2.66667C2.62246 13.5
    2.58007 13.4824 2.54882 13.4512C2.51756 13.4199 2.5 13.3775 2.5
    13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882 5.21548C2.58007 5.18423
    2.62246 5.16667 2.66667 5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333
    5.33333 11.8333H9.5Z" fill="currentColor"/></svg></button></div></div><div
    class="env-row"><div class="env-name">Production Environment</div><div
    class="env-url-row"><span
    class="env-url">https://apigateway.class.com.au/api/1.0</span><button
    type="button" class="copy-btn"
    data-copy="https://apigateway.class.com.au/api/1.0" aria-label="Copy"><svg
    viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"
    aria-hidden="true"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.16667
    2.66667C5.16667 2.57462 5.24129 2.5 5.33333 2.5H12C12.092 2.5 12.1667
    2.57462 12.1667 2.66667V10.6667C12.1667 10.7587 12.092 10.8333 12
    10.8333H10H5.33333C5.24129 10.8333 5.16667 10.7587 5.16667
    10.6667V4.66667V2.66667ZM4.16667 4.16667V2.66667C4.16667 2.02233 4.689 1.5
    5.33333 1.5H12C12.6443 1.5 13.1667 2.02233 13.1667 2.66667V10.6667C13.1667
    11.311 12.6443 11.8333 12 11.8333H10.5V13.3333C10.5 13.6428 10.3771 13.9395
    10.1583 14.1583C9.9395 14.3771 9.64275 14.5 9.33333 14.5H2.66667C2.35725
    14.5 2.0605 14.3771 1.84171 14.1583C1.62292 13.9395 1.5 13.6428 1.5
    13.3333V5.33333C1.5 5.02391 1.62292 4.72717 1.84171 4.50838C2.0605 4.28958
    2.35725 4.16667 2.66667 4.16667H4.16667ZM9.5 11.8333V13.3333C9.5 13.3775
    9.48244 13.4199 9.45118 13.4512C9.41993 13.4824 9.37754 13.5 9.33333
    13.5H2.66667C2.62246 13.5 2.58007 13.4824 2.54882 13.4512C2.51756 13.4199
    2.5 13.3775 2.5 13.3333V5.33333C2.5 5.28913 2.51756 5.24674 2.54882
    5.21548C2.58007 5.18423 2.62246 5.16667 2.66667
    5.16667H4.16667V10.6667C4.16667 11.311 4.689 11.8333 5.33333 11.8333H9.5Z"
    fill="currentColor"/></svg></button></div></div></div></div>
servers:
  - url: https://apigateway.class-pie.com.au/api/1.0
    description: Partner Integration Environment (Sandbox)
  - url: https://apigateway.class.com.au/api/1.0
    description: Production Environment
paths:
  /f/{businessCode}/{fundCode}/report-data/member-reports/centrelink-schedule-data:
    get:
      operationId: centrelinkScheduleData
      summary: Centrelink schedule data
      description: >-
        Provides income stream information necessary to complete an Income
        Stream Schedule to provide to Centrelink.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: atDate
          in: query
          required: true
          schema:
            type: string
            format: date
            example: '2024-07-01'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/MemberReports_CentrelinkScheduleData'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/report-data/member-reports/contribution-cap-report:
    get:
      operationId: contributionCapReport
      summary: Contribution cap report
      description: >-
        Provides a summary of member contributions to the fund including a
        breakdown by contribution type and each members available/excess
        relative to the contribution caps.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - $ref: '#/components/parameters/yearParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/MemberReports_ContributionCapReport'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/report-data/member-reports/member-statement:
    get:
      operationId: memberStatement
      summary: Member statement
      description: >-
        Provides detailed member information including personal details, account
        summaries, benefit component breakdowns, insurance details and
        beneficiary information.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
            example: '2024-07-01'
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
            example: '2025-06-30'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: >-
                      #/components/schemas/MemberReports_AllMemberStatementsWithAuditorDetails
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/report-data/member-reports/member-transaction-detail:
    get:
      operationId: memberTransactionDetail
      summary: Member transaction detail
      description: >-
        Provides detail of transactions per member account for the specified
        date range.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - name: startDate
          in: query
          required: true
          schema:
            type: string
            format: date
            example: '2024-07-01'
        - name: endDate
          in: query
          required: true
          schema:
            type: string
            format: date
            example: '2025-06-30'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/MemberReports_MemberTransactionDetail'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
              examples:
                AccumulationAccountExample:
                  summary: Accumulation account member transaction detail
                  description: >
                    Demonstrates an example of a member who holds an
                    accumulation account with transaction events.
                  value:
                    Data:
                      FundId: 614b0f25-77e6-49fa-a562-888c00df1d38
                      FundCode: demo-fund
                      FundName: DEMO_SMSF 2025
                      StartDate: '2024-07-01'
                      EndDate: '2025-06-30'
                      Members:
                        - MemberId: d12a7891-3588-4d86-8c05-a461ae558d19
                          MemberName: Jane Doe
                          MemberNumber: '1'
                          Esp: '2005-03-15'
                          EspSpecified: true
                          Accounts:
                            - AccountId: 44e1166d-405b-4ba9-bb74-cf00c2e19872
                              AccountName: Jane Doe - Accumulation
                              AccountType: Accumulation
                              Type: Post07
                              StartDate: '2005-03-15'
                              Events:
                                - Date: '2024-07-01'
                                  Name: Opening Balance
                                  Description: Opening Balance
                                  TaxFreePercentage: 0
                                  Transaction:
                                    Type: Post07
                                    Preserved: 85000
                                    RestrictedNonPreserved: 12000
                                    UnrestrictedNonPreserved: 3000
                                    TaxFree: 22541
                                    TaxableTaxed: 74459
                                    TaxableUntaxed: 0
                                    CGTExempt: 0
                                    Concessional: 0
                                    PostJune1994Invalidity: 0
                                    PrePostJune1983Tax: 0
                                    Undeducted: 0
                                    Unclassified: 0
                                    Total: 100000
                                - Date: '2025-06-30'
                                  Name: Share of Net Fund Income
                                  Description: Share of Net Fund Income
                                  TaxFreePercentage: 27.326
                                  Transaction:
                                    Type: Post07
                                    Preserved: 5100
                                    RestrictedNonPreserved: 720
                                    UnrestrictedNonPreserved: 180
                                    TaxFree: 1638
                                    TaxableTaxed: 4362
                                    TaxableUntaxed: 0
                                    CGTExempt: 0
                                    Concessional: 0
                                    PostJune1994Invalidity: 0
                                    PrePostJune1983Tax: 0
                                    Undeducted: 0
                                    Unclassified: 0
                                    Total: 6000
                                - Date: '2025-06-30'
                                  Name: Insurance Premium
                                  Description: Insurance Premium
                                  TaxFreePercentage: 0
                                  Transaction:
                                    Type: Post07
                                    Preserved: -850
                                    RestrictedNonPreserved: -120
                                    UnrestrictedNonPreserved: -30
                                    TaxFree: 84.4
                                    TaxableTaxed: -1084.4
                                    TaxableUntaxed: 0
                                    CGTExempt: 0
                                    Concessional: 0
                                    PostJune1994Invalidity: 0
                                    PrePostJune1983Tax: 0
                                    Undeducted: 0
                                    Unclassified: 0
                                    Total: -1000
                              OpeningBalance:
                                Type: Post07
                                Preserved: 85000
                                RestrictedNonPreserved: 12000
                                UnrestrictedNonPreserved: 3000
                                TaxFree: 22541
                                TaxableTaxed: 74459
                                TaxableUntaxed: 0
                                CGTExempt: 0
                                Concessional: 0
                                PostJune1994Invalidity: 0
                                PrePostJune1983Tax: 0
                                Undeducted: 0
                                Unclassified: 0
                                Total: 100000
                              ClosingBalance:
                                Type: Post07
                                Preserved: 89250
                                RestrictedNonPreserved: 12600
                                UnrestrictedNonPreserved: 3150
                                TaxFree: 24263.4
                                TaxableTaxed: 77736.6
                                TaxableUntaxed: 0
                                CGTExempt: 0
                                Concessional: 0
                                PostJune1994Invalidity: 0
                                PrePostJune1983Tax: 0
                                Undeducted: 0
                                Unclassified: 0
                                Total: 105000
                              OpeningTaxFreePercentage: 22.541
                              ClosingTaxFreePercentage: 23.1085
                              EstablishmentTaxFreePercentage: 0
                              GroupTotals:
                                - AccountName: Share of Net Fund Income
                                  Total: 6000
                                - AccountName: Insurance Premium
                                  Total: -1000
                    Errors: []
                PensionAccountExample:
                  summary: Pension account member transaction detail
                  description: >
                    Demonstrates an example of a member who holds a pension
                    account with transaction events.
                  value:
                    Data:
                      FundId: 614b0f25-77e6-49fa-a562-888c00df1d38
                      FundCode: demo-fund
                      FundName: DEMO_SMSF 2025
                      StartDate: '2024-07-01'
                      EndDate: '2025-06-30'
                      Members:
                        - MemberId: a3f81c29-7722-4e01-b5d3-9ab4e87d1f00
                          MemberName: Robert Taylor
                          MemberNumber: '2'
                          Esp: '2003-12-17'
                          EspSpecified: true
                          Accounts:
                            - AccountId: d239d37e-a18c-4134-8e18-cbd77a660e79
                              AccountName: Robert Taylor - Pension
                              AccountType: Pension
                              Type: Post07
                              StartDate: '2020-09-01'
                              Events:
                                - Date: '2024-07-01'
                                  Name: Transition to Unrestricted (Retirement)
                                  Description: Transition to Unrestricted (Retirement)
                                  TaxFreePercentage: 0
                                  Transaction:
                                    Type: Post07
                                    Preserved: 0
                                    RestrictedNonPreserved: 0
                                    UnrestrictedNonPreserved: 0
                                    TaxFree: 0
                                    TaxableTaxed: 0
                                    TaxableUntaxed: 0
                                    CGTExempt: 0
                                    Concessional: 0
                                    PostJune1994Invalidity: 0
                                    PrePostJune1983Tax: 0
                                    Undeducted: 0
                                    Unclassified: 0
                                    Total: 0
                                - Date: '2024-09-15'
                                  Name: Lump Sum Cash Payments
                                  Description: Pension drawdown payment
                                  TaxFreePercentage: 27.326
                                  Transaction:
                                    Type: Post07
                                    Preserved: 0
                                    RestrictedNonPreserved: 0
                                    UnrestrictedNonPreserved: -12500
                                    TaxFree: -3415.75
                                    TaxableTaxed: -9084.25
                                    TaxableUntaxed: 0
                                    CGTExempt: 0
                                    Concessional: 0
                                    PostJune1994Invalidity: 0
                                    PrePostJune1983Tax: 0
                                    Undeducted: 0
                                    Unclassified: 0
                                    Total: -12500
                                - Date: '2025-06-30'
                                  Name: Share of Net Fund Income
                                  Description: Share of Net Fund Income
                                  TaxFreePercentage: 28.8192
                                  Transaction:
                                    Type: Post07
                                    Preserved: 0
                                    RestrictedNonPreserved: 0
                                    UnrestrictedNonPreserved: 8521.72
                                    TaxFree: 5839.38
                                    TaxableTaxed: 2682.34
                                    TaxableUntaxed: 0
                                    CGTExempt: 0
                                    Concessional: 0
                                    PostJune1994Invalidity: 0
                                    PrePostJune1983Tax: 0
                                    Undeducted: 0
                                    Unclassified: 0
                                    Total: 8521.72
                                - Date: '2025-06-30'
                                  Name: Tax Expense
                                  Description: Tax Expense
                                  TaxFreePercentage: 0
                                  Transaction:
                                    Type: Post07
                                    Preserved: 0
                                    RestrictedNonPreserved: 0
                                    UnrestrictedNonPreserved: -1500
                                    TaxFree: -250
                                    TaxableTaxed: -1250
                                    TaxableUntaxed: 0
                                    CGTExempt: 0
                                    Concessional: 0
                                    PostJune1994Invalidity: 0
                                    PrePostJune1983Tax: 0
                                    Undeducted: 0
                                    Unclassified: 0
                                    Total: -1500
                              OpeningBalance:
                                Type: Post07
                                Preserved: 0
                                RestrictedNonPreserved: 0
                                UnrestrictedNonPreserved: 250000
                                TaxFree: 68295
                                TaxableTaxed: 181705
                                TaxableUntaxed: 0
                                CGTExempt: 0
                                Concessional: 0
                                PostJune1994Invalidity: 0
                                PrePostJune1983Tax: 0
                                Undeducted: 0
                                Unclassified: 0
                                Total: 250000
                              ClosingBalance:
                                Type: Post07
                                Preserved: 0
                                RestrictedNonPreserved: 0
                                UnrestrictedNonPreserved: 244521.72
                                TaxFree: 70468.63
                                TaxableTaxed: 174053.09
                                TaxableUntaxed: 0
                                CGTExempt: 0
                                Concessional: 0
                                PostJune1994Invalidity: 0
                                PrePostJune1983Tax: 0
                                Undeducted: 0
                                Unclassified: 0
                                Total: 244521.72
                              OpeningTaxFreePercentage: 27.326
                              ClosingTaxFreePercentage: 28.8192
                              EstablishmentTaxFreePercentage: 71.1808
                              GroupTotals:
                                - AccountName: Lump Sum Cash Payments
                                  Total: -12500
                                - AccountName: Share of Net Fund Income
                                  Total: 8521.72
                                - AccountName: Tax Expense
                                  Total: -1500
                    Errors: []
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/report-data/member-reports/member-transaction-summary:
    get:
      operationId: memberTransactionSummary
      summary: Member transaction summary
      description: >-
        Provides a summary of transactions per member account for the specified
        date range.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - $ref: '#/components/parameters/startDateParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: >-
                      #/components/schemas/MemberReports_MemberTransactionSummary
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/report-data/member-reports/pension-limit-report:
    get:
      operationId: pensionLimitReport
      summary: Pension limit report
      description: >-
        Provides details of the minimum, maximum and current payments for
        pension accounts.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - $ref: '#/components/parameters/yearParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: '#/components/schemas/MemberReports_PensionLimitReport'
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
  /f/{businessCode}/{fundCode}/report-data/member-reports/request-to-adjust-concessionals:
    get:
      operationId: requestToAdjustConcessionalContributions
      summary: Request to adjust concessional contributions
      description: >-
        Supplies data for adjusting concessional contributions, including member
        contribution details, fund reporting details, and tax agent information
        for a specified financial year.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - $ref: '#/components/parameters/yearParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                type: object
                required:
                  - Data
                properties:
                  Data:
                    $ref: >-
                      #/components/schemas/ReportSummaries_RequestToAdjustConcessionalsReport
                allOf:
                  - $ref: '#/components/schemas/ApiResponseBase'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/UnauthorizedErrorCommon'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ForbiddenErrorCommon'
        '404':
          description: Resource not available or user does not have access to the fund
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceUnavailableErrorCommon'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/InternalErrorCommon'
      security:
        - Class_oAuth:
            - fund.read
components:
  parameters:
    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
    startDateParam:
      name: startDate
      in: query
      description: The start date of the period to show movements for
      required: false
      schema:
        type: string
        format: date
        example: '2024-07-01'
    yearParam:
      name: year
      description: The financial year to retrieve information
      in: query
      required: true
      schema:
        type: integer
        example: 2024
  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.
    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'
    ComponentType:
      type: string
      enum:
        - Unknown
        - Pre07
        - Post07
        - Mixed
        - Reserve
    ContributionCapReport_ContributionBreakdownDetail:
      type: object
      description: >-
        Breakdown of individual contribution entries including type, amount, and
        classification.
      properties:
        ContributionType:
          type: string
          description: Type of contribution.
          example: Personal
        Amount:
          type: number
          format: decimal
          description: Amount of the contribution.
          example: 5000
        Classification:
          $ref: '#/components/schemas/ContributionClassificationType'
        Description:
          type: string
          description: Description of the contribution.
          example: Personal contribution made in June
    ContributionCapReport_ContributionDetail:
      type: object
      description: >-
        Detailed contribution metrics including limits, excess amounts, and
        available caps for a member in a financial year.
      properties:
        Contributions:
          type: number
          format: decimal
          description: Total contributions made.
          example: 25000
        CumulativeAvailableUnusedCap:
          type: number
          format: decimal
          description: Cumulative unused cap available from previous years.
          example: 10000
        ContributionsOtherFunds:
          type: number
          format: decimal
          description: Contributions made to other funds.
          example: 5000
        Limit:
          type: number
          format: decimal
          description: Contribution limit for the financial year.
          example: 27500
        AdjustedContributions:
          type: number
          format: decimal
          description: Adjusted contributions after applying relevant rules.
          example: 26000
        Excess:
          type: number
          format: decimal
          description: Amount exceeding the contribution cap.
          example: 1500
        Available:
          type: number
          format: decimal
          description: Remaining available cap for contributions.
          example: 1000
    ContributionCapReport_ContributionLimit:
      type: object
      description: Summary of contribution limits for the member.
      properties:
        FinancialYear:
          type: integer
          format: int32
          example: 2023
          description: Financial year for the contribution limit.
        LimitType:
          type: string
          example: Concessional
          description: Type of contribution limit.
        LimitPeriod:
          type: string
          example: Annual
          description: Period for which the limit applies.
        Amount:
          type: number
          format: decimal
          example: 25000
          description: Amount contributed by the member.
        Limit:
          type: number
          format: decimal
          example: 27500
          description: Maximum allowable contribution limit.
    ContributionCapReport_ContributionTransaction:
      type: object
      description: >-
        Provides details of a contribution transaction including type,
        classification, and amount.
      properties:
        TransactionDate:
          type: string
          format: date
          example: '2024-06-30'
          description: Date of the contribution transaction.
        ContributionType:
          type: string
          example: Employer
          description: Type of contribution made.
        Classification:
          $ref: '#/components/schemas/ContributionClassificationType'
        Amount:
          type: number
          format: decimal
          example: 10000
          description: Amount of the contribution.
        Description:
          type: string
          example: Employer Super Guarantee
          description: Description of the contribution transaction.
    ContributionCapReport_FundFinancialYear:
      type: object
      description: >-
        Represents a financial year associated with the fund including date
        range and label.
      properties:
        DateRange:
          type: string
          format: date
          example: '2023-07-01'
          description: Date range for the financial year.
        Description:
          type: string
          example: FY2023-2024
          description: Description of the financial year.
        Year:
          type: integer
          format: int32
          example: 2024
          description: Year identifier for the financial year.
    ContributionCapReport_MemberContributionCapDetails:
      type: object
      description: >-
        Details of member's contribution cap history and bring-forward rule
        status.
      properties:
        PriorYearContributionType:
          $ref: '#/components/schemas/PriorYearContributionType'
        TotalPreviousNonConcessional:
          type: number
          format: decimal
          description: Total non-concessional contributions from prior years.
          example: 15000
        CapInEffectFromPreviousYears:
          type: number
          format: decimal
          description: Cap carried forward from previous years.
          example: 30000
        TotalPriorYearMinValue:
          type: number
          format: decimal
          description: Minimum value from prior year contributions.
          example: 10000
        TriggeredBfrThisYear:
          type: boolean
          description: Indicates whether bring-forward rule was triggered this year.
          example: true
        CanCalculateFromPriorYear:
          type: boolean
          description: >-
            Indicates whether contribution cap can be calculated from prior
            year.
          example: true
        LastAcknowledgedBy:
          type: string
          description: >-
            Name of the person who last acknowledged the contribution cap
            details.
          example: Jane Doe
        LastAcknowledgedByDate:
          type: string
          format: date
          description: Date when the contribution cap details were last acknowledged.
          example: '2024-06-30'
        LastAcknowledgedByDateSpecified:
          type: boolean
          description: Indicates whether the last acknowledged date is specified.
          example: true
    ContributionCapReport_MemberDetails:
      type: object
      description: List of member contribution details.
      properties:
        MemberId:
          type: string
          example: d12a7891-3588-4d86-8c05-a461ae558d19
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters
        MemberName:
          type: string
          example: John Smith
          description: Full name of the member.
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
        MemberBirthday:
          type: string
          format: date
          example: '1970-01-01'
          description: Date of birth of the member.
        MemberBirthdaySpecified:
          type: boolean
          example: true
          description: Indicates whether the member's date of birth is specified.
        AgeAtEndFinancialYear:
          type: integer
          format: int32
          example: 54
          description: Age of the member at the end of the financial year.
        AgeAtStartFinancialYear:
          type: integer
          format: int32
          example: 53
          description: Age of the member at the start of the financial year.
        ContributionLimitSummary:
          type: array
          items:
            $ref: '#/components/schemas/ContributionCapReport_ContributionLimit'
        YearBreakdown:
          $ref: '#/components/schemas/ContributionCapReport_YearBreakdownDetails'
    ContributionCapReport_YearBreakdownDetails:
      type: object
      description: Detailed breakdown of contributions by year.
      properties:
        Year:
          type: integer
          format: int32
          description: Financial year for the contribution breakdown.
          example: 2024
        ContributionsSummary:
          $ref: '#/components/schemas/ContributionCapReport_YearSummaryValues'
        Transactions:
          type: array
          items:
            $ref: '#/components/schemas/ContributionCapReport_ContributionTransaction'
        Details:
          type: array
          items:
            $ref: >-
              #/components/schemas/ContributionCapReport_ContributionBreakdownDetail
        MemberContributionCapDetails:
          $ref: >-
            #/components/schemas/ContributionCapReport_MemberContributionCapDetails
        CalculatedFromPreviousYear:
          $ref: >-
            #/components/schemas/ContributionCapReport_MemberContributionCapDetails
        PriorYearTotalNonConcessional:
          type: number
          format: decimal
          description: Total non-concessional contributions from the prior year.
          example: 10000
    ContributionCapReport_YearSummaryValues:
      type: object
      description: >-
        Provides a summary of contribution amounts and limits for a financial
        year, including concessional and non-concessional categories.
      properties:
        Concessional:
          $ref: '#/components/schemas/ContributionCapReport_ContributionDetail'
        NonConcessional:
          $ref: '#/components/schemas/ContributionCapReport_ContributionDetail'
        NonConcessionalWithBfr:
          $ref: '#/components/schemas/ContributionCapReport_ContributionDetail'
        ExcessConAsNonCon:
          type: number
          format: decimal
          description: >-
            Amount of excess concessional contributions treated as
            non-concessional.
          example: 500
        Other:
          type: number
          format: decimal
          description: Other contribution amounts not classified under standard categories.
          example: 200
    ContributionClassificationType:
      type: string
      description: Classification type for contributions.
      enum:
        - Concessional
        - NonConcessional
        - Other
        - Adjustment
    FundAuditorDetails_AuditorDetails:
      type: object
      description: >-
        Details of the fund auditor including contact information and
        professional registration.
      properties:
        AuditorName:
          type: string
          example: Jane Smith
          description: Name of the auditor.
        AuditorAddress:
          $ref: '#/components/schemas/AddressSummary'
        BusinessName:
          type: string
          example: Smith Audit Services
          description: Name of the auditor's business.
        BusinessAddress:
          $ref: '#/components/schemas/AddressSummary'
        Telephone:
          type: string
          example: '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.
    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 Guid as identifier of the trustee.
        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/ReportSummaries_AddressSummary'
          description: Default address of the trustee.
        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
    MemberReports_AccountDetail:
      type: object
      description: >-
        Individual member account within the fund (balances, dates, pension
        details).
      properties:
        StartDate:
          type: string
          format: date
          description: Date the account commenced.
          example: '2017-05-26'
        Name:
          type: string
          description: Name of the account.
          example: New Pension Account 1235
        Type:
          type: string
          description: Account/pension type (e.g. Allocated, Lifetime).
          example: Allocated
        IsSplit:
          type: boolean
          description: Indicates whether the account is split.
          example: false
        IsAssetTestExempt:
          type: boolean
          description: Indicates whether the account is exempt from asset testing.
          example: false
        PurchaseDate:
          type: string
          format: date
          description: Purchase/establishment date for the account.
          example: '2017-05-26'
        ReversionaryBeneficiaryNominated:
          type: boolean
          description: Indicates whether a reversionary beneficiary is nominated.
          example: false
        RelevantNumber:
          type: number
          format: decimal
          description: Relevant number associated with the account.
          example: 0
        TermSpecified:
          type: boolean
          description: Indicates whether a term value is provided for the account.
          example: false
        Term:
          type: number
          format: decimal
          description: Term value applicable to the pension account.
          example: 5
        PreviousPensionAccount:
          type: string
          description: Reference to previous pension account, if any.
          example: PreviousAccount123
        PreviousPensionEstablishmentDateSpecified:
          type: boolean
          description: True when previous pension establishment date is present.
          example: false
        PreviousPensionEstablishmentDate:
          type: string
          format: date
          description: Date the previous pension was established.
          example: '2015-06-30'
        PreviousCommutations:
          type: number
          format: decimal
          description: Total commutations from previous pensions.
          example: 0
        PurchasePrice:
          type: number
          format: decimal
          description: Purchase price or valuation used for the account.
          example: 50050
        StartOfYearBalance:
          type: number
          format: decimal
          description: Balance at the start of the reporting period.
          example: 40050
        CurrentBalance:
          type: number
          format: decimal
          description: Current account balance as at the report date.
          example: 40050
        GrossAnnualPayment:
          type: number
          format: decimal
          description: Gross annual payment amount for the pension (if any).
          example: 0
        PaymentFrequency:
          type: string
          description: Frequency of payments.
          example: Monthly
        GrossPeriodicPayment:
          type: number
          format: decimal
          description: Gross payment amount per period.
          example: 0
        Commutations:
          type: array
          items:
            $ref: '#/components/schemas/MemberReports_CommutationDetail'
        TotalCommutations:
          type: number
          format: decimal
          description: Total of commutation amounts for this account.
          example: 10000
        IsAccountBasedPension:
          type: boolean
          description: True if the pension is account-based.
          example: true
    MemberReports_AllMemberStatementsWithAuditorDetails:
      type: object
      description: >-
        Collection of member statements for a fund, with auditor details for
        publication.
      properties:
        AllMemberStatements:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberReports_MemberStatementWithAuditorDetails
    MemberReports_CentrelinkScheduleData:
      type: object
      properties:
        AsAtDate:
          type: string
          format: date
          example: '2024-07-01'
          description: The date for which the Centrelink schedule data is applicable.
        FundDetails:
          $ref: '#/components/schemas/MemberReports_FundDetail'
        MemberDetails:
          type: array
          items:
            $ref: '#/components/schemas/MemberReports_MemberDetail'
    MemberReports_CommutationDetail:
      type: object
      description: Commutation events applied to this account.
      properties:
        Date:
          type: string
          format: date
          description: Date of the commutation transaction.
          example: '2020-02-18'
        Amount:
          type: number
          format: decimal
          description: Amount of the commutation.
          example: 10000
    MemberReports_ContributionCapReport:
      type: object
      description: >-
        Provides a comprehensive summary of member contributions to the fund,
        including financial year details, contribution limits and breakdowns by
        member and contribution type.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        AsAtDate:
          type: string
          format: date
          example: '2024-07-01'
          description: The date for which the contribution cap report is applicable.
        FinancialYear:
          type: string
          format: date
          example: '2023-07-01'
          description: Start date of the financial year for the report.
        Members:
          type: array
          items:
            $ref: '#/components/schemas/ContributionCapReport_MemberDetails'
        FinancialYearsActive:
          type: array
          items:
            $ref: '#/components/schemas/ContributionCapReport_FundFinancialYear'
    MemberReports_FundAuditorDetails:
      type: object
      description: >-
        Auditor-related details for the fund including risk management dates,
        contact information, and licensing.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        Period:
          type: string
          format: date
          example: '2025-06-30'
          description: Reporting period end date.
        ABN:
          type: string
          example: '81948421769'
          description: Australian Business Number (ABN) of the fund (11 digits).
        TFN:
          type: string
          example: '999999507'
          description: Tax File Number of the fund, 9-digits.
        RMP_RiskManagementPlan_Date:
          type: string
          format: date
          example: '0001-01-01'
          description: Date of the Risk Management Plan.
        RMP_RiskManagementPlan_DateSpecified:
          type: boolean
          example: false
          description: Indicates whether the Risk Management Plan date is specified.
        RMS_RiskManagementStrategy_Date:
          type: string
          format: date
          example: '0001-01-01'
          description: Date of the Risk Management Strategy.
        RMS_RiskManagementStrategy_DateSpecified:
          type: boolean
          example: false
          description: Indicates whether the Risk Management Strategy date is specified.
        RSE_RegisterableSuperanuationEntities_License:
          type: string
          example: RSE123456
          description: The RSE licence number for the fund, if applicable.
        ApprovedTrusteeName:
          type: string
          example: DEMO SMSF Pty Ltd
          description: The name of the approved trustee responsible for the fund.
        FundAddress:
          $ref: '#/components/schemas/AddressSummary'
          description: Address of the fund.
        Telephone:
          type: string
          example: '0298765432'
          description: The contact telephone number for the fund.
        Fax:
          type: string
          example: '123123123'
          description: The fax number for the fund, if applicable.
        Auditor_Details:
          $ref: '#/components/schemas/FundAuditorDetails_AuditorDetails'
    MemberReports_FundDetail:
      type: object
      description: >-
        Fund-level details included in Centrelink schedule and other member
        reports.
      properties:
        Name:
          type: string
          description: Full name of the fund.
          example: Demo Superannuation Fund 2025
        ABN:
          type: string
          example: '81948421769'
          description: Australian Business Number (ABN) of the fund (11 digits).
        MailingAddress:
          $ref: '#/components/schemas/AddressSummary'
          description: Fund mailing address.
        Type:
          type: string
          description: Type of entity.
          example: SMSF
        IsSMSFOrSAF:
          type: boolean
          description: Indicates whether the fund is an SMSF or SAF.
          example: true
        OnSystemDate:
          type: string
          description: Date the fund was added to the system.
          example: '2010-07-01'
        OnSystemDateSpecified:
          type: boolean
          description: Indicates whether the system date is specified.
          example: true
    MemberReports_MemberDetail:
      type: object
      description: >-
        Member-level details included in Centrelink schedule and other member
        reports.
      properties:
        Name:
          type: string
          example: John Doe
          description: Member's full name.
        DOBSpecified:
          type: boolean
          description: Indicates whether a Date of Birth has been provided.
          example: true
        DOB:
          type: string
          format: date
          description: Member date of birth.
          example: '1970-02-01'
        AccountDetails:
          type: array
          items:
            $ref: '#/components/schemas/MemberReports_AccountDetail'
        CentrelinkDVAReference:
          type: string
          description: Centrelink or DVA reference for the member, if available.
          example: 123456789A
    MemberReports_MemberStatement:
      type: object
      description: >-
        Detailed member statement including balances, insurance, beneficiaries,
        and entity details.
      properties:
        OpeningBalanceDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Opening balance date for the statement period.
        AsAtDate:
          type: string
          format: date
          example: '2024-07-01'
          description: The date for which the member statement is applicable.
        MemberId:
          type: string
          example: d12a7891-3588-4d86-8c05-a461ae558d19
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters
        MemberName:
          type: string
          example: John Smith
          description: Full name of the member.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        FundType:
          type: string
          example: SMSF
          description: Type of the fund.
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundABN:
          type: string
          example: '81948421769'
          description: Australian Business Number (ABN) of the fund.
        IsCorporateTrustee:
          type: boolean
          example: true
          description: Indicates if the fund has a corporate trustee.
        MemberDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementMemberDetails'
        BrandEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        FundEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        AuditorEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        InvestmentManagerEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        SMSFOtherInformation:
          $ref: >-
            #/components/schemas/MemberStatement_MemberStatementSMSFOtherInformation
        SAFOtherInformation:
          $ref: >-
            #/components/schemas/MemberStatement_MemberStatementSAFOtherInformation
        Balances:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberAccountBalanceDetails'
        OpeningBalance:
          type: number
          format: decimal
          example: 100000
          description: Opening balance amount.
        ClosingBalance:
          type: number
          format: decimal
          example: 150000
          description: Closing balance amount.
        InsuranceBenefits:
          $ref: >-
            #/components/schemas/MemberStatement_MemberStatementInsuranceBenefits
        BeneficiaryDetails:
          $ref: '#/components/schemas/MemberStatement_NominatedBeneficiaryDetail'
        ReserveAccountBalances:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberStatement_MemberStatementReserveAccountBalanceDetails
        BalanceGraphBase64String:
          type: string
          example: dGVzdCBkYXRhIGZvciBCYWxhbmNlIEdyYXBo
          description: Base64-encoded balance graph image.
        RateOfReturns:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementRateOfReturn'
        DirectorsNames:
          type: array
          description: Names of directors associated with the fund.
          items:
            type: string
          example:
            - Jane Doe
            - John Smith
        TotalEtpComponentBalances:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAmountDetail'
        TotalPreservationBalances:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAmountDetail'
        MemberAccountDetails:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAccountDetails'
    MemberReports_MemberStatementWithAuditorDetails:
      type: object
      description: >-
        Individual member statement along with fund auditor details for
        publication.
      properties:
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        AsAtDate:
          type: string
          format: date
          example: '2024-07-01'
          description: >-
            The date for which the member statement and fund auditor details are
            applicable.
        PeriodFromDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Start date of the statement period.
        PeriodToDate:
          type: string
          format: date
          example: '2025-06-30'
          description: End date of the statement period.
        MemberStatement:
          $ref: '#/components/schemas/MemberReports_MemberStatement'
        AuditorDetails:
          $ref: '#/components/schemas/MemberReports_FundAuditorDetails'
    MemberReports_MemberTransactionDetail:
      type: object
      description: >-
        Transaction level report for members for a date range; contains accounts
        and events.
      properties:
        FundId:
          type: string
          description: Unique identifier for the fund.
        FundCode:
          type: string
          description: Unique code identifier for the fund.
        FundName:
          type: string
          description: Full name of the fund.
        StartDate:
          type: string
          format: date
          description: Start date of the transaction report period.
        EndDate:
          type: string
          format: date
          description: End date of the transaction report period.
        Members:
          type: array
          items:
            $ref: '#/components/schemas/MemberTransactionDetail_Member'
    MemberReports_MemberTransactionSummary:
      type: object
      description: Summary totals for transactions across members for a period.
      properties:
        FundName:
          type: string
          example: DEMO_SMSF_2025
          description: Full name of the fund.
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        Period:
          type: string
          format: date
          example: '2025-06-30'
          description: End date of the reporting period.
        TotalOpeningBalance:
          type: number
          format: decimal
          example: 100000
          description: Total opening balance across all member accounts.
        TotalIncreasesContrib:
          type: number
          format: decimal
          example: 0
          description: Total contributions added to member accounts.
        TotalIncreasesTraIn:
          type: number
          format: decimal
          example: 0
          description: Total transfers into member accounts.
        TotalIncreasesProfit:
          type: number
          format: decimal
          example: 0
          description: Total profit increases across member accounts.
        TotalIncreasesInsPol:
          type: number
          format: decimal
          example: 0
          description: Total increases from insurance policies.
        TotalDecreasesTax:
          type: number
          format: decimal
          example: 0
          description: Total decreases in tax liabilities from member accounts.
        TotalDecreasesExp:
          type: number
          format: decimal
          example: 0
          description: Total decreases in expenses from member accounts.
        TotalDecreasesInsPol:
          type: number
          format: decimal
          example: 0
          description: Total decreases in insurance policy values from member accounts.
        TotalDecreasesTraOut:
          type: number
          format: decimal
          example: 0
          description: Total decreases in transfers out from member accounts.
        TotalDecreasesBenPd:
          type: number
          format: decimal
          example: 0
          description: Total decreases in benefit paid from member accounts.
        TotalClosingBalance:
          type: number
          format: decimal
          example: 105000
          description: Total closing balance across all member accounts.
        MembersDetails:
          type: array
          items:
            $ref: '#/components/schemas/MemberTransactionSummary_MembersDetail'
    MemberReports_PensionLimitReport:
      type: object
      description: >-
        Pension limit report showing drawdowns, balances and limits per pension
        account.
      properties:
        FinancialYear:
          type: string
          format: date
          example: '2023-07-01'
          description: Start date of the financial year for the report.
        AsAtDate:
          type: string
          format: date
          example: '2024-07-01'
          description: The date for which the pension limit report is applicable.
        UnmatchedCashItems:
          $ref: '#/components/schemas/PensionLimitReport_UnmatchedCashItemDetails'
        Members:
          type: array
          items:
            $ref: '#/components/schemas/PensionLimitReport_MemberDetail'
        Totals:
          $ref: '#/components/schemas/PensionLimitReport_SummaryBalances'
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        FundName:
          type: string
          example: Demo Superannuation Fund
          description: Full name of the fund.
    MemberStatementInsuranceBenefits_InsuranceBenefitDetail:
      type: object
      description: Details of a specific insurance benefit type for the member.
      properties:
        CoverProvided:
          type: number
          format: decimal
          example: 250000
          description: Amount of insurance cover provided to the member.
        TotalBenefitPayable:
          type: number
          format: decimal
          example: 1720579.87
          description: Total benefit payable under the insurance policy.
        Balance:
          type: number
          format: decimal
          example: 0
          description: Remaining balance of the insurance benefit.
    MemberStatement_ExpenseAmounts:
      type: object
      description: >-
        Expense details for a member's account including total expenses and
        itemised entries.
      properties:
        TotalExpenses:
          type: number
          format: decimal
        Expenses:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_TypelessIncomeExpenseDetail'
    MemberStatement_IncomeAmounts:
      type: object
      description: >-
        Income details for a member's account including total income and
        itemised entries.
      properties:
        TotalIncome:
          type: number
          format: decimal
          example: 0
          description: Total income amount for the member's account.
        Incomes:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_TypelessIncomeExpenseDetail'
    MemberStatement_IncomeExpenseDetail:
      type: object
      description: Detailed income or expense entry for a member's account.
      properties:
        Type:
          type: string
        Name:
          type: string
        Amount:
          type: number
          format: decimal
    MemberStatement_MemberAccountBalanceDetails:
      type: object
      description: >-
        Represents a member's account balance details including account type and
        balance amount.
      properties:
        BalanceType:
          type: string
          example: Opening
          description: Type of balance reported, such as 'Opening' or 'Closing'.
        MemberAccountName:
          type: string
          example: Accumulation
          description: Name of the member's account, e.g., 'Accumulation' or 'ABP200X'.
        Balance:
          type: number
          format: decimal
          example: 687274.9
          description: Balance amount for the specified account type.
    MemberStatement_MemberStatementAccountDetails:
      type: object
      description: >-
        Detailed account information for a member including balances, income,
        expenses and insurance.
      properties:
        AccountDetails_ID:
          type: string
          example: d12a7891-3588-4d86-8c05-a461ae558d19
          description: >-
            Unique identifier for the member account, in the format of
            8-4-4-4-12 hexadecimal characters
        AccountDescription:
          type: string
          example: Accumulation
          description: Description of the member account.
        OpeningBalance:
          type: number
          format: decimal
          example: 687274.9
          description: Opening balance amount.
        ClosingBalance:
          type: number
          format: decimal
          example: 187274.9
          description: Closing balance amount.
        AccountType:
          type: string
          example: Accumulation
          description: Type of the member account.
        AccountStartDate:
          type: string
          format: date
          example: '2003-12-17'
          description: Date the account was established.
        IncomeAmounts:
          $ref: '#/components/schemas/MemberStatement_IncomeAmounts'
        ExpenseAmounts:
          $ref: '#/components/schemas/MemberStatement_ExpenseAmounts'
        TaxableProportion:
          type: number
          format: decimal
          example: 0.72673977
          description: Proportion of the account that is taxable.
        TaxableProportionSpecified:
          type: boolean
          example: true
          description: Indicates whether the taxable proportion is specified.
        PensionAccountStartDate:
          type: string
          format: date
          example: '2007-07-01'
          description: Start date of the pension account.
        PensionAccountStartDateSpecified:
          type: boolean
          example: true
          description: Indicates whether the pension account start date is specified.
        ReversionaryBeneficiaryName:
          type: string
          example: Jane Doe
          description: Name of the reversionary beneficiary.
        IncomeExpenseAmounts:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_IncomeExpenseDetail'
        EtpClosingBalances:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAmountDetail'
        PreservationClosingBalances:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementAmountDetail'
        InsuranceBenefits:
          $ref: >-
            #/components/schemas/MemberStatement_MemberStatementInsuranceBenefits
    MemberStatement_MemberStatementAmountDetail:
      type: object
      description: >-
        Details of a specific amount and its percentage allocation within a
        member's account.
      properties:
        Name:
          type: string
          example: Tax Free
          description: Name of the component or category associated with the amount.
        Amount:
          type: number
          format: decimal
          example: 165255.93
          description: Monetary value associated with the component.
        Percentage:
          type: number
          format: decimal
          example: 22.9337
          description: Percentage allocation of the amount within the total balance.
    MemberStatement_MemberStatementEntityDetails:
      type: object
      description: Entity details including contact information and address.
      properties:
        Id:
          type: string
          example: bc6e82b3-1d04-477c-bd08-aa5235a36ac5
          description: >-
            Unique identifier for the entity, in the format of 8-4-4-4-12
            hexadecimal characters
        Name:
          type: string
          example: John Doe
          description: Name of the entity.
        Address:
          $ref: '#/components/schemas/AddressSummary'
        Telephone:
          type: string
          example: '0412345678'
          description: Telephone number of the member.
        Fax:
          type: string
          example: '0298765432'
          description: Fax number of the member, 10 characters long.
        ContactName:
          type: string
          example: Jane Doe
          description: Name of the contact person for the entity.
        Email:
          type: string
          example: contact@class.com
          description: Email address for the entity.
    MemberStatement_MemberStatementInsuranceBenefits:
      type: object
      description: >-
        Insurance benefit details for the member, including life, disability and
        salary continuation insurance.
      properties:
        InsuranceRecorded:
          type: boolean
          example: true
          description: Indicates whether insurance details are recorded for the member.
        LifeInsurance:
          $ref: >-
            #/components/schemas/MemberStatementInsuranceBenefits_InsuranceBenefitDetail
        DisabilityInsurance:
          $ref: >-
            #/components/schemas/MemberStatementInsuranceBenefits_InsuranceBenefitDetail
        SalaryContinuationInsurance:
          $ref: >-
            #/components/schemas/MemberStatementInsuranceBenefits_InsuranceBenefitDetail
    MemberStatement_MemberStatementMemberDetails:
      type: object
      description: >-
        Personal details of the member, including name, date of birth, address,
        fund dates, and contact information.
      properties:
        FullName:
          type: string
          example: Mr John Doe
          description: Full name of the member.
        DateOfBirth:
          type: string
          format: date
          example: '1955-12-31'
          description: Date of birth of the member.
        ResidentialAddress:
          $ref: '#/components/schemas/AddressSummary'
        TFNRecorded:
          type: boolean
          example: true
          description: Indicates whether the member's Tax File Number is recorded.
        DateJoinedFund:
          type: string
          format: date
          example: '2003-12-17'
          description: Date the member joined the fund.
        ESPStartDate:
          type: string
          format: date
          example: '2000-11-28'
          description: Start date of the Employer Sponsored Plan (ESP).
        DateLeftFund:
          type: string
          format: date
          example: '2023-06-30'
          description: Date the member left the fund, if applicable.
        DateLeftFundSpecified:
          type: boolean
          example: false
          description: Indicates whether the date left fund is specified.
        Telephone:
          type: string
          example: '0412345678'
          description: Telephone number of the member.
        Fax:
          type: string
          example: '0298765432'
          description: Fax number of the member, 10 characters long.
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
    MemberStatement_MemberStatementRateOfReturn:
      type: object
      description: Annual rate of return information for the member's account.
      properties:
        Year:
          type: string
          example: '2025'
          description: Financial year for which the rate of return is reported.
        Rate:
          type: number
          format: decimal
          example: 5.25
          description: Rate of return for the specified year.
        RateSpecified:
          type: boolean
          example: true
          description: Indicates whether the rate of return is specified.
    MemberStatement_MemberStatementReserveAccountBalanceDetails:
      type: object
      description: Details of a reserve account balance for the member.
      properties:
        AccountName:
          type: string
          example: Reserve Account
          description: Name of the reserve account associated with the member.
        AccountBalance:
          type: number
          format: decimal
          example: 25000
          description: Balance amount held in the reserve account.
    MemberStatement_MemberStatementSAFOtherInformation:
      type: object
      description: SAF-specific information including trustee and auditor details.
      properties:
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        TrusteeEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        AuditorFirmName:
          type: string
          example: Example Audit Firm
          description: Name of the auditor firm.
        EligibleRolloverFundEntityDetails:
          $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        IndividualTrusteeDetails:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_MemberStatementEntityDetails'
        IndividualTrusteeNames:
          type: array
          items:
            type: string
            example: John Doe
            description: Names of individual trustees.
    MemberStatement_MemberStatementSMSFOtherInformation:
      type: object
      description: SMSF-specific information including trustee details.
      properties:
        FundCode:
          type: string
          example: demo-fund
          description: Unique code identifier for the fund.
        TrusteeCompanyName:
          type: string
          example: Doe Pty Limited
          description: Name of the trustee company managing the fund.
        TrusteeNamesHeading:
          type: string
          example: John Family Trustees
          description: Heading used to display trustee names in the statement.
        Trustees:
          type: array
          items:
            $ref: '#/components/schemas/MemberStatement_Trustee'
        TrusteeNames:
          type: array
          items:
            type: string
            example: John Doe
            description: Names of individual trustees.
    MemberStatement_NominatedBeneficiaryDetail:
      type: object
      description: Details of a nominated beneficiary for the member.
      properties:
        BeneficiaryDetailsRecorded:
          type: boolean
          example: false
          description: Indicates whether beneficiary details have been recorded.
        NominationType:
          type: string
          example: Binding
          description: Type of beneficiary nomination.
        EffectiveDate:
          type: string
          format: date
          example: '2024-07-01'
          description: Date the beneficiary nomination became effective.
        ExpiryDate:
          type: string
          format: date
          example: '2025-06-30'
          description: Date the beneficiary nomination expires.
        Details:
          type: string
          example: Nomination includes spouse and children.
          description: Additional details about the beneficiary nomination.
    MemberStatement_Trustee:
      type: object
      description: Name of an individual trustee.
      properties:
        Name:
          type: string
          example: John Doe
          description: Trustee's full name.
    MemberStatement_TypelessIncomeExpenseDetail:
      type: object
      description: Represents a single income or expense entry without a specified type.
      properties:
        Name:
          type: string
          example: Lump Sum Cash Payments
          description: Name of the income or expense item.
        Amount:
          type: number
          format: decimal
          example: 500000
          description: Amount associated with the income or expense item.
    MemberTransactionDetail_Account:
      type: object
      description: Account-level transaction details including events and balances.
      properties:
        AccountId:
          type: string
          example: b829b394-4e96-45aa-9226-1920229f2add
          description: Unique identifier for the account.
        AccountName:
          type: string
          example: My Pension Account
          description: Name of the member account.
        AccountType:
          type: string
          example: Pension
          description: Type of the member account.
        Type:
          $ref: '#/components/schemas/ComponentType'
        StartDate:
          type: string
          format: date
          example: '2003-12-17'
          description: Start date of the account.
        Events:
          type: array
          items:
            $ref: '#/components/schemas/MemberTransactionDetail_Event'
        OpeningBalance:
          $ref: '#/components/schemas/MemberTransactionDetail_Components'
        ClosingBalance:
          $ref: '#/components/schemas/MemberTransactionDetail_Components'
        OpeningTaxFreePercentage:
          type: number
          format: decimal
          example: 27.326
          description: Tax-free percentage at the beginning of the period.
        ClosingTaxFreePercentage:
          type: number
          format: decimal
          example: 28.8192
          description: Tax-free percentage at the end of the period.
        EstablishmentTaxFreePercentage:
          type: number
          format: decimal
          example: 71.1808
          description: Tax-free percentage at the time of account establishment.
        GroupTotals:
          type: array
          items:
            $ref: '#/components/schemas/MemberTransactionDetail_GroupTotal'
    MemberTransactionDetail_Components:
      type: object
      description: Component breakdown of a transaction or balance.
      properties:
        Type:
          $ref: '#/components/schemas/ComponentType'
        Preserved:
          type: number
          format: decimal
          example: 0
          description: Preserved component amount.
        RestrictedNonPreserved:
          type: number
          format: decimal
          example: 0
          description: Restricted non-preserved component amount.
        UnrestrictedNonPreserved:
          type: number
          format: decimal
          example: 44521.72
          description: Unrestricted non-preserved component amount.
        TaxFree:
          type: number
          format: decimal
          example: 31690.91
          description: Tax-free component amount.
        TaxableTaxed:
          type: number
          format: decimal
          example: 12830.81
          description: Taxable taxed component amount.
        TaxableUntaxed:
          type: number
          format: decimal
          example: 0
          description: Taxable untaxed component amount.
        CGTExempt:
          type: number
          format: decimal
          example: 0
          description: Capital gains tax exempt component amount.
        Concessional:
          type: number
          format: decimal
          example: 0
          description: Concessional component amount.
        PostJune1994Invalidity:
          type: number
          format: decimal
          example: 0
          description: Invalidity component post June 1994.
        PrePostJune1983Tax:
          type: number
          format: decimal
          example: 0
          description: Tax component pre and post June 1983.
        Undeducted:
          type: number
          format: decimal
          example: 0
          description: Undeducted component amount.
        Unclassified:
          type: number
          format: decimal
          example: 0
          description: Unclassified component amount.
        Total:
          type: number
          format: decimal
          example: 44521.72
          description: Total component amount.
    MemberTransactionDetail_Event:
      type: object
      description: Event-level transaction details for a member account.
      properties:
        Date:
          type: string
          format: date
          example: '2024-07-01'
          description: Date of the transaction event.
        Name:
          type: string
          example: Lump Sum Cash Payments
          description: Name of the transaction event.
        Description:
          type: string
          example: Member withdrawal
          description: Description of the transaction event.
        Transaction:
          $ref: '#/components/schemas/MemberTransactionDetail_Components'
        TaxFreePercentage:
          type: number
          format: decimal
          example: 27.326
          description: Tax-free percentage applicable to the transaction.
    MemberTransactionDetail_GroupTotal:
      type: object
      description: Group total summary for a member account.
      properties:
        AccountName:
          type: string
          example: ABP2008
          description: Name of the account group.
        Total:
          type: number
          format: decimal
          example: 44521.72
          description: Total amount for the account group.
    MemberTransactionDetail_Member:
      type: object
      description: Member-level transaction details including accounts and ESP date.
      properties:
        MemberId:
          type: string
          example: d12a7891-3588-4d86-8c05-a461ae558d19
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters
        MemberName:
          type: string
          example: John Smith
          description: Full name of the member.
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
        Esp:
          type: string
          format: date
          example: '2003-12-17'
          description: ESP start date for the member.
        EspSpecified:
          type: boolean
          example: true
          description: Indicates whether ESP date is specified.
        Accounts:
          type: array
          items:
            $ref: '#/components/schemas/MemberTransactionDetail_Account'
    MemberTransactionSummary_MemberAccountIncomeExpenseSummary:
      type: object
      description: Income and expense summary for a member account.
      properties:
        MemberAccountName:
          type: string
          example: Accumulation
          description: Name of the member account.
        MemberAccountId:
          type: string
          example: b829b394-4e96-45aa-9226-1920229f2add
          description: Unique identifier for the member account.
        MemberAccountType:
          type: string
          example: Accumulation
          description: Type of the member account.
        OpeningBalance:
          type: number
          format: decimal
          example: 100000
          description: Opening balance amount.
        IncreasesContrib:
          type: number
          format: decimal
          example: 0
          description: Contributions added to the account.
        IncreasesTraIn:
          type: number
          format: decimal
          example: 0
          description: Transfers into the account.
        IncreasesProfit:
          type: number
          format: decimal
          example: 0
          description: Profit increases for the account.
        IncreasesInsPol:
          type: number
          format: decimal
          example: 0
          description: Insurance policy increases.
        DecreasesTax:
          type: number
          format: decimal
          example: 0
          description: Decrease in tax liabilities for the member account.
        DecreasesExp:
          type: number
          format: decimal
          example: 500000
          description: Decrease in expenses for the member account.
        DecreasesInsPol:
          type: number
          format: decimal
          example: 0
          description: Decrease in insurance policy value for the member account.
        DecreasesTraOut:
          type: number
          format: decimal
          example: 0
          description: Decrease in transfers out from the member account.
        DecreasesBenPd:
          type: number
          format: decimal
          example: 0
          description: Decrease in benefit paid for the member account.
        ClosingBalance:
          type: number
          format: decimal
          example: 150000
          description: Closing balance amount.
    MemberTransactionSummary_MembersDetail:
      type: object
      description: Summary of transactions for an individual member.
      properties:
        AddressSummary:
          $ref: '#/components/schemas/AddressSummary'
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
        MemberId:
          type: string
          example: d12a7891-3588-4d86-8c05-a461ae558d19
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters
        MemberName:
          type: string
          example: John Smith
          description: Full name of the member.
        MemberAccountIncomeExpenseSummaries:
          type: array
          items:
            $ref: >-
              #/components/schemas/MemberTransactionSummary_MemberAccountIncomeExpenseSummary
    PensionBalanceStateType:
      type: string
      enum:
        - OverMax
        - UnderMax
        - UnderPlan
        - UnderMin
    PensionLimitReport_BalanceBreakdown:
      type: object
      description: >-
        Breakdown of pension balances including minimum, selected and maximum
        values.
      properties:
        YearToDate:
          type: number
          format: decimal
          example: 10000
          description: Year-to-date pension drawdown amount.
        Minimum:
          type: number
          format: decimal
          example: 12000
          description: Minimum required pension drawdown.
        RequiredForMinimum:
          type: number
          format: decimal
          example: 2000
          description: Amount required to meet the minimum drawdown.
        Selected:
          type: number
          format: decimal
          example: 15000
          description: Selected pension drawdown amount.
        RequiredForSelected:
          type: number
          format: decimal
          example: 5000
          description: Amount required to meet the selected drawdown.
        Maximum:
          type: number
          format: decimal
          example: 30000
          description: Maximum allowable pension drawdown.
        RemainingUntilMax:
          type: number
          format: decimal
          example: 15000
          description: Remaining amount until the maximum drawdown is reached.
        OverMax:
          type: number
          format: decimal
          example: 0
          description: Amount exceeding the maximum drawdown.
    PensionLimitReport_MemberDetail:
      type: object
      description: Details of a member including pension accounts and summary balances.
      properties:
        Id:
          type: string
          example: bc6e82b3-1d04-477c-bd08-aa5235a36ac5
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters
        MemberName:
          type: string
          example: John Smith
          description: Full name of the member.
        MemberNumber:
          type: string
          example: '1'
          description: Member number assigned by the fund.
        PensionDetails:
          type: array
          items:
            $ref: '#/components/schemas/PensionLimitReport_PensionDetail'
        Totals:
          $ref: '#/components/schemas/PensionLimitReport_SummaryBalances'
    PensionLimitReport_PensionDetail:
      type: object
      description: Details of a pension account including drawdowns and balances.
      properties:
        AccountId:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440000
          description: Unique identifier for the account.
        AccountName:
          type: string
          example: My Pension Account
          description: Name of the pension account.
        StartDateInPeriod:
          type: string
          format: date
          example: '2024-07-01'
          description: Start date of the pension within the reporting period.
        PensionStartDate:
          type: string
          format: date
          example: '2007-07-01'
          description: Date the pension account was established.
        PensionEndDate:
          type: string
          format: date
          example: '2025-06-30'
          description: Date the pension account ended.
        Balances:
          $ref: '#/components/schemas/PensionLimitReport_BalanceBreakdown'
        PensionDrawdowns:
          type: array
          items:
            $ref: '#/components/schemas/PensionLimitReport_PensionDrawdown'
        TotalDrawdowns:
          $ref: '#/components/schemas/PensionLimitReport_SummaryDrawdowns'
        BalanceState:
          $ref: '#/components/schemas/PensionBalanceStateType'
        ReviewState:
          $ref: '#/components/schemas/ReviewState'
        TaxFreePercentage:
          type: number
          format: decimal
          example: 27.326
          description: Percentage of the balance that is tax-free.
    PensionLimitReport_PensionDrawdown:
      type: object
      description: Details of a pension drawdown transaction.
      properties:
        PaymentDate:
          type: string
          format: date
          example: '2024-08-01'
          description: Date of the pension payment.
        GrossAmount:
          type: number
          format: decimal
          example: 5000
          description: Gross amount of the pension payment.
        NetAmount:
          type: number
          format: decimal
          example: 4500
          description: Net amount received after deductions.
        PaygAmount:
          type: number
          format: decimal
          example: 500
          description: PAYG tax amount deducted from the pension.
        MatchDate:
          type: string
          format: date
          example: '2024-08-02'
          description: Date the payment was matched.
        MatchDescription:
          type: string
          example: Matched to bank transaction
          description: Description of the match.
    PensionLimitReport_SummaryBalances:
      type: object
      description: >-
        Summary of pension balances including gross, PAYG, and net cash
        components.
      properties:
        GrossDrawdowns:
          $ref: '#/components/schemas/PensionLimitReport_BalanceBreakdown'
        Payg:
          $ref: '#/components/schemas/PensionLimitReport_BalanceBreakdown'
        NetCash:
          $ref: '#/components/schemas/PensionLimitReport_BalanceBreakdown'
    PensionLimitReport_SummaryDrawdowns:
      type: object
      description: Summary of pension drawdowns including gross, PAYG, and net amounts.
      properties:
        GrossAmount:
          type: number
          format: decimal
          example: 15000
          description: Total gross pension drawdown amount.
        PaygAmount:
          type: number
          format: decimal
          example: 1500
          description: Total PAYG tax deducted from pension drawdowns.
        NetAmount:
          type: number
          format: decimal
          example: 13500
          description: Total net pension drawdown amount.
    PensionLimitReport_UnmatchedCashAccountDetails:
      type: object
      description: Account-level details for unmatched cash items.
      properties:
        AccountId:
          type: string
          example: acc001
          description: Unique identifier for the account.
        TotalAmount:
          type: number
          format: decimal
          example: 2500
          description: Total unmatched amount for the account.
        EarliestTransactionDate:
          type: string
          format: date
          example: '2024-01-01'
          description: Earliest transaction date for unmatched cash.
        LatestTransactionDate:
          type: string
          format: date
          example: '2024-06-30'
          description: Latest transaction date for unmatched cash.
    PensionLimitReport_UnmatchedCashItemDetails:
      type: object
      description: >-
        Details of unmatched cash items including total amount and associated
        accounts.
      properties:
        TotalAmount:
          type: number
          format: decimal
          example: 5000
          description: Total amount of unmatched cash items.
        AccountDetails:
          type: array
          items:
            $ref: >-
              #/components/schemas/PensionLimitReport_UnmatchedCashAccountDetails
    PriorYearContributionType:
      type: string
      description: Type of contribution applied in prior years.
      enum:
        - NotApplicable
        - NotApplied
        - Unknown
        - AppliedPreviousYear
        - AppliedTwoYearsPrevious
        - AppliedPreviousYearTwoYearPeriod
        - NotAppliedShortBFPeriodPrior
    ReportSummaries_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.
    ReportSummaries_Administrator:
      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/ReportSummaries_AddressSummary'
    ReportSummaries_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/ReportSummaries_AddressSummary'
        PostalAddress:
          $ref: '#/components/schemas/ReportSummaries_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/ReportSummaries_FundTrusteeSummary'
        AuditorDetails:
          $ref: '#/components/schemas/FundAuditorDetails_AuditorDetails'
        Administrator:
          $ref: '#/components/schemas/ReportSummaries_Administrator'
        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.
    ReportSummaries_FundTaxAgent:
      type: object
      description: >-
        Details of the fund's tax agent including contact and registration
        information.
      properties:
        Id:
          type: string
          example: bc6e82b3-1d04-477c-bd08-aa5235a36ac5
          description: >-
            Unique identifier for the tax agent, in the format of 8-4-4-4-12
            hexadecimal characters
        PostalAddress:
          $ref: '#/components/schemas/ReportSummaries_AddressSummary'
          description: Postal address of the tax agent.
        StreetAddress:
          $ref: '#/components/schemas/ReportSummaries_AddressSummary'
          description: Street address of the tax agent.
        DefaultAddress:
          $ref: '#/components/schemas/ReportSummaries_AddressSummary'
          description: Default address of the tax agent.
        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'
          description: Gender of the tax agent.
        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.
        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.
        ContactName:
          type: string
          example: Oliver Brown
          description: Name of the contact person for the tax agent.
    ReportSummaries_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
          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: abc123
          description: Unique party identifier for the chairperson.
        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: '123456789'
          description: Australian Company Number of the corporate trustee.
        CorporateTrusteeABN:
          type: string
          example: '53004085616'
          description: Australian Business Number of the corporate trustee.
    ReportSummaries_RequestToAdjustConcessionalsReport:
      type: object
      description: >-
        Payload used when requesting adjustments to concessional contributions
        for a financial year.
      properties:
        ContributionDetails:
          type: array
          items:
            $ref: >-
              #/components/schemas/RequestToAdjustConcessionalsReport_MemberContributionDetails
        FundReportingDetails:
          $ref: '#/components/schemas/ReportSummaries_FundReportingDetails'
        FundTaxAgent:
          $ref: '#/components/schemas/ReportSummaries_FundTaxAgent'
        YearContributionsMade:
          type: integer
          format: int32
          example: 2024
          description: Financial year in which contributions were made.
        YearContributionsAllocated:
          type: integer
          format: int32
          example: 2025
          description: Financial year in which contributions were allocated.
        CountOfMembersWithContributions:
          type: integer
          format: int32
          example: 2
          description: Number of members with contributions in the specified year.
    RequestToAdjustConcessionalsReport_MemberContributionDetails:
      type: object
      description: >-
        Details of member contributions used in the concessional adjustment
        request.
      properties:
        Id:
          type: string
          example: bc6e82b3-1d04-477c-bd08-aa5235a36ac5
          description: >-
            Unique identifier for the member, in the format of 8-4-4-4-12
            hexadecimal characters
        GivenName:
          type: string
          example: John
          description: Given name of the member.
        FamilyName:
          type: string
          example: Doe
          description: Family name of the member.
        Title:
          type: string
          example: Mr
          description: Title of the member.
        PostalAddress:
          $ref: '#/components/schemas/ReportSummaries_AddressSummary'
        Mobile:
          type: string
          example: '0412345678'
          description: Mobile phone number of the member.
        HomePhone:
          type: string
          example: '0298765432'
          description: Home phone number of the member.
        WorkPhone:
          type: string
          example: '0287654321'
          description: Work phone number of the member.
        Fax:
          type: string
          example: '0298765432'
          description: Fax number of the member.
        DirectPhone:
          type: string
          example: '0288888888'
          description: Direct phone number of the member.
        EmailAddress:
          type: string
          example: john.doe@example.com
          description: Email address of the member.
        PreferredPhone:
          type: string
          example: Mobile
          description: Preferred phone contact method.
        PersonalContributions:
          type: number
          format: decimal
          example: 5000
          description: Amount of personal contributions made by the member.
        EmployerContributions:
          type: number
          format: decimal
          example: 10000
          description: Amount of employer contributions made for the member.
        TFN:
          type: string
          example: '999999507'
          description: Tax File Number of the member, 9-digits.
        YearContributionsMade:
          type: integer
          format: int32
          example: 2024
          description: Financial year in which contributions were made.
        YearContributionsAllocated:
          type: integer
          format: int32
          example: 2025
          description: Financial year in which contributions were allocated.
        MemberHasContributions:
          type: boolean
          example: true
          description: Indicates whether the member has contributions.
        DateOfBirth:
          type: string
          format: date
          example: '1955-12-31'
          description: Date of birth of the member.
    ReviewState:
      type: string
      enum:
        - Interim
        - Final
        - Calculated
    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
  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
