Origin Energy · Schema

Transactions

EnergyAustraliaUtilitiesElectricityGasEnergy RetailConsumer Data RightSmart MeteringSolarDERDemand ResponseEnergy Markets

Properties

Name Type Description
account_number string

The account number in the source system. This, along with the import_supplier, will be used to find the account in Kraken.

dry_run boolean

Whether to run the transactions creation process in dry-run mode. Running in dry-run mode will not create any transactions.

external_account_number string

The account number in the source system. This, along with the import_supplier, will be used to find the account in Kraken.

import_supplier string

The import supplier code that the account was imported on to. This, along with the external_account_number, will be used to find the account in Kraken.

transactions array

A list of financial transactions to be imported onto the account.

View JSON Schema on GitHub

JSON Schema

origin-energy-transactions-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/origin-energy/main/json-schema/origin-energy-transactions-schema.json",
  "title": "Transactions",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/origin-energy-post-account-import-api-openapi.yml#/components/schemas/Transactions",
  "type": "object",
  "properties": {
    "account_number": {
      "type": "string",
      "description": "<p>The account number in the source system. This, along with the <code>import_supplier</code>, will be used to find the account in Kraken.</p>",
      "deprecated": true,
      "x-use-instead": "external_account_number"
    },
    "dry_run": {
      "type": "boolean",
      "default": false,
      "description": "<p>Whether to run the transactions creation process in dry-run mode. Running in dry-run mode will not create any transactions.</p>"
    },
    "external_account_number": {
      "type": "string",
      "description": "<p>The account number in the source system. This, along with the <code>import_supplier</code>, will be used to find the account in Kraken.</p>"
    },
    "import_supplier": {
      "enum": [
        "ORIGIN_SOLARFLEX_INACTIVE",
        "ORIGIN",
        "WIN_CONNECT_PARENT",
        "ORIGIN_CNI",
        "ORIGIN_BUSINESS",
        "WIN_CONNECT",
        "ORIGIN_SOLARFLEX",
        "ORIGIN_BUSINESS_NO_CONTRACT"
      ],
      "type": "string",
      "x-spec-enum-id": "9572ea198e3a9787",
      "description": "<p>The import supplier code that the account was imported on to. This, along with the <code>external_account_number</code>, will be used to find the account in Kraken.</p>",
      "x-enum-descriptions": {
        "ORIGIN_SOLARFLEX_INACTIVE": "Origin SolarFlex Inactive",
        "ORIGIN": "Origin",
        "WIN_CONNECT_PARENT": "Win Connect Parent",
        "ORIGIN_CNI": "Origin CNI",
        "ORIGIN_BUSINESS": "Origin Zero Business Import Supplier",
        "WIN_CONNECT": "WinConnect",
        "ORIGIN_SOLARFLEX": "Origin SolarFlex",
        "ORIGIN_BUSINESS_NO_CONTRACT": "Origin Business - No Contracts e.g. trustee"
      }
    },
    "transactions": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/OriginTransaction"
      },
      "description": "<p>A list of financial transactions to be imported onto the account.</p>"
    }
  },
  "required": [
    "import_supplier"
  ],
  "x-validators": [
    {
      "name": "Validate that account data is staged and account created",
      "description": "Validate that an account exists for the <code>external_account_number</code> and <code>import_supplier</code> code. This means that the import data must already have been staged and processed into an account.",
      "possible_errors": [
        "account_not_found",
        "import_process_does_not_exist"
      ]
    },
    {
      "name": "Validate that migration is ongoing",
      "description": "Validate whether or not an import supplier is open for further data migration.",
      "possible_errors": [
        "import_supplier_migration_not_ongoing"
      ]
    },
    {
      "name": "Validate unique transaction IDs",
      "description": "Validate that all transaction IDs provided are unique.",
      "possible_errors": [
        "duplicate_transaction_ids",
        "missing_transaction_id"
      ]
    }
  ],
  "$defs": {
    "AusCharge": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "CHARGE",
            "PAYMENT",
            "REPAYMENT",
            "CREDIT",
            "SUPPLY_CHARGE"
          ],
          "type": "string",
          "x-spec-enum-id": "06d6aba5cee32f9a",
          "description": "<p>The type of the transaction.</p>",
          "x-enum-descriptions": {
            "CHARGE": "Charge",
            "PAYMENT": "Payment",
            "REPAYMENT": "Repayment",
            "CREDIT": "Credit",
            "SUPPLY_CHARGE": "Supply Charge"
          }
        },
        "amount": {
          "type": "string",
          "format": "decimal",
          "pattern": "^-?\\d{0,10}(?:\\.\\d{0,10})?$",
          "description": "<p>The amount of the transaction. e.g. if the customer has a consumption charge worth 23.43, this equates to a transaction of type <code>CHARGE</code> of 23.43. Payments and repayments must be positive numbers. Generally charges and credits are also positive, but may be negative to represent reversed charges or credits, or if an incorrect estimated reading has resulted in a negative consumption charge. Provide this amount in the currency's major unit rather than its minor unit (for example euros rather than cents, or pounds rather than pence). These examples are illustrative only; the same applies to any currency that has a major and minor unit. For currencies without a minor unit, such as the Japanese yen, pass the value as-is.</p>"
        },
        "billing_document_identifier": {
          "type": "string",
          "description": "<p>The identifier from the source system that groups a set of transactions together. This will be used in Kraken during the migration of historical statement transactions to create an archived billing document. For now this field is only required if <code>HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER</code> settings is ON and is meant for only <code>historical_statements_transactions</code>. Passing this to other transactions like <code>current_statement_transactions</code> or <code>transactions_in_open_settlement_period</code> will raise validation error.</p>"
        },
        "display_note": {
          "type": "string",
          "description": "<p>The customer-facing note that can be displayed in a statement or email to the customer.</p>"
        },
        "note": {
          "type": "string",
          "description": "<p>Any additional notes about the transaction.</p>"
        },
        "reason": {
          "type": "string",
          "description": "<p>The reason for the transaction.</p>"
        },
        "tax_items": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TaxItem"
          },
          "description": "<p>For <code>SUPPLY_CHARGE</code> and <code>CHARGE</code> transactions only, tax items contain details about the tax. If not provided will be set to default zero tax.</p>"
        },
        "transaction_date": {
          "type": "string",
          "format": "date",
          "description": "<p>The date of the transaction.</p>",
          "x-validators": [
            {
              "name": "Validate transaction date",
              "description": "Validates that the transaction date provided in the payload is not in the future.",
              "possible_errors": [
                "transaction_in_future"
              ]
            }
          ]
        },
        "transaction_id": {
          "type": "string",
          "description": "<p>The unique internal identifier for the transaction.</p>"
        }
      },
      "required": [
        "amount",
        "transaction_date",
        "transaction_id",
        "type"
      ]
    },
    "Credit": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "CHARGE",
            "PAYMENT",
            "REPAYMENT",
            "CREDIT",
            "SUPPLY_CHARGE"
          ],
          "type": "string",
          "x-spec-enum-id": "06d6aba5cee32f9a",
          "description": "<p>The type of the transaction.</p>",
          "x-enum-descriptions": {
            "CHARGE": "Charge",
            "PAYMENT": "Payment",
            "REPAYMENT": "Repayment",
            "CREDIT": "Credit",
            "SUPPLY_CHARGE": "Supply Charge"
          }
        },
        "amount": {
          "type": "string",
          "format": "decimal",
          "pattern": "^-?\\d{0,10}(?:\\.\\d{0,10})?$",
          "description": "<p>The amount of the transaction. e.g. if the customer has a consumption charge worth 23.43, this equates to a transaction of type <code>CHARGE</code> of 23.43. Payments and repayments must be positive numbers. Generally charges and credits are also positive, but may be negative to represent reversed charges or credits, or if an incorrect estimated reading has resulted in a negative consumption charge. Provide this amount in the currency's major unit rather than its minor unit (for example euros rather than cents, or pounds rather than pence). These examples are illustrative only; the same applies to any currency that has a major and minor unit. For currencies without a minor unit, such as the Japanese yen, pass the value as-is.</p>"
        },
        "billing_document_identifier": {
          "type": "string",
          "description": "<p>The identifier from the source system that groups a set of transactions together. This will be used in Kraken during the migration of historical statement transactions to create an archived billing document. For now this field is only required if <code>HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER</code> settings is ON and is meant for only <code>historical_statements_transactions</code>. Passing this to other transactions like <code>current_statement_transactions</code> or <code>transactions_in_open_settlement_period</code> will raise validation error.</p>"
        },
        "display_note": {
          "type": "string",
          "description": "<p>The customer-facing note that can be displayed in a statement or email to the customer.</p>"
        },
        "note": {
          "type": "string",
          "description": "<p>Any additional notes about the transaction.</p>"
        },
        "reason": {
          "type": "string",
          "description": "<p>The reason for the transaction.</p>"
        },
        "transaction_date": {
          "type": "string",
          "format": "date",
          "description": "<p>The date of the transaction.</p>",
          "x-validators": [
            {
              "name": "Validate transaction date",
              "description": "Validates that the transaction date provided in the payload is not in the future.",
              "possible_errors": [
                "transaction_in_future"
              ]
            }
          ]
        },
        "transaction_id": {
          "type": "string",
          "description": "<p>The unique internal identifier for the transaction.</p>"
        }
      },
      "required": [
        "amount",
        "transaction_date",
        "transaction_id",
        "type"
      ]
    },
    "OriginLineItem": {
      "type": "object",
      "properties": {
        "end_date": {
          "type": "string",
          "format": "date",
          "description": "<p>The end date for the billing period, inclusive.</p>"
        },
        "external_rate_identifier": {
          "type": "string",
          "description": "<p>The external identifier of the rate used to generate the charge for this line item. Only required if Kraken is configured to use placeholder rates when creating supply charge line items.</p>"
        },
        "net_amount": {
          "type": "string",
          "format": "decimal",
          "pattern": "^-?\\d{0,10}(?:\\.\\d{0,10})?$",
          "description": "<p>Charge amount for the line item. Provide this amount in the currency's major unit rather than its minor unit (for example euros rather than cents, or pounds rather than pence). These examples are illustrative only; the same applies to any currency that has a major and minor unit. For currencies without a minor unit, such as the Japanese yen, pass the value as-is.</p>"
        },
        "network_tariff_distributor_code": {
          "type": [
            "string",
            "null"
          ],
          "description": "<p>The distributor code identifying the network tariff library entry. Required when importing a supply charge line item backed by an NTL rate.</p>"
        },
        "network_tariff_rate_code": {
          "type": [
            "string",
            "null"
          ],
          "description": "<p>The rate code identifying the specific rate within the network tariff. Must match a <code>READY_TO_BILL</code> rate whose effective period covers the line item period.</p>"
        },
        "network_tariff_tariff_code": {
          "type": [
            "string",
            "null"
          ],
          "description": "<p>The tariff code identifying the network tariff library entry. Required when importing a supply charge line item backed by an NTL rate.</p>"
        },
        "number_of_units": {
          "type": "string",
          "format": "decimal",
          "pattern": "^-?\\d{0,12}(?:\\.\\d{0,4})?$",
          "description": "<p>E.g. cubic meters consumed for the period, days on supply for fixed charges or RV proportion for period for unmetered RV charges.</p>"
        },
        "params": {
          "type": "object",
          "description": "<p>Additional parameters for the line item.</p>\n<p>Specify the following keys to control line item charge targets:</p>\n<p>\n    <ul>\n        <li>\n            Supply point charge target:\n            <ul>\n                <li><code>charge_target_type</code>: <code>SUPPLY_POINT</code></li>\n            </ul>\n        </li>\n        <li>\n            Register charge target:\n            <ul>\n                <li><code>charge_target_type</code>: <code>REGISTER</code></li>\n                <li><code>charge_target_meter_serial</code>: Serial number for the register's meter</li>\n                <li><code>charge_target_identifier</code>: Register identifier</li>\n            </ul>\n        </li>\n    </ul>\n</p>",
          "x-validators": [
            {
              "name": "Validate supply charge target",
              "description": "Validate that the supply charge target are supplied correctly in params.",
              "possible_errors": [
                "invalid_charge_target_type"
              ]
            }
          ]
        },
        "price_per_unit": {
          "type": "string",
          "format": "decimal",
          "pattern": "^-?\\d{0,8}(?:\\.\\d{0,7})?$",
          "description": "<p>Price per unit for the line item. If this is not provided, then the price per unit from the relevant product rate will be used instead. Provide this amount in the currency's major unit rather than its minor unit (for example euros rather than cents, or pounds rather than pence). These examples are illustrative only; the same applies to any currency that has a major and minor unit. For currencies without a minor unit, such as the Japanese yen, pass the value as-is.</p>"
        },
        "rate_band": {
          "type": "string",
          "description": "<p>Rate of the product this charge is for. Must match an existing rate of a product <code>product_code</code>. Rate must be active from <code>start_date</code> to <code>end_date</code>.</p>"
        },
        "rate_specification_code": {
          "type": "string",
          "description": "<p>Rate specification code of the product this charge is for. This code must refer to an existing rate specification within the product.</p>"
        },
        "start_date": {
          "type": "string",
          "format": "date",
          "description": "<p>The start date for the billing period, inclusive.</p>"
        },
        "time_series_specification_code": {
          "type": "string",
          "description": "<p>Time series specification code.</p>"
        },
        "units": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "decimal",
            "pattern": "^-?\\d{0,12}(?:\\.\\d{0,4})?$"
          },
          "description": "<p>For metered accounts only. List of decimal numbers representing the meter readings for the billing period.</p>",
          "x-validators": [
            {
              "name": "Validate line item units",
              "description": "Validates that the line item units provided in the payload is a list of two items only.",
              "possible_errors": [
                "line_item_units_must_be_two_values"
              ]
            }
          ]
        }
      },
      "required": [
        "end_date",
        "net_amount",
        "number_of_units",
        "params",
        "start_date"
      ],
      "x-validators": [
        {
          "name": "Validate <code>⁨end_date⁩</code> not before <code>⁨start_date⁩</code>",
          "description": "Validates that <code>⁨end_date⁩</code>, if given, is on or later than <code>⁨start_date⁩</code>.",
          "possible_errors": [
            "start_date_later_than_end_date"
          ]
        },
        {
          "name": "Validate the line item net amount",
          "description": "Validate that the line item net amount is equal to the price per unit multiplied by the number of units.",
          "possible_errors": [
            "incorrect_line_item_net_amount"
          ]
        },
        {
          "name": "Ensure that the band or rate specification or time series specification for a line item is specified.",
          "description": "Validate line items include exactly one of <code>rate_band</code>, <code>rate_specification_code</code>, or <code>time_series_specification_code</code>.",
          "possible_errors": [
            "conflicting_rate_band_specification"
          ]
        }
      ]
    },
    "OriginSupplyCharge": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "CHARGE",
            "PAYMENT",
            "REPAYMENT",
            "CREDIT",
            "SUPPLY_CHARGE"
          ],
          "type": "string",
          "x-spec-enum-id": "06d6aba5cee32f9a",
          "description": "<p>The type of the transaction.</p>",
          "x-enum-descriptions": {
            "CHARGE": "Charge",
            "PAYMENT": "Payment",
            "REPAYMENT": "Repayment",
            "CREDIT": "Credit",
            "SUPPLY_CHARGE": "Supply Charge"
          }
        },
        "amount": {
          "type": "string",
          "format": "decimal",
          "pattern": "^-?\\d{0,10}(?:\\.\\d{0,10})?$",
          "description": "<p>The amount of the transaction. e.g. if the customer has a consumption charge worth 23.43, this equates to a transaction of type <code>CHARGE</code> of 23.43. Payments and repayments must be positive numbers. Generally charges and credits are also positive, but may be negative to represent reversed charges or credits, or if an incorrect estimated reading has resulted in a negative consumption charge. Provide this amount in the currency's major unit rather than its minor unit (for example euros rather than cents, or pounds rather than pence). These examples are illustrative only; the same applies to any currency that has a major and minor unit. For currencies without a minor unit, such as the Japanese yen, pass the value as-is.</p>"
        },
        "billing_document_identifier": {
          "type": "string",
          "description": "<p>The identifier from the source system that groups a set of transactions together. This will be used in Kraken during the migration of historical statement transactions to create an archived billing document. For now this field is only required if <code>HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER</code> settings is ON and is meant for only <code>historical_statements_transactions</code>. Passing this to other transactions like <code>current_statement_transactions</code> or <code>transactions_in_open_settlement_period</code> will raise validation error.</p>"
        },
        "display_note": {
          "type": "string",
          "description": "<p>The customer-facing note that can be displayed in a statement or email to the customer.</p>"
        },
        "line_items": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/OriginLineItem"
          },
          "description": "<p>For <code>SUPPLY_CHARGE</code> transactions only, line items contain details about the charge, e.g. standing/consumption charge, billing period, number of units etc.</p>"
        },
        "note": {
          "type": "string",
          "description": "<p>Any additional notes about the transaction.</p>"
        },
        "product_code": {
          "type": "string",
          "description": "<p>The product code for the product that the transaction is associated with.</p>",
          "x-validators": [
            {
              "name": "Validate product code exists",
              "description": "Validate that the product code exists in Kraken.",
              "possible_errors": [
                "product_code_does_not_exist"
              ]
            }
          ]
        },
        "supply_point_identifier": {
          "type": "string",
          "description": "<p>Supply point identifier associated with the supply point this charge applies to.</p>"
        },
        "tax_items": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TaxItem"
          },
          "description": "<p>For <code>SUPPLY_CHARGE</code> and <code>CHARGE</code> transactions only, tax items contain details about the tax. If not provided will be set to default zero tax.</p>"
        },
        "transaction_date": {
          "type": "string",
          "format": "date",
          "description": "<p>The date of the transaction.</p>",
          "x-validators": [
            {
              "name": "Validate transaction date",
              "description": "Validates that the transaction date provided in the payload is not in the future.",
              "possible_errors": [
                "transaction_in_future"
              ]
            }
          ]
        },
        "transaction_id": {
          "type": "string",
          "description": "<p>The unique internal identifier for the transaction.</p>"
        }
      },
      "required": [
        "amount",
        "line_items",
        "product_code",
        "transaction_date",
        "transaction_id",
        "type"
      ],
      "x-validators": [
        {
          "name": "Validates supply charge line item rate",
          "description": "This validation only applies to transactions of type supply charge. Validates that product code is provided and a product exists with that code. Validates that line items are provided and each line item rate band exists for the product.",
          "possible_errors": []
        },
        {
          "name": "Validate that the given price per unit matches an existing rate price per unit",
          "description": "Validate that the given price per unit matches an existing rate price per unit. If the existing rate is a dynamic rate (i.e. it has a <code>NaN</code> price per unit), then there must be a price per unit in the payload.",
          "possible_errors": []
        },
        {
          "name": "Validate line item number of units",
          "description": "Validate that the line item number of units matches the number of days in the period provided for standing charges.",
          "possible_errors": []
        },
        {
          "name": "Validate that the total transaction amount is correct",
          "description": "Ensure that the total line items amount matches transaction amount.",
          "possible_errors": [
            "ledger_transaction_amount_does_not_match_with_line_item_net_amount_and_tax_amount"
          ]
        },
        {
          "name": "Ensure supply point identifier is provided when line items use rate_specification_code",
          "description": "Validate that <code>supply_point_identifier</code> is provided when any line item contains a <code>rate_specification_code</code>, as the supply point is required for rate resolution.",
          "possible_errors": [
            "supply_point_identifier_required_for_rate_specification_code"
          ]
        },
        {
          "name": "Validate that the line items do not overlap with any already charged periods",
          "description": "Validate that the line item periods do not overlap with any already charged periods for a supply point.",
          "possible_errors": [
            "line_items_overlap_already_charged_period"
          ]
        }
      ]
    },
    "OriginTransaction": {
      "oneOf": [
        {
          "$ref": "#/$defs/Credit"
        },
        {
          "$ref": "#/$defs/AusCharge"
        },
        {
          "$ref": "#/$defs/Payment"
        },
        {
          "$ref": "#/$defs/Repayment"
        },
        {
          "$ref": "#/$defs/OriginSupplyCharge"
        }
      ]
    },
    "Payment": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "CHARGE",
            "PAYMENT",
            "REPAYMENT",
            "CREDIT",
            "SUPPLY_CHARGE"
          ],
          "type": "string",
          "x-spec-enum-id": "06d6aba5cee32f9a",
          "description": "<p>The type of the transaction.</p>",
          "x-enum-descriptions": {
            "CHARGE": "Charge",
            "PAYMENT": "Payment",
            "REPAYMENT": "Repayment",
            "CREDIT": "Credit",
            "SUPPLY_CHARGE": "Supply Charge"
          }
        },
        "amount": {
          "type": "string",
          "format": "decimal",
          "pattern": "^-?\\d{0,10}(?:\\.\\d{0,10})?$",
          "description": "<p>The amount of the transaction. e.g. if the customer has a consumption charge worth 23.43, this equates to a transaction of type <code>CHARGE</code> of 23.43. Payments and repayments must be positive numbers. Generally charges and credits are also positive, but may be negative to represent reversed charges or credits, or if an incorrect estimated reading has resulted in a negative consumption charge. Provide this amount in the currency's major unit rather than its minor unit (for example euros rather than cents, or pounds rather than pence). These examples are illustrative only; the same applies to any currency that has a major and minor unit. For currencies without a minor unit, such as the Japanese yen, pass the value as-is.</p>"
        },
        "billing_document_identifier": {
          "type": "string",
          "description": "<p>The identifier from the source system that groups a set of transactions together. This will be used in Kraken during the migration of historical statement transactions to create an archived billing document. For now this field is only required if <code>HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER</code> settings is ON and is meant for only <code>historical_statements_transactions</code>. Passing this to other transactions like <code>current_statement_transactions</code> or <code>transactions_in_open_settlement_period</code> will raise validation error.</p>"
        },
        "display_note": {
          "type": "string",
          "description": "<p>The customer-facing note that can be displayed in a statement or email to the customer.</p>",
          "deprecated": true
        },
        "note": {
          "type": "string",
          "description": "<p>Any additional notes about the transaction.</p>"
        },
        "payment_type": {
          "enum": [
            "DD_FIRST_COLLECTION",
            "DD_REGULAR_COLLECTION",
            "DD_RE_PRESENTATION",
            "DD_FINAL_COLLECTION",
            "CREDIT_CARD",
            "DEBIT_CARD",
            "CHEQUE",
            "BACS_DEPOSIT",
            "ALLPAY_CASH",
            "ALLPAY_CARD",
            "ALLPAY_CHEQUE",
            "PAYPOINT_CASH",
            "PAYPOINT_CARD",
            "PAYPOINT_CHEQUE",
            "DCA_COLLECTION",
            "BRISTOL_POUND",
            "CASH",
            "FUEL_DIRECT",
            "BPAY",
            "AUSTRALIA_POST",
            "HEEA",
            "HEEAS",
            "CENTREPAY",
            "EAPA_VOUCHER",
            "URGS",
            "BPOINT",
            "EFT",
            "ERRONEOUS_PAYMENT",
            "PAYZONE",
            "POST_OFFICE_CASH",
            "POST_OFFICE_CARD",
            "POST_OFFICE_CHEQUE",
            "POST_OFFICE_SAVINGS_STAMPS",
            "KONBINI",
            ""
          ],
          "type": "string",
          "x-spec-enum-id": "e5c2d3475e079058",
          "description": "<p>The payment type for the transaction.</p>",
          "x-enum-descriptions": {
            "DD_FIRST_COLLECTION": "DD_FIRST_COLLECTION",
            "DD_REGULAR_COLLECTION": "DD_REGULAR_COLLECTION",
            "DD_RE_PRESENTATION": "DD_RE_PRESENTATION",
            "DD_FINAL_COLLECTION": "DD_FINAL_COLLECTION",
            "CREDIT_CARD": "CREDIT_CARD",
            "DEBIT_CARD": "DEBIT_CARD",
            "CHEQUE": "CHEQUE",
            "BACS_DEPOSIT": "BACS_DEPOSIT",
            "ALLPAY_CASH": "ALLPAY_CASH",
            "ALLPAY_CARD": "ALLPAY_CARD",
            "ALLPAY_CHEQUE": "ALLPAY_CHEQUE",
            "PAYPOINT_CASH": "PAYPOINT_CASH",
            "PAYPOINT_CARD": "PAYPOINT_CARD",
            "PAYPOINT_CHEQUE": "PAYPOINT_CHEQUE",
            "DCA_COLLECTION": "DCA_COLLECTION",
            "BRISTOL_POUND": "BRISTOL_POUND",
            "CASH": "CASH",
            "FUEL_DIRECT": "FUEL_DIRECT",
            "BPAY": "BPAY",
            "AUSTRALIA_POST": "AUSTRALIA_POST",
            "HEEA": "HEEA",
            "HEEAS": "HEEAS",
            "CENTREPAY": "CENTREPAY",
            "EAPA_VOUCHER": "EAPA_VOUCHER",
            "URGS": "URGS",
            "BPOINT": "BPOINT",
            "EFT": "EFT",
            "ERRONEOUS_PAYMENT": "ERRONEOUS_PAYMENT",
            "PAYZONE": "PAYZONE",
            "POST_OFFICE_CASH": "POST_OFFICE_CASH",
            "POST_OFFICE_CARD": "POST_OFFICE_CARD",
            "POST_OFFICE_CHEQUE": "POST_OFFICE_CHEQUE",
            "POST_OFFICE_SAVINGS_STAMPS": "POST_OFFICE_SAVINGS_STAMPS",
            "KONBINI": "Konbini",
            "": ""
          }
        },
        "reason": {
          "type": "string",
          "description": "<p>The reason for the transaction.</p>"
        },
        "reference": {
          "type": "string",
          "description": "<p>The reference for the transaction. This could be an external id to help identify this transaction.</p>"
        },
        "transaction_date": {
          "type": "string",
          "format": "date",
          "description": "<p>The date of the transaction.</p>",
          "x-validators": [
            {
              "name": "Validate transaction date",
              "description": "Validates that the transaction date provided in the payload is not in the future.",
              "possible_errors": [
                "transaction_in_future"
              ]
            }
          ]
        },
        "transaction_id": {
          "type": "string",
          "description": "<p>The unique internal identifier for the transaction.</p>"
        }
      },
      "required": [
        "amount",
        "transaction_date",
        "transaction_id",
        "type"
      ]
    },
    "Repayment": {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "CHARGE",
            "PAYMENT",
            "REPAYMENT",
            "CREDIT",
            "SUPPLY_CHARGE"
          ],
          "type": "string",
          "x-spec-enum-id": "06d6aba5cee32f9a",
          "description": "<p>The type of the transaction.</p>",
          "x-enum-descriptions": {
            "CHARGE": "Charge",
            "PAYMENT": "Payment",
            "REPAYMENT": "Repayment",
            "CREDIT": "Credit",
            "SUPPLY_CHARGE": "Supply Charge"
          }
        },
        "amount": {
          "type": "string",
          "format": "decimal",
          "pattern": "^-?\\d{0,10}(?:\\.\\d{0,10})?$",
          "description": "<p>The amount of the transaction. e.g. if the customer has a consumption charge worth 23.43, this equates to a transaction of type <code>CHARGE</code> of 23.43. Payments and repayments must be positive numbers. Generally charges and credits are also positive, but may be negative to represent reversed charges or credits, or if an incorrect estimated reading has resulted in a negative consumption charge. Provide this amount in the currency's major unit rather than its minor unit (for example euros rather than cents, or pounds rather than pence). These examples are illustrative only; the same applies to any currency that has a major and minor unit. For currencies without a minor unit, such as the Japanese yen, pass the value as-is.</p>"
        },
        "billing_document_identifier": {
     

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/origin-energy/refs/heads/main/json-schema/origin-energy-transactions-schema.json

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/origin-energy-transactions"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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