Australian Energy Regulator Energy Accounts API

Energy Account endpoints

Operations 4

GET /energy/accounts Get Energy Accounts #
GET /energy/accounts/{accountId} Get Energy Account Detail #
GET /energy/accounts/{accountId}/payment-schedule Get Agreed Payment Schedule #
GET /energy/accounts/{accountId}/concessions Get Concessions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aer-energy-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aer-energy-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CDR Energy Energy Accounts API
  version: 1.36.0
  description: Specifications for resource endpoints applicable to data holders in the Energy sector.
  contact:
    name: Data Standards Body
    email: contact@dsb.gov.au
    url: https://dsb.gov.au/
servers:
- description: MTLS
  url: https://mtls.dh.example.com/cds-au/v1
tags:
- name: Energy Accounts
  x-shortName: Accounts
  description: Energy Account endpoints
paths:
  /energy/accounts:
    get:
      summary: Get Energy Accounts
      operationId: listEnergyAccounts
      description: 'Obtain the list of energy accounts available under the authorised consent.


        Other Versions: [v1](includes/obsolete/get-energy-accounts-v1.html).'
      x-scopes:
      - energy:accounts.basic:read
      tags:
      - Energy Accounts
      x-version: '2'
      parameters:
      - $ref: '#/components/parameters/QueryEnergyAccountOpenStatus'
      - $ref: '#/components/parameters/QueryPage'
      - $ref: '#/components/parameters/QueryPageSize'
      - $ref: '#/components/parameters/HeaderXV'
      - $ref: '#/components/parameters/HeaderXMinV'
      - $ref: '#/components/parameters/HeaderXFAPIInteractionId'
      - $ref: '#/components/parameters/HeaderXFAPIAuthDate'
      - $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
      - $ref: '#/components/parameters/HeaderXCDSClientHeaders'
      responses:
        '200':
          $ref: '#/components/responses/ListEnergyAccounts200'
        '400':
          $ref: '#/components/responses/ListEnergyAccounts400'
        '406':
          $ref: '#/components/responses/ListEnergyAccounts406'
        '422':
          $ref: '#/components/responses/ListEnergyAccounts422'
  /energy/accounts/{accountId}:
    get:
      summary: Get Energy Account Detail
      operationId: getEnergyAccountDetail
      description: 'Obtain detailed information for a specific energy account.


        Other Versions: [v1](includes/obsolete/get-energy-account-detail-v1.html), [v2](includes/obsolete/get-energy-account-detail-v2.html), [v3](includes/obsolete/get-energy-account-detail-v3.html).'
      x-scopes:
      - energy:accounts.detail:read
      tags:
      - Energy Accounts
      x-version: '4'
      x-version-notes: The <i>dailySupplyChargeType</i> field was added in endpoint v3 as part of Standards v1.30.0. In Standards v1.32.0, the description of that field was changed to remove the default value, but it did not result in a new endpoint version. Refer to the [v1.32.0 release notes](includes/releasenotes/releasenotes.1.32.0.html) for more details.
      parameters:
      - $ref: '#/components/parameters/PathAccountId'
      - $ref: '#/components/parameters/HeaderXV'
      - $ref: '#/components/parameters/HeaderXMinV'
      - $ref: '#/components/parameters/HeaderXFAPIInteractionId'
      - $ref: '#/components/parameters/HeaderXFAPIAuthDate'
      - $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
      - $ref: '#/components/parameters/HeaderXCDSClientHeaders'
      responses:
        '200':
          $ref: '#/components/responses/GetEnergyAccountDetail200'
        '400':
          $ref: '#/components/responses/GetEnergyAccountDetail400'
        '404':
          $ref: '#/components/responses/GetEnergyAccountDetail404'
        '406':
          $ref: '#/components/responses/GetEnergyAccountDetail406'
  /energy/accounts/{accountId}/payment-schedule:
    get:
      summary: Get Agreed Payment Schedule
      operationId: getEnergyAccountPaymentSchedule
      description: "Obtain the agreed payment schedule and details, if any, for a specific energy account.\n\nSome general notes about this endpoint:\n\n <ul><li>This API describes how the consumer has elected to pay for their account</li><li>Payments initiated by the consumer are classified as manual payments. The billing frequency is captured for manual payments. The consumer may choose to pay on a different schedule/frequency. The payment method and frequency is not captured for manual payments</li><li>Payments that can be initiated by the retailer, based on a consumer's preferences and permission, include payments based on a direct debit, card debit or digital wallet setup. Each of these requires a payment frequency to be provided along with other relevant fields</li><li>Information about payment plans related to debt repayments or arrangements due to hardship is not captured within this API.</li></ul>"
      x-scopes:
      - energy:accounts.paymentschedule:read
      tags:
      - Energy Accounts
      x-version: '1'
      parameters:
      - $ref: '#/components/parameters/PathAccountId'
      - $ref: '#/components/parameters/HeaderXV'
      - $ref: '#/components/parameters/HeaderXMinV'
      - $ref: '#/components/parameters/HeaderXFAPIInteractionId'
      - $ref: '#/components/parameters/HeaderXFAPIAuthDate'
      - $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
      - $ref: '#/components/parameters/HeaderXCDSClientHeaders'
      responses:
        '200':
          $ref: '#/components/responses/GetEnergyAccountPaymentSchedule200'
        '400':
          $ref: '#/components/responses/GetEnergyAccountPaymentSchedule400'
        '404':
          $ref: '#/components/responses/GetEnergyAccountPaymentSchedule404'
        '406':
          $ref: '#/components/responses/GetEnergyAccountPaymentSchedule406'
  /energy/accounts/{accountId}/concessions:
    get:
      summary: Get Concessions
      operationId: getEnergyAccountConcessions
      description: Obtain the details of any concessions or arrangements applied to a specific energy account.
      x-scopes:
      - energy:accounts.concessions:read
      tags:
      - Energy Accounts
      x-version: '1'
      parameters:
      - $ref: '#/components/parameters/PathAccountId'
      - $ref: '#/components/parameters/HeaderXV'
      - $ref: '#/components/parameters/HeaderXMinV'
      - $ref: '#/components/parameters/HeaderXFAPIInteractionId'
      - $ref: '#/components/parameters/HeaderXFAPIAuthDate'
      - $ref: '#/components/parameters/HeaderXFAPICustomerIPAddress'
      - $ref: '#/components/parameters/HeaderXCDSClientHeaders'
      responses:
        '200':
          $ref: '#/components/responses/GetEnergyAccountConcessions200'
        '400':
          $ref: '#/components/responses/GetEnergyAccountConcessions400'
        '404':
          $ref: '#/components/responses/GetEnergyAccountConcessions404'
        '406':
          $ref: '#/components/responses/GetEnergyAccountConcessions406'
components:
  parameters:
    HeaderXFAPIInteractionId:
      name: x-fapi-interaction-id
      description: An **[[RFC4122]](#nref-RFC4122)** UUID used as a correlation id. If provided, the data holder **MUST** play back this value in the _x-fapi-interaction-id_ response header. If not provided a **[[RFC4122]](#nref-RFC4122)** UUID value is required to be provided in the response header to track the interaction.
      in: header
      schema:
        type: string
    HeaderXV:
      name: x-v
      description: Version of the API endpoint requested by the client. Must be set to a positive integer. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If the value of [_x-min-v_](#request-headers) is equal to or higher than the value of [_x-v_](#request-headers) then the [_x-min-v_](#request-headers) header should be treated as absent. If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`. See [HTTP Headers](#request-headers).
      in: header
      required: true
      schema:
        type: string
    HeaderXFAPICustomerIPAddress:
      name: x-fapi-customer-ip-address
      description: The customer's original IP address if the customer is currently logged in to the data recipient. The presence of this header indicates that the API is being called in a customer present context. Not to be included for unauthenticated calls.
      in: header
      schema:
        type: string
    PathAccountId:
      name: accountId
      in: path
      description: The _accountId_ to obtain data for. _accountId_ values are returned by account list endpoints.
      required: true
      schema:
        $ref: '#/components/schemas/EnergyAccountId'
    HeaderXCDSClientHeaders:
      name: x-cds-client-headers
      description: The customer's original standard http headers [Base64](#common-field-types) encoded, including the original User-Agent header, if the customer is currently logged in to the data recipient. Mandatory for customer present calls. Not required for unattended or unauthenticated calls.
      in: header
      x-conditional: true
      schema:
        type: string
      x-cds-type: Base64
    QueryPageSize:
      name: page-size
      description: Page size to request. Default is 25 (standard pagination).
      in: query
      schema:
        type: integer
        default: '25'
      x-cds-type: PositiveInteger
    HeaderXFAPIAuthDate:
      name: x-fapi-auth-date
      description: The time when the customer last logged in to the Data Recipient Software Product as described in **[[FAPI-1.0-Baseline]](#nref-FAPI-1-0-Baseline)**. Required for all resource calls (customer present and unattended). Not required for unauthenticated calls.
      in: header
      x-conditional: true
      schema:
        type: string
    QueryEnergyAccountOpenStatus:
      name: open-status
      in: query
      description: Used to filter results according to open/closed status. Values can be `OPEN`, `CLOSED` or `ALL`. If absent then `ALL` is assumed.
      schema:
        type: string
        default: ALL
        enum:
        - ALL
        - CLOSED
        - OPEN
    QueryPage:
      name: page
      description: Page of results to request (standard pagination).
      in: query
      schema:
        type: integer
        default: '1'
      x-cds-type: PositiveInteger
    HeaderXMinV:
      name: x-min-v
      description: Minimum version of the API endpoint requested by the client. Must be set to a positive integer if provided. The endpoint should respond with the highest supported version between [_x-min-v_](#request-headers) and [_x-v_](#request-headers). If all versions requested are not supported then the endpoint **MUST** respond with a `406 Not Acceptable`.
      in: header
      schema:
        type: string
  responses:
    GetEnergyAccountPaymentSchedule406:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountDetail400:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountPaymentSchedule400:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListEnergyAccounts200:
      description: Successful response
      headers:
        x-v:
          $ref: '#/components/headers/XV'
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyAccountListResponseV2'
    GetEnergyAccountConcessions400:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountPaymentSchedule200:
      description: Successful response
      headers:
        x-v:
          $ref: '#/components/headers/XV'
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyPaymentScheduleResponse'
    GetEnergyAccountConcessions200:
      description: Successful response
      headers:
        x-v:
          $ref: '#/components/headers/XV'
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyConcessionsResponse'
    ListEnergyAccounts406:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountDetail404:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Energy Account](#error-404-unavailable-energy-account)</li><li>[404 - Invalid Energy Account](#error-404-invalid-energy-account)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountDetail406:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountConcessions404:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Energy Account](#error-404-unavailable-energy-account)</li><li>[404 - Invalid Energy Account](#error-404-invalid-energy-account)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    ListEnergyAccounts422:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountDetail200:
      description: Successful response
      headers:
        x-v:
          $ref: '#/components/headers/XV'
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnergyAccountDetailResponseV4'
    ListEnergyAccounts400:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Required Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountConcessions406:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
    GetEnergyAccountPaymentSchedule404:
      description: The following error codes **MUST** be supported:<br/><ul class="error-code-list"><li>[404 - Unavailable Energy Account](#error-404-unavailable-energy-account)</li><li>[404 - Invalid Energy Account](#error-404-invalid-energy-account)</li></ul>
      headers:
        x-fapi-interaction-id:
          $ref: '#/components/headers/XFAPIInteractionId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ResponseErrorListV2'
  schemas:
    LinksPaginated:
      type: object
      required:
      - self
      x-conditional:
      - first
      - prev
      - next
      - last
      properties:
        self:
          type: string
          description: Fully qualified link that generated the current response document.
          x-cds-type: URIString
        first:
          type: string
          description: URI to the first page of this set. Mandatory if this response is not the first page.
          x-cds-type: URIString
        prev:
          type: string
          description: URI to the previous page of this set. Mandatory if this response is not the first page.
          x-cds-type: URIString
        next:
          type: string
          description: URI to the next page of this set. Mandatory if this response is not the last page.
          x-cds-type: URIString
        last:
          type: string
          description: URI to the last page of this set. Mandatory if this response is not the last page.
          x-cds-type: URIString
    EnergyConcession:
      type: object
      required:
      - type
      - displayName
      x-conditional:
      - additionalInfo
      - discountFrequency
      - amount
      - percentage
      properties:
        type:
          description: Indicator of the method of concession calculation.
          type: string
          enum:
          - FIXED_AMOUNT
          - FIXED_PERCENTAGE
          - VARIABLE
        displayName:
          description: The display name of the concession.
          type: string
        additionalInfo:
          description: Display text providing more information on the concession. Mandatory if _type_ is `VARIABLE`.
          type: string
        additionalInfoUri:
          description: Optional link to additional information regarding the concession.
          type: string
          x-cds-type: URIString
        startDate:
          description: Optional start date for the application of the concession.
          type: string
          x-cds-type: DateString
        endDate:
          description: Optional end date for the application of the concession.
          type: string
          x-cds-type: DateString
        discountFrequency:
          description: Conditional attribute for frequency at which a concession is applied. Required if type is `FIXED_AMOUNT` or `FIXED_PERCENTAGE`. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
          type: string
          x-cds-type: ExternalRef
        amount:
          description: Conditional attribute for the amount of discount for the concession- required if type is `FIXED_AMOUNT`.
          type: string
          x-cds-type: AmountString
        percentage:
          description: Conditional attribute for the percentage of discount of concession - required if type is `FIXED_PERCENTAGE`.
          type: string
          x-cds-type: RateString
        appliedTo:
          description: Array of ENUMs to specify what the concession applies to. Multiple ENUM values can be provided. If absent, `USAGE` is assumed.
          type: array
          default:
          - USAGE
          items:
            type: string
            enum:
            - INVOICE
            - USAGE
            - SERVICE_CHARGE
            - CONTROLLED_LOAD
    EnergyAccountBaseV2:
      type: object
      required:
      - accountId
      x-conditional:
      - creationDate
      properties:
        accountId:
          description: Unique identifier for the account.
          allOf:
          - $ref: '#/components/schemas/EnergyAccountId'
        accountNumber:
          description: Optional identifier of the account as defined by the data holder. This must be the value presented on physical statements (if it exists) and must not be used for the value of _accountId_.
          type: string
        displayName:
          description: An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder.
          type: string
        openStatus:
          type: string
          description: Open or closed status for the account. If not present then `OPEN` is assumed.
          default: OPEN
          enum:
          - CLOSED
          - OPEN
        creationDate:
          description: The date that the account was created or opened. Mandatory if _openStatus_ is `OPEN`.
          type: string
          x-cds-type: DateString
    EnergyPlanDiscounts:
      type: object
      required:
      - displayName
      - type
      - methodUType
      x-conditional:
      - percentOfBill
      - percentOfUse
      - fixedAmount
      - percentOverThreshold
      properties:
        displayName:
          type: string
          description: The display name of the discount.
        description:
          type: string
          description: The description of the discount.
        type:
          type: string
          description: The type of the discount.
          enum:
          - CONDITIONAL
          - GUARANTEED
          - OTHER
        category:
          type: string
          description: The type of the discount. Mandatory if the discount _type_ is `CONDITIONAL`.
          enum:
          - PAY_ON_TIME
          - DIRECT_DEBIT
          - GUARANTEED_DISCOUNT
          - OTHER
        endDate:
          type: string
          x-cds-type: DateString
          description: Optional end date for the discount after which the discount is no longer available.
        methodUType:
          type: string
          description: The method of calculation of the discount.
          enum:
          - percentOfBill
          - percentOfUse
          - fixedAmount
          - percentOverThreshold
        percentOfBill:
          type: object
          description: Required if _methodUType_ is `percentOfBill`.
          required:
          - rate
          properties:
            rate:
              type: string
              x-cds-type: RateString
              description: The rate of the discount applied to the bill amount.
        percentOfUse:
          type: object
          description: Required if _methodUType_ is `percentOfUse`.
          required:
          - rate
          properties:
            rate:
              type: string
              x-cds-type: RateString
              description: The rate of the discount applied to the _usageamount_.
        fixedAmount:
          type: object
          description: Required if _methodUType_ is `fixedAmount`.
          required:
          - amount
          properties:
            amount:
              type: string
              x-cds-type: AmountString
              description: The amount of the discount.
        percentOverThreshold:
          type: object
          description: Required if _methodUType_ is `percentOverThreshold`.
          required:
          - rate
          - usageAmount
          properties:
            rate:
              type: string
              x-cds-type: RateString
              description: The rate of the discount over the usage amount.
            usageAmount:
              type: string
              x-cds-type: AmountString
              description: The usage amount threshold above which the discount applies.
    EnergyPaymentSchedule:
      type: object
      required:
      - paymentScheduleUType
      x-conditional:
      - cardDebit
      - directDebit
      - manualPayment
      - digitalWallet
      properties:
        amount:
          description: Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smoothing scenarios).
          type: string
          x-cds-type: AmountString
        paymentScheduleUType:
          description: The type of object present in this response.
          type: string
          enum:
          - cardDebit
          - directDebit
          - manualPayment
          - digitalWallet
        cardDebit:
          description: Represents a regular credit card payment schedule. Mandatory if _paymentScheduleUType_ is set to `cardDebit`.
          type: object
          required:
          - cardScheme
          - paymentFrequency
          - calculationType
          properties:
            cardScheme:
              description: The type of credit card held on file.
              type: string
              enum:
              - VISA
              - MASTERCARD
              - AMEX
              - DINERS
              - OTHER
              - UNKNOWN
            paymentFrequency:
              description: The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
              type: string
              x-cds-type: ExternalRef
            calculationType:
              description: 'The mechanism by which the payment amount is calculated. Explanation of values are as follows:<br/><ul><li>`STATIC`: Indicates a consistent, static amount, per payment</li><li>`BALANCE`: Indicates that the outstanding balance for the account is paid per period</li><li>`CALCULATED`: Indicates that the payment amount is variable and calculated using a pre-defined algorithm.</li></ul>'
              type: string
              enum:
              - STATIC
              - BALANCE
              - CALCULATED
        directDebit:
          description: Represents a regular direct debit from a specified bank account. Mandatory if _paymentScheduleUType_ is set to `directDebit`.
          type: object
          required:
          - paymentFrequency
          - calculationType
          x-conditional:
          - bsb
          - accountNumber
          properties:
            isTokenised:
              description: Flag indicating that the account details are tokenised, or held in a closed system, and is not accessible through any other channels. `false` if absent.
              default: false
              type: boolean
            bsb:
              description: The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if _isTokenised_ is absent or `false`.
              type: string
            accountNumber:
              description: The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if _isTokenised_ is absent or `false`.
              type: string
            paymentFrequency:
              description: The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
              type: string
              x-cds-type: ExternalRef
            calculationType:
              description: 'The mechanism by which the payment amount is calculated. Explanation of values are as follows:<br/><ul><li>`STATIC`: Indicates a consistent, static amount, per payment</li><li>`BALANCE`: Indicates that the outstanding balance for the account is paid per period</li><li>`CALCULATED`: Indicates that the payment amount is variable and calculated using a pre-defined algorithm.</li></ul>'
              type: string
              enum:
              - STATIC
              - BALANCE
              - CALCULATED
        digitalWallet:
          description: Represents a regular payment from a digital wallet. Mandatory if _paymentScheduleUType_ is set to `digitalWallet`.
          type: object
          required:
          - name
          - identifier
          - type
          - provider
          - paymentFrequency
          - calculationType
          properties:
            name:
              type: string
              description: The display name of the wallet as given by the customer, else a default value defined by the data holder.
            identifier:
              type: string
              description: The identifier of the digital wallet (dependent on type).
            type:
              type: string
              description: The type of the digital wallet identifier.
              enum:
              - EMAIL
              - CONTACT_NAME
              - TELEPHONE
            provider:
              type: string
              description: The provider of the digital wallet.
              enum:
              - PAYPAL_AU
              - OTHER
            paymentFrequency:
              description: The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
              type: string
              x-cds-type: ExternalRef
            calculationType:
              description: 'The mechanism by which the payment amount is calculated. Explanation of values are as follows:<br/><ul><li>`STATIC`: Indicates a consistent, static amount, per payment</li><li>`BALANCE`: Indicates that the outstanding balance for the account is paid per period</li><li>`CALCULATED`: Indicates that the payment amount is variable and calculated using a pre-defined algorithm.</li></ul>'
              type: string
              enum:
              - STATIC
              - BALANCE
              - CALCULATED
        manualPayment:
          description: Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if _paymentScheduleUType_ is set to `manualPayment`.
          type: object
          required:
          - billFrequency
          properties:
            billFrequency:
              description: The frequency with which a bill will be issued. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax).
              type: string
              x-cds-type: ExternalRef
    EnergyAccountDetailResponseV4:
      type: object
      required:
      - data
      - links
      properties:
        data:
          $ref: '#/components/schemas/EnergyAccountDetailV4'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    EnergyConcessionsResponse:
      type: object
      required:
      - data
      - links
      properties:
        data:
          type: object
          required:
          - concessions
          properties:
            concessions:
              description: Array may be empty if no concessions exist.
              type: array
              items:
                $ref: '#/components/schemas/EnergyConcession'
        links:
          $ref: '#/components/schemas/Links'
        meta:
          $ref: '#/components/schemas/Meta'
    EnergyPlanIncentives:
      type: object
      required:
      - displ

# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aer/refs/heads/main/openapi/aer-energy-accounts-api-openapi.yml