Australian Energy Regulator Energy Account Billing API

Energy Account Billing endpoints

Operations 6

GET /energy/accounts/{accountId}/invoices Get Invoices For Account #
GET /energy/accounts/invoices Get Bulk Invoices #
POST /energy/accounts/invoices Get Invoices For Specific Accounts #
GET /energy/accounts/{accountId}/billing Get Billing For Account #
GET /energy/accounts/billing Get Bulk Billing #
POST /energy/accounts/billing Get Billing For Specific Accounts #

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-account-billing-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-account-billing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CDR Energy Energy Account Billing 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 Account Billing
  x-shortName: Billing
  description: Energy Account Billing endpoints
paths:
  /energy/accounts/{accountId}/invoices:
    get:
      summary: Get Invoices For Account
      operationId: getEnergyAccountInvoices
      description: Obtain the invoices for a specific account.
      x-scopes:
      - energy:billing:read
      tags:
      - Energy Account Billing
      x-version: '1'
      parameters:
      - $ref: '#/components/parameters/PathAccountId'
      - $ref: '#/components/parameters/QueryNewestDateInvoices'
      - $ref: '#/components/parameters/QueryOldestDateInvoices'
      - $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/GetEnergyAccountInvoices200'
        '400':
          $ref: '#/components/responses/GetEnergyAccountInvoices400'
        '404':
          $ref: '#/components/responses/GetEnergyAccountInvoices404'
        '406':
          $ref: '#/components/responses/GetEnergyAccountInvoices406'
        '422':
          $ref: '#/components/responses/GetEnergyAccountInvoices422'
  /energy/accounts/invoices:
    get:
      summary: Get Bulk Invoices
      operationId: listEnergyAccountInvoicesBulk
      description: Obtain the invoices for all accounts.
      x-scopes:
      - energy:billing:read
      tags:
      - Energy Account Billing
      x-version: '1'
      parameters:
      - $ref: '#/components/parameters/QueryNewestDateInvoices'
      - $ref: '#/components/parameters/QueryOldestDateInvoices'
      - $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/ListEnergyAccountInvoicesBulk200'
        '400':
          $ref: '#/components/responses/ListEnergyAccountInvoicesBulk400'
        '406':
          $ref: '#/components/responses/ListEnergyAccountInvoicesBulk406'
        '422':
          $ref: '#/components/responses/ListEnergyAccountInvoicesBulk422'
    post:
      summary: Get Invoices For Specific Accounts
      operationId: listEnergyInvoicesForSpecificAccounts
      description: Obtain invoices for a specified set of accounts.
      x-scopes:
      - energy:billing:read
      tags:
      - Energy Account Billing
      x-version: '1'
      parameters:
      - $ref: '#/components/parameters/QueryNewestDateInvoices'
      - $ref: '#/components/parameters/QueryOldestDateInvoices'
      - $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'
      requestBody:
        $ref: '#/components/requestBodies/RequestAccountIds'
      responses:
        '200':
          $ref: '#/components/responses/ListEnergyInvoicesForSpecificAccounts200'
        '400':
          $ref: '#/components/responses/ListEnergyInvoicesForSpecificAccounts400'
        '406':
          $ref: '#/components/responses/ListEnergyInvoicesForSpecificAccounts406'
        '422':
          $ref: '#/components/responses/ListEnergyInvoicesForSpecificAccounts422'
  /energy/accounts/{accountId}/billing:
    get:
      summary: Get Billing For Account
      operationId: getBillingForEnergyAccount
      description: "Obtain the billing transactions for a specific account.\n\nDeprecated Versions: \n\n- [v1](includes/obsolete/get-billing-for-account-v1.html) - This version is to be ceased to be called by data recipients by September 9th 2024 and **MAY** be decommissioned by data holders as of that date \n- [v2](includes/obsolete/get-billing-for-account-v2.html) - This version **MAY** be retired by September 9th 2024 if v3 is implemented."
      x-scopes:
      - energy:billing:read
      tags:
      - Energy Account Billing
      x-version: '3'
      parameters:
      - $ref: '#/components/parameters/PathAccountId'
      - $ref: '#/components/parameters/QueryNewestTime'
      - $ref: '#/components/parameters/QueryOldestTime'
      - $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/GetBillingForEnergyAccount200'
        '400':
          $ref: '#/components/responses/GetBillingForEnergyAccount400'
        '404':
          $ref: '#/components/responses/GetBillingForEnergyAccount404'
        '406':
          $ref: '#/components/responses/GetBillingForEnergyAccount406'
        '422':
          $ref: '#/components/responses/GetBillingForEnergyAccount422'
  /energy/accounts/billing:
    get:
      summary: Get Bulk Billing
      operationId: listEnergyAccountBillingBulk
      description: "Obtain billing transactions for all accounts.\n\nDeprecated Versions: \n\n- [v1](includes/obsolete/get-bulk-billing-v1.html) - This version is to be ceased to be called by data recipients by September 9th 2024 and **MAY** be decommissioned by data holders as of that date \n- [v2](includes/obsolete/get-bulk-billing-v2.html) - This version **MAY** be retired by September 9th 2024 if v3 is implemented."
      x-scopes:
      - energy:billing:read
      tags:
      - Energy Account Billing
      x-version: '3'
      parameters:
      - $ref: '#/components/parameters/QueryNewestTime'
      - $ref: '#/components/parameters/QueryOldestTime'
      - $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/ListEnergyAccountBillingBulk200'
        '400':
          $ref: '#/components/responses/ListEnergyAccountBillingBulk400'
        '406':
          $ref: '#/components/responses/ListEnergyAccountBillingBulk406'
        '422':
          $ref: '#/components/responses/ListEnergyAccountBillingBulk422'
    post:
      summary: Get Billing For Specific Accounts
      operationId: listEnergyAccountBillingForSpecificAccounts
      description: "Obtain billing for a specified set of accounts.\n\nDeprecated Versions: \n\n- [v1](includes/obsolete/get-billing-for-specific-accounts-v1.html) - This version is to be ceased to be called by data recipients by September 9th 2024 and **MAY** be decommissioned by data holders as of that date \n- [v2](includes/obsolete/get-billing-for-specific-accounts-v2.html) - This version **MAY** be retired by September 9th 2024 if v3 is implemented."
      x-scopes:
      - energy:billing:read
      tags:
      - Energy Account Billing
      x-version: '3'
      parameters:
      - $ref: '#/components/parameters/QueryNewestTime'
      - $ref: '#/components/parameters/QueryOldestTime'
      - $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'
      requestBody:
        $ref: '#/components/requestBodies/RequestAccountIds'
      responses:
        '200':
          $ref: '#/components/responses/ListEnergyAccountBillingForSpecificAccounts200'
        '400':
          $ref: '#/components/responses/ListEnergyAccountBillingForSpecificAccounts400'
        '406':
          $ref: '#/components/responses/ListEnergyAccountBillingForSpecificAccounts406'
        '422':
          $ref: '#/components/responses/ListEnergyAccountBillingForSpecificAccounts422'
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
    QueryNewestDateInvoices:
      name: newest-date
      in: query
      description: Constrain the request to records with issue date at or before this date. If absent defaults to current date. Format is aligned to DateString common type.
      schema:
        type: string
      x-cds-type: DateString
    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
    QueryOldestTime:
      name: oldest-time
      in: query
      description: Constrain the request to records with effective time at or after this date/time. If absent defaults to _newest-time_ minus 12 months. Format is aligned to DateTimeString common type.
      schema:
        type: string
      x-cds-type: DateTimeString
    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
    QueryOldestDateInvoices:
      name: oldest-date
      in: query
      description: Constrain the request to records with issue date at or after this date. If absent defaults to _newest-date_ minus 24 months. Format is aligned to DateString common type.
      schema:
        type: string
      x-cds-type: DateString
    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
    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
    QueryNewestTime:
      name: newest-time
      in: query
      description: Constrain the request to records with effective time at or before this date/time. If absent defaults to current date/time. Format is aligned to DateTimeString common type.
      schema:
        type: string
      x-cds-type: DateTimeString
  schemas:
    EnergyBillingUsageTransactionV2:
      type: object
      required:
      - timeOfUseType
      - startDate
      - endDate
      - usage
      - amount
      properties:
        servicePointId:
          description: Unique identifier for the service point.
          allOf:
          - $ref: '#/components/schemas/EnergyServicePointId'
        invoiceNumber:
          description: The number of the invoice in which this transaction is included if it has been issued.
          type: string
        timeOfUseType:
          description: The time of use type that the transaction applies to.
          type: string
          enum:
          - PEAK
          - OFF_PEAK
          - OFF_PEAK_DEMAND_CHARGE
          - SHOULDER
          - SHOULDER1
          - SHOULDER2
          - CONTROLLED_LOAD
          - SOLAR
          - AGGREGATE
          - ALL_DAY
        description:
          description: Optional description of the transaction that can be used for display purposes.
          type: string
        isEstimate:
          description: Flag indicating if the usage is estimated or actual. `true` indicates estimate. `false` or absent indicates actual.
          default: false
          type: boolean
        startDate:
          description: Date and time when the usage period starts.
          type: string
          x-cds-type: DateTimeString
        endDate:
          description: Date and time when the usage period ends.
          type: string
          x-cds-type: DateTimeString
        measureUnit:
          type: string
          description: The measurement unit of rate. Assumed to be `KWH` if absent.
          default: KWH
          allOf:
          - $ref: '#/components/schemas/MeasureUnitEnum'
        usage:
          description: The usage for the period in measure unit. A negative value indicates power generated.
          type: number
        amount:
          description: The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit.
          type: string
          x-cds-type: AmountString
        calculationFactors:
          description: Additional calculation factors that inform the transaction.
          type: array
          items:
            type: object
            required:
            - value
            - type
            properties:
              value:
                description: The value of the calculation factor.
                type: number
              type:
                description: The type of the calculation factor.
                type: string
                enum:
                - DLF
                - MLF
        adjustments:
          description: Optional array of adjustments arising for this transaction.
          type: array
          items:
            type: object
            required:
            - amount
            - description
            properties:
              amount:
                description: The amount of the adjustment.
                type: string
                x-cds-type: AmountString
              description:
                description: A free text description of the adjustment.
                type: string
    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
    EnergyInvoiceGasUsageCharges:
      type: object
      required:
      - totalUsageCharges
      - totalGenerationCredits
      - totalOnceOffCharges
      - totalOnceOffDiscounts
      properties:
        totalUsageCharges:
          description: The aggregate total of usage charges for the period covered by the invoice (exclusive of GST).
          type: string
          x-cds-type: AmountString
        totalGenerationCredits:
          description: The aggregate total of generation credits for the period covered by the invoice (exclusive of GST).
          type: string
          x-cds-type: AmountString
        totalOnceOffCharges:
          description: The aggregate total of any once off charges arising from gas usage for the period covered by the invoice (exclusive of GST).
          type: string
          x-cds-type: AmountString
        totalOnceOffDiscounts:
          description: The aggregate total of any once off discounts or credits arising from gas usage for the period covered by the invoice (exclusive of GST).
          type: string
          x-cds-type: AmountString
        otherCharges:
          description: Optional array of charges that may be part of the invoice (for e.g., environmental charges for C&I consumers) (exclusive of GST).
          type: array
          items:
            type: object
            required:
            - amount
            - description
            properties:
              type:
                description: Type of charge. Assumed to be `OTHER` if absent.
                default: OTHER
                type: string
                enum:
                - ENVIRONMENTAL
                - REGULATED
                - NETWORK
                - METERING
                - RETAIL_SERVICE
                - RCTI
                - OTHER
              amount:
                description: The aggregate total of charges for this item (exclusive of GST).
                type: string
                x-cds-type: AmountString
              description:
                description: A free text description of the type of charge.
                type: string
        totalGst:
          description: The total GST for all gas usage charges. If absent then zero is assumed.
          default: '0.00'
          type: string
          x-cds-type: AmountString
    EnergyBillingTransactionV3:
      type: object
      required:
      - accountId
      - executionDateTime
      - transactionUType
      x-conditional:
      - usage
      - onceOff
      - payment
      - demand
      - otherCharges
      properties:
        accountId:
          description: Unique identifier for the account.
          allOf:
          - $ref: '#/components/schemas/EnergyAccountId'
        executionDateTime:
          description: The date and time that the transaction occurred.
          type: string
          x-cds-type: DateTimeString
        gst:
          description: The GST incurred in the transaction. Should not be included for credits or payments. If absent then zero is assumed.
          default: '0.00'
          type: string
          x-cds-type: AmountString
        transactionUType:
          description: Indicator of the type of transaction object present in this record.
          type: string
          enum:
          - usage
          - demand
          - onceOff
          - otherCharges
          - payment
        usage:
          description: Represents a usage charge or generation credit. Mandatory if _transactionUType_ is equal to `usage`.
          allOf:
          - $ref: '#/components/schemas/EnergyBillingUsageTransactionV2'
        demand:
          description: Represents a demand charge or generation credit. Mandatory if _transactionUType_ is equal to `demand`.
          allOf:
          - $ref: '#/components/schemas/EnergyBillingDemandTransactionV3'
        onceOff:
          description: Represents a once off charge or credit. Mandatory if _transactionUType_ is equal to `onceOff`.
          allOf:
          - $ref: '#/components/schemas/EnergyBillingOnceOffTransaction'
        otherCharges:
          description: Represents charge other than usage and once off. Mandatory if _transactionUType_ is equal to `otherCharges`.
          allOf:
          - $ref: '#/components/schemas/EnergyBillingOtherTransaction'
        payment:
          description: Represents a payment to the account. Mandatory if _transactionUType_ is equal to `payment`.
          allOf:
          - $ref: '#/components/schemas/EnergyBillingPaymentTransaction'
    EnergyBillingOnceOffTransaction:
      type: object
      required:
      - amount
      - description
      properties:
        servicePointId:
          description: Unique identifier for the service point.
          allOf:
          - $ref: '#/components/schemas/EnergyServicePointId'
        invoiceNumber:
          description: The number of the invoice in which this transaction is included if it has been issued.
          type: string
        amount:
          description: The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit.
          type: string
          x-cds-type: AmountString
        description:
          description: A free text description of the item.
          type: string
    Meta:
      type: object
    MeasureUnitEnum:
      type: string
      enum:
      - KWH
      - KVA
      - KVAR
      - KVARH
      - KW
      - DAYS
      - METER
      - MONTH
    EnergyInvoiceAccountCharges:
      description: Object contains account level charges and credits related to electricity usage.
      type: object
      required:
      - totalCharges
      - totalDiscounts
      properties:
        totalCharges:
          description: The aggregate total of account level charges for the period covered by the invoice.
          type: string
          x-cds-type: AmountString
        totalDiscounts:
          description: The aggregate total of account level discounts or credits for the period covered by the invoice.
          type: string
          x-cds-type: AmountString
        totalGst:
          description: The total GST for all account level charges. If absent then zero is assumed.
          default: '0.00'
          type: string
          x-cds-type: AmountString
    EnergyServicePointId:
      type: string
      description: A unique identifier for an Energy service point, generated according to [CDR ID Permanence](#id-permanence) requirements.
      x-cds-type: ASCIIString
    MetaPaginated:
      type: object
      required:
      - totalPages
      - totalRecords
      properties:
        totalRecords:
          type: integer
          description: The total number of records in the full set. See [pagination](#pagination).
          x-cds-type: NaturalNumber
        totalPages:
          type: integer
          description: The total number of pages in the full set. See [pagination](#pagination).
          x-cds-type: NaturalNumber
    EnergyBillingOtherTransaction:
      type: object
      required:
      - amount
      - description
      properties:
        servicePointId:
          description: Unique identifier for the service point.
          allOf:
          - $ref: '#/components/schemas/EnergyServicePointId'
        invoiceNumber:
          description: The number of the invoice in which this transaction is included if it has been issued.
          type: string
        startDate:
          description: Optional start date for the application of the charge.
          type: string
          x-cds-type: DateString
        endDate:
          description: Optional end date for the application of the charge.
          type: string
          x-cds-type: DateString
        type:
          description: Type of charge. Assumed to be `OTHER` if absent.
          default: OTHER
          type: string
          enum:
          - ENVIRONMENTAL
          - REGULATED
          - NETWORK
          - METERING
          - RETAIL_SERVICE
          - RCTI
          - OTHER
        amount:
          description: The amount of the charge.
          type: string
          x-cds-type: AmountString
        description:
          description: A free text description of the item.
          type: string
        calculationFactors:
          description: Additional calculation factors that inform the transaction.
          type: array
          items:
            type: object
            required:
            - value
            - type
            properties:
              value:
                description: The value of the calculation factor.
                type: number
              type:
                description: The type of the calculation factor.
                type: string
                enum:
                - DLF
                - MLF
        adjustments:
          description: Optional array of adjustments arising for this transaction.
          type: array
          items:
            type: object
            required:
            - amount
            - description
            properties:
              amount:
                description: The amount of the adjustment.
                type: string
                x-cds-type: AmountString
              description:
                description: A free text description of the adjustment.
                type: string
    EnergyInvoice:
      type: object
      required:
      - accountId
      - invoiceNumber
      - issueDate
      - balanceAtIssue
      - servicePoints
      - paymentStatus
      x-conditional:
      - period
      properties:
        accountId:
          description: Unique identifier for the account.
          allOf:
          - $ref: '#/components/schemas/EnergyAccountId'
        invoiceNumber:
          description: The number assigned to this invoice by the energy Retailer.
          type: string
        issueDate:
          description: The date that the invoice was actually issued (as opposed to generated or calculated).
          type: string
          x-cds-type: DateString
        dueDate:
          description: The date that the invoice is due to be paid.
          type: string
          x-cds-type: DateString
        period:
          description: Object containing the start and end date for the period covered by the invoice. Mandatory if any usage or demand based charges are included in the invoice.
          type: object
          required:
          - startDate
          - endDate
          properties:
            startDate:
              description: The start date of the period covered by this invoice.
              type: string
              x-cds-type: DateString
            endDate:
              description: The end date of the period covered by this invoice.
              type: string
              x-cds-type: DateString
        invoiceAmount:
          description: The net amount due for this invoice regardless of previous balance.
          type: string
          x-cds-type: AmountString
        gstAmount:
          description: The total GST amount for this invoice. If absent then zero is assumed.
          default: '0.00'
          type: string
          x-cds-type: AmountString
        payOnTimeDiscount:
          description: A discount for on time payment.
          type: object
          required:
          - discountAmount
          - date
          properties:
            discountAmount:
              description: The amount that will be discounted if the invoice is paid by the date specified.
              type: string
              x-cds-type: AmountString
            gstAmount:
              description: The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed.
              default: '0.00'
              type: string
              x-cds-type: AmountString
            date:
              description: The date by which the invoice must be paid to receive the pay on time discount.
              type: string
              x-cds-type: DateString
        balanceAtIssue:
          description: The account balance at the time the invoice was issued.
          type: string
          x-cds-type: AmountString
        servicePoints:
          description: Array of service point IDs to which this invoice applies. May be empty if the invoice contains no electricity usage related charges.
          type: array
          items:
            type: string
        gas:
          description: Object containing charges and credits related to gas usage.
          allOf:
          - $ref: '#/components/schemas/EnergyInvoiceGasUsageCharges'
        electricity:
          description: Object containing charges and credits related to electricity usage.
          allOf:
          - $ref: '#/components/schemas/EnergyInvoiceElectricityUsageCharges'
        accountCharges:
          $ref: '#/components/schemas/EnergyInvoiceAccountCharges'
        paymentStatus:
          description: Indicator of the payment status for the invoice.
          type: string
          enum:
          - PAID
          - PARTIALLY_PAID
          - NOT_PAID
    EnergyBillingPaymentTransaction:
      type: object
      required:
      - amount
      - method
      properties:
        amount:
          description: The amount paid.
          type: string
          x-cds-type: AmountString
        method:
          description: The method of payment.
          type: string
          enum:
          - DIRECT_DEBIT
          - CARD
          - TRANSFER
          - BPAY
          - CASH
          - CHEQUE
          - OTHER
    EnergyAccountId:
      type: string
      description: A unique identifier for an Energy account, generated according to [CDR ID Permanence](#id-permanence) requirements.
      x-cds-type: ASCIIString
    RequestAccountIdListV1:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          required:
          - accountIds

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