> ## Documentation Index
> Fetch the complete documentation index at: https://holder.docs.fiskil.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Billing For Specific Accounts

> Obtain billing for a specified set of authorised accounts



## OpenAPI

````yaml /openapi/cdr.yml post /v1/energy/customer/{customerId}/accounts/billing
openapi: 3.0.3
info:
  description: Fiskil Data Holder as a Service (DHaaS) endpoints for the Energy sector
  title: Fiskil Data APIs
  version: 1.5.0
servers:
  - url: https://api.provider.fiskil.com
security:
  - bearerAuth: []
paths:
  /v1/energy/customer/{customerId}/accounts/billing:
    post:
      tags:
        - Energy
        - Billing
      summary: Get Billing For Specific Accounts
      description: Obtain billing for a specified set of authorised accounts
      operationId: listBillingForAccounts
      parameters:
        - $ref: '#/components/parameters/customerId'
        - $ref: '#/components/parameters/newest-time'
        - $ref: '#/components/parameters/oldest-time'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/page-size'
      requestBody:
        $ref: '#/components/requestBodies/accountIdList'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnergyBillingListResponseV2'
          description: List of billing transactions for the requested accounts
        '404':
          $ref: '#/components/responses/responseErrorCustomerIdNotFound'
        '422':
          $ref: '#/components/responses/responseErrorAccountsNotInBody'
components:
  parameters:
    customerId:
      description: >-
        Unique ID of a customer. This ID must not change for the lifecycle of
        the customer
      explode: false
      in: path
      name: customerId
      required: true
      schema:
        type: string
      style: simple
    newest-time:
      description: >-
        Constrain the request to records with effective time at or before this
        date/time.  If absent defaults to current date/time. Format is an
        RFC3339 Datetime string.
      explode: true
      in: query
      name: newest-time
      required: false
      schema:
        type: string
      style: form
      x-cds-type: DateTimeString
    oldest-time:
      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
        an RFC3339 Datetime string.
      explode: true
      in: query
      name: oldest-time
      required: false
      schema:
        type: string
      style: form
      x-cds-type: DateTimeString
    page:
      description: Page of results to request (standard pagination)
      explode: true
      in: query
      name: page
      required: false
      schema:
        type: integer
      style: form
      x-cds-type: PositiveInteger
    page-size:
      description: Page size to request.  Default is 25 (standard pagination)
      explode: true
      in: query
      name: page-size
      required: false
      schema:
        type: integer
      style: form
      x-cds-type: PositiveInteger
  requestBodies:
    accountIdList:
      content:
        application/json:
          schema:
            example:
              data:
                accountIds:
                  - account-1
                  - account-2
            properties:
              data:
                properties:
                  accountIds:
                    description: Array of specific accountIds to obtain data for
                    items:
                      type: string
                    type: array
                required:
                  - accountIds
                type: object
            required:
              - data
            type: object
      description: Request payload containing list of specific Accounts to obtain data for
      required: true
  schemas:
    EnergyBillingListResponseV2:
      example:
        data:
          transactions:
            - accountId: 019a0a0b-6bff-7952-99c7-73c8c4967655
              usage:
                amount: '120.00'
                adjustments:
                  - amount: '-10.00'
                    description: Meter read correction
                isEstimate: false
                endDate: '2025-10-31'
                usage: 72.13
                servicePointId: 019a0a0b-c27b-7fd3-bd84-9bead0e73711
                invoiceNumber: '125'
                description: Usage fees Q3
                measureUnit: KWH
                calculationFactors:
                  - type: DLF
                    value: 6.027456183070403
                timeOfUseType: ALL_DAY
                startDate: '2025-09-01'
              gst: '12.00'
              transactionUType: usage
              executionDateTime: '2025-11-01T00:00:00'
            - accountId: 019a0a0b-6bff-7952-99c7-73c8c4967655
              payment:
                amount: '100.00'
                method: DIRECT_DEBIT
              transactionUType: payment
              executionDateTime: 2025-09-010T10:25:00
        meta:
          totalRecords: 2
          totalPages: 1
        links:
          first: page=1&page-size=25&oldest-date=2023-04-24
          last: page=4&page-size=25&oldest-date=2023-04-24
          next: page=3&page-size=25&oldest-date=2023-04-24
          prev: page=1&page-size=25&oldest-date=2023-04-24
      properties:
        data:
          $ref: '#/components/schemas/EnergyBillingListResponseV2_data'
        links:
          $ref: '#/components/schemas/LinksPaginated'
        meta:
          $ref: '#/components/schemas/MetaPaginated'
      required:
        - data
        - links
        - meta
      type: object
    EnergyBillingListResponseV2_data:
      properties:
        transactions:
          description: Array of transactions sorted by date and time in descending order
          items:
            $ref: '#/components/schemas/EnergyBillingTransactionV2'
          type: array
      required:
        - transactions
      type: object
    LinksPaginated:
      description: >-
        URL Query parameters to obtain different pages of the response. Fiskil
        will combine these with the rest of the request URL to build full link
        URLs in the final response.
      example:
        first: page=1&page-size=25&oldest-date=2023-04-24
        last: page=4&page-size=25&oldest-date=2023-04-24
        next: page=3&page-size=25&oldest-date=2023-04-24
        prev: page=1&page-size=25&oldest-date=2023-04-24
      properties:
        first:
          description: >-
            A url-encoded query for the first page of this result set. Mandatory
            if this response is not the first page.
          type: string
        prev:
          description: >-
            A url-encoded query for the previous page. Mandatory if this
            response is not the first page
          type: string
        next:
          description: >-
            A url-encoded query for the next page. Mandatory if this response is
            not the last page.
          type: string
        last:
          description: >-
            A url-encoded query for the last page. Mandatory if this response is
            not the last page.
          type: string
      type: object
    MetaPaginated:
      example:
        totalRecords: 150
        totalPages: 6
      properties:
        totalRecords:
          description: >-
            The total number of records in the full set. See
            [pagination](#pagination).
          type: integer
          x-cds-type: NaturalNumber
        totalPages:
          description: >-
            The total number of pages in the full set. See
            [pagination](#pagination).
          type: integer
          x-cds-type: NaturalNumber
      required:
        - totalPages
        - totalRecords
      type: object
    GenericError:
      example:
        error: An error message
      type: object
      properties:
        error:
          type: string
          description: A message describing what caused the error
      required:
        - error
    EnergyBillingTransactionV2:
      properties:
        accountId:
          description: The ID of the account for which transaction applies
          type: string
        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 zero is assumed
          type: string
          x-cds-type: AmountString
        transactionUType:
          description: Indicator of the type of transaction object present in this record
          enum:
            - usage
            - demand
            - onceOff
            - otherCharges
            - payment
          type: string
        usage:
          $ref: '#/components/schemas/EnergyBillingUsageTransactionV2'
        demand:
          $ref: '#/components/schemas/EnergyBillingDemandTransactionV2'
        onceOff:
          $ref: '#/components/schemas/EnergyBillingOnceOffTransaction'
        otherCharges:
          $ref: '#/components/schemas/EnergyBillingOtherTransaction'
        payment:
          $ref: '#/components/schemas/EnergyBillingPaymentTransaction'
      required:
        - accountId
        - executionDateTime
        - transactionUType
      type: object
      x-conditional:
        - usage
        - onceOff
        - payment
    EnergyBillingUsageTransactionV2:
      example:
        amount: '120.00'
        adjustments:
          - amount: '-10.00'
            description: Meter read correction
        isEstimate: false
        endDate: '2025-10-31'
        usage: 74.234
        servicePointId: 019a0a07-5954-7940-bf75-f92df8afc1b9
        invoiceNumber: '125'
        description: Usage feeds
        measureUnit: KWH
        calculationFactors:
          - type: DLF
            value: 6.027456183070403
        startDate: '2025-08-01'
        timeOfUseType: ALL_DAY
      properties:
        servicePointId:
          description: The ID of the service point to which this transaction applies if any
          type: string
        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
          enum:
            - PEAK
            - OFF_PEAK
            - OFF_PEAK_DEMAND_CHARGE
            - SHOULDER
            - SHOULDER1
            - SHOULDER2
            - CONTROLLED_LOAD
            - SOLAR
            - AGGREGATE
            - ALL_DAY
          type: string
        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
          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:
          description: The measurement unit of rate. Assumed to be KWH if absent
          enum:
            - KWH
            - KVA
            - KVAR
            - KVARH
            - KW
            - DAYS
            - METER
            - MONTH
          type: string
        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
          items:
            $ref: >-
              #/components/schemas/EnergyBillingUsageTransactionV2_calculationFactors
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransactionV2_adjustments'
          type: array
      required:
        - amount
        - endDate
        - startDate
        - timeOfUseType
        - usage
      type: object
    EnergyBillingDemandTransactionV2:
      example:
        amount: '120.00'
        adjustments:
          - amount: '-10.00'
            description: Meter read correction
        isEstimate: false
        endDate: '2025-10-31'
        rate: 2
        servicePointId: 019a0a08-48b7-7c81-ba04-84fa38cf1803
        invoiceNumber: '125'
        description: Demand charge
        calculationFactors:
          - type: DLF
            value: 6.027456183070403
        timeOfUseType: ALL_DAY
        startDate: '2025-08-01'
      properties:
        servicePointId:
          description: The ID of the service point to which this transaction applies if any
          type: string
        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
          enum:
            - PEAK
            - OFF_PEAK
            - OFF_PEAK_DEMAND_CHARGE
            - SHOULDER
            - SHOULDER1
            - SHOULDER2
            - CONTROLLED_LOAD
            - SOLAR
            - AGGREGATE
            - ALL_DAY
            - EXCESS
          type: string
        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
          type: boolean
        startDate:
          description: Date and time when the demand period starts
          type: string
          x-cds-type: DateTimeString
        endDate:
          description: Date and time when the demand period ends
          type: string
          x-cds-type: DateTimeString
        rate:
          description: >-
            The rate for the demand charge in kVA.  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
          items:
            $ref: >-
              #/components/schemas/EnergyBillingUsageTransactionV2_calculationFactors
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransactionV2_adjustments'
          type: array
      required:
        - amount
        - endDate
        - rate
        - startDate
        - timeOfUseType
      type: object
    EnergyBillingOnceOffTransaction:
      example:
        amount: '20.00'
        servicePointId: 019a0a09-4b51-7561-8464-9ec659c9c041
        invoiceNumber: '125'
        description: Connection fee
      properties:
        servicePointId:
          description: The ID of the service point to which this transaction applies if any
          type: string
        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
      required:
        - amount
        - description
      type: object
    EnergyBillingOtherTransaction:
      example:
        amount: '45.99'
        endDate: '2025-10-31'
        servicePointId: 019a0a09-efe8-75d1-a130-1af9c9aeb2b4
        invoiceNumber: '124'
        description: Wholesale rate subscription fee
        type: RETAIL_SERVICE
        startDate: '2025-10-01'
      properties:
        servicePointId:
          description: The ID of the service point to which this transaction applies if any
          type: string
        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
          enum:
            - ENVIRONMENTAL
            - REGULATED
            - NETWORK
            - METERING
            - RETAIL_SERVICE
            - RCTI
            - OTHER
          type: string
        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
          items:
            $ref: >-
              #/components/schemas/EnergyBillingUsageTransactionV2_calculationFactors
          type: array
        adjustments:
          description: Optional array of adjustments arising for this transaction
          items:
            $ref: '#/components/schemas/EnergyBillingUsageTransactionV2_adjustments'
          type: array
      required:
        - amount
        - description
      type: object
    EnergyBillingPaymentTransaction:
      example:
        amount: '120.00'
        method: DIRECT_DEBIT
      properties:
        amount:
          description: The amount paid
          type: string
          x-cds-type: AmountString
        method:
          description: The method of payment
          enum:
            - DIRECT_DEBIT
            - CARD
            - TRANSFER
            - BPAY
            - CASH
            - CHEQUE
            - OTHER
          type: string
      required:
        - amount
        - method
      type: object
    EnergyBillingUsageTransactionV2_calculationFactors:
      example:
        type: DLF
        value: 6.027456183070403
      properties:
        value:
          description: The value of the calculation factor
          type: number
        type:
          description: The type of the calculation factor
          enum:
            - DLF
            - MLF
          type: string
      required:
        - type
        - value
      type: object
    EnergyBillingUsageTransactionV2_adjustments:
      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
      required:
        - amount
        - description
      type: object
  responses:
    responseErrorCustomerIdNotFound:
      description: The customer ID in the URL path is invalid or not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
            example:
              error: Customer not found
    responseErrorAccountsNotInBody:
      description: One or more of the accounts specified in the request body do not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
            example:
              error: Account in query not found
  securitySchemes:
    bearerAuth:
      description: >
        The Fiskil Data Provider will include a self-signed JWT as a Bearer
        token in the `Authorization` header.

        You should verify this JWT using the JWKS URL you can find for your Data
        Provider instance in the Fiskil

        Console. To verify the JWT you **must**:
          * Verify the signature
          * Ensure the token has not expired by checking the `exp` claim
          * The `sub` and `iss` claims are your data provider subdomain
          * The `aud` claim is the URI of the resource being requested (excluding any query parameters)
          * The `jti` value is unique
        For further detail on security and authentication refer to our
        [Authentication](/docs/get-started/authentication) documentation
      type: http
      scheme: bearer
      bearerFormat: JWT

````