openapi: 3.0.1
info:
  x-metadata:
    tags:
      - Class Partner
  title: Tax Lodgment Status
  version: 1.0.0001
  description: >-
    The Tax Lodgment Status API endpoints - temporary documentation as we
    transition these endpoints over to to our new API environment. The new
    developer portal will replace this documentation.

    Ensure that you use the new BASE url apigateway.class.com.au



    <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>
  contact:
    name: Class Partners
    email: partners@class.com.au
  termsOfService: https://www.class.com.au/api-terms
servers:
  - url: https://apigateway.class-pie.com.au/api/1.0
    description: Partner Integration Environment (Sandbox)
  - url: https://apigateway.class.com.au/api/1.0
    description: Production Environment
tags:
  - name: Business
    description: >
      Ability to obtain the tax lodgment status at a business level, either for
      a particular year or for a range of years. Allows you to filter by a
      specific status.
  - name: Fund
    description: >
      Ability to obtain the tax lodgment status at a fund level, either for a
      particular year or for a range of years. Allows you to filter by a
      specific status.
paths:
  /b/{businessCode}/tax-lodgments/status:
    get:
      tags:
        - Business
      summary: Tax lodgment status
      description: >-
        Get all active records of fund tax lodgment status data at business
        level for the specified financialYear and status in the sequence of
        latest to earliest.
      operationId: GetBusinessTaxLodgementStatus
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/entityTypeParam'
        - $ref: '#/components/parameters/statusParam'
        - $ref: '#/components/parameters/financialYearParam'
        - name: includeSuspended
          in: query
          required: false
          description: Indicates whether to include suspended entities in the results.
          schema:
            type: boolean
            example: true
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessTaxLodgmentStatusResponse'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: >-
                        #/components/schemas/BusinessTaxLodgmentStatus_ParamError
        '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
          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
    post:
      tags:
        - Business
      summary: Tax lodgment status
      description: >-
        Get all active records of fund tax lodgment status data at business
        level for the specified financialYear and status in the sequence of
        latest to earliest.
      operationId: PostBusinessTaxLodgementStatus
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/statusParam'
        - $ref: '#/components/parameters/financialYearParam'
        - name: entityType
          in: query
          required: true
          description: >-
            Currently we only support <b>SMSF</b>, we will update the additional
            entities when they become available in the future"
          schema:
            type: string
            example: SMSF
        - name: includeSuspended
          in: query
          required: false
          description: Indicates whether to include suspended entities in the results.
          schema:
            type: boolean
            example: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaxLodgmentPostRequest'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessTaxLodgmentStatusResponse'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: >-
                        #/components/schemas/BusinessTaxLodgmentStatus_ParamError
        '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
          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
  /b/{businessCode}/tax-lodgments/history:
    get:
      tags:
        - Business
      summary: Tax lodgment status history
      description: >-
        Get all active records of tax lodgment status data at business level for
        from and to the specified financialYear and for the specified status in
        the sequence of latest to the earliest.
      operationId: GetBusinessTaxLodgementStatusHistory
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/entityTypeParam'
        - $ref: '#/components/parameters/statusParam'
        - $ref: '#/components/parameters/fromFinancialYearParam'
        - $ref: '#/components/parameters/toFinancialYearParam'
        - name: includeSuspended
          in: query
          required: false
          description: Indicates whether to include suspended entities in the results.
          schema:
            type: boolean
            example: true
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessTaxLodgmentStatusResponse'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: >-
                        #/components/schemas/BusinessTaxLodgmentHistory_ParamError
        '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
          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
    post:
      tags:
        - Business
      summary: Tax lodgment status history
      description: >-
        Get all active records of tax lodgment status data at business level for
        from and to the specified financialYear and for the specified status in
        the sequence of latest to the earliest.
      operationId: PostBusinessTaxLodgementStatusHistory
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/statusParam'
        - $ref: '#/components/parameters/fromFinancialYearParam'
        - $ref: '#/components/parameters/toFinancialYearParam'
        - name: entityType
          in: query
          required: true
          description: >-
            Currently we only support <b>SMSF</b>, we will update the additional
            entities when they become available in the future"
          schema:
            type: string
            example: SMSF
        - name: includeSuspended
          in: query
          required: false
          description: Indicates whether to include suspended entities in the results.
          schema:
            type: boolean
            example: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaxLodgmentPostRequest'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessTaxLodgmentStatusResponse'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      type: object
                      properties:
                        Code:
                          type: string
                          example: API_INVALID_PARAMETER
                        Message:
                          type: string
                          example: >-
                            EntityType provided in both URL and body with
                            different values.
        '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
          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}/tax-lodgments/status:
    get:
      tags:
        - Fund
      operationId: getTaxLodgmentStatus
      summary: Tax lodgment status
      description: >
        Returns the tax lodgement status for a fund for a specific financial
        year. It also returns the latest period update and latest year lodged
        for the fund. Lodgement status include tax agent, lodgement date, amount
        due or refundable and audit date if available.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - $ref: '#/components/parameters/financialYearParam'
        - $ref: '#/components/parameters/statusParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaxLodgmentStatusGetResponse'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/TaxLodgmentStatus_ParamError'
        '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}/tax-lodgments/history:
    get:
      tags:
        - Fund
      operationId: getTaxLodgmentStatusHistory
      summary: Tax lodgment status history
      description: >
        Returns the tax lodgment status for a fund for a range of financial
        years. It also returns the latest period update and latest year lodged
        for the fund. Lodgment status include tax agent, lodgment date, amount
        due or refundable and audit date if available. History is provided from
        latest year through to earlier years.
      parameters:
        - $ref: '#/components/parameters/businessCodeParam'
        - $ref: '#/components/parameters/fundCodeParam'
        - $ref: '#/components/parameters/statusParam'
        - $ref: '#/components/parameters/fromFinancialYearParam'
        - $ref: '#/components/parameters/toFinancialYearParam'
      responses:
        '200':
          description: Success (Ok)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaxLodgmentStatusGetResponse'
        '400':
          description: Error Message
          content:
            application/json:
              schema:
                type: object
                properties:
                  Errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/TaxLodgmentHistory_ParamError'
        '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:
  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:
            fund.read: View all fund information
            fund.maintain: View and maintain all fund information
        password:
          tokenUrl: https://apigateway.class-pie.com.au/connect/token
          scopes:
            fund.read: View all fund information
            fund.maintain: View and maintain all fund information
  parameters:
    businessCodeParam:
      name: businessCode
      in: path
      description: Class business code
      required: true
      schema:
        type: string
        example: demo-business
    fundCodeParam:
      name: fundCode
      description: Class entity code
      in: path
      required: true
      schema:
        type: string
        example: demo-fund
    fromFinancialYearParam:
      name: fromFinancialYear
      in: query
      required: true
      description: From Financial Year For The Tax Lodgment
      schema:
        maximum: 2147483647
        minimum: 1
        type: integer
        format: int32
    toFinancialYearParam:
      name: toFinancialYear
      in: query
      required: true
      description: To Financial Year For The Tax Lodgment.
      schema:
        maximum: 2147483647
        minimum: 1
        type: integer
        format: int32
    statusParam:
      name: status
      in: query
      required: false
      description: Tax lodgment status recevied for the financial year
      schema:
        type: string
        enum:
          - NotSubmitted
          - SubmittedToTaxAgent
          - SubmittedToATO
          - LodgmentSucceeded
          - LodgmentFailed
          - RejectedByAgent
          - None
        example: SubmittedToTaxAgent
    financialYearParam:
      name: financialYear
      in: query
      required: false
      description: Financial Year For The Tax Lodgment
      schema:
        maximum: 2147483647
        minimum: 1
        type: integer
        format: int32
    entityTypeParam:
      name: entityType
      in: query
      required: true
      description: >
        Currently we only support <b>SMSF</b>, we will update the additional
        entities when they become available in the future
      schema:
        type: string
        example: SMSF
  schemas:
    ApiError:
      type: object
      properties:
        Code:
          type: string
          nullable: true
          description: Error code identifying the type of error.
          example: API_INVALID_PARAMETER
        Message:
          type: string
          nullable: true
          description: Human-readable description of the error.
          example: An error occurred while processing your request.
      additionalProperties: false
    TaxLodgmentStatus_ParamError:
      anyOf:
        - $ref: '#/components/schemas/FinancialYearError'
        - $ref: '#/components/schemas/StatusError'
    TaxLodgmentHistory_ParamError:
      anyOf:
        - $ref: '#/components/schemas/FromFinancialYearError'
        - $ref: '#/components/schemas/FinancialYearNonZeroError'
    BusinessTaxLodgmentStatus_ParamError:
      anyOf:
        - $ref: '#/components/schemas/FromFinancialYearError'
        - $ref: '#/components/schemas/RequiredEntityTypeError'
        - $ref: '#/components/schemas/StatusError'
    BusinessTaxLodgmentHistory_ParamError:
      anyOf:
        - $ref: '#/components/schemas/FromFinancialYearError'
        - $ref: '#/components/schemas/RequiredEntityTypeError'
        - $ref: '#/components/schemas/StatusError'
    StatusError:
      type: object
      properties:
        Code:
          type: string
          example: API_INVALID_PARAMETER
        Message:
          type: string
          example: Invalid tax lodgement 'status'
    RequiredEntityTypeError:
      type: object
      properties:
        Code:
          type: string
          example: API_INVALID_PARAMETER
        Message:
          type: string
          example: Legal entity type must be provided.
    FinancialYearError:
      type: object
      properties:
        Code:
          type: string
          example: API_INVALID_PARAMETER
        Message:
          type: string
          example: '''financialYear'' must be greater than 0.'
    RequiredFinancialYearError:
      type: object
      properties:
        Code:
          type: string
          example: API_INVALID_PARAMETER
        Message:
          type: string
          example: '''fromFinancialYear'' and ''toFinancialYear'' must be   provided.'
    FromFinancialYearError:
      type: object
      properties:
        Code:
          type: string
          example: API_INVALID_PARAMETER
        Message:
          type: string
          example: '''fromFinancialYear'' must be earlier than   ''toFinancialYear''.'
    FinancialYearNonZeroError:
      type: object
      properties:
        Code:
          type: string
          example: API_INVALID_PARAMETER
        Message:
          type: string
          example: '''fromFinancialYear'' and ''toFinancialYear'' must be   greater than 0'
    UnauthorizedErrorCommon:
      type: object
      properties:
        Code:
          type: string
          example: API_NOT_AUTHORISED
        Message:
          type: string
          example: Not authorised
      xml:
        name: Error
        wrapped: false
    InternalErrorCommon:
      type: object
      properties:
        Code:
          type: string
          example: INTERNAL_SERVER_ERROR
        Message:
          type: string
          example: >-
            An unexpected error occurred on the server. Please   try again
            later.
      xml:
        name: Error
    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
    TaxLodgmentPostRequest:
      type: object
      properties:
        brands:
          type: array
          items:
            type: string
          nullable: true
          description: List of brand codes to filter by.
          example:
            - BRAND_VANGUARD
            - BRAND_BLACKROCK
            - BRAND_FIDELITY
        tags:
          type: array
          items:
            type: string
          nullable: true
          description: List of tag codes to filter by.
          example:
            - FY2023
            - FY2024
            - FY2025
        whiteLabels:
          type: array
          items:
            type: string
          nullable: true
          description: List of white label codes to filter by.
          example:
            - WL_AUS_INVEST_01
            - WL_GLOBAL_GROWTH_02
            - WL_TAX_EFFICIENT_03
        entityType:
          type: string
          nullable: true
          description: Legal entity type to filter by.
          example: SMSF
        includeSuspended:
          type: boolean
          nullable: true
          description: Whether to include suspended entities.
          example: true
      additionalProperties: false
    BusinessTaxLodgmentStatusResponse:
      type: object
      properties:
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
          nullable: true
          readOnly: true
          description: List of errors, if any.
        Data:
          $ref: '#/components/schemas/BusinessTaxLodgmentStatus'
          description: Business tax lodgment status data.
      xml:
        name: taxLodgementStatus xmlns:xsd="http://www.w3.org/2001  /XMLSchema"
        wrapped: false
    BusinessTaxLodgmentStatus:
      type: object
      properties:
        total:
          type: number
          nullable: false
          description: Total number of records returned.
          example: 2
        pageSize:
          type: number
          nullable: false
          description: Number of records per page.
          example: 500
        pageNumber:
          type: number
          nullable: false
          description: Current page number.
          example: 1
        totalPages:
          type: number
          nullable: false
          description: Total number of pages available.
          example: 1
        funds:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/FundOne'
              - $ref: '#/components/schemas/Fund'
          nullable: false
          description: List of funds with their tax lodgment status.
    Fund:
      type: object
      properties:
        entityCode:
          type: string
          nullable: true
          description: Unique code identifying the entity.
          example: demo-fund
        entityName:
          type: string
          nullable: true
          description: Name of the entity.
          example: DEMO_SMSF_2024
        legalType:
          type: string
          nullable: true
          description: Legal type of the entity.
          example: SMSF
        status:
          type: string
          nullable: true
          description: Current status of the entity.
          example: Active
        latestPeriodUpdate:
          type: string
          nullable: true
          description: Date of the latest period update.
          example: 30/06/2024
        latestYearLodged:
          type: integer
          nullable: true
          description: Most recent financial year lodged.
          example: 2024
        tags:
          type: array
          items:
            type: string
          nullable: true
          description: List of tags associated with the fund.
          example:
            - FY2023
            - FY2024
            - FY2025
        financialYears:
          type: array
          items:
            type: integer
          nullable: true
          description: List of financial years with lodgment data.
          example: []
    FundOne:
      type: object
      properties:
        entityCode:
          type: string
          nullable: true
          description: Unique code identifying the entity.
          example: 001_ABC
        entityName:
          type: string
          nullable: true
          description: Name of the entity.
          example: Acme Super Fund
        legalType:
          type: string
          nullable: true
          description: Legal type of the entity.
          example: SMSF
        status:
          type: string
          nullable: true
          description: Current status of the entity.
          example: Active
        latestPeriodUpdate:
          type: string
          nullable: true
          description: Date of the latest period update.
          example: 31/03/2023
        latestYearLodged:
          type: integer
          nullable: true
          description: Most recent financial year lodged.
          example: 2022
        tags:
          type: array
          items:
            type: string
          nullable: true
          description: List of tags associated with the fund.
          example:
            - FY2023
            - FY2024
            - FY2025
        financialYears:
          type: array
          items:
            type: integer
          nullable: true
          description: List of financial years with lodgment data.
          example: []
    FinancialYear:
      type: object
      properties:
        year:
          type: integer
          description: The financial year.
          example: 2023
        lodgments:
          type: array
          items:
            $ref: '#/components/schemas/Lodgment'
          nullable: true
          description: List of lodgment records for the financial year.
      additionalProperties: false
    TaxLodgmentStatusGetResponse:
      type: object
      properties:
        Errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
          nullable: true
          readOnly: true
          description: List of errors, if any.
        Data:
          $ref: '#/components/schemas/TaxLodgmentStatus'
          description: Tax lodgment status data for the fund.
      xml:
        name: taxLodgementStatus xmlns:xsd="http://www.w3.org/2001  /XMLSchema"
        wrapped: false
    TaxLodgmentStatus:
      type: object
      properties:
        entityCode:
          type: string
          nullable: true
          description: Unique code identifying the entity.
          example: demo-fund
        entityName:
          type: string
          nullable: true
          description: Name of the entity.
          example: DEMO_SMSF_2024
        legalType:
          type: string
          nullable: true
          description: Legal type of the entity.
          example: SMSF
        status:
          type: string
          nullable: true
          description: Current status of the entity.
          example: Active
        latestPeriodUpdate:
          type: string
          nullable: true
          description: Date of the latest period update.
          example: 30/06/2024
        latestYearLodged:
          type: integer
          format: int32
          nullable: true
          description: Most recent financial year lodged.
          example: 2023
        tags:
          type: array
          items:
            type: string
          nullable: true
          description: List of tags associated with the fund.
          example:
            - FY2025
            - FY2024
            - TAX2024
            - SMSF Tag
        financialYears:
          type: array
          items:
            $ref: '#/components/schemas/FinancialYear'
          nullable: false
          description: List of financial years with their lodgment details.
      additionalProperties: false
    Lodgment:
      type: object
      properties:
        lodgmentStatus:
          type: string
          nullable: true
          description: Current status of the tax lodgment.
          example: LodgmentSucceeded
        taxAgent:
          type: string
          nullable: true
          description: Name of the tax agent handling the lodgment.
          example: Mr Bob Johnson
        transmissionId:
          type: string
          nullable: true
          description: Unique transmission identifier for the lodgment.
          example: KGYLX3GOFCMF5KWR
        amountDue:
          type: number
          format: double
          nullable: true
          description: Amount due or refundable for the lodgment.
          example: -3203.87
        lodgmentDate:
          type: string
          nullable: true
          description: Date when the lodgment was submitted.
          example: 18/04/2024
        auditDate:
          type: string
          nullable: true
          description: Date of the audit, if applicable.
          example: 31/05/2023
