openapi: 3.0.3
info:
title: Kraken
version: v1
paths:
/v1/data-import/account-import-process/create-or-update/:
post:
operationId: V1 Create Or Update Account Import Process
description: As the name suggests, this endpoint stores the data in Kraken but
does not create an account from the data. Staged account data can be updated
as many times as you like before an account is created.
summary: Use this endpoint to stage account data before creating an account.
tags:
- account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OriginAccount'
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateAccountImportProcess'
examples:
SuccessfulImportProcessModification.:
value:
external_account_number: '1234'
import_supplier_code: TENTACLE_ENERGY
summary: Successful import process modification.
description: If the payload is valid, **and the request is updating data
for an account that has been staged previously**, then a `200 OK` response
will be returned detailing the `external_account_number` and `import_supplier`.
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateAccountImportProcess'
examples:
SuccessfulImportProcessModification.:
value:
external_account_number: '1234'
import_supplier_code: TENTACLE_ENERGY
summary: Successful import process modification.
description: If the payload is valid, **and the request is staging data
for an account for the first time**, then a `201 Created` response will
be returned detailing the `external_account_number` and `import_supplier`.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadCreateOrUpdateAccountImportProcess'
examples:
PostcodeFieldMissingFromBillingAddress:
value:
billing_address:
postcode:
- postcode field is required.
summary: Postcode field missing from billing address
AccountProcessAlreadyImported.:
value:
external_account_number: EXTERNAL-1234
kraken_account_number: A-E8981832
non_field_errors:
- The account import process with the account number EXTERNAL-1234
has already been imported.
summary: Account process already imported.
description: |2
If account data fails to be staged, then the details of the validation errors will
be returned in the response. In this scenario, check that:
- The payload is valid (refer to the field definitions and validation rules table).
- The account has not been imported already, or marked to be skipped.
- The migration for the `import_supplier` is still ongoing (if you receive an error
indicating it is paused or complete, get in touch with the Kraken team).
x-doc-alerts:
- Before an account is staged, it is validated according to the same rules as
the validate endpoint above. This is an extra safety check to make sure nothing
has changed between creating the data and submitting it for staging in Kraken.
/v1/data-import/account-import-process/process/:
post:
operationId: V1 Process Account Import Process
description: The endpoint accepts a JSON payload that contains an object referencing
existing staged account data. The `operations_team_name` that the account
should be linked to should also be provided. An optional `dry_run` field is
available to test the account creation process without actually creating the
account. This is useful for testing the process to ensure that an account
would be created successfully.
summary: Use this endpoint to process staged account data into an account in
Kraken.
tags:
- account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessAccountImportProcess'
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessAccountImportProcessCreation'
examples:
SuccessfulAccountCreationFromAnExistingProcess.:
value:
external_account_number: '00001234'
kraken_account_number: A-E8981832
account_number: A-E8981832
summary: Successful account creation from an existing process.
description: If the payload is valid and an account has been created, the
newly created Kraken account number will be returned in the response.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadProcessAccountImportProcess'
examples:
AccountProcessAlreadyImported.:
value:
external_account_number: EXTERNAL-1234
kraken_account_number: A-E8981832
non_field_errors:
- The account import process with the account number EXTERNAL-1234
has already been imported.
summary: Account process already imported.
AccountCreationInDry-runMode.:
value:
detail: Account would successfully import. Rolled back due to
Dry Run.
code: '400'
summary: Account creation in dry-run mode.
description: |2
If there are validation errors, they will be detailed in the body of the response.
To resolve these errors, refer to the field definitions and validation rules.
If an account has already been imported then two additional fields will be present
in the response: `external_account_number` and `kraken_account_number`.
If the API request was run with the `dry_run` flag set to `true`, and the request
would ordinarily have been successful, then the response will also be returned.
'429':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: There is an optional concurrency limit on the number of accounts
that can be processed at once. If enabled, any requests to create an account
that exceed this limit will be rejected. These requests should be retried
once other ongoing accounts have finished processing.
x-doc-alerts:
- Before an account is created, it is validated according to the same rules
as the validate endpoint above. This is an extra safety check to make sure
nothing has changed between creating the data and submitting it for account
creation in Kraken.
- The referenced team must already exist in Kraken and the account data must
already have been staged.
/v1/data-import/account-transfer-status/{import_supplier_code}/{external_account_number}/:
get:
operationId: V1 Get Account Transfer Status
description: Use this endpoint to find out the status of a single account import
process.
summary: Find out the status of a single account import process
parameters:
- in: path
name: external_account_number
schema:
type: string
description: The account number in the source system.
required: true
- in: path
name: import_supplier_code
schema:
type: string
description: The code of an existing Import Supplier.
required: true
tags:
- account_import
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountTransferStatus'
examples:
FoundAccountTransferStatus:
value:
status: COMPLETED
account_number: A-12AB34CD
kraken_account_number: A-12AB34CD
summary: Found account transfer status
description: If the account import process exists (whether an account has
been created or not), the `status` and `kraken_account_number` will be
returned in the body of the response. If an account has not yet been created
from the import data, then the `kraken_account_number` will be an empty
string.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/AccountNotFoundError'
description: |2
If an account cannot be found for the given `import_supplier` and
`external_account_number`, this response will be returned.
To resolve the error, check that the account has been imported and that the
`import_supplier` and `external_account_number` are correct.
x-doc-alerts: []
/v1/data-import/all-account-import-processes/{import_supplier_code}/:
get:
operationId: V1 Get All Account Import Processes
description: Use this endpoint to list all accounts for import, whether they
are pending (their data has been staged) or have had a Kraken account created.
summary: List all accounts for import
parameters:
- in: path
name: import_supplier_code
schema:
type: string
description: The code of an existing Import Supplier.
required: true
tags:
- query
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ImportProcess'
examples:
AllAccountImportProcesses:
value:
- - external_account_number: '1234'
kraken_account_number: null
account_created_at: null
- external_account_number: '5678'
kraken_account_number: A-56785678
account_created_at: '2020-01-01T12:00:00Z'
summary: All account import processes
description: If any pending or imported accounts are found for the given
`import_supplier_code`, they will be returned in the response. If the
account is pending import then the `kraken_account_number` and `account_created_at
will` be null.
x-doc-alerts: []
/v1/data-import/business/:
post:
operationId: V1 Create Business
description: Use this endpoint to import business to Kraken.
summary: Import business to Kraken
tags:
- business_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessImportProcess'
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessImportProcessCreation'
examples:
SuccessfulBusinessImport:
value:
kraken_business_id: Business ID
summary: Successful business import
description: The business has been successfully imported in Kraken.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/DRFError'
description: |2+
If there are validation errors, they will be detailed in the body
of the response. To resolve these errors, refer to the field definitions
and validation rules.
x-doc-alerts: []
/v1/data-import/business-payment-instruction/create/:
post:
operationId: V1 Create Business Payment Instruction
description: Create a payment instruction for a business after import.
summary: Create a payment instruction for a business after import.
tags:
- post_business_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BusinessPaymentInstruction'
examples:
ExamplePayload:
value:
import_supplier_code: TENTACLE_UTILITIES
external_business_identifier: EXTERNAL-1234
vendor: STRIPE
reference: THIS-IS-A-FAKE-REFERENCE
type: CARD
accounts:
- external_account_number: EXTERNAL-ACCOUNT-123
- external_account_number: EXTERNAL-ACCOUNT-1234
summary: Example payload
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBusinessPaymentInstructionError'
examples:
UnableToCreatePaymentInstruction.:
value:
error_detail: Unable to create payment instruction
external_business_identifier: EXTERNAL-1234
import_supplier_code: SOME_IMPORT_SUPPLIER
reference: THIS-IS-A-FAKE-REFERENCE
summary: Unable to create payment instruction.
description: |2
If there are validation errors, the errors will be detailed in the body of the response. To
resolve the error, refer to the field definitions and validation rules.
This error can be returned if we have persistent issues communicating with the upstream payment
vendor (we call their API to verify the instruction exists, and retrieve the details to store in
Kraken). In this case, **the request should not be retried in its current form**.
'404':
description: The business import process have not been found. To resolve
the error, check that the business has been imported (not just staged)
and that the `import_supplier_code` and `external_business_identifier`
are correct.
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBusinessPaymentInstructionResponse'
examples:
CreatedBusinessPaymentInstruction:
value:
external_business_identifier: EXTERNAL-1234
reference: THIS-IS-A-FAKE-REFERENCE
summary: Created business payment instruction
description: If the payload is valid, the external business identifier and
the reference will be returned.
'401':
description: Authentication credentials were not provided or are invalid.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBusinessPaymentInstructionError'
description: |2
This error can be returned if we have intermittent issues communicating with the upstream payment
vendor (we call their API to verify the instruction exists, and retrieve the details to store in
Kraken). In this case, **the request should be retried as-is**.
x-doc-alerts: []
/v1/data-import/historical-statements/create/:
post:
operationId: V1 Create Historical Statements
description: Use this endpoint to import historical PDF statements onto an account.
summary: Use this endpoint to import historical PDF statements onto an account.
tags:
- post_account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/HistoricalStatements'
examples:
ExamplePayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
statements:
- bill_period_from_date: '2022-01-01'
bill_period_to_date: '2022-01-31'
statement_id: '1'
issued_date: '2022-02-02'
number: '1'
gross_amount: 100
statement_path: path/to/statement-1.pdf
summary: Example payload
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/NonFieldErrors'
examples:
AccountNumberOrExternalAccountNumberMustBeProvided:
value:
non_field_errors:
- Either account_number or external_account_number must be provided.
summary: account_number or external_account_number must be provided
description: Validation error.
'404':
description: The account import process or account have not been found.
To resolve the error, check that the account has been imported (not just
staged) and that the `import_supplier code` and `external_account_number`
are correct.
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/HistoricalStatements'
description: If the payload is valid, the validated data will be returned
in the body of the response.
x-doc-alerts: []
/v1/data-import/imported-account-import-processes/{import_supplier_code}/:
get:
operationId: V1 Get Imported Accounts
description: Use this endpoint to list all accounts that have been imported
and now have a Kraken account.
summary: List all accounts that have been imported
parameters:
- in: path
name: import_supplier_code
schema:
type: string
description: The code of an existing Import Supplier.
required: true
tags:
- query
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ImportProcess'
examples:
SuccessfullyImportedImportProcesses:
value:
- - external_account_number: '5678'
kraken_account_number: A-56785678
account_created_at: '2020-01-01T12:00:00Z'
summary: Successfully imported import processes
description: If any imported accounts are found for the given `import_supplier_code`,
they will be returned in the response.
x-doc-alerts: []
/v1/data-import/notes/create/:
post:
operationId: V1 Create Account Notes
description: |-
Some points to note:
- A note must contain at least one of the fields `body` or `document_paths`.
- A `created_at` datetime may optionally be provided. Otherwise, it will default to the current local time.
- The `document_paths` refer to the locations in S3 where attached documents are stored.
- An optional `is_pinned` boolean can be passed in the payload to control whether this note will be pinned to the top of the Kraken account support site page.
summary: Use this endpoint to add notes to an account.
tags:
- post_account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccountNote'
examples:
ExamplePayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
notes:
- body: Some important pinned note.
is_pinned: true
unpin_at: '2020-06-01T12:00:00Z'
- created_at: '2020-02-01T12:00:00Z'
body: Some important note with an attachment.
document_paths:
- document_path: some/path/to/a/document.pdf
summary: Example payload
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/NonFieldErrors'
examples:
AccountNumberOrExternalAccountNumberMustBeProvided:
value:
non_field_errors:
- Either account_number or external_account_number must be provided.
summary: account_number or external_account_number must be provided
description: Validation error.
'404':
description: The account import process or account have not been found.
To resolve the error, check that the account has been imported (not just
staged) and that the `import_supplier code` and `external_account_number`
are correct.
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAccountNotesResponse'
examples:
CreateNoteSuccessExample:
value:
- created_at: '2020-01-01T12:00:00Z'
body: Something very important to import.
status: NOTE_CREATION_SUCCESS
- created_at: '2020-02-01T12:00:00Z'
body: Something else very important to import.
status: NOTE_ALREADY_EXISTS
summary: Create note success example
description: If the payload is valid, a list of the posted notes and their
creation status will be returned in the response. A new note will only
be created if a note on the account with the same body (and `created_at`,
if provided) does not already exist.
x-doc-alerts: []
/v1/data-import/payment-instruction/create/:
post:
operationId: V1 Create Payment Instruction
description: Create a payment instruction.
summary: Create a payment instruction.
tags:
- post_account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LegacyPaymentInstruction'
examples:
ExamplePayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
vendor: STRIPE
reference: THIS-IS-A-FAKE-REFERENCE
type: CARD
summary: Example payload
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePaymentInstructionResponse'
examples:
CreatedPaymentInstruction.:
value:
kraken_account_number: A-C90DC431
reference: THIS-IS-A-FAKE-REFERENCE
summary: Created payment instruction.
description: If the payload is valid, the Kraken account number and the
reference will be returned.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePaymentInstructionError'
examples:
AccountAlreadyHasAnActiveInstructionError.:
value:
error_detail: Account already has an active instruction
external_account_number: '7654321'
import_supplier: SOME_IMPORT_SUPPLIER
reference: THIS-IS-A-FAKE-REFERENCE
summary: Account already has an active instruction error.
description: |2
If there are validation errors, the errors will be detailed in the body of the response. To
resolve the error, refer to the field definitions and validation rules.
This error can be returned if we have persistent issues communicating with the upstream payment
vendor (we call their API to verify the instruction exists, and retrieve the details to store in
Kraken). In this case, **the request should not be retried in its current form**.
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePaymentInstructionError'
description: |2
This error can be returned if we have intermittent issues communicating with the upstream payment
vendor (we call their API to verify the instruction exists, and retrieve the details to store in
Kraken). In this case, **the request should be retried as-is**.
x-doc-alerts: []
/v1/data-import/pending-account-import-processes/{import_supplier_code}/:
get:
operationId: V1 Get Pending Account Import Processes
description: Use this endpoint to list all accounts pending import (their data
has been staged).
summary: List all accounts pending import
parameters:
- in: path
name: import_supplier_code
schema:
type: string
description: The code of an existing Import Supplier.
required: true
tags:
- query
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ImportProcess'
examples:
PendingAccountImportProcesses:
value:
- - external_account_number: '1234'
kraken_account_number: null
account_created_at: null
summary: Pending account import processes
description: If any accounts pending import are found for the given
`import_supplier_code`, they will be returned in the response.
For consistency with the other APIs the `kraken_account_number`
and `account_created_at` fields will be returned but will always
be `null`.
description: Pending import processes matching request parameters.
x-doc-alerts: []
/v1/data-import/transactions/create/:
post:
operationId: V1 Create Transactions
description: Use this endpoint to import financial transactions to an account.
summary: Use this endpoint to import financial transactions to an account.
parameters:
- in: query
name: check_previously_added
schema:
type: boolean
default: true
description: Boolean flag indicating whether to check if a transaction has
already been added.
- in: query
name: force_add_to_current_statement
schema:
type: boolean
default: true
description: boolean flag. If set to true and the payload contains a transaction
that is outside the currently-open statement period, this will modify the
transaction date so that it is within the currently-open statement period.
This then allows the transaction to be added to the statement instead of
throwing an error. A description is added to the transaction to explain
this, and a note is pinned to the account.
tags:
- post_account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Transactions'
examples:
ExamplePayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
transactions:
- transaction_id: '1'
transaction_date: '2019-10-01'
amount: 10.0
type: CHARGE
reason: IMPORTED_CHARGE
display_note: Some customer facing note about the charge.
note: Some internal note about the charge.
- transaction_id: '2'
transaction_date: '2019-10-01'
amount: 10.0
type: CREDIT
reason: IMPORTED_CREDIT
display_note: Some customer facing note about the credit.
note: Some internal note about the credit.
- transaction_id: '3'
transaction_date: '2019-10-01'
amount: 10.0
type: PAYMENT
reason: ACCOUNT_CHARGE_PAYMENT
reference: payment-reference-1
payment_type: DD_REGULAR_COLLECTION
note: Some internal note about the payment.
- transaction_id: '4'
transaction_date: '2019-10-01'
amount: 10.0
type: REPAYMENT
reason: FULL_CREDIT_REFUND
reference: repayment-reference-1
payment_type: DIRECT_CREDIT
note: Some internal note about the repayment.
- transaction_id: '5'
transaction_date: '2019-10-01'
amount: 53.24
type: SUPPLY_CHARGE
display_note: Some customer facing note about the supply charge.
product_code: SOME-PRODUCT-CODE-4321
line_items:
- rate_band: CONSUMPTION_STANDARD
start_date: '2019-10-01'
end_date: '2019-11-01'
number_of_units: 4.0
net_amount: 44.0
price_per_unit: 11.0
units:
- 4.0
- 8.0
tax_items:
- amount: 9.24
tax_type: VAT
value_taxed: 44.0
rate: 0.21
unit_type: PROPORTION
summary: Example payload
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadCreateTransactionsRequest'
examples:
BadTransactionPayload:
value:
transactions:
'0':
reason:
- Not a valid string.
summary: Bad transaction payload
ErrorCreatingTheTransaction:
value:
status: TRANSACTION_IMPORT_ERROR
error_detail: 'UnableToCreateTransaction - 2019-09-28 of Payment
#1 of 7100 on 2019-09-28 (ThirdParty) is not within the statement
A-00000001 2019-10-01 - 2019-10-15 (OPEN) period'
transaction_data:
transaction_id: '1'
transaction_date: '2019-09-28'
amount: '71.00'
type: PAYMENT
reason: GENERAL_CREDIT
reference: reference 1
payment_type: DEBIT_CARD
summary: Error creating the transaction
description: Could not create transactions
'404':
description: The account import process or account have not been found.
To resolve the error, check that the account has been imported (not just
staged) and that the `import_supplier code` and `external_account_number`
are correct.
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/TransactionsCreated'
examples:
TransactionCreationResponseExample:
value:
results:
- status: TRANSACTION_ALREADY_EXISTS
transaction_data:
transaction_id: '1'
transaction_date: '2019-10-01'
amount: '71.00'
type: PAYMENT
reason: GENERAL_CREDIT
reference: reference 1
payment_type: DEBIT_CARD
status: TRANSACTION_IMPORT_SUCCESS
- status: TRANSACTION_ADDED_TO_ACCOUNT
transaction_data:
transaction_id: '2'
transaction_date: '2019-10-04'
amount: '180.00'
type: PAYMENT
reason: GENERAL_CREDIT
reference: reference 2
payment_type: DEBIT_CARD
summary: Transaction creation response example
description: If the payload is valid, and there were no errors while importing
the transactions, an object will be returned with a list of transactions
that were passed in along with their creation statuses.
x-doc-alerts: []
/v1/data-import/validate-account/:
post:
operationId: V1 Validate Account
description: Use this endpoint to validate account data before staging and creating
an account.
summary: Use this endpoint to validate account data before staging and creating
an account.
tags:
- account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OriginAccount'
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OriginAccount'
description: If the payload is valid, the validated data will be returned
in the body of the response.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/BadValidateAccountRequest'
examples:
PostcodeFieldMissingFromBillingAddress:
value:
billing_address:
postcode:
- postcode field is required.
summary: Postcode field missing from billing address
AccountProcessAlreadyImported.:
value:
external_account_number: EXTERNAL-1234
kraken_account_number: A-E8981832
non_field_errors:
- The account import process with the account number EXTERNAL-1234
has already been imported.
summary: Account process already imported.
description: If there are validation errors, they will be detailed in the
body of the response. To resolve these errors, refer to the field definitions
and validation rules.
x-doc-alerts: []
/v2/data-import/accounts/:
post:
operationId: V2 Schedule Account Creation
description: Use this endpoint to schedule the creation of an account in Kraken.
It accepts a request containing the necessary information for account creation,
validates the data, and creates an account migration task to be executed asynchronously.
summary: Schedule the creation of an account in Kraken
tags:
- account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleAccountCreation'
examples:
ExampleElectricityPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
communication_preference: ONLINE
document_accessibility: LARGE_PRINT
customers:
- given_name: Homer
family_name: Simpson
email: homer@simpson.com
mobile: 0488008221
landline: '+61280082213'
date_of_birth: '1959-01-01'
title: Mr
salutation: Hi
address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234567'
locality: Sydney
postal_code: '3000'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
- given_name: Marge
family_name: Simpson
email: marge@simpson.com
mobile: 0488008221
landline: '+61288008221'
date_of_birth: '1960-01-01'
title: Mrs
salutation: Oh hai
deceased: Reported
unable_to_read_meters: true
- given_name: Lisa
family_name: Simpson
email: marge@simpson.com
mobile: 0488008221
landline: '+61388008221'
title: Miss
salutation: Hello
billing_name: The Simpsons
billing_sub_name: Fourth of their name
billing_customer_reference: Energy Supply
billing_attention_of: The Bursar
billing_address1: 11 Queen's Road
billing_address2: FLAT 1
billing_address3: ''
billing_address4: ''
billing_address5: NSW
billing_postcode: '3000'
billing_delivery_point_identifier: '51234567'
sales_channel: DIRECT
sales_subchannel: Disney
date_of_sale: '1989-12-17'
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
is_landlord: true
property_administrators:
- given_name: Mick
family_name: Jagger
email: mick.jager@rollingstones.com
mobile: 0488008221
landline: 0212345678
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: '4103445577'
supply_start_date: '2019-01-01'
supply_end_date: null
access_details: Customer reports no access issues
hazard_details:
- Dog
meters:
- meter_serial_number: 12KD
installed_on: '2001-01-01'
removed_on: '2014-01-01'
registers:
- register_id: '1'
- register_id: '2'
- meter_serial_number: AB1234
installed_on: '2014-01-01'
removed_on: '2016-01-01'
- meter_serial_number: Z16N389556
registers:
- register_id: '1'
last_billed_to_date: '2019-08-01'
transfer_readings:
- register_id: '1'
reading_date: '2019-08-01'
reading_value: '1000.00'
reading_type: CUSTOMER
reading_history:
- register_id: '1'
reading_date: '2019-06-20'
reading_value: '980.00'
reading_type: CUSTOMER
billed: true
- register_id: '1'
reading_date: '2019-05-20'
reading_value: '960.00'
reading_type: ESTIMATE
billed: true
- register_id: '1'
reading_date: '2019-04-20'
reading_value: '950.00'
reading_type: ROUTINE
billed: true
agreements:
- tariff_code: ELECTRICITY_PRODUCT
effective_from: '2019-04-01'
effective_to: '2019-06-01'
agreed_at: '2019-04-01T10:00:00Z'
- tariff_code: ELECTRICITY_PRODUCT
effective_from: '2019-06-01'
transfer_balance: 50.0
ledgers:
- current_statement_transactions:
- transaction_id: '1'
transaction_date: '2019-08-04'
amount: 10.0
type: REPAYMENT
reason: FULL_CREDIT_REFUND
payment_type: CHEQUE
- transaction_id: '2'
transaction_date: '2019-08-03'
amount: 20.0
type: PAYMENT
reason: ACCOUNT_CHARGE_PAYMENT
payment_type: DD_FINAL_COLLECTION
- transaction_id: '3'
transaction_date: '2019-08-02'
amount: 20.0
type: CREDIT
reason: IMPORTED_CREDIT
historical_statement_transactions:
- transaction_id: '4'
transaction_date: '2019-06-01'
amount: 10.0
type: PAYMENT
reason: ACCOUNT_CHARGE_PAYMENT
payment_type: CREDIT_CARD
- transaction_id: '5'
transaction_date: '2019-07-01'
amount: 10.0
type: PAYMENT
reason: ACCOUNT_CHARGE_PAYMENT
payment_type: DEBIT_CARD
last_statement_closing_date: '2019-07-31'
last_statement_issue_date: '2019-08-01'
last_statement_balance: 20.0
ledger_balance: 50.0
last_billed_to_date: '2019-08-01'
payment_instructions:
- vendor: WESTPAC
type: CARD
reference: SUPPLIER-179680385
valid_from: '2022-06-15'
card:
card_payment_network: VISA
card_type: CREDIT
last_digits: '1234'
expiry_month: 3
expiry_year: 2030
- vendor: WESTPAC
reference: SUPPLIER-142755174
type: DIRECT_DEBIT
valid_from: '2022-06-15'
bank_account:
account_holder: Chris Johnson
account_number: '12345678'
bsb: '111111'
payment_schedules:
- amount: 6.0
day_of_month: 10
frequency: MONTHLY
means: DD
start_date: '2018-01-01'
is_debt_repayment_plan: true
- amount: 60.0
day_of_month: 2
frequency: MONTHLY
means: DD
start_date: '2018-01-01'
is_debt_repayment_plan: false
notes:
- created_at: '2018-10-10T10:20:00Z'
body: This is a note
document_paths:
- document_path: /notes/1234/attachment.jpg
- created_at: '2018-10-10T10:20:00Z'
body: This is a pinned note
document_paths:
- document_path: /notes/1234/attachment.jpg
is_pinned: true
statements:
- bill_period_from_date: '2019-06-01'
bill_period_to_date: '2019-07-01'
statement_path: EXTERNAL-1234/2019-06-01-to-2019-07-01.pdf
statement_id: '1'
average_daily_usage: 18.44
is_reversed: true
total_consumption: 1045.3626354
total_consumption_cost: 250.88
total_supply_cost: 40.24
total_feed_in_energy: 303.35038
total_feed_in_cost: 33.3685418
- bill_period_from_date: '2019-07-01'
bill_period_to_date: '2019-08-01'
statement_path: EXTERNAL-1234/2019-07-01-to-2019-08-01.pdf
statement_id: '2'
average_daily_usage: 20.2
is_reversed: false
total_consumption: 123.456789
total_consumption_cost: 333.33
total_supply_cost: 20.2
total_feed_in_energy: 222.22222
total_feed_in_cost: 77.7777777
last_payment_review_date: '2019-06-01'
next_bill_due_date: '2019-11-20'
events:
- event_type: BEST_OFFER_CHECKED_IN_SAP
category: communications
subcategory: best_offer
occurred_at: '2011-05-12T13:33:22Z'
description: Best offer process ran for 2000179998952.
- event_type: MIXED_COMMS_PREF_IN_SAP
category: communications
subcategory: mixed_comms_preference
occurred_at: '2021-11-15T13:33:22Z'
description: Customer with mixed comms preferences in SAP.
- event_type: PRICE_CHANGE_SENT_IN_SAP
category: communications
subcategory: price_change
occurred_at: '2021-11-15T13:33:22Z'
description: July 2022 price change comm sent in SAP for 2000179998952.
- event_type: SHARED_EMAIL_7
category: communications
subcategory: mixed_comms_preference
occurred_at: '2021-11-15T13:33:22Z'
description: Customer with shared email scenario - PRINT for Account
Level and EMAIL for Invoice.
- event_type: SUPPRESS_MIGRATION_COMMS
category: communications
subcategory: migration_comms
occurred_at: '2021-11-15T13:33:22Z'
description: Suppress migration comms for the account
summary: Example electricity payload
ExampleGasPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: '5240459904'
supply_start_date: '2019-01-01'
supply_end_date: null
address:
flat_or_unit_type: F
flat_or_unit_number: '1'
floor_or_level_type: ''
floor_or_level_number: ''
building_or_property_name: Residential Wheke Energy Green
Octopus with name = 60 chars
location_descriptor: ''
house:
- house_number: '11'
house_number_suffix: ''
lot_number: ''
street:
- street_name: QUEEN'S
street_type: RD
street_suffix: ''
suburb_or_place_or_locality: SYDNEY
state_or_territory: NSW
postcode: '2000'
delivery_point_identifier: '51234568'
melway_grid_reference: 277 H 10
access_details: Customer reports no access issues
hazard_details:
- Dog
dog_code: Savage
master_data:
customer_characterisation: Metropolitan Residential
customer_classification_code: RES
distribution_tariff: Volume
mirn_status: Commissioned
network_id: NSWWILTON
transmission_zone: 16
heating_value_zone: ABC
customer_classification_threshold: null
market: NSWACTGAS
baseload: null
temperature_sensitivity_factor: null
meters:
- meter_serial_number: 12KD
installed_on: '2001-01-01'
removed_on: '2014-01-01'
meter_status: No meter
- meter_serial_number: OTHER
installed_on: '2014-01-01'
removed_on: '2016-01-01'
billing_method: null
kpa_value: null
meter_installation_type: null
meter_multiplier: null
meter_measurement_unit: null
meter_position: BA
meter_read_frequency: null
meter_status: No meter
meter_type: G
meter_type_size_code: ABC
supply_point_code: Basic
supply_point_id: '1234567890123'
next_scheduled_read_date: null
number_of_dials_on_device: null
- meter_serial_number: NSWACT
billing_method: O
kpa_value: '12345.6789'
meter_installation_type: O
meter_multiplier: '123.45'
meter_measurement_unit: M
meter_position: BA
meter_read_frequency: Bi Monthly
meter_status: Turned on
meter_type: G
meter_type_size_code: null
supply_point_code: Basic
supply_point_id: '1234567890123'
next_scheduled_read_date: '2021-12-02'
number_of_dials_on_device: 4
transfer_readings:
- reading_date: '2019-08-01'
reading_value: '980.00'
reading_type: ROUTINE
prev_reading_date: '2019-06-20'
gas_meter_units: M
volume_flow: '20.00'
average_heating_value: '38.2'
pressure_correction_factor: '1.24'
consumed_energy: '400'
estimation_substitution_type: null
estimation_substitution_reason_code: null
reading_history:
- reading_date: '2019-06-20'
reading_value: '980.00'
reading_type: CUSTOMER
prev_reading_date: '2019-05-20'
gas_meter_units: M
volume_flow: '20.00'
average_heating_value: '38.2'
pressure_correction_factor: '1.24'
consumed_energy: '400'
estimation_substitution_type: null
estimation_substitution_reason_code: null
billed: true
- reading_date: '2019-05-20'
reading_value: '960.00'
reading_type: ESTIMATE
prev_reading_date: '2019-04-20'
gas_meter_units: M
volume_flow: '20.00'
average_heating_value: '38.2'
pressure_correction_factor: '1.24'
consumed_energy: '400'
estimation_substitution_type: null
estimation_substitution_reason_code: null
billed: true
- reading_date: '2019-04-20'
reading_value: '950.00'
reading_type: ROUTINE
prev_reading_date: null
gas_meter_units: null
volume_flow: null
average_heating_value: null
pressure_correction_factor: null
consumed_energy: null
estimation_substitution_type: null
estimation_substitution_reason_code: null
billed: true
meter_position: null
role_assignments:
- party: AGLGNNWO
role: DB
- party: ORIGINUSR
role: FRO
agreements:
- tariff_code: GAS_PRODUCT
effective_from: '2019-04-01'
last_billed_to_date: '2019-08-01'
summary: Example gas payload
ExampleUnmeteredElectricityPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: UNMETERED_ELECTRICITY_AIR_CONDITIONING
parent_nmi: '53109237084'
appliance_type: AIR_CONDITIONING
multiplier: 2.0
supply_start_date: '2019-01-01'
supply_end_date: null
agreements:
- tariff_code: UNMETERED_ELECTRICITY_PRODUCT
effective_from: '2019-04-01'
summary: Example unmetered electricity payload
ExampleUnmeteredGasPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: UNMETERED_GAS_COOKTOP
parent_mirn: '53109237084'
appliance_type: COOKTOP
pricing_zone: TWEEDHEADS
multiplier: 2.0
supply_start_date: '2019-01-01'
supply_end_date: null
agreements:
- tariff_code: UNMETERED_GAS_PRODUCT
effective_from: '2019-04-01'
summary: Example unmetered gas payload
ExampleEmbeddedElectricityPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: ENVCH23366
supply_start_date: '2019-01-01'
supply_end_date: null
jurisdiction: NSW
nmi_classification: SMALL
customer_classification: RESIDENTIAL
customer_threshold: LOW
shared_isolation_flag: N
parent_nmi: '4103445577'
access_details: optional
hazard_details:
- optional
outage_contact_email: example@example.com
nmi_status_periods:
- status: A
active_from: '2019-01-01T00:00:00+10:00'
active_to: null
meter_data_providers:
- from_date: '2019-08-13T00:00:00+10:00'
to_date: null
mdp_id: ACUMEMDP
distributors:
- from_date: '2019-08-13T00:00:00+10:00'
to_date: null
lnsp_id: ENERGYAP
meters:
- meter_serial_number: '1245663742'
active_from: 2001-01-01:00:00:00+10:00
active_to: null
manufacturer: optional
model: optionalopti
location: optional
status: C
meter_installation_type: BASIC
read_type_method: R
read_type_mode: T
read_type_frequency: '1'
registers:
- register_id: E1
unit_of_measure: kwh
time_of_day: INTERVAL
multiplier: 1.5
status: C
active_from: '2019-08-13T00:00:00+10:00'
active_to: null
dial_format_digits: 5
dial_format_decimals: 2
suffix: E1
controlled_load: false
transfer_readings:
- register_id: E1
reading_date: '2022-06-01'
reading_value: '1000.00'
reading_quality: A
reading_history:
- register_id: E1
reading_date: '2019-06-20'
reading_value: '980.00'
reading_quality: A
billed: true
agreements:
- tariff_code: EMBEDDED_ELECTRICITY_PRODUCT
effective_from: '2019-04-01'
last_billed_to_date: '2022-06-01'
summary: Example embedded electricity payload
ExampleEmbeddedGasPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: EMBEDDED_GAS_1000678901
parent_installation_id: '1106833419'
parent_mirn: '4310536033'
supply_start_date: '2019-01-01'
pressure_correction_factor: 1.1
heating_value: 20.2
baseload: 300.3
customer_classification: RES
customer_characterisation: Metropolitan Residential
distribution_tariff: Volume
heating_value_zone: N/A
status: Commissioned
pricing_zone: TAMWORTH
meters:
- meter_serial_number: Z16N389556
reading_route: N3Q26HE1
model_number: Remote S110
measurement_type: M
number_of_dials: 6
kpa_value: 12345.1234
multiplier: 2
status: Turned on
location: HALLWAY_CUPBOARD
active_from: 2001-01-01:00:00:00+10:00
transfer_readings:
- reading_date: '2019-04-01'
reading_value: '1234567890.12345'
reading_quality: ACTUAL
reading_history:
- reading_date: '2019-03-01'
reading_value: '234567890.12345'
reading_quality: ACTUAL
- reading_date: '2019-02-01'
reading_value: '34567890.12345'
reading_quality: ESTIMATED
agreements:
- tariff_code: EMBEDDED_GAS_PRODUCT
effective_from: '2019-04-01'
last_billed_to_date: '2019-04-01'
summary: Example embedded gas payload
ExampleEmbeddedWaterPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: EMBEDDED_WATER_12345
installation_id: '1105505929'
parent_installation_id: '1106833419'
parent_mirn: '4310536033'
installation_type: BHW
plant_temperature: 50C
plant_fuel_type: NG
supply_start_date: '2019-01-01'
supply_end_date: null
reading_route: N3Q26HE1
pricing_zone: BRISBANE
meters:
- meter_serial_number: Z16N389556
make_and_model: 15mm Elster Remote S110
meter_measurement_unit: dL
construction_date: '2000-01-01'
installed_on: '2001-01-01'
number_of_dials_on_device: 7
read_method: REMOTE
reading_route_sequence: 10
location: HALLWAY_CUPBOARD
access_details: Remote Read Mtr in Ceiling Access Panel outside
unit
key_details: Key 226
connection_periods:
- start_at: '2018-06-25T10:20:00+00:00'
end_at: '2019-06-25T10:20:00+00:00'
status: CONNECTED
reading_history:
- reading_date: '2018-10-02'
reading_value: '1234567890.12345'
reading_quality: ACTUAL
transfer_readings:
- reading_date: '2022-09-12'
reading_value: '1234567892.6789'
reading_quality: ESTIMATED
agreements:
- tariff_code: EMBEDDED_WATER_PRODUCT
effective_from: '2019-04-01'
last_billed_to_date: '2022-09-12'
summary: Example embedded water payload
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'201':
description: The payload has been successfully scheduled.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/StandardizedValidationErrorResponse'
examples:
ScheduleAccountCreationErrorResponse(ValidationError):
value:
code: import_process_failed_validation
detail: Import process validation failed during account creation.
Please validate the import process to get full details of the
validation errors.
domain: import_process
summary: Schedule account creation error response (Validation Error)
description: If there are validation errors, a 400 Bad Request response
will be returned detailing the errors. To resolve these errors,
refer to the field definitions and validation rules.
ScheduleAccountCreationErrorResponse(AlreadyImportedAccount):
value:
non_field_errors:
detail: The account import process with the account number 1234567890
has already been imported.
code: account_import_process_already_imported
account_id: A-12345678
summary: Schedule account creation error response (Already Imported
Account)
description: If an account has already been imported, a 400 Bad
Request response will be returned with account_id representing
existing Kraken account number.
description: Validation errors occurred while processing the request.
x-doc-alerts:
- Before an account is created, it is validated according to the same rules
as the validate endpoint above. This is an extra safety check to make sure
nothing has changed between creating the data and submitting it for account
creation in Kraken.
/v2/data-import/accounts/{import_supplier_code}/{external_identifier}/:
get:
operationId: V2 Account Import Status
description: Use this endpoint to retrieve the current status of an account
import.
summary: Return the status of an account import process
parameters:
- in: path
name: external_identifier
schema:
type: string
required: true
- in: path
name: import_supplier_code
schema:
type: string
required: true
tags:
- account_import
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ImportStatusResponse'
examples:
200OK-NoErrorInProcessing:
value:
status: CANCELLED | DRY_RUN_SUCCEEDED | IN_PROGRESS | PENDING
| PROCESSED
kraken_identifier: null
created_at: '2025-10-07T09:00:21.179194+02:00'
modified_at: '2025-10-07T09:06:38.078396+02:00'
latest_event:
event: EVENT_ACCOUNT_IMPORT_PROCESS_CREATED
occurred_at: '2025-10-07T09:00:21.179194+02:00'
data: null
latest_error: null
summary: 200 OK - No error in processing
description: If the account import process exists, a 200 OK
response will be returned, detailing the status.
200OK-ImportProcessIsProcessed:
value:
status: PROCESSED
kraken_identifier: INTERNAL-KRAKEN-IDENTIFIER
created_at: '2025-10-07T09:00:21.179194+02:00'
modified_at: '2025-10-07T09:06:38.078396+02:00'
latest_event:
event: EVENT_ACCOUNT_IMPORT_PROCESS_PROCESSED
occurred_at: '2025-10-07T09:06:38.078396+02:00'
data: null
latest_error: null
summary: 200 OK - Import process is processed
description: 'For example when the import process is processed we
will have an internal kraken id:'
200OK-ErrorInProcessing:
value:
status: ERRORED | DRY_RUN_ERRORED
kraken_identifier: null
created_at: '2025-10-07T09:00:21.179194+02:00'
modified_at: '2025-10-07T09:06:38.078396+02:00'
latest_event:
event: EVENT_ACCOUNT_IMPORT_PROCESS_ERRORED
occurred_at: '2025-10-07T09:06:38.078396+02:00'
data:
code: some_error_code
detail: A detailed error message
domain: import_process
latest_error:
code: some_error_code
detail: A detailed error message
domain: import_process
summary: 200 OK - Error in processing
description: 'For example when there is an error in processing:'
description: The status of the account import.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
404NotFound:
value:
detail: The requested resource was not found.
code: not_found
summary: 404 Not Found
description: If the account import process does not exist, a 404
Not Found response will be returned.
description: Import supplier code or external identifier not found.
x-doc-alerts: []
/v2/data-import/accounts/validate/:
post:
operationId: V2 Validate Account
description: Use this endpoint to validate the payload for creating an account
in Kraken. It accepts a request containing the necessary information for account
creation but only performs the validation of that data. Nothing will be created
in Kraken through this endpoint.
summary: Validate the payload for creating an account in Kraken
tags:
- account_import
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateAccount'
examples:
ExampleElectricityPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
communication_preference: ONLINE
document_accessibility: LARGE_PRINT
customers:
- given_name: Homer
family_name: Simpson
email: homer@simpson.com
mobile: 0488008221
landline: '+61280082213'
date_of_birth: '1959-01-01'
title: Mr
salutation: Hi
address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234567'
locality: Sydney
postal_code: '3000'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
- given_name: Marge
family_name: Simpson
email: marge@simpson.com
mobile: 0488008221
landline: '+61288008221'
date_of_birth: '1960-01-01'
title: Mrs
salutation: Oh hai
deceased: Reported
unable_to_read_meters: true
- given_name: Lisa
family_name: Simpson
email: marge@simpson.com
mobile: 0488008221
landline: '+61388008221'
title: Miss
salutation: Hello
billing_name: The Simpsons
billing_sub_name: Fourth of their name
billing_customer_reference: Energy Supply
billing_attention_of: The Bursar
billing_address1: 11 Queen's Road
billing_address2: FLAT 1
billing_address3: ''
billing_address4: ''
billing_address5: NSW
billing_postcode: '3000'
billing_delivery_point_identifier: '51234567'
sales_channel: DIRECT
sales_subchannel: Disney
date_of_sale: '1989-12-17'
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
is_landlord: true
property_administrators:
- given_name: Mick
family_name: Jagger
email: mick.jager@rollingstones.com
mobile: 0488008221
landline: 0212345678
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: '4103445577'
supply_start_date: '2019-01-01'
supply_end_date: null
access_details: Customer reports no access issues
hazard_details:
- Dog
meters:
- meter_serial_number: 12KD
installed_on: '2001-01-01'
removed_on: '2014-01-01'
registers:
- register_id: '1'
- register_id: '2'
- meter_serial_number: AB1234
installed_on: '2014-01-01'
removed_on: '2016-01-01'
- meter_serial_number: Z16N389556
registers:
- register_id: '1'
last_billed_to_date: '2019-08-01'
transfer_readings:
- register_id: '1'
reading_date: '2019-08-01'
reading_value: '1000.00'
reading_type: CUSTOMER
reading_history:
- register_id: '1'
reading_date: '2019-06-20'
reading_value: '980.00'
reading_type: CUSTOMER
billed: true
- register_id: '1'
reading_date: '2019-05-20'
reading_value: '960.00'
reading_type: ESTIMATE
billed: true
- register_id: '1'
reading_date: '2019-04-20'
reading_value: '950.00'
reading_type: ROUTINE
billed: true
agreements:
- tariff_code: ELECTRICITY_PRODUCT
effective_from: '2019-04-01'
effective_to: '2019-06-01'
agreed_at: '2019-04-01T10:00:00Z'
- tariff_code: ELECTRICITY_PRODUCT
effective_from: '2019-06-01'
transfer_balance: 50.0
ledgers:
- current_statement_transactions:
- transaction_id: '1'
transaction_date: '2019-08-04'
amount: 10.0
type: REPAYMENT
reason: FULL_CREDIT_REFUND
payment_type: CHEQUE
- transaction_id: '2'
transaction_date: '2019-08-03'
amount: 20.0
type: PAYMENT
reason: ACCOUNT_CHARGE_PAYMENT
payment_type: DD_FINAL_COLLECTION
- transaction_id: '3'
transaction_date: '2019-08-02'
amount: 20.0
type: CREDIT
reason: IMPORTED_CREDIT
historical_statement_transactions:
- transaction_id: '4'
transaction_date: '2019-06-01'
amount: 10.0
type: PAYMENT
reason: ACCOUNT_CHARGE_PAYMENT
payment_type: CREDIT_CARD
- transaction_id: '5'
transaction_date: '2019-07-01'
amount: 10.0
type: PAYMENT
reason: ACCOUNT_CHARGE_PAYMENT
payment_type: DEBIT_CARD
last_statement_closing_date: '2019-07-31'
last_statement_issue_date: '2019-08-01'
last_statement_balance: 20.0
ledger_balance: 50.0
last_billed_to_date: '2019-08-01'
payment_instructions:
- vendor: WESTPAC
type: CARD
reference: SUPPLIER-179680385
valid_from: '2022-06-15'
card:
card_payment_network: VISA
card_type: CREDIT
last_digits: '1234'
expiry_month: 3
expiry_year: 2030
- vendor: WESTPAC
reference: SUPPLIER-142755174
type: DIRECT_DEBIT
valid_from: '2022-06-15'
bank_account:
account_holder: Chris Johnson
account_number: '12345678'
bsb: '111111'
payment_schedules:
- amount: 6.0
day_of_month: 10
frequency: MONTHLY
means: DD
start_date: '2018-01-01'
is_debt_repayment_plan: true
- amount: 60.0
day_of_month: 2
frequency: MONTHLY
means: DD
start_date: '2018-01-01'
is_debt_repayment_plan: false
notes:
- created_at: '2018-10-10T10:20:00Z'
body: This is a note
document_paths:
- document_path: /notes/1234/attachment.jpg
- created_at: '2018-10-10T10:20:00Z'
body: This is a pinned note
document_paths:
- document_path: /notes/1234/attachment.jpg
is_pinned: true
statements:
- bill_period_from_date: '2019-06-01'
bill_period_to_date: '2019-07-01'
statement_path: EXTERNAL-1234/2019-06-01-to-2019-07-01.pdf
statement_id: '1'
average_daily_usage: 18.44
is_reversed: true
total_consumption: 1045.3626354
total_consumption_cost: 250.88
total_supply_cost: 40.24
total_feed_in_energy: 303.35038
total_feed_in_cost: 33.3685418
- bill_period_from_date: '2019-07-01'
bill_period_to_date: '2019-08-01'
statement_path: EXTERNAL-1234/2019-07-01-to-2019-08-01.pdf
statement_id: '2'
average_daily_usage: 20.2
is_reversed: false
total_consumption: 123.456789
total_consumption_cost: 333.33
total_supply_cost: 20.2
total_feed_in_energy: 222.22222
total_feed_in_cost: 77.7777777
last_payment_review_date: '2019-06-01'
next_bill_due_date: '2019-11-20'
events:
- event_type: BEST_OFFER_CHECKED_IN_SAP
category: communications
subcategory: best_offer
occurred_at: '2011-05-12T13:33:22Z'
description: Best offer process ran for 2000179998952.
- event_type: MIXED_COMMS_PREF_IN_SAP
category: communications
subcategory: mixed_comms_preference
occurred_at: '2021-11-15T13:33:22Z'
description: Customer with mixed comms preferences in SAP.
- event_type: PRICE_CHANGE_SENT_IN_SAP
category: communications
subcategory: price_change
occurred_at: '2021-11-15T13:33:22Z'
description: July 2022 price change comm sent in SAP for 2000179998952.
- event_type: SHARED_EMAIL_7
category: communications
subcategory: mixed_comms_preference
occurred_at: '2021-11-15T13:33:22Z'
description: Customer with shared email scenario - PRINT for Account
Level and EMAIL for Invoice.
- event_type: SUPPRESS_MIGRATION_COMMS
category: communications
subcategory: migration_comms
occurred_at: '2021-11-15T13:33:22Z'
description: Suppress migration comms for the account
summary: Example electricity payload
ExampleGasPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: '5240459904'
supply_start_date: '2019-01-01'
supply_end_date: null
address:
flat_or_unit_type: F
flat_or_unit_number: '1'
floor_or_level_type: ''
floor_or_level_number: ''
building_or_property_name: Residential Wheke Energy Green
Octopus with name = 60 chars
location_descriptor: ''
house:
- house_number: '11'
house_number_suffix: ''
lot_number: ''
street:
- street_name: QUEEN'S
street_type: RD
street_suffix: ''
suburb_or_place_or_locality: SYDNEY
state_or_territory: NSW
postcode: '2000'
delivery_point_identifier: '51234568'
melway_grid_reference: 277 H 10
access_details: Customer reports no access issues
hazard_details:
- Dog
dog_code: Savage
master_data:
customer_characterisation: Metropolitan Residential
customer_classification_code: RES
distribution_tariff: Volume
mirn_status: Commissioned
network_id: NSWWILTON
transmission_zone: 16
heating_value_zone: ABC
customer_classification_threshold: null
market: NSWACTGAS
baseload: null
temperature_sensitivity_factor: null
meters:
- meter_serial_number: 12KD
installed_on: '2001-01-01'
removed_on: '2014-01-01'
meter_status: No meter
- meter_serial_number: OTHER
installed_on: '2014-01-01'
removed_on: '2016-01-01'
billing_method: null
kpa_value: null
meter_installation_type: null
meter_multiplier: null
meter_measurement_unit: null
meter_position: BA
meter_read_frequency: null
meter_status: No meter
meter_type: G
meter_type_size_code: ABC
supply_point_code: Basic
supply_point_id: '1234567890123'
next_scheduled_read_date: null
number_of_dials_on_device: null
- meter_serial_number: NSWACT
billing_method: O
kpa_value: '12345.6789'
meter_installation_type: O
meter_multiplier: '123.45'
meter_measurement_unit: M
meter_position: BA
meter_read_frequency: Bi Monthly
meter_status: Turned on
meter_type: G
meter_type_size_code: null
supply_point_code: Basic
supply_point_id: '1234567890123'
next_scheduled_read_date: '2021-12-02'
number_of_dials_on_device: 4
transfer_readings:
- reading_date: '2019-08-01'
reading_value: '980.00'
reading_type: ROUTINE
prev_reading_date: '2019-06-20'
gas_meter_units: M
volume_flow: '20.00'
average_heating_value: '38.2'
pressure_correction_factor: '1.24'
consumed_energy: '400'
estimation_substitution_type: null
estimation_substitution_reason_code: null
reading_history:
- reading_date: '2019-06-20'
reading_value: '980.00'
reading_type: CUSTOMER
prev_reading_date: '2019-05-20'
gas_meter_units: M
volume_flow: '20.00'
average_heating_value: '38.2'
pressure_correction_factor: '1.24'
consumed_energy: '400'
estimation_substitution_type: null
estimation_substitution_reason_code: null
billed: true
- reading_date: '2019-05-20'
reading_value: '960.00'
reading_type: ESTIMATE
prev_reading_date: '2019-04-20'
gas_meter_units: M
volume_flow: '20.00'
average_heating_value: '38.2'
pressure_correction_factor: '1.24'
consumed_energy: '400'
estimation_substitution_type: null
estimation_substitution_reason_code: null
billed: true
- reading_date: '2019-04-20'
reading_value: '950.00'
reading_type: ROUTINE
prev_reading_date: null
gas_meter_units: null
volume_flow: null
average_heating_value: null
pressure_correction_factor: null
consumed_energy: null
estimation_substitution_type: null
estimation_substitution_reason_code: null
billed: true
meter_position: null
role_assignments:
- party: AGLGNNWO
role: DB
- party: ORIGINUSR
role: FRO
agreements:
- tariff_code: GAS_PRODUCT
effective_from: '2019-04-01'
last_billed_to_date: '2019-08-01'
summary: Example gas payload
ExampleUnmeteredElectricityPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: UNMETERED_ELECTRICITY_AIR_CONDITIONING
parent_nmi: '53109237084'
appliance_type: AIR_CONDITIONING
multiplier: 2.0
supply_start_date: '2019-01-01'
supply_end_date: null
agreements:
- tariff_code: UNMETERED_ELECTRICITY_PRODUCT
effective_from: '2019-04-01'
summary: Example unmetered electricity payload
ExampleUnmeteredGasPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: UNMETERED_GAS_COOKTOP
parent_mirn: '53109237084'
appliance_type: COOKTOP
pricing_zone: TWEEDHEADS
multiplier: 2.0
supply_start_date: '2019-01-01'
supply_end_date: null
agreements:
- tariff_code: UNMETERED_GAS_PRODUCT
effective_from: '2019-04-01'
summary: Example unmetered gas payload
ExampleEmbeddedElectricityPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: ENVCH23366
supply_start_date: '2019-01-01'
supply_end_date: null
jurisdiction: NSW
nmi_classification: SMALL
customer_classification: RESIDENTIAL
customer_threshold: LOW
shared_isolation_flag: N
parent_nmi: '4103445577'
access_details: optional
hazard_details:
- optional
outage_contact_email: example@example.com
nmi_status_periods:
- status: A
active_from: '2019-01-01T00:00:00+10:00'
active_to: null
meter_data_providers:
- from_date: '2019-08-13T00:00:00+10:00'
to_date: null
mdp_id: ACUMEMDP
distributors:
- from_date: '2019-08-13T00:00:00+10:00'
to_date: null
lnsp_id: ENERGYAP
meters:
- meter_serial_number: '1245663742'
active_from: 2001-01-01:00:00:00+10:00
active_to: null
manufacturer: optional
model: optionalopti
location: optional
status: C
meter_installation_type: BASIC
read_type_method: R
read_type_mode: T
read_type_frequency: '1'
registers:
- register_id: E1
unit_of_measure: kwh
time_of_day: INTERVAL
multiplier: 1.5
status: C
active_from: '2019-08-13T00:00:00+10:00'
active_to: null
dial_format_digits: 5
dial_format_decimals: 2
suffix: E1
controlled_load: false
transfer_readings:
- register_id: E1
reading_date: '2022-06-01'
reading_value: '1000.00'
reading_quality: A
reading_history:
- register_id: E1
reading_date: '2019-06-20'
reading_value: '980.00'
reading_quality: A
billed: true
agreements:
- tariff_code: EMBEDDED_ELECTRICITY_PRODUCT
effective_from: '2019-04-01'
last_billed_to_date: '2022-06-01'
summary: Example embedded electricity payload
ExampleEmbeddedGasPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: EMBEDDED_GAS_1000678901
parent_installation_id: '1106833419'
parent_mirn: '4310536033'
supply_start_date: '2019-01-01'
pressure_correction_factor: 1.1
heating_value: 20.2
baseload: 300.3
customer_classification: RES
customer_characterisation: Metropolitan Residential
distribution_tariff: Volume
heating_value_zone: N/A
status: Commissioned
pricing_zone: TAMWORTH
meters:
- meter_serial_number: Z16N389556
reading_route: N3Q26HE1
model_number: Remote S110
measurement_type: M
number_of_dials: 6
kpa_value: 12345.1234
multiplier: 2
status: Turned on
location: HALLWAY_CUPBOARD
active_from: 2001-01-01:00:00:00+10:00
transfer_readings:
- reading_date: '2019-04-01'
reading_value: '1234567890.12345'
reading_quality: ACTUAL
reading_history:
- reading_date: '2019-03-01'
reading_value: '234567890.12345'
reading_quality: ACTUAL
- reading_date: '2019-02-01'
reading_value: '34567890.12345'
reading_quality: ESTIMATED
agreements:
- tariff_code: EMBEDDED_GAS_PRODUCT
effective_from: '2019-04-01'
last_billed_to_date: '2019-04-01'
summary: Example embedded gas payload
ExampleEmbeddedWaterPayload:
value:
import_supplier: TENTACLE_ENERGY
external_account_number: EXTERNAL-1234
unknown_occupier: false
supply_addresses:
- supply_address:
administrative_area: NSW
country: AU
delivery_point_identifier: '51234568'
locality: Sydney
postal_code: '3070'
structured_street_address:
flat_or_unit_type: TNHS
house_number_1: '11'
street_name: CITY
street_type: RD
customer_at_supply_address_from_date: '2019-04-01'
meter_points:
- mpxn: EMBEDDED_WATER_12345
installation_id: '1105505929'
parent_installation_id: '1106833419'
parent_mirn: '4310536033'
installation_type: BHW
plant_temperature: 50C
plant_fuel_type: NG
supply_start_date: '2019-01-01'
supply_end_date: null
reading_route: N3Q26HE1
pricing_zone: BRISBANE
meters:
- meter_serial_number: Z16N389556
make_and_model: 15mm Elster Remote S110
meter_measurement_unit: dL
construction_date: '2000-01-01'
installed_on: '2001-01-01'
number_of_dials_on_device: 7
read_method: REMOTE
reading_route_sequence: 10
location: HALLWAY_CUPBOARD
access_details: Remote Read Mtr in Ceiling Access Panel outside
unit
key_details: Key 226
connection_periods:
- start_at: '2018-06-25T10:20:00+00:00'
end_at: '2019-06-25T10:20:00+00:00'
status: CONNECTED
reading_history:
- reading_date: '2018-10-02'
reading_value: '1234567890.12345'
reading_quality: ACTUAL
transfer_readings:
- reading_date: '2022-09-12'
reading_value: '1234567892.6789'
reading_quality: ESTIMATED
agreements:
- tariff_code: EMBEDDED_WATER_PRODUCT
effective_from: '2019-04-01'
last_billed_to_date: '2022-09-12'
summary: Example embedded water payload
required: true
security:
- DataImportViewerAPIKeyAuthentication: []
- DRFKrakenTokenAuthentication: []
responses:
'200':
description: The payload was validated successfully.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/StandardizedValidationErrorResponse'
examples:
AccountValidationErrorResponse:
value:
detail: Could not validate account data.
code: account_failed_validation
errors:
- detail: abcde is not a valid phone number
code: invalid_phone_number
attr: customers.0.landline
summary: Account validation error response
description: If there are validation errors a 400 Bad Request response
will be returned detailing the errors. To resolve these errors,
refer to the field definitions and validation rules.
description: Validation errors occurred while processing the request.
x-doc-alerts: []
components:
schemas:
AccountAlreadyImportedResponse:
type: object
properties:
external_account_number:
type: string
description:
The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
This represents errors that may arise that are not associated with a single field. Instead, these errors may affect the entire object or multiple fields together.
required: - external_account_number - kraken_account_number - non_field_errors AccountBillingOptions: oneOf: - $ref: '#/components/schemas/AusAccountBillingOptions' - $ref: '#/components/schemas/OriginStrictAccountBillingOptions' discriminator: propertyName: enforce_strict_billing_options mapping: null: '#/components/schemas/AusAccountBillingOptions' false: '#/components/schemas/AusAccountBillingOptions' true: '#/components/schemas/OriginStrictAccountBillingOptions' AccountCampaign: type: object properties: campaign_name: enum: - 2 or more broken plans - 2 or more payment plans - 360 days overdue debt account - Account Password - Active DCA Campaign - Sensitive - Aggregator SMS - Annual CES PLP Credit - Asylum Seeker - Auto Solar Refund - Bankruptcy / Insolvency - Billing Remediation - Temp - BLDR Multisite Child - BLDR Multisite Lead - BPAY Reference changed on Migration - Builders Remediation - Business Calls to CT2 - Business_Managed - Business Starter Bonus - Business Starter Bonus +6M - Buyback Requested - Centrepay Business Approved - Centrepay Handback - Centrepay Handback Initiated - Centrepay Handback Rejected - Centrepay ineligible Account reviewed - Centrepay ineligible for SA handback - Centrepay Remediation - Centrepay Remediation Issue - Centrepay UCM Remediation - CES - Commercial Annuity Plan - CES - Commercial Profit Share - CES - Origin as Billing Agent - CHI Opt Out - Collective Payment Arrangement - Concession Invoicing - Confirmed Illegal Re-connection - CPAY Complaint Exclusion - CRAL - CR/DB Refused - Credit Campaign - Credit Case Management - Credit Debit Transfer - Credit Dispute - Credit Settlement Campaign - Credit Tactical Routing - Customer - Internet - Debt Waiver Under Assessment - Default Listing - Default Listing - Creditor Watch - Delayed Rebill - DHS Migrated Concession - Direct Calls to Credit - Disconnection Hold - Disc SO Pending - exclude from collections campaigns - DNP Assessment - DNP DB LETTER - DNP Exception Category - DNP Failed Disconnection - DNP - Field Visit Requested - DNP FV LETTER - DNP - Manual BE Review Required - DNP Prevention - DNP SO Esco - DNP Warning & Best Endeavors - DN SO Issue - Downtier - Dunning Deferral - EBR 2025 Payment Exception - EBR ACT Eligible Churn - EBR ACT Eligible Move - EBR Business Exclude - EBR Business Exclude FY25 - EBR Business Exclude FY26 - EBR Business Include - EBR Business Include FY25 - EBR Business Include FY26 - EBR FER - $180 - EBR FER - $20 - EBR payment investigation - EBR - Senior Energy Rebate Recipient - EFT migration comms variant - EHH + Energy Happy Day - EHH - Ineligible Basic Meter - E-mobility Shell Account for Charging Reimbursement - Energy Happy Day - EnergyZone Pro - E & SP Origin Zero - EV Overnight - Expected Generation Billing - FDV P1 - Field Visit Address Issue - Field visit requested - escalated debt - Field visit requested - Ex-hardship - Field Visit Requested - Return Mail - Final Account - FlexMigrated - Gold - Hardship Non-Engagement Path - High Risk Debt - Hold Bill DNP - HS FDV Non-Engagement Pathway - HS Team - HS Trial - Increasing Risk - Intent to Default - Internet Account - Issuance migrated - Legal Review - Litigation - Litigation_Disconnection - Loyalty Reward Ineligible - No Email - LS Alternate Contact - Master-sub meter - Monthly Billing Applied - Monthly Billing Comms Sent - MS Acommodation - MS Admin & Support - MS Agriculture Forestry & Fishing - MS Allocation - MS Arts & Recreation - MS_Aveo - MSBG - Council GST - MSBG - Councils - MSBG - Government - MSBG - Multisite - MSBG - NSW Govt - MSBG - Stratas - MSBG - Telco - MS - Broker - MS Communities - MS Construction - MS Councils LGA - MS Education & Training - MS Energy Zone Access - MS Financial & Insurance - MS Food Services - MS Health Care & Insurance - MS Info Media & Telco - MS Manufacturing - MS Mining - MS_PA - MS Professional & Techincal - MS Public Admin & Safety - MS Rental Hiring & Real Estate - MS Transport Postal & Housing - MS - UMS - MS Utilities - MS Wholesale & Retail - Natural Disaster Postcode - NEBR FY24-25 Q1 Include - NEBR FY24-25 Q2 Include - NEBR FY24-25 Q3 Include - NEBR FY24-25 Q4 Include - NEBR FY26 Q1 Include - NEBR FY26 Q2 Include - NEBR FY26 Q3 Include - NEBR FY26 Q4 Include - Needs Medical Confirmation - New Connections - Managed - No Comms - No Cost Meter - Non-Solar Non-Energy - No Permission for CCeS - NSW Debt Relief Trial - NSW Debt Relief Trial - Disengaged - NSW Debt Relief Trial - Participating - Ongoing usage requires increase - Origin Business Steady - Origin Internal Billing - Origin Managed For Payment Plan Adherence - OZ–EI&T - OZ–RPM - OZ–SIG - Pathways HS Re-Entry - Payment Difficulty - Payment Plan Remediation - Payment Remediation Investigation - Platinum - Post Bankruptcy - Potential Privacy Incident - Pre Litigation - PrivacyInc - Privacy Incident - Removed Unmetered Appliance - Air conditioning - Removed Unmetered Appliance - Cooktop - Removed Unmetered Appliance - Heater - Removed Unmetered Appliance - Temporary - Resi Calls to CT9 - Restricted Postcode - Return Mail - SA EBR Backdated Q1 - SA EBR Backdated Q2 - SA EBR Backdated Q3 - SA EBR Backdated Q4 - SAP Finance Remediation Shell Account - Sensitive Account Investigation - Sensitive Cx Routing - Sensitive Unresolved PCM - Shell Account - Solar for low income - Solar Non-Energy - Strata/Body Corporate - Strata Managed Site - STTP Applied - STTP Comms Sent - Suppress Migration Comms - Suspected Fraud Account - Suspected Fraud - Under Investigation - Suspicious Account Activities - Tactical Campaign - Tactical Credit Campaign - Tailored Engagement Sensitive - 'Tenure: 10+ Years' - 'Tenure: 1-2 years' - 'Tenure: < 1 Year' - 'Tenure: 2-5 years' - 'Tenure: 5-7 Years' - 'Tenure: 7-10 Years' - VC Address Issue - VC CES New Building - VC CM Investigation Required - VC Customer Contact Required - VC Deemed Contract - VC/DNP Account closed via DNP Process - VC Exception Category - VC Failed Disconnection - Vc Known Customer - VC Known Cx - VC BAU - VC Life Support / Sensitive Load - VC Meter Removed - VC MS BAU - VC MSBG Site Flag - VC Pending Disconnection - VC Pending Reconnection - VC Potential Illegal Reconnection - VC RTS - VC SME Pause - VC Supply Disconnected - VC Unable To Validate Move Out - VC Unmetered Supply - Vendor Account - Vic Group Homes - Vic Group Homes FY22-23 - Vic Group Homes FY23-24 - Vic Group Homes FY24-25 - Vic Group Homes FY25-26 - Vic Group Homes FY26-27 - VIC Tailored Assistance - VIP - Volume Boundary Meter (VBM) - VPP Battery - VPP Battery - EOI - VPP Beta Trial - VPP Community Battery - VPP Community Battery - Battery NMI - VPP Controlled Load Overnight - VPP Controlled Load Solar - VPP Controlled Load Time Clock - VPP Controlled Load Usage - VPP ESaaS - VPP ESaaS - Eligible - VPP EV Power Up - VPP EV Power Up - EOI - VPP Spike - WA Billing Redirection - WINconnect Agency Billing Account - WINconnect Cold Water Recovery - WINconnect Migrated Account - Withdrawn Account NEBR 25 Exclude - Withdrawn Account NEBR FY25-26 Exclude - Writeoff SAP - '' - null type: string x-spec-enum-id: f203c333417fa5cb nullable: true default: '' description:The name of the campaign. Campaigns must already exist in Kraken.
x-enum-descriptions: 2 or more broken plans: 2 or more broken plans 2 or more payment plans: 2 or more payment plans 360 days overdue debt account: 360 days overdue debt account Account Password: Account Password Active DCA Campaign - Sensitive: Active DCA Campaign - Sensitive Aggregator SMS: Aggregator SMS Annual CES PLP Credit: Annual CES PLP Credit Asylum Seeker: Asylum Seeker Auto Solar Refund: Auto Solar Refund Bankruptcy / Insolvency: Bankruptcy / Insolvency Billing Remediation - Temp: Billing Remediation - Temp BLDR Multisite Child: BLDR Multisite Child BLDR Multisite Lead: BLDR Multisite Lead BPAY Reference changed on Migration: BPAY Reference changed on Migration Builders Remediation: Builders Remediation Business Calls to CT2: Business Calls to CT2 Business_Managed: Business_Managed Business Starter Bonus: Business Starter Bonus Business Starter Bonus +6M: Business Starter Bonus +6M Buyback Requested: Buyback Requested Centrepay Business Approved: Centrepay Business Approved Centrepay Handback: Centrepay Handback Centrepay Handback Initiated: Centrepay Handback Initiated Centrepay Handback Rejected: Centrepay Handback Rejected Centrepay ineligible Account reviewed: Centrepay ineligible Account reviewed Centrepay ineligible for SA handback: Centrepay ineligible for SA handback Centrepay Remediation: Centrepay Remediation Centrepay Remediation Issue: Centrepay Remediation Issue Centrepay UCM Remediation: Centrepay UCM Remediation CES - Commercial Annuity Plan: CES - Commercial Annuity Plan CES - Commercial Profit Share: CES - Commercial Profit Share CES - Origin as Billing Agent: CES - Origin as Billing Agent CHI Opt Out: CHI Opt Out Collective Payment Arrangement: Collective Payment Arrangement Concession Invoicing: Concession Invoicing Confirmed Illegal Re-connection: Confirmed Illegal Re-connection CPAY Complaint Exclusion: CPAY Complaint Exclusion CRAL: CRAL CR/DB Refused: CR/DB Refused Credit Campaign: Credit Campaign Credit Case Management: Credit Case Management Credit Debit Transfer: Credit Debit Transfer Credit Dispute: Credit Dispute Credit Settlement Campaign: Credit Settlement Campaign Credit Tactical Routing: Credit Tactical Routing Customer - Internet: Customer - Internet Debt Waiver Under Assessment: Debt Waiver Under Assessment Default Listing: Default Listing Default Listing - Creditor Watch: Default Listing - Creditor Watch Delayed Rebill: Delayed Rebill DHS Migrated Concession: DHS Migrated Concession Direct Calls to Credit: Direct Calls to Credit Disconnection Hold: Disconnection Hold Disc SO Pending - exclude from collections campaigns: Disc SO Pending - exclude from collections campaigns DNP Assessment: DNP Assessment DNP DB LETTER: DNP DB LETTER DNP Exception Category: DNP Exception Category DNP Failed Disconnection: DNP Failed Disconnection DNP - Field Visit Requested: DNP - Field Visit Requested DNP FV LETTER: DNP FV LETTER DNP - Manual BE Review Required: DNP - Manual BE Review Required DNP Prevention: DNP Prevention DNP SO Esco: DNP SO Esco DNP Warning & Best Endeavors: DNP Warning & Best Endeavors DN SO Issue: DN SO Issue Downtier: Downtier Dunning Deferral: Dunning Deferral EBR 2025 Payment Exception: EBR 2025 Payment Exception EBR ACT Eligible Churn: EBR ACT Eligible Churn EBR ACT Eligible Move: EBR ACT Eligible Move EBR Business Exclude: EBR Business Exclude EBR Business Exclude FY25: EBR Business Exclude FY25 EBR Business Exclude FY26: EBR Business Exclude FY26 EBR Business Include: EBR Business Include EBR Business Include FY25: EBR Business Include FY25 EBR Business Include FY26: EBR Business Include FY26 EBR FER - $180: EBR FER - $180 EBR FER - $20: EBR FER - $20 EBR payment investigation: EBR payment investigation EBR - Senior Energy Rebate Recipient: EBR - Senior Energy Rebate Recipient EFT migration comms variant: EFT migration comms variant EHH + Energy Happy Day: EHH + Energy Happy Day EHH - Ineligible Basic Meter: EHH - Ineligible Basic Meter E-mobility Shell Account for Charging Reimbursement: E-mobility Shell Account for Charging Reimbursement Energy Happy Day: Energy Happy Day EnergyZone Pro: EnergyZone Pro E & SP Origin Zero: E & SP Origin Zero EV Overnight: EV Overnight Expected Generation Billing: Expected Generation Billing FDV P1: FDV P1 Field Visit Address Issue: Field Visit Address Issue Field visit requested - escalated debt: Field visit requested - escalated debt Field visit requested - Ex-hardship: Field visit requested - Ex-hardship Field Visit Requested - Return Mail: Field Visit Requested - Return Mail Final Account: Final Account FlexMigrated: FlexMigrated Gold: Gold Hardship Non-Engagement Path: Hardship Non-Engagement Path High Risk Debt: High Risk Debt Hold Bill DNP: Hold Bill DNP HS FDV Non-Engagement Pathway: HS FDV Non-Engagement Pathway HS Team: HS Team HS Trial: HS Trial Increasing Risk: Increasing Risk Intent to Default: Intent to Default Internet Account: Internet Account Issuance migrated: Issuance migrated Legal Review: Legal Review Litigation: Litigation Litigation_Disconnection: Litigation_Disconnection Loyalty Reward Ineligible - No Email: Loyalty Reward Ineligible - No Email LS Alternate Contact: LS Alternate Contact Master-sub meter: Master-sub meter Monthly Billing Applied: Monthly Billing Applied Monthly Billing Comms Sent: Monthly Billing Comms Sent MS Acommodation: MS Acommodation MS Admin & Support: MS Admin & Support MS Agriculture Forestry & Fishing: MS Agriculture Forestry & Fishing MS Allocation: MS Allocation MS Arts & Recreation: MS Arts & Recreation MS_Aveo: MS_Aveo MSBG - Council GST: MSBG - Council GST MSBG - Councils: MSBG - Councils MSBG - Government: MSBG - Government MSBG - Multisite: MSBG - Multisite MSBG - NSW Govt: MSBG - NSW Govt MSBG - Stratas: MSBG - Stratas MSBG - Telco: MSBG - Telco MS - Broker: MS - Broker MS Communities: MS Communities MS Construction: MS Construction MS Councils LGA: MS Councils LGA MS Education & Training: MS Education & Training MS Energy Zone Access: MS Energy Zone Access MS Financial & Insurance: MS Financial & Insurance MS Food Services: MS Food Services MS Health Care & Insurance: MS Health Care & Insurance MS Info Media & Telco: MS Info Media & Telco MS Manufacturing: MS Manufacturing MS Mining: MS Mining MS_PA: MS_PA MS Professional & Techincal: MS Professional & Techincal MS Public Admin & Safety: MS Public Admin & Safety MS Rental Hiring & Real Estate: MS Rental Hiring & Real Estate MS Transport Postal & Housing: MS Transport Postal & Housing MS - UMS: MS - UMS MS Utilities: MS Utilities MS Wholesale & Retail: MS Wholesale & Retail Natural Disaster Postcode: Natural Disaster Postcode NEBR FY24-25 Q1 Include: NEBR FY24-25 Q1 Include NEBR FY24-25 Q2 Include: NEBR FY24-25 Q2 Include NEBR FY24-25 Q3 Include: NEBR FY24-25 Q3 Include NEBR FY24-25 Q4 Include: NEBR FY24-25 Q4 Include NEBR FY26 Q1 Include: NEBR FY26 Q1 Include NEBR FY26 Q2 Include: NEBR FY26 Q2 Include NEBR FY26 Q3 Include: NEBR FY26 Q3 Include NEBR FY26 Q4 Include: NEBR FY26 Q4 Include Needs Medical Confirmation: Needs Medical Confirmation New Connections - Managed: New Connections - Managed No Comms: No Comms No Cost Meter: No Cost Meter Non-Solar Non-Energy: Non-Solar Non-Energy No Permission for CCeS: No Permission for CCeS NSW Debt Relief Trial: NSW Debt Relief Trial NSW Debt Relief Trial - Disengaged: NSW Debt Relief Trial - Disengaged NSW Debt Relief Trial - Participating: NSW Debt Relief Trial - Participating Ongoing usage requires increase: Ongoing usage requires increase Origin Business Steady: Origin Business Steady Origin Internal Billing: Origin Internal Billing Origin Managed For Payment Plan Adherence: Origin Managed For Payment Plan Adherence OZ–EI&T: OZ–EI&T OZ–RPM: OZ–RPM OZ–SIG: OZ–SIG Pathways HS Re-Entry: Pathways HS Re-Entry Payment Difficulty: Payment Difficulty Payment Plan Remediation: Payment Plan Remediation Payment Remediation Investigation: Payment Remediation Investigation Platinum: Platinum Post Bankruptcy: Post Bankruptcy Potential Privacy Incident: Potential Privacy Incident Pre Litigation: Pre Litigation PrivacyInc: PrivacyInc Privacy Incident: Privacy Incident Removed Unmetered Appliance - Air conditioning: Removed Unmetered Appliance - Air conditioning Removed Unmetered Appliance - Cooktop: Removed Unmetered Appliance - Cooktop Removed Unmetered Appliance - Heater: Removed Unmetered Appliance - Heater Removed Unmetered Appliance - Temporary: Removed Unmetered Appliance - Temporary Resi Calls to CT9: Resi Calls to CT9 Restricted Postcode: Restricted Postcode Return Mail: Return Mail SA EBR Backdated Q1: SA EBR Backdated Q1 SA EBR Backdated Q2: SA EBR Backdated Q2 SA EBR Backdated Q3: SA EBR Backdated Q3 SA EBR Backdated Q4: SA EBR Backdated Q4 SAP Finance Remediation Shell Account: SAP Finance Remediation Shell Account Sensitive Account Investigation: Sensitive Account Investigation Sensitive Cx Routing: Sensitive Cx Routing Sensitive Unresolved PCM: Sensitive Unresolved PCM Shell Account: Shell Account Solar for low income: Solar for low income Solar Non-Energy: Solar Non-Energy Strata/Body Corporate: Strata/Body Corporate Strata Managed Site: Strata Managed Site STTP Applied: STTP Applied STTP Comms Sent: STTP Comms Sent Suppress Migration Comms: Suppress Migration Comms Suspected Fraud Account: Suspected Fraud Account Suspected Fraud - Under Investigation: Suspected Fraud - Under Investigation Suspicious Account Activities: Suspicious Account Activities Tactical Campaign: Tactical Campaign Tactical Credit Campaign: Tactical Credit Campaign Tailored Engagement Sensitive: Tailored Engagement Sensitive 'Tenure: 10+ Years': 'Tenure: 10+ Years' 'Tenure: 1-2 years': 'Tenure: 1-2 years' 'Tenure: < 1 Year': 'Tenure: < 1 Year' 'Tenure: 2-5 years': 'Tenure: 2-5 years' 'Tenure: 5-7 Years': 'Tenure: 5-7 Years' 'Tenure: 7-10 Years': 'Tenure: 7-10 Years' VC Address Issue: VC Address Issue VC CES New Building: VC CES New Building VC CM Investigation Required: VC CM Investigation Required VC Customer Contact Required: VC Customer Contact Required VC Deemed Contract: VC Deemed Contract VC/DNP Account closed via DNP Process: VC/DNP Account closed via DNP Process VC Exception Category: VC Exception Category VC Failed Disconnection: VC Failed Disconnection Vc Known Customer: Vc Known Customer VC Known Cx - VC BAU: VC Known Cx - VC BAU VC Life Support / Sensitive Load: VC Life Support / Sensitive Load VC Meter Removed: VC Meter Removed VC MS BAU: VC MS BAU VC MSBG Site Flag: VC MSBG Site Flag VC Pending Disconnection: VC Pending Disconnection VC Pending Reconnection: VC Pending Reconnection VC Potential Illegal Reconnection: VC Potential Illegal Reconnection VC RTS: VC RTS VC SME Pause: VC SME Pause VC Supply Disconnected: VC Supply Disconnected VC Unable To Validate Move Out: VC Unable To Validate Move Out VC Unmetered Supply: VC Unmetered Supply Vendor Account: Vendor Account Vic Group Homes: Vic Group Homes Vic Group Homes FY22-23: Vic Group Homes FY22-23 Vic Group Homes FY23-24: Vic Group Homes FY23-24 Vic Group Homes FY24-25: Vic Group Homes FY24-25 Vic Group Homes FY25-26: Vic Group Homes FY25-26 Vic Group Homes FY26-27: Vic Group Homes FY26-27 VIC Tailored Assistance: VIC Tailored Assistance VIP: VIP Volume Boundary Meter (VBM): Volume Boundary Meter (VBM) VPP Battery: VPP Battery VPP Battery - EOI: VPP Battery - EOI VPP Beta Trial: VPP Beta Trial VPP Community Battery: VPP Community Battery VPP Community Battery - Battery NMI: VPP Community Battery - Battery NMI VPP Controlled Load Overnight: VPP Controlled Load Overnight VPP Controlled Load Solar: VPP Controlled Load Solar VPP Controlled Load Time Clock: VPP Controlled Load Time Clock VPP Controlled Load Usage: VPP Controlled Load Usage VPP ESaaS: VPP ESaaS VPP ESaaS - Eligible: VPP ESaaS - Eligible VPP EV Power Up: VPP EV Power Up VPP EV Power Up - EOI: VPP EV Power Up - EOI VPP Spike: VPP Spike WA Billing Redirection: WA Billing Redirection WINconnect Agency Billing Account: WINconnect Agency Billing Account WINconnect Cold Water Recovery: WINconnect Cold Water Recovery WINconnect Migrated Account: WINconnect Migrated Account Withdrawn Account NEBR 25 Exclude: Withdrawn Account NEBR 25 Exclude Withdrawn Account NEBR FY25-26 Exclude: Withdrawn Account NEBR FY25-26 Exclude Writeoff SAP: Writeoff SAP '': '' None: None deprecated: true x-use-instead: slug campaign_note: type: string nullable: true default: '' description:This will create an account note, and will link to it from the account campaign.
expiry_date: type: string format: date nullable: true description:The end date after which the account will no longer be associated with this campaign.
slug: enum: - 2_or_more_broken_plans - 2_or_more_payment_plans - 360_days_overdue_account - account_password - active_dca_campaign_sensitive - aggregator_sms - annual_ces_plp_credit - asylum_seeker - auto_solar_refund - bankruptcy_insolvency - billing-remediation_temp - bldr_multisite_child - bldr_multisite_lead - oz_bpay_conflict - builders_remediation - business_calls_to_ct2 - business_managed - business_starter_bonus - business_starter_bonus_6m - buyback_requested - centrepay_business_approved - centrepay_handback - centrepay_handback_initiated - centrepay_handback_rejected - centrepay_ineligible_account_reviewed - centrepay_ineligible_for_sa_handback - centrepay_remediation - cpay_issue - centrepay_ucm_remediation - ces_commercial_annuity_plan - ces_commercial_profit_share - ces_origin_billing_agent - chi_opt_out - collective_payment_arrangement - concession_inv - confirmed_illegal_reconnection - cpay_complaint_exclusion - cral - cr_db_refused - credit_campaign - credit_care_management - cr_db_transfer - credit_dispute - credit_settlement_campaign - credit_tactical_routing - customer_internet - debt_waiver_under_assessment - default_listing - default_listing_creditor_watch - delayed_rebill - dhs_migrated_concession - direct_calls_to_credit - disconnection-hold - disc_so_pending_exclude_from_collections_campaigns - dnp_assessment - dnp_db_letter - dnp_exception_category - dnp_failed_disconnection - dnp_field_visit_requested - dnp_fv_letter - dnp_manual_be_review_required - dnp_prevention - dnp_so_esco - dnp_warning_best_endeavors - dn_so_issue - downtier - dunning-deferral - ebr_2025_payment_exception - ebr_act_eligible_churn - ebr_act_eligible_move - ebr_business_exclude - ebr_business_exclude_fy25 - ebr_business_exclude_fy26 - ebr_business_include - ebr_business_include_fy25 - ebr_business_include_fy26 - ebr_fer_180 - ebr_fer_20 - ebr_payment_investigation - ebr_ser - flex_eft - ehh_energy_happy_day - ehh_ineligible_basic_meter - e-mobility_shell_account_for_charging_reimbursement - energy_happy_day - ezp - e_sp_oz - ev_overnight - expected_generation_billing - fdv_p1 - fv_account_issue - fv_escalateddebt - field_visit_requested_escalated_debt - fv_rts - final-account - flexmigrated - gold - non_engagement_hardship - high_risk_debt - billholddnp - hs_fdv_non_engagement_pathway - hs_team - hs_trial - increasing_risk - intent_to_default - internet_account - issuance_migrated - legal_review - litigation - litigation_disconnection - loyalty_ineligibile_no_email - ls_alternate_contact - master-sub_meter - monthly_billing_applied - monthly_billing_comms_sent - ms_acommodation - ms_administrative__support_services - ms_agriculture_forestry_fishing - ms_allocation - ms_arts_recreation_services - ms_aveo - msbg_council_gst - msbg_councils - msbg_government - msbg_multisite - msbg_nsw_govt - msbg_stratas - msbg_telco - ms_broker - ms_communities - ms_construction - ms_councils_lga - ms_education_training - ms_portal - ms_financial_insurance_services - ms_food_services - ms_health_care_insurance_services - ms_information_media_telecommunications - ms_manufacturing - ms_mining - ms_pa - ms_professional_techincal_services - ms_public_admin_safety - ms_rental_hiring_real_estate_services - ms_transport_postal_housing - msbg_ums - ms_utilities - ms_wholesale_trade_retail - natural_disaster_postcode - nebr25_q1_eligible - nebr25_q2_eligible - nebr25_q3_eligible - nebr25_q4_eligible - nebr26_q1_eligible - nebr26_q2_eligible - nebr26_q3_eligible - nebr265_q4_eligible - needs_medical_confirmation - new_connections_managed - no_comms - no_cost_meter - non_solar_non_energy - no_permission_for_cces - nsw_debt_relief_trial - nsw_debt_relief_trial_disengaged - nsw_debt_relief_trial-participating - ongoing_usage_requires_increase - originbusinesssteady - origin_internal_billing - origin_managed_for_pp_adherence - energy_intensive_technology - retail_property_manufacturing - services_infrastructure_government - pathways_hs_re_entry - payment_difficulty - payment_plan_remediation - payment_remediation_investigation - platinum - post_bankruptcy - potential_privacy_incident - pre_litigation - privacyinc - privacy_incident - uma_removed_air_conditioning - uma_removed_cooktop - uma_removed_heater - uma_removed_temp - resi_calls_to_ct9 - restricted_postcode - return_mail - sa_ebr_backdated_q1 - sa_ebr_backdated_q2 - sa_ebr_backdated_q3 - sa_ebr_backdated_q4 - sap_finance_remediation - sensitive_account_investigation - sensitive_cx_routing - sensitive_unresolved_pcm - shell_account - solar_low_income - solar_non_energy - strata_bc - strata_manage - sttp_applied - sttp_comms_sent - suppress_migration_comms - suspected_fraud_account - suspected_fraud_under_investigation - suspicious_account_activities - tactical_campaign - tactical_credit_campaign - tailored_engagement_sensitive - tenure_10 - tenuret1-2yrs - tenurelessthanyr - tenure_2-5 - tenure_5-7 - tenure_7-10 - vc_address_issue - vc_ces_new_building - vc_cm_investigation_required - vc_customer_contact_required - vc_deemed_contract - vc_dnp_closed_account - vc_exception_category - vc_failed_disconnection - vc_known_customer - vc_known_cx_vc_bau - vc_life_support_sensitive_load - vc_meter_removed - vc_ms_bau_confirmed - vc_msbg_site_flag - vc_pending_disconnection - vc_pending_reconnection - vc_potential_illegal_reconnection - vc_rts - vc_sme_pause - vc_supply_disconnected - vc_unable_to_validate_move_out - vc_unmetered_supply - vendor_account - vic_group_homes - vic_group_homes_22_23 - vic_group_homes_23_24 - vic_group_homes_24_25 - vic_group_homes_25_26 - vic_group_homes_26_27 - vic_tailored_assistance - vip - volume_boundary_meter - vpp_battery - vpp_battery_eoi - vpp_beta_trial - vpp_community_battery - vpp_community_battery_battery_nmi - vpp_controlled_load_overnight - vpp_controlled_load_solar - vpp_controlled_load_time_clock - vpp_controlled_load_usage - vpp_esaas - vpp_esaas_eligible - vpp_ev_power_up - vpp_ev_power_up_eoi - vpp_spike - wa_billing_redirection - winconnect_agency_billing_account - winconnect_cold_water_recovery - winconnect_migrated_account - withdrawn_account_nebr_25_exclude - withdrawn_account_nebr_fy25-26_exclude - writeoff_sap - '' - null type: string x-spec-enum-id: 7e869f1e2feaadb5 nullable: true default: '' description:The slug that identifies a campaign. Campaigns must already exist in Kraken.
x-enum-descriptions: 2_or_more_broken_plans: 2 or more broken plans 2_or_more_payment_plans: 2 or more payment plans 360_days_overdue_account: 360 days overdue debt account account_password: Account Password active_dca_campaign_sensitive: Active DCA Campaign - Sensitive aggregator_sms: Aggregator SMS annual_ces_plp_credit: Annual CES PLP Credit asylum_seeker: Asylum Seeker auto_solar_refund: Auto Solar Refund bankruptcy_insolvency: Bankruptcy / Insolvency billing-remediation_temp: Billing Remediation - Temp bldr_multisite_child: BLDR Multisite Child bldr_multisite_lead: BLDR Multisite Lead oz_bpay_conflict: BPAY Reference changed on Migration builders_remediation: Builders Remediation business_calls_to_ct2: Business Calls to CT2 business_managed: Business_Managed business_starter_bonus: Business Starter Bonus business_starter_bonus_6m: Business Starter Bonus +6M buyback_requested: Buyback Requested centrepay_business_approved: Centrepay Business Approved centrepay_handback: Centrepay Handback centrepay_handback_initiated: Centrepay Handback Initiated centrepay_handback_rejected: Centrepay Handback Rejected centrepay_ineligible_account_reviewed: Centrepay ineligible Account reviewed centrepay_ineligible_for_sa_handback: Centrepay ineligible for SA handback centrepay_remediation: Centrepay Remediation cpay_issue: Centrepay Remediation Issue centrepay_ucm_remediation: Centrepay UCM Remediation ces_commercial_annuity_plan: CES - Commercial Annuity Plan ces_commercial_profit_share: CES - Commercial Profit Share ces_origin_billing_agent: CES - Origin as Billing Agent chi_opt_out: CHI Opt Out collective_payment_arrangement: Collective Payment Arrangement concession_inv: Concession Invoicing confirmed_illegal_reconnection: Confirmed Illegal Re-connection cpay_complaint_exclusion: CPAY Complaint Exclusion cral: CRAL cr_db_refused: CR/DB Refused credit_campaign: Credit Campaign credit_care_management: Credit Case Management cr_db_transfer: Credit Debit Transfer credit_dispute: Credit Dispute credit_settlement_campaign: Credit Settlement Campaign credit_tactical_routing: Credit Tactical Routing customer_internet: Customer - Internet debt_waiver_under_assessment: Debt Waiver Under Assessment default_listing: Default Listing default_listing_creditor_watch: Default Listing - Creditor Watch delayed_rebill: Delayed Rebill dhs_migrated_concession: DHS Migrated Concession direct_calls_to_credit: Direct Calls to Credit disconnection-hold: Disconnection Hold disc_so_pending_exclude_from_collections_campaigns: Disc SO Pending - exclude from collections campaigns dnp_assessment: DNP Assessment dnp_db_letter: DNP DB LETTER dnp_exception_category: DNP Exception Category dnp_failed_disconnection: DNP Failed Disconnection dnp_field_visit_requested: DNP - Field Visit Requested dnp_fv_letter: DNP FV LETTER dnp_manual_be_review_required: DNP - Manual BE Review Required dnp_prevention: DNP Prevention dnp_so_esco: DNP SO Esco dnp_warning_best_endeavors: DNP Warning & Best Endeavors dn_so_issue: DN SO Issue downtier: Downtier dunning-deferral: Dunning Deferral ebr_2025_payment_exception: EBR 2025 Payment Exception ebr_act_eligible_churn: EBR ACT Eligible Churn ebr_act_eligible_move: EBR ACT Eligible Move ebr_business_exclude: EBR Business Exclude ebr_business_exclude_fy25: EBR Business Exclude FY25 ebr_business_exclude_fy26: EBR Business Exclude FY26 ebr_business_include: EBR Business Include ebr_business_include_fy25: EBR Business Include FY25 ebr_business_include_fy26: EBR Business Include FY26 ebr_fer_180: EBR FER - $180 ebr_fer_20: EBR FER - $20 ebr_payment_investigation: EBR payment investigation ebr_ser: EBR - Senior Energy Rebate Recipient flex_eft: EFT migration comms variant ehh_energy_happy_day: EHH + Energy Happy Day ehh_ineligible_basic_meter: EHH - Ineligible Basic Meter e-mobility_shell_account_for_charging_reimbursement: E-mobility Shell Account for Charging Reimbursement energy_happy_day: Energy Happy Day ezp: EnergyZone Pro e_sp_oz: E & SP Origin Zero ev_overnight: EV Overnight expected_generation_billing: Expected Generation Billing fdv_p1: FDV P1 fv_account_issue: Field Visit Address Issue fv_escalateddebt: Field visit requested - escalated debt field_visit_requested_escalated_debt: Field visit requested - Ex-hardship fv_rts: Field Visit Requested - Return Mail final-account: Final Account flexmigrated: FlexMigrated gold: Gold non_engagement_hardship: Hardship Non-Engagement Path high_risk_debt: High Risk Debt billholddnp: Hold Bill DNP hs_fdv_non_engagement_pathway: HS FDV Non-Engagement Pathway hs_team: HS Team hs_trial: HS Trial increasing_risk: Increasing Risk intent_to_default: Intent to Default internet_account: Internet Account issuance_migrated: Issuance migrated legal_review: Legal Review litigation: Litigation litigation_disconnection: Litigation_Disconnection loyalty_ineligibile_no_email: Loyalty Reward Ineligible - No Email ls_alternate_contact: LS Alternate Contact master-sub_meter: Master-sub meter monthly_billing_applied: Monthly Billing Applied monthly_billing_comms_sent: Monthly Billing Comms Sent ms_acommodation: MS Acommodation ms_administrative__support_services: MS Admin & Support ms_agriculture_forestry_fishing: MS Agriculture Forestry & Fishing ms_allocation: MS Allocation ms_arts_recreation_services: MS Arts & Recreation ms_aveo: MS_Aveo msbg_council_gst: MSBG - Council GST msbg_councils: MSBG - Councils msbg_government: MSBG - Government msbg_multisite: MSBG - Multisite msbg_nsw_govt: MSBG - NSW Govt msbg_stratas: MSBG - Stratas msbg_telco: MSBG - Telco ms_broker: MS - Broker ms_communities: MS Communities ms_construction: MS Construction ms_councils_lga: MS Councils LGA ms_education_training: MS Education & Training ms_portal: MS Energy Zone Access ms_financial_insurance_services: MS Financial & Insurance ms_food_services: MS Food Services ms_health_care_insurance_services: MS Health Care & Insurance ms_information_media_telecommunications: MS Info Media & Telco ms_manufacturing: MS Manufacturing ms_mining: MS Mining ms_pa: MS_PA ms_professional_techincal_services: MS Professional & Techincal ms_public_admin_safety: MS Public Admin & Safety ms_rental_hiring_real_estate_services: MS Rental Hiring & Real Estate ms_transport_postal_housing: MS Transport Postal & Housing msbg_ums: MS - UMS ms_utilities: MS Utilities ms_wholesale_trade_retail: MS Wholesale & Retail natural_disaster_postcode: Natural Disaster Postcode nebr25_q1_eligible: NEBR FY24-25 Q1 Include nebr25_q2_eligible: NEBR FY24-25 Q2 Include nebr25_q3_eligible: NEBR FY24-25 Q3 Include nebr25_q4_eligible: NEBR FY24-25 Q4 Include nebr26_q1_eligible: NEBR FY26 Q1 Include nebr26_q2_eligible: NEBR FY26 Q2 Include nebr26_q3_eligible: NEBR FY26 Q3 Include nebr265_q4_eligible: NEBR FY26 Q4 Include needs_medical_confirmation: Needs Medical Confirmation new_connections_managed: New Connections - Managed no_comms: No Comms no_cost_meter: No Cost Meter non_solar_non_energy: Non-Solar Non-Energy no_permission_for_cces: No Permission for CCeS nsw_debt_relief_trial: NSW Debt Relief Trial nsw_debt_relief_trial_disengaged: NSW Debt Relief Trial - Disengaged nsw_debt_relief_trial-participating: NSW Debt Relief Trial - Participating ongoing_usage_requires_increase: Ongoing usage requires increase originbusinesssteady: Origin Business Steady origin_internal_billing: Origin Internal Billing origin_managed_for_pp_adherence: Origin Managed For Payment Plan Adherence energy_intensive_technology: OZ–EI&T retail_property_manufacturing: OZ–RPM services_infrastructure_government: OZ–SIG pathways_hs_re_entry: Pathways HS Re-Entry payment_difficulty: Payment Difficulty payment_plan_remediation: Payment Plan Remediation payment_remediation_investigation: Payment Remediation Investigation platinum: Platinum post_bankruptcy: Post Bankruptcy potential_privacy_incident: Potential Privacy Incident pre_litigation: Pre Litigation privacyinc: PrivacyInc privacy_incident: Privacy Incident uma_removed_air_conditioning: Removed Unmetered Appliance - Air conditioning uma_removed_cooktop: Removed Unmetered Appliance - Cooktop uma_removed_heater: Removed Unmetered Appliance - Heater uma_removed_temp: Removed Unmetered Appliance - Temporary resi_calls_to_ct9: Resi Calls to CT9 restricted_postcode: Restricted Postcode return_mail: Return Mail sa_ebr_backdated_q1: SA EBR Backdated Q1 sa_ebr_backdated_q2: SA EBR Backdated Q2 sa_ebr_backdated_q3: SA EBR Backdated Q3 sa_ebr_backdated_q4: SA EBR Backdated Q4 sap_finance_remediation: SAP Finance Remediation Shell Account sensitive_account_investigation: Sensitive Account Investigation sensitive_cx_routing: Sensitive Cx Routing sensitive_unresolved_pcm: Sensitive Unresolved PCM shell_account: Shell Account solar_low_income: Solar for low income solar_non_energy: Solar Non-Energy strata_bc: Strata/Body Corporate strata_manage: Strata Managed Site sttp_applied: STTP Applied sttp_comms_sent: STTP Comms Sent suppress_migration_comms: Suppress Migration Comms suspected_fraud_account: Suspected Fraud Account suspected_fraud_under_investigation: Suspected Fraud - Under Investigation suspicious_account_activities: Suspicious Account Activities tactical_campaign: Tactical Campaign tactical_credit_campaign: Tactical Credit Campaign tailored_engagement_sensitive: Tailored Engagement Sensitive tenure_10: 'Tenure: 10+ Years' tenuret1-2yrs: 'Tenure: 1-2 years' tenurelessthanyr: 'Tenure: < 1 Year' tenure_2-5: 'Tenure: 2-5 years' tenure_5-7: 'Tenure: 5-7 Years' tenure_7-10: 'Tenure: 7-10 Years' vc_address_issue: VC Address Issue vc_ces_new_building: VC CES New Building vc_cm_investigation_required: VC CM Investigation Required vc_customer_contact_required: VC Customer Contact Required vc_deemed_contract: VC Deemed Contract vc_dnp_closed_account: VC/DNP Account closed via DNP Process vc_exception_category: VC Exception Category vc_failed_disconnection: VC Failed Disconnection vc_known_customer: Vc Known Customer vc_known_cx_vc_bau: VC Known Cx - VC BAU vc_life_support_sensitive_load: VC Life Support / Sensitive Load vc_meter_removed: VC Meter Removed vc_ms_bau_confirmed: VC MS BAU vc_msbg_site_flag: VC MSBG Site Flag vc_pending_disconnection: VC Pending Disconnection vc_pending_reconnection: VC Pending Reconnection vc_potential_illegal_reconnection: VC Potential Illegal Reconnection vc_rts: VC RTS vc_sme_pause: VC SME Pause vc_supply_disconnected: VC Supply Disconnected vc_unable_to_validate_move_out: VC Unable To Validate Move Out vc_unmetered_supply: VC Unmetered Supply vendor_account: Vendor Account vic_group_homes: Vic Group Homes vic_group_homes_22_23: Vic Group Homes FY22-23 vic_group_homes_23_24: Vic Group Homes FY23-24 vic_group_homes_24_25: Vic Group Homes FY24-25 vic_group_homes_25_26: Vic Group Homes FY25-26 vic_group_homes_26_27: Vic Group Homes FY26-27 vic_tailored_assistance: VIC Tailored Assistance vip: VIP volume_boundary_meter: Volume Boundary Meter (VBM) vpp_battery: VPP Battery vpp_battery_eoi: VPP Battery - EOI vpp_beta_trial: VPP Beta Trial vpp_community_battery: VPP Community Battery vpp_community_battery_battery_nmi: VPP Community Battery - Battery NMI vpp_controlled_load_overnight: VPP Controlled Load Overnight vpp_controlled_load_solar: VPP Controlled Load Solar vpp_controlled_load_time_clock: VPP Controlled Load Time Clock vpp_controlled_load_usage: VPP Controlled Load Usage vpp_esaas: VPP ESaaS vpp_esaas_eligible: VPP ESaaS - Eligible vpp_ev_power_up: VPP EV Power Up vpp_ev_power_up_eoi: VPP EV Power Up - EOI vpp_spike: VPP Spike wa_billing_redirection: WA Billing Redirection winconnect_agency_billing_account: WINconnect Agency Billing Account winconnect_cold_water_recovery: WINconnect Cold Water Recovery winconnect_migrated_account: WINconnect Migrated Account withdrawn_account_nebr_25_exclude: Withdrawn Account NEBR 25 Exclude withdrawn_account_nebr_fy25-26_exclude: Withdrawn Account NEBR FY25-26 Exclude writeoff_sap: Writeoff SAP '': '' None: None start_date: type: string format: date nullable: true description:The start date for when the account will be associated to this campaign.
x-validators: - name: Validate campaign name or slug provided description: Validate that a campaign name or slug is provided in the payload. possible_errors: - campaign_name_and_slug_provided - campaign_name_or_slug_not_provided - name: Validate campaign exists description: Validates that a campaign passed in the payload exists in Kraken. possible_errors: - campaign_not_found - name: Validateexpiry_date not before or equal to start_date
description: Validates that expiry_date, if given, is strictly
later than start_date.
possible_errors:
- start_date_same_as_end_date
AccountConsent:
type: object
properties:
description:
type: string
description: A description of any additional details about the obtaining of this consent.
maxLength: 255 signed_at: type: string format: date-time description:The date and time the consent was signed. Defaults to now if not provided.
x-validators: - name: Validatesigned_at not in the future
description: Validates that the given signed_at is not
in the future.
possible_errors:
- date_in_future
type:
x-spec-enum-id: 4f53cda18c2baa0c
description: The consent type.
x-comment: Choices for this field are dynamic, once appropriate values have been configured they will be rendered here. value: enum: - ACCEPTED - REJECTED - UNKNOWN - PENDING type: string x-spec-enum-id: f72b73bd6917b6e4 description:The value for this consent type.
x-enum-descriptions: ACCEPTED: ACCEPTED REJECTED: REJECTED UNKNOWN: UNKNOWN PENDING: PENDING required: - type - value AccountContract: type: object properties: identifier: type: string description:The contract's unique identifier.
x-validators: - name: Validates that a contract with the given identifier does not exist description: Validates that there is not an existing contract in Kraken with the same identifier provided in the payload. possible_errors: - contract_with_identifier_exists sales_record: allOf: - $ref: '#/components/schemas/ContractSalesRecord' description:Sales record details about the contract.
signed_at_date: type: string format: date description:The date on which the contract was signed.
valid_from_date: type: string format: date description: 'The date from which the contract is valid. This is an inclusive
date. Example: If valid_from is October 1, 2024, then the
contract is valid on October 1, 2024 and following dates.
The date on which the contract expires. This is an exclusive
date. Example: If valid_to is October 1, 2025, then the contract
is not valid on October 1, 2025 or following dates.
The versions of this contract, each version is a collection of terms and the date they are applicable. Only two versions can be provided, one which starts on the same date as the contract is valid from and one other future dated version to be scheduled.
maxItems: 2 required: - identifier - signed_at_date - valid_from_date x-validators: - name: Validate that contract versions include a version for the current terms description: Validate that the earliest version in the list of contract versions provided has anapplicable_at_date that is equal to the contract
valid_from_date.
possible_errors:
- contract_versions_does_not_include_current
AccountNotFoundError:
type: object
properties:
detail:
type: string
description: Detail of the account not found error.
required: - detail AccountNote: type: object properties: account_number: type: string description:The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
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.
List of notes linked to the account. A note body
or document_paths must be provided.
external_account_number
and import_supplier 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
AccountPortfolio:
type: object
properties:
billing_name:
type: string
description: Optional billing name to be used on the account. If provided, it will be used for producing statements. If not, the customer names will be used.
maxLength: 510 notes: type: array items: $ref: '#/components/schemas/Note' description:List of notes that should be applied at the portfolio level instead of the individual account.
portfolio_references: type: array items: $ref: '#/components/schemas/PortfolioReference' description:List of references to the portfolio that this account belongs to.
portfolio_settings: allOf: - $ref: '#/components/schemas/PortfolioSettings' nullable: true description:This object allows for setting portfolio settings during
data migration. This object is only available where the is_portfolio_lead
flag is true. Any other account type will fail validation.
Optional billing name to be used on the account. If provided, it will be used for producing statements. If not, the customer names will be used.
maxLength: 510 notes: type: array items: $ref: '#/components/schemas/Note' description:List of notes that should be applied at the portfolio level instead of the individual account.
portfolio_references: type: array items: $ref: '#/components/schemas/PortfolioReference' description:List of references to the portfolio that this account belongs to.
minItems: 1 portfolio_settings: allOf: - $ref: '#/components/schemas/PortfolioSettings' nullable: true description:This object allows for setting portfolio settings during
data migration. This object is only available where the is_portfolio_lead
flag is true. Any other account type will fail validation.
The namespace refers to the particular context the reference
exists in. For example, tentacle-energy.allpay-client-reference-numbers.
The unique identifier for the account.
maxLength: 100 required: - namespace - value x-validators: - name: Validate account reference does not already exist description: Validate that the account reference does not already exist for any account in Kraken. possible_errors: - reference_already_exists AccountTransferStatus: type: object properties: account_number: type: string description: Deprecated. Use `kraken_account_number` instead. kraken_account_number: type: string description: Account number status: enum: - UNKNOWN - COMPLETED - IN_PROGRESS type: string description: |- * `UNKNOWN` - No account found in Kraken for the external account number and import supplier code. Either a previous process attempt has failed, or the import has never been attempted to be processed. * `COMPLETED` - An account has been created in Kraken for the external account number and import supplier code. * `IN_PROGRESS` - There is currently a migration process attempting to create this account. x-spec-enum-id: 19fd6adce0a34a4b x-enum-descriptions: UNKNOWN: No account found in Kraken for the external account number and import supplier code. Either a previous process attempt has failed, or the import has never been attempted to be processed. COMPLETED: An account has been created in Kraken for the external account number and import supplier code. IN_PROGRESS: There is currently a migration process attempting to create this account. required: - status Address: type: object properties: administrative_area: type: string default: '' description:The top-level administrative subdivision. For example a US state, Australian state/territory, Italian region, UK constituent nation or Japanese prefecture.
maxLength: 512 country: type: string description:The ISO 3166-1-alpha-2 code of the country that this address belongs to, for example AU (Australia) or GB (Great Britain).
maxLength: 2 delivery_point_identifier: type: string description:The unique country specific identifier for an address. For example the UPRN in the UK or G-NAF ID in Australia.
maxLength: 11 x-validators: - name: Validate delivery point identifier description: Validate that the delivery point identifier contains only capital letters and numbers. possible_errors: - invalid_delivery_point_identifier dependent_locality: type: string default: '' description:Dependent localities, neighbourhoods or boroughs. These are sometimes included in an address when the delivery point is outside the boundary of the main postal town that serves it.
maxLength: 512 locality: type: string default: '' description:The city/town portion of an address. For example a US city, Australian suburb/town, Italian comune or UK postal town.
maxLength: 512 name: type: string default: '' description:The recipient's name.
deprecated: true organization: type: string default: '' description:The company or organization to which the address belongs.
deprecated: true postal_code: type: string default: '' description:The code assigned to a geographical area representing a group of addresses. For example a US ZIP code, Australian postcode, Italian CAP code or UK postcode.
maxLength: 512 sorting_code: type: string default: '' description:This is a non-geographic code used for recipients of large quantities of post, such as companies or government departments. An example is the French CEDEX code.
maxLength: 512 street_address: type: string default: '' description:Free text field for the address. Either this field or the
structured_address field should be provided, not both.
Structured address object. Fields for this object are territory
dependent. Please speak to the tech team about uses of this field. Either
this field or the street_address should be provided, not
both.
The amount of the aged debt.
due_date: type: string format: date description:The date on which the aged debt is due.
AgreementIntermediaryDetails: type: object properties: external_id: type: string nullable: true description:An external identifier for the intermediary relationship. This can be used to store a reference to this relationship in an external system (e.g., the source system during migration).
maxLength: 255 portfolio_number: type: string description:The number of the intermediary portfolio to link this agreement to. The portfolio must exist before creating the agreement.
x-validators: - name: Validate the portfolio number description: Validate that the portfolio number matches the expected format (P- followed by 8 uppercase alphanumeric characters). possible_errors: - invalid_portfolio_number required: - portfolio_number AusAccountBillingOptions: type: object properties: period_length: enum: - MONTHLY - QUARTERLY - null type: string x-spec-enum-id: 8c93f45b27bbc5df nullable: true description:The length of the billing period.
x-enum-descriptions: MONTHLY: Monthly QUARTERLY: Quarterly None: None period_length_multiplier: type: integer nullable: true description:The multiplier for the billing period length. The period length gets multiplied by this value to get a variation of the period length for fixed billing. E.g. If the period length is monthly and the multiplier is 2, the account will be billed every 2 months.
period_start_day: type: integer maximum: 28 minimum: 1 nullable: true description:The day of the month on which the billing period starts.
period_start_month: type: integer maximum: 12 minimum: 1 nullable: true description:The month in which the billing period starts.
use_industry_billing: type: boolean description:Whether Kraken should rely on industry data to trigger billing or (if false) it should trigger it itself.
x-validators: - name: Validate industry billing or period provided description: Validates that either industry billing is being used or the billing period start day and length is being provided. possible_errors: - account_billing_options_industry_billing_with_period_data - account_billing_options_period_data_required - name: Validate period length and period start month for account billing options description: Validate that period start month is provided when using QUARTERLY period length or for NON quarterly with period length multiplier > 1 possible_errors: - account_billing_options_period_start_month_required AusAccountEvent: type: object properties: category: enum: - communications type: string x-spec-enum-id: c4304107a158d80a description:Category of the account event. For example communications.
Description of the account event.
event_type: enum: - BEST_OFFER_CHECKED_IN_SAP - MIXED_COMMS_PREF_IN_SAP - PRICE_CHANGE_SENT_IN_SAP - SHARED_EMAIL_7 - SUPPRESS_MIGRATION_COMMS type: string x-spec-enum-id: 7a4853a98d6d4091 description:The type of the account event. For example EMAIL_SENT.
When the account event occured at.
subcategory: enum: - best_offer - mixed_comms_preference - price_change - migration_comms type: string x-spec-enum-id: dccf7f919c2ee78f description:Sub category of the account event. For example best_offer.
The datetime the agreement was agreed at.
business_contract_identifier: type: string nullable: true description:The identifier of the business contract this agreement should be linked to.
characteristics: type: array items: $ref: '#/components/schemas/ProductCharacteristic' nullable: true description:Characteristics of the agreed product that the customer has chosen.
x-validators: - name: Validate that each child has unique values for thecode
field
description: Validate that each child has unique values for the code
field.
possible_errors:
- children_with_duplicate_values
effective_from:
type: string
format: date
description: The date from which the agreement is effective (inclusive), i.e. the agreement starts on the midnight of this date, such that this date becomes the first day covered by this agreement.
effective_to: type: string format: date nullable: true description:The date to which the agreement is effective (exclusive), i.e. the agreement will end on the midnight of this date, such that the previous day is the last day covered by this agreement.
intermediary: allOf: - $ref: '#/components/schemas/AgreementIntermediaryDetails' nullable: true description:Details about the intermediary relationship for this agreement. When provided, an intermediary link will be created between the agreement and the portfolio, establishing a business intermediary relationship.
product_addons: type: array items: $ref: '#/components/schemas/AusAgreementAddOn' nullable: true description:A list of product addons that apply to the specific agreement.
rate_overrides: type: object additionalProperties: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:Agreement rate overrides.
rates_agreed_at: type: string format: date-time nullable: true description:The datetime the rates were agreed at.
tariff_code: type: string description:The code for the agreement tariff. Must match an existing tariff code of an active product.
x-validators: - name: Validate product code exists description: Validate that the product code exists in Kraken. possible_errors: - product_code_does_not_exist required: - effective_from - tariff_code x-validators: - name: Validateeffective_to not before effective_from
description: Validates that effective_to, if given, is on or
later than effective_from.
possible_errors:
- start_date_later_than_end_date
AusAgreementAddOn:
type: object
properties:
code:
type: string
description: Code for addon that must have been configured for the product in kraken.
x-validators: - name: data-import--validation--contract-addon-has-valid-code--display-name description: data-import--validation--contract-addon-has-valid-code--help-text possible_errors: - addon_code_not_found required: - code AusBillingAddress: type: object properties: administrative_area: type: string default: '' description:The top-level administrative subdivision. For example a US state, Australian state/territory, Italian region, UK constituent nation or Japanese prefecture.
maxLength: 512 country: type: string description:The ISO 3166-1-alpha-2 code of the country that this address belongs to, for example AU (Australia) or GB (Great Britain).
maxLength: 2 delivery_point_identifier: type: string description:The unique country specific identifier for an address. For example the UPRN in the UK or G-NAF ID in Australia.
maxLength: 11 x-validators: - name: Validate delivery point identifier description: Validate that the delivery point identifier contains only capital letters and numbers. possible_errors: - invalid_delivery_point_identifier dependent_locality: type: string default: '' description:Dependent localities, neighbourhoods or boroughs. These are sometimes included in an address when the delivery point is outside the boundary of the main postal town that serves it.
maxLength: 512 locality: type: string default: '' description:The city/town portion of an address. For example a US city, Australian suburb/town, Italian comune or UK postal town.
maxLength: 512 name: type: string default: '' description:The recipient's name.
deprecated: true organization: type: string default: '' description:The company or organization to which the address belongs.
deprecated: true postal_code: type: string default: '' description:The code assigned to a geographical area representing a group of addresses. For example a US ZIP code, Australian postcode, Italian CAP code or UK postcode.
maxLength: 512 sorting_code: type: string default: '' description:This is a non-geographic code used for recipients of large quantities of post, such as companies or government departments. An example is the French CEDEX code.
maxLength: 512 street_address: type: string default: '' description:Free text field for the address. Either this field or the
structured_address field should be provided, not both.
Structured address object. Fields for this object are territory
dependent. Please speak to the tech team about uses of this field. Either
this field or the street_address should be provided, not
both.
locality, administrative_area
and postal_code are required for Australian billing address.
possible_errors:
- field_required_for_aus_billing_address
AusCharge:
type: object
properties:
type:
enum:
- CHARGE
- PAYMENT
- REPAYMENT
- CREDIT
- SUPPLY_CHARGE
type: string
x-spec-enum-id: 06d6aba5cee32f9a
description: The type of the transaction.
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:The amount of the transaction. e.g. if the customer has
a consumption charge worth 23.43, this equates to a transaction of type
CHARGE 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.
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 HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER
settings is ON and is meant for only historical_statements_transactions.
Passing this to other transactions like current_statement_transactions
or transactions_in_open_settlement_period will raise validation
error.
The customer-facing note that can be displayed in a statement or email to the customer.
note: type: string description:Any additional notes about the transaction.
reason: type: string description:The reason for the transaction.
tax_items: type: array items: $ref: '#/components/schemas/TaxItem' description:For SUPPLY_CHARGE and CHARGE transactions
only, tax items contain details about the tax. If not provided will be
set to default zero tax.
The date of the transaction.
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:The unique internal identifier for the transaction.
required: - amount - transaction_date - transaction_id - type AusConcessionCard: type: object properties: applies_from_date: type: string format: date description:Applies from date.
applies_to_date: type: string format: date nullable: true description:Applies to date.
card_expiry_date: type: string format: date nullable: true description:Card expiry date.
card_issue_date: type: string format: date nullable: true description:Card issue date.
card_number: type: string description:It would be validated based on the card type.
maxLength: 30 card_type: enum: - CENTRELINK_PENSIONER - CENTRELINK_HEALTH_CARE - VETERANS_AFFAIRS_PENSIONER - VETERANS_AFFAIRS_DVA_GOLD - VETERANS_AFFAIRS_DVA_GOLD_WW - VETERANS_AFFAIRS_DVA_GOLD_TPI - VETERANS_AFFAIRS_DVA_GOLD_EDA - QUEENSLAND_SENIORS_CARD - ASYLUM_SEEKER - OTHER - SA_GENERIC - REPATRIATION_HEALTH_CARE_CARD - ACT_SERVICES_ACCESS_CARD_IMMI_CARD type: string x-spec-enum-id: 73238433422ffb0b description:Concession card type.
x-enum-descriptions: CENTRELINK_PENSIONER: Centrelink - Pensioner CENTRELINK_HEALTH_CARE: Centrelink - Health Care VETERANS_AFFAIRS_PENSIONER: Veterans Affairs - Pensioner VETERANS_AFFAIRS_DVA_GOLD: Veterans Affairs - DVA Gold VETERANS_AFFAIRS_DVA_GOLD_WW: Veterans Affairs - DVA Gold - WW VETERANS_AFFAIRS_DVA_GOLD_TPI: Veterans Affairs - DVA Gold - TPI VETERANS_AFFAIRS_DVA_GOLD_EDA: Veterans Affairs - DVA Gold - EDA QUEENSLAND_SENIORS_CARD: Queensland Seniors Card ASYLUM_SEEKER: Asylum Seeker OTHER: Other - (no concessions apply) SA_GENERIC: South Australia Concession REPATRIATION_HEALTH_CARE_CARD: Repatriation Health Care Card ACT_SERVICES_ACCESS_CARD_IMMI_CARD: ACT Services Access Card/ Immi Card last_validated_at: type: string format: date-time description: 'When the concession card validation occurred.Note:
if last_validated_at is not provided, applies_from_date
is used as last validation date
When the concession card validation should run again. Defaults
to 1 year into the future if last_validated_at is set and
next_validation_date is not provided.
Is required if the validation_status is FAIL.
Can’t be longer that 255 characters.
Concession card validation source.
x-enum-descriptions: API: API BATCH: Batch MANUAL: Manual KRAKEN: Kraken validation_status: enum: - PASS - FAIL type: string x-spec-enum-id: a7ef9f84bdfa1f32 description:Concession card validation status.
x-enum-descriptions: PASS: Pass FAIL: Fail required: - applies_from_date - card_number - card_type - validation_source - validation_status x-validators: - name: Validate concession card dates description: Validates that card expiry date should be greater than card issue date. Applies to date should be greater than the applies from date. Applies from date should be greater than card issue date. Card expiry date should be greater than the applies to date. Next validation date should be in the future possible_errors: - invalid_concession_cards_dates - name: Validate validation failure reason required description: Validates that validation failure reason required when validation status is FAIL possible_errors: - validation_failure_reason_required AusCustomer: type: object properties: account_roles: type: array items: enum: - EZ_CUSTOMER - TRUSTEE_MAND - MSP_USER - BUSI_FINANCIALLY - EZ_DFPP_RW - NOMINATED_NONE - ADMIN - RECEIVES_SALES - EZ_ADMIN - LIFE_SUPPORT_CONTACT - RECEIVES_DUNNING - FLAGGED_LS - RECEIVES_SERVICE - NO_EMAIL - MSBG_COMMS - EZ_DFPP_RO - TRUSTEE_BILL - RECEIVES_INVOICES - TRUSTEE_NONE - RESI_SECONDARY - BUSINESS_NO_COMMS - NOMINATED_MAND - MSBG_NO_COMMS - BSP_USER - OUTAGE_CONTACT - NOMINATED_BILL - EZ_BROKER - TRUSTEE - PRIMARY_NO_COMMS - CDR_REPRESENTATIVE - BUSINESS_COMMS type: string description: |- * `EZ_CUSTOMER` - EZ_CUSTOMER * `TRUSTEE_MAND` - TRUSTEE_MAND * `MSP_USER` - MSP_USER * `BUSI_FINANCIALLY` - BUSI_FINANCIALLY * `EZ_DFPP_RW` - EZ_DFPP_RW * `NOMINATED_NONE` - NOMINATED_NONE * `ADMIN` - ADMIN * `RECEIVES_SALES` - RECEIVES_SALES * `EZ_ADMIN` - EZ_ADMIN * `LIFE_SUPPORT_CONTACT` - LIFE_SUPPORT_CONTACT * `RECEIVES_DUNNING` - RECEIVES_DUNNING * `FLAGGED_LS` - FLAGGED_LS * `RECEIVES_SERVICE` - RECEIVES_SERVICE * `NO_EMAIL` - NO_EMAIL * `MSBG_COMMS` - MSBG_COMMS * `EZ_DFPP_RO` - EZ_DFPP_RO * `TRUSTEE_BILL` - TRUSTEE_BILL * `RECEIVES_INVOICES` - RECEIVES_INVOICES * `TRUSTEE_NONE` - TRUSTEE_NONE * `RESI_SECONDARY` - RESI_SECONDARY * `BUSINESS_NO_COMMS` - BUSINESS_NO_COMMS * `NOMINATED_MAND` - NOMINATED_MAND * `MSBG_NO_COMMS` - MSBG_NO_COMMS * `BSP_USER` - BSP_USER * `OUTAGE_CONTACT` - OUTAGE_CONTACT * `NOMINATED_BILL` - NOMINATED_BILL * `EZ_BROKER` - EZ_BROKER * `TRUSTEE` - TRUSTEE * `PRIMARY_NO_COMMS` - PRIMARY_NO_COMMS * `CDR_REPRESENTATIVE` - CDR_REPRESENTATIVE * `BUSINESS_COMMS` - BUSINESS_COMMS x-spec-enum-id: a9dfece01fff4a96 x-enum-descriptions: EZ_CUSTOMER: EZ_CUSTOMER TRUSTEE_MAND: TRUSTEE_MAND MSP_USER: MSP_USER BUSI_FINANCIALLY: BUSI_FINANCIALLY EZ_DFPP_RW: EZ_DFPP_RW NOMINATED_NONE: NOMINATED_NONE ADMIN: ADMIN RECEIVES_SALES: RECEIVES_SALES EZ_ADMIN: EZ_ADMIN LIFE_SUPPORT_CONTACT: LIFE_SUPPORT_CONTACT RECEIVES_DUNNING: RECEIVES_DUNNING FLAGGED_LS: FLAGGED_LS RECEIVES_SERVICE: RECEIVES_SERVICE NO_EMAIL: NO_EMAIL MSBG_COMMS: MSBG_COMMS EZ_DFPP_RO: EZ_DFPP_RO TRUSTEE_BILL: TRUSTEE_BILL RECEIVES_INVOICES: RECEIVES_INVOICES TRUSTEE_NONE: TRUSTEE_NONE RESI_SECONDARY: RESI_SECONDARY BUSINESS_NO_COMMS: BUSINESS_NO_COMMS NOMINATED_MAND: NOMINATED_MAND MSBG_NO_COMMS: MSBG_NO_COMMS BSP_USER: BSP_USER OUTAGE_CONTACT: OUTAGE_CONTACT NOMINATED_BILL: NOMINATED_BILL EZ_BROKER: EZ_BROKER TRUSTEE: TRUSTEE PRIMARY_NO_COMMS: PRIMARY_NO_COMMS CDR_REPRESENTATIVE: CDR_REPRESENTATIVE BUSINESS_COMMS: BUSINESS_COMMS description:A list of account roles to be assigned to the customer on account creation. Unlike Portfolio Roles, these will only apply to this customer for this single account.
address: allOf: - $ref: '#/components/schemas/AusPropertyRichAddress' description:The customer's address. If provided, this will be stored on the account user record.
alternative_phone_numbers: type: array items: $ref: '#/components/schemas/AusCustomerAlternativeNumber' description:A list of the customer's alternative phone numbers.
concession_cards: type: array items: $ref: '#/components/schemas/AusConcessionCard' description:List of customer concession cards.
x-validators: - name: Validate number of current concession card description: Validates that each customer can have a maximum of one current concession card. possible_errors: - too_many_current_concession_cards concession_credits_paid_current_year: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,2})?$ nullable: true description: 'Amount received by the customer for the Excess electricity
concession since 1st December of the year before, inclusive of GST. This
will be linked to the primary residence; an error will be raised if: -
this is set but no primary residence has been defined in the supply_addresses
section, or - there is more than one user in the payload with concession
credits paid, or having concession cards.
A list of what this individual customer has and has not consented to.
x-validators: - name: Validate consents are only provided if enabled description: Validate consents are only provided if enabled within this Kraken. possible_errors: - field_not_enabled - name: Validate that each child has unique values for thetype
field
description: Validate that each child has unique values for the type
field.
possible_errors:
- children_with_duplicate_values
contact_emails:
type: array
items:
type: string
format: email
description: A list of additional email addresses to associate with the customer account. These can be used for sending communications to the customer. Each email must be a valid email address.
credit_assessment_id: type: string nullable: true description:Customers credit assessment id.
credit_result: type: string nullable: true description:The credit result from the provider.
credit_risk_bracket: enum: - LOW - MID - HIGH - UNKNOWN - '' - null type: string x-spec-enum-id: e6b98b6c312ff7bf nullable: true description:The deemed credit risk bracket for this customer.
x-enum-descriptions: LOW: Low MID: Medium HIGH: High UNKNOWN: Unknown '': '' None: None credit_score: type: integer maximum: 9999 minimum: 0 nullable: true description:Customers credit score.
customer_preferences: allOf: - $ref: '#/components/schemas/CustomerPreferences' nullable: true description:The communication preferences of the customer. NOTE that this is deprecated and consents should be used to achieve these preferences instead.
deprecated: true x-use-instead: consents date_of_birth: type: string format: date nullable: true description:The customer's date of birth.
deceased: enum: - Reported - Confirmed - '' type: string x-spec-enum-id: f90e7d899a971044 default: '' description:Whether the customer is deceased or not. Defaults to an empty string if not provided.
x-enum-descriptions: Reported: Reported Confirmed: Confirmed '': '' details: nullable: true description:Generic solution for storing additional customer data that is not covered by the other fields in the payload. This is often in the form of market or territory specific information. For example, in much of Europe it is a requirement to store the user's fiscal code. Namespaces (the keys in the object) need to be registered before import. If a value is provided for a namespace that is not registered then an error will be raised.
deprecated: true x-use-instead: user_details x-validators: - name: Validate user details description: Validates that the user detail namespace and value are allowed for the customer. The user detail namespace (the key in the JSON object) must already have been set up in Kraken. The value (the value in the JSON object) must be the correct data type. possible_errors: - customer_detail_failed_validation - customer_detail_incorrect_value_type - customer_detail_not_registered email: type: string format: email nullable: true description:The customer's email address. This is the email address they will use to log into their online portal. Defaults to an empty string if not provided. Cannot be longer that 254 characters.
maxLength: 254 x-validators: - name: Validate email address is not test address description: Validates that a customer email address is not a test email address. An email address is considered a test address if it starts with "test@"" or "xxx@"" or ends with "@test.com", "@test.co.uk", ".xxx" or ".xx". possible_errors: - possible_test_email_address - name: Validate email is not internal description: Validates that a customer email address does not use an internal Kraken handler. For example, if an instance of Kraken has registeredinfo@kraken.info as an internal email address, then the
customer email address must not match this.
possible_errors:
- internal_email_address
family_issues_details:
type: string
nullable: true
default: ''
description: Details for the account user when the customer is flagged for domestic violence issues.
family_issues_password: type: string nullable: true default: '' description:A password for the account user in case the customer is flagged for domestic violence issues. Cannot be more than 255 characters.
maxLength: 255 family_name: type: string default: '' description:The customer's family name.
maxLength: 255 given_name: type: string default: '' description:The customer's given name.
maxLength: 255 has_family_issues: type: boolean nullable: true description:If the customer (account user) has family issues, e.g. is flagged for domestic violence issues so needs special handling in some cases. Defaults to None.
label: type: string nullable: true description:A free text field to help identify the user (e.g. a job title).
landline: type: string nullable: true default: '' description:The customer's landline phone number.
x-validators: - name: Validate phone number description: Validates that a phone number conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_phone_number - name: Validate Australian landline number description: Validates that the value is a valid Australian landline number. possible_errors: - invalid_phone_number loyalty_cards: type: array items: $ref: '#/components/schemas/AusLoyaltyCard' description:List of customer loyalty cards.
x-validators: - name: Validate number of loyalty card per scheme description: Validates that each customer can have a maximum of one card per loyalty scheme. possible_errors: - duplicate_loyalty_card_scheme manually_defined_eligibility_periods: type: array items: $ref: '#/components/schemas/AusManuallyDefinedEligibilityPeriods' description:Manually defined Life support and medical rebates. All dates are format yyyy-mm-dd. E.g. 2022-01-15
metadata: type: array items: $ref: '#/components/schemas/Metadata' description:An array of key value pairs for storing generic metadata relating to a customer. Metadata is externally focused and is not used for any logic within Kraken. Its main motivation is to provide a simple persistence mechanism for clients building their own integrations with Kraken. If a customer already exists in Kraken with existing metadata for the provided key, the value associated with this key will be overwritten.
mobile: type: string nullable: true default: '' description:The customer's personal mobile number.
x-validators: - name: Validate phone number description: Validates that a phone number conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_phone_number - name: Validate Australian mobile number description: Validates that the value is a valid Australian mobile number. possible_errors: - invalid_phone_number mpxns_for_outage_contact: type: array items: type: string description:The mpxn of the meter points that this user has assigned outage contact for.
portfolio_roles: type: array items: enum: - EZ_CUSTOMER - TRUSTEE_MAND - MSP_USER - BUSI_FINANCIALLY - EZ_DFPP_RW - NOMINATED_NONE - ADMIN - RECEIVES_SALES - EZ_ADMIN - LIFE_SUPPORT_CONTACT - RECEIVES_DUNNING - FLAGGED_LS - RECEIVES_SERVICE - NO_EMAIL - MSBG_COMMS - EZ_DFPP_RO - TRUSTEE_BILL - RECEIVES_INVOICES - TRUSTEE_NONE - RESI_SECONDARY - BUSINESS_NO_COMMS - NOMINATED_MAND - MSBG_NO_COMMS - BSP_USER - OUTAGE_CONTACT - NOMINATED_BILL - EZ_BROKER - TRUSTEE - PRIMARY_NO_COMMS - CDR_REPRESENTATIVE - BUSINESS_COMMS type: string description: |- * `EZ_CUSTOMER` - EZ_CUSTOMER * `TRUSTEE_MAND` - TRUSTEE_MAND * `MSP_USER` - MSP_USER * `BUSI_FINANCIALLY` - BUSI_FINANCIALLY * `EZ_DFPP_RW` - EZ_DFPP_RW * `NOMINATED_NONE` - NOMINATED_NONE * `ADMIN` - ADMIN * `RECEIVES_SALES` - RECEIVES_SALES * `EZ_ADMIN` - EZ_ADMIN * `LIFE_SUPPORT_CONTACT` - LIFE_SUPPORT_CONTACT * `RECEIVES_DUNNING` - RECEIVES_DUNNING * `FLAGGED_LS` - FLAGGED_LS * `RECEIVES_SERVICE` - RECEIVES_SERVICE * `NO_EMAIL` - NO_EMAIL * `MSBG_COMMS` - MSBG_COMMS * `EZ_DFPP_RO` - EZ_DFPP_RO * `TRUSTEE_BILL` - TRUSTEE_BILL * `RECEIVES_INVOICES` - RECEIVES_INVOICES * `TRUSTEE_NONE` - TRUSTEE_NONE * `RESI_SECONDARY` - RESI_SECONDARY * `BUSINESS_NO_COMMS` - BUSINESS_NO_COMMS * `NOMINATED_MAND` - NOMINATED_MAND * `MSBG_NO_COMMS` - MSBG_NO_COMMS * `BSP_USER` - BSP_USER * `OUTAGE_CONTACT` - OUTAGE_CONTACT * `NOMINATED_BILL` - NOMINATED_BILL * `EZ_BROKER` - EZ_BROKER * `TRUSTEE` - TRUSTEE * `PRIMARY_NO_COMMS` - PRIMARY_NO_COMMS * `CDR_REPRESENTATIVE` - CDR_REPRESENTATIVE * `BUSINESS_COMMS` - BUSINESS_COMMS x-spec-enum-id: a9dfece01fff4a96 x-enum-descriptions: EZ_CUSTOMER: EZ_CUSTOMER TRUSTEE_MAND: TRUSTEE_MAND MSP_USER: MSP_USER BUSI_FINANCIALLY: BUSI_FINANCIALLY EZ_DFPP_RW: EZ_DFPP_RW NOMINATED_NONE: NOMINATED_NONE ADMIN: ADMIN RECEIVES_SALES: RECEIVES_SALES EZ_ADMIN: EZ_ADMIN LIFE_SUPPORT_CONTACT: LIFE_SUPPORT_CONTACT RECEIVES_DUNNING: RECEIVES_DUNNING FLAGGED_LS: FLAGGED_LS RECEIVES_SERVICE: RECEIVES_SERVICE NO_EMAIL: NO_EMAIL MSBG_COMMS: MSBG_COMMS EZ_DFPP_RO: EZ_DFPP_RO TRUSTEE_BILL: TRUSTEE_BILL RECEIVES_INVOICES: RECEIVES_INVOICES TRUSTEE_NONE: TRUSTEE_NONE RESI_SECONDARY: RESI_SECONDARY BUSINESS_NO_COMMS: BUSINESS_NO_COMMS NOMINATED_MAND: NOMINATED_MAND MSBG_NO_COMMS: MSBG_NO_COMMS BSP_USER: BSP_USER OUTAGE_CONTACT: OUTAGE_CONTACT NOMINATED_BILL: NOMINATED_BILL EZ_BROKER: EZ_BROKER TRUSTEE: TRUSTEE PRIMARY_NO_COMMS: PRIMARY_NO_COMMS CDR_REPRESENTATIVE: CDR_REPRESENTATIVE BUSINESS_COMMS: BUSINESS_COMMS description:A list of portfolio roles to be assigned to the customer on account creation. If not provided, this falls back to the currently configured default.
pronouns: enum: - OTHER - E_EM_EIR - EY_EM_EIR - FAE_FAER_FAERS - HE_HIM_HIS - PER_PER_PERS - SHE_HER_HERS - THEY_THEM_THEIRS - VE_VER_VIS - XE_XEM_XYR - ZE_HIR_HIRS - ZE_ZIR_ZIRS - ZIE_HIR_HIRS - ZIE_ZIR_ZIRS - '' - null type: string x-spec-enum-id: 97953066f4a8c7fa nullable: true default: '' description:How this person wants to be referred to in the third person.
x-enum-descriptions: OTHER: Other E_EM_EIR: E/Em/Eir EY_EM_EIR: Ey/Em/Eir FAE_FAER_FAERS: Fae/Faer/Faers HE_HIM_HIS: He/Him/His PER_PER_PERS: Per/Per/Pers SHE_HER_HERS: She/Her/Hers THEY_THEM_THEIRS: They/Them/Theirs VE_VER_VIS: Ve/Ver/Vis XE_XEM_XYR: Xe/Xem/Xyr ZE_HIR_HIRS: Ze/Hir/Hirs ZE_ZIR_ZIRS: Ze/Zir/Zirs ZIE_HIR_HIRS: Zie/Hir/Hirs ZIE_ZIR_ZIRS: Zie/Zir/Zirs '': '' None: None role: enum: - EZ_CUSTOMER - TRUSTEE_MAND - MSP_USER - BUSI_FINANCIALLY - EZ_DFPP_RW - NOMINATED_NONE - ADMIN - RECEIVES_SALES - EZ_ADMIN - LIFE_SUPPORT_CONTACT - RECEIVES_DUNNING - FLAGGED_LS - RECEIVES_SERVICE - NO_EMAIL - MSBG_COMMS - EZ_DFPP_RO - TRUSTEE_BILL - RECEIVES_INVOICES - TRUSTEE_NONE - RESI_SECONDARY - BUSINESS_NO_COMMS - NOMINATED_MAND - MSBG_NO_COMMS - BSP_USER - OUTAGE_CONTACT - NOMINATED_BILL - EZ_BROKER - TRUSTEE - PRIMARY_NO_COMMS - CDR_REPRESENTATIVE - BUSINESS_COMMS - null type: string x-spec-enum-id: a9dfece01fff4a96 nullable: true description:The portfolio role to be assigned to the customer on account creation. If not provided, this falls back to the currently configured default.
x-enum-descriptions: EZ_CUSTOMER: EZ_CUSTOMER TRUSTEE_MAND: TRUSTEE_MAND MSP_USER: MSP_USER BUSI_FINANCIALLY: BUSI_FINANCIALLY EZ_DFPP_RW: EZ_DFPP_RW NOMINATED_NONE: NOMINATED_NONE ADMIN: ADMIN RECEIVES_SALES: RECEIVES_SALES EZ_ADMIN: EZ_ADMIN LIFE_SUPPORT_CONTACT: LIFE_SUPPORT_CONTACT RECEIVES_DUNNING: RECEIVES_DUNNING FLAGGED_LS: FLAGGED_LS RECEIVES_SERVICE: RECEIVES_SERVICE NO_EMAIL: NO_EMAIL MSBG_COMMS: MSBG_COMMS EZ_DFPP_RO: EZ_DFPP_RO TRUSTEE_BILL: TRUSTEE_BILL RECEIVES_INVOICES: RECEIVES_INVOICES TRUSTEE_NONE: TRUSTEE_NONE RESI_SECONDARY: RESI_SECONDARY BUSINESS_NO_COMMS: BUSINESS_NO_COMMS NOMINATED_MAND: NOMINATED_MAND MSBG_NO_COMMS: MSBG_NO_COMMS BSP_USER: BSP_USER OUTAGE_CONTACT: OUTAGE_CONTACT NOMINATED_BILL: NOMINATED_BILL EZ_BROKER: EZ_BROKER TRUSTEE: TRUSTEE PRIMARY_NO_COMMS: PRIMARY_NO_COMMS CDR_REPRESENTATIVE: CDR_REPRESENTATIVE BUSINESS_COMMS: BUSINESS_COMMS None: None deprecated: true x-use-instead: portfolio_roles salutation: type: string nullable: true default: '' description:The customer's preferred salutation.
maxLength: 128 title: enum: - Dr - Fr - Lady - Miss - Mr - Mrs - Ms - Mx - Prof - Rabbi - Rev - Sir - Sr - '' - null type: string x-spec-enum-id: 4cdddd72acb4b4e0 nullable: true default: '' description:Preferred title by the customer.
x-enum-descriptions: Dr: Doctor Fr: Father Lady: Lady Miss: Miss Mr: Mr Mrs: Mrs Ms: Ms Mx: Mx Prof: Professor Rabbi: Rabbi Rev: Reverend Sir: Sir Sr: Sister '': '' None: None unable_to_read_meters: type: boolean default: false description:Whether the customer is unable to read their meters themselves. Defaults to False.
user_details: type: array items: $ref: '#/components/schemas/CustomerUserDetail' description:Generic solution for storing additional customer data that is not covered by the other fields in the payload. This is often in the form of market or territory specific information. For example, in much of Europe it is a requirement to store the user's fiscal code. Namespaces (the keys in the object) need to be registered before import. If a value is provided for a namespace that is not registered then an error will be raised.
x-validators: - name: Validate required customer details namespaces provided description: No required namespaces configured. Validation skipped. possible_errors: - required_customer_details_namespace_missing user_identifier: type: string description:Unique identifier for the customer. Used for cross referencing the customer within other parts of the payload.
x-validators: - name: Ensures onlyuser_details or details are provided
description: Ensures that only user_details or details
are provided, not both.
possible_errors:
- customer_details_and_user_details_both_provided
- name: Validate no contact details for occupier
description: Validates that a customer identified as "The Occupier" does not
have contact details. If contact details are provided it implies that the
identity of the customer is known, and it therefore not an unknown occupier.
possible_errors:
- contact_details_for_occupier
- name: Validate that the customer's name is not "The Occupier"
description: Validate that the customer's name is not "The Occupier". To indicate
an occupier account, use the unknown_occupier flag at the account-level.
possible_errors:
- customer_may_not_be_named_the_occupier
- name: Validate metadata
description: Validate that metadata, which is a list of key value pairs, does
not contain duplicate keys.
possible_errors:
- metadata_has_duplicate_keys
- name: Validate user role
description: Validates that at least one user role is provided through portfolio_roles
or account_roles.
possible_errors:
- required_user_role
- name: Validate exclusive role assignment
description: Validates that an exclusively-assignable role is not assigned
to a user alongside any other role, whether in the same payload or already
held by the user.
possible_errors:
- customer_has_exclusive_role_conflict
- name: Validate that customer_preferences and consents
are not both provided
description: Validate that customer_preferences and consents are not both
provided.
possible_errors:
- fields_are_mutually_exclusive
AusCustomerAlternativeNumber:
type: object
properties:
phone_number:
type: string
nullable: true
default: ''
description: A customer's alternative phone number.
x-validators: - name: Validate phone number description: Validates that a phone number conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_phone_number - name: Validate Australian phone number description: Validates that the value is a valid Australian landline or mobile number. possible_errors: - invalid_phone_number AusEEPAExportContractedVolumeConfiguration: type: object properties: term_type: type: string description:The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
periods: type: array items: $ref: '#/components/schemas/AusEEPAExportContractedVolumePeriod' description:A list of EEPA export contracted volume periods.
minItems: 1 x-validators: - name: Validate EEPA export contracted volume periods description: 'Validate that the EEPA export contracted volume periods form a valid term: no overlapping general periods, and no supply point repeated across overlapping periods.' possible_errors: - invalid_eepa_export_contracted_volume required: - periods - term_type AusEEPAExportContractedVolumePeriod: type: object properties: supply_point_external_identifiers: type: array items: type: string nullable: true description:The external identifiers (NMIs) of the supply points this period applies to. Leave null to apply to all supply points not covered by a more specific period; when provided the list must not be empty.
minItems: 1 unit: type: string description:The unit for the contracted export volume (e.g. kWh).
valid_from_date: type: string format: date description:The date the period is valid from (inclusive).
valid_to_date: type: string format: date description:The date the period is valid to (exclusive; the period ends before this date).
value: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,4})?$ description:The contracted export volume cap for the period.
required: - supply_point_external_identifiers - unit - valid_from_date - valid_to_date - value x-validators: - name: Convert supply point external identifiers to IDs description: Convert each supply point external identifier (NMI) to the internal supply point ID by looking up the supply point in the database. A null value is left unchanged and applies the period to all supply points. possible_errors: - supply_point_not_found - name: Validatevalid_to not before valid_from
description: Validates that valid_to, if given, is on or later
than valid_from.
possible_errors:
- start_date_later_than_end_date
AusLifeSupport:
type: object
properties:
contact_user_email:
type: string
nullable: true
description: Email address of contact user (must be email of a account user already in the payload or in kraken) Otherwise the first customer in the payload will be set as the contact.
details: type: string description:Life support details. Required when life_support_equipment
is OTHER.
Date that life support started on.
life_support_equipment: enum: - OXYGEN_CONCENTRATOR - INTERMITTENT_PERITONEAL_DIALYSIS_MACHINE - KIDNEY_DIALYSIS_MACHINE - CHRONIC_POSITIVE_AIRWAYS_PRESSURE_RESPIRATOR - CRIGLER_NAJJAR_SYNDROME_PHOTOTHERAPY_EQUIPMENT - VENTILATOR_FOR_LIFE_SUPPORT - OTHER type: string x-spec-enum-id: e51dca152ead8f36 description:Life support equipment. Only allow OTHER for gas and embedded water.
x-enum-descriptions: OXYGEN_CONCENTRATOR: Oxygen Concentrator INTERMITTENT_PERITONEAL_DIALYSIS_MACHINE: Intermittent Peritoneal Dialysis Machine KIDNEY_DIALYSIS_MACHINE: Kidney Dialysis Machine CHRONIC_POSITIVE_AIRWAYS_PRESSURE_RESPIRATOR: Chronic Positive Airways Pressure Respirator CRIGLER_NAJJAR_SYNDROME_PHOTOTHERAPY_EQUIPMENT: Crigler Najjar Syndrome Phototherapy Equipment VENTILATOR_FOR_LIFE_SUPPORT: Ventilator For Life Support OTHER: Other life_support_status: enum: - REGISTERED_MEDICAL_CONFIRMATION - REGISTERED_NO_MEDICAL_CONFIRMATION type: string x-spec-enum-id: ae0de19081af0da8 description:Status of life support.
x-enum-descriptions: REGISTERED_MEDICAL_CONFIRMATION: Registered - Medical Confirmation REGISTERED_NO_MEDICAL_CONFIRMATION: Registered - No Medical Confirmation preferred_contact_method: enum: - POSTAL_ADDRESS - SITE_ADDRESS - EMAIL_ADDRESS - PHONE - '' - null type: string x-spec-enum-id: 93c143dbffa8f5da nullable: true description:Preferred contact method by the customer.
x-enum-descriptions: POSTAL_ADDRESS: Postal Address SITE_ADDRESS: Site Address EMAIL_ADDRESS: Email Address PHONE: Phone '': '' None: None registration_owner: type: string description: "Required for Mass market elec and gas. Should be blank
for CES Child accounts. Retailer Registered Owner. The industry ID of
the life support owner.\n \n Current Options for gas will
be one of
\n
\n
\n
\n
Life support registration state.
x-enum-descriptions: INITIAL_COMM_SENT: Initial Comm Sent SUCESSFULLY_REGISTERED: Sucessfully Registered required: - life_support_date - life_support_equipment - life_support_status - registration_state x-validators: - name: Validate life support registration state and life support status combination description: Validates to ensure life support registration state and life support status combination is valid. possible_errors: - invalid_life_support_registration_state_and_status_combination - name: Validate life support details description: Validates to ensure details is provided when life support equipment is other. possible_errors: - details_required_for_other_life_support_equipment AusLineItem: type: object properties: end_date: type: string format: date description:The end date for the billing period, inclusive.
external_rate_identifier: type: string description: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.
net_amount: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description: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.
number_of_units: type: string format: decimal pattern: ^-?\d{0,12}(?:\.\d{0,4})?$ description:E.g. cubic meters consumed for the period, days on supply for fixed charges or RV proportion for period for unmetered RV charges.
params: type: object description: "Additional parameters for the line item.
\nSpecify the following keys to control line item charge targets:
\n\n
charge_target_type: SUPPLY_POINTcharge_target_type:
REGISTERcharge_target_meter_serial:
Serial number for the register's metercharge_target_identifier:
Register identifierPrice 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.
rate_band: type: string description:Rate of the product this charge is for. Must match an existing
rate of a product product_code. Rate must be active from
start_date to end_date.
Rate specification code of the product this charge is for. This code must refer to an existing rate specification within the product.
start_date: type: string format: date description:The start date for the billing period, inclusive.
time_series_specification_code: type: string description:Time series specification code.
units: type: array items: type: string format: decimal pattern: ^-?\d{0,12}(?:\.\d{0,4})?$ description:For metered accounts only. List of decimal numbers representing the meter readings for the billing period.
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: Validateend_date not before start_date
description: Validates that end_date, if given, is on or later
than start_date.
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 rate_band,
rate_specification_code, or time_series_specification_code.
possible_errors:
- conflicting_rate_band_specification
AusLoyaltyCard:
type: object
properties:
card_number:
type: string
description: Would be validated based on the selected card_scheme.
One of the scheme names declared in LOYALTY_CARD_SCHEMES
settings.
Manually defined eligibility type.
x-enum-descriptions: NSW_MEDICAL_ENERGY_REBATE: NSW Medical Energy Rebate NSW_LIFE_SUPPORT_PAP_DEVICE: NSW Life Support PAP - Part Time NSW_LIFE_SUPPORT_PAP_DEVICE_2: NSW Life Support PAP - Part Time 2 NSW_LIFE_SUPPORT_PAP_DEVICE_3: NSW Life Support PAP - Part Time 3 NSW_LIFE_SUPPORT_PAP_DEVICE_4: NSW Life Support PAP - Part Time 4 NSW_LIFE_SUPPORT_PAP_DEVICE_ALLDAY: NSW Life Support PAP - 24hr NSW_LIFE_SUPPORT_PAP_DEVICE_ALLDAY_2: NSW Life Support PAP - 24hr 2 NSW_LIFE_SUPPORT_PAP_DEVICE_ALLDAY_3: NSW Life Support PAP - 24hr 3 NSW_LIFE_SUPPORT_PAP_DEVICE_ALLDAY_4: NSW Life Support PAP - 24hr 4 NSW_LIFE_SUPPORT_ENTERAL_PUMP: NSW Life Support Enteral feeding pump NSW_LIFE_SUPPORT_PHOTOTHERAPY: NSW Life Support Phototherapy equipment NSW_LIFE_SUPPORT_HOME_DIALYSIS: NSW Life Support Home Dialysis NSW_LIFE_SUPPORT_IRON_LUNG: NSW Life Support Ventilator NSW_LIFE_SUPPORT_TPN_PUMP: NSW Life Support Total Parenteral Nutrition (TPN) pump NSW_LIFE_SUPPORT_LEFT_VENTRICULAR_ASSIST: NSW Life Support External Heart Pump NSW_LIFE_SUPPORT_ELECTRIC_MOBILITY_DEVICE: NSW Life Support Power Wheelchair NSW_LIFE_SUPPORT_ELECTRIC_MOBILITY_DEVICE_2: NSW Life Support Power Wheelchair 2 NSW_LIFE_SUPPORT_ELECTRIC_MOBILITY_DEVICE_3: NSW Life Support Power Wheelchair 3 NSW_LIFE_SUPPORT_ELECTRIC_MOBILITY_DEVICE_4: NSW Life Support Power Wheelchair 4 NSW_LIFE_SUPPORT_OXYGEN_CONCENTRATOR: NSW Life Support Oxygen concentrator - Part Time NSW_LIFE_SUPPORT_OXYGEN_CONCENTRATOR_2: NSW Life Support Oxygen concentrator - Part Time 2 NSW_LIFE_SUPPORT_OXYGEN_CONCENTRATOR_3: NSW Life Support Oxygen concentrator - Part Time 3 NSW_LIFE_SUPPORT_OXYGEN_CONCENTRATOR_4: NSW Life Support Oxygen concentrator - Part Time 4 NSW_LIFE_SUPPORT_OXYGEN_CONCENTRATOR_ALLDAY: NSW Life Support Oxygen concentrator - 24 HR NSW_LIFE_SUPPORT_OXYGEN_CONCENTRATOR_ALLDAY_2: NSW Life Support Oxygen concentrator - 24 HR 2 NSW_LIFE_SUPPORT_OXYGEN_CONCENTRATOR_ALLDAY_3: NSW Life Support Oxygen concentrator - 24 HR 3 NSW_LIFE_SUPPORT_OXYGEN_CONCENTRATOR_ALLDAY_4: NSW Life Support Oxygen concentrator - 24 HR 4 NSW_LIFE_SUPPORT_OTHER: NSW Life Support - Other ACT_LIFE_SUPPORT_KIDNEY_DIALYSIS_MACHINE: ACT Life Support - Kidney Dialysis Machine ACT_LIFE_SUPPORT_OXYGEN_CONCENTRATOR: ACT Life Support - Oxygen Concentrator ACT_LIFE_SUPPORT_RESPIRATOR: ACT Life Support - Respirator ACT_LIFE_SUPPORT_CPAP_REGULATOR: ACT Life Support - CPAP Regulator ACT_LIFE_SUPPORT_LONGSTAY: ACT Life Support - Longstay ACT_LIFE_SUPPORT_NEBULISER: ACT Life Support - Nebuliser ACT_LIFE_SUPPORT_LS_REFERENCE: ACT Life Support - LS Reference ACT_LIFE_SUPPORT_TPN_DEVICE: ACT Life Support - TPN Device ACT_LIFE_SUPPORT_OTHER_APPARATUS: ACT Life Support - Other Apparatus VIC_EXCESS_ELECTRICITY_CONCESSION: Victoria Excess Electricity Concession VIC_EXCESS_GAS_CONCESSION: Victoria Excess Gas Concession VIC_GOVERNMENT_MEDICAL_COOLING_CONCESSION: VIC government medical cooling concession VIC_LIFE_SUPPORT_INTERMITTENT_PERITONEAL_DIALYSIS_MACHINES: VIC Life Support - Intermittent Peritoneal Dialysis Machines VIC_LIFE_SUPPORT_OXYGEN_CONCENTRATOR: VIC Life Support - Oxygen Concentrator VIC_LIFE_SUPPORT_HAEMODIALYSIS_MACHINES: VIC Life Support - Haemodialysis Machines VIC_LIFE_SUPPORT_OTHER: VIC Life Support - Other end_at: type: string format: date description:End date of the rebate. This is a mandatory field for NSW, which is 2 years after start date. If no end date for other states, value of 2099-12-31 can be used.
start_at: type: string format: date description:Start date of the rebate.
required: - eligibility_type - end_at - start_at x-validators: - name: Validateend_at not before start_at
description: Validates that end_at, if given, is on or later
than start_at.
possible_errors:
- start_date_later_than_end_date
AusNetEmissions:
type: object
properties:
from_time:
type: string
format: date-time
description: Net emission from time.
kg_co2_net_emissions: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:CO2 net emission in kg.
to_time: type: string format: date-time description:Net emission to time.
required: - from_time - kg_co2_net_emissions - to_time x-validators: - name: Validate from time not after to time description: Validate that from time is not after to time. possible_errors: - from_time_not_after_to_time AusPaymentInstruction: type: object properties: bank_account: allOf: - $ref: '#/components/schemas/AusPaymentInstructionBankAccount' description:Bank account payment instruction details.
card: allOf: - $ref: '#/components/schemas/PaymentInstructionCard' description:Card payment instruction details.
customer_reference: type: string description:The customer reference of the payment instruction.
Although not required for payment instructions to take payments, if provided it keeps Kraken's data in sync with the customer's account in the payment vendor's systems.
maxLength: 512 instruction_identifier: type: string description:Unique identifier for the payment instruction. Used for cross referencing the payment instruction within other parts of the payload.
ledger_code: type: string description:The code of the relevant Kraken ledger type for the payment instruction. This code must exist in Kraken.
x-validators: - name: Validate ledger code description: Validates that the ledger code provided in the payload matches an available ledger type in Kraken. possible_errors: - ledger_code_does_not_exist reference: type: string description:The reference of the mandate as known by the vendor.
maxLength: 512 type: enum: - BPAY - CARD - CUSTOM - DIRECT_DEBIT - GMO_REFUND - PAYMENT_SLIP type: string x-spec-enum-id: 601d0b035869d4dd description:The payment type of the payment instruction.
x-enum-descriptions: BPAY: BPAY CARD: Card CUSTOM: Custom DIRECT_DEBIT: Direct Debit GMO_REFUND: GMO Refund PAYMENT_SLIP: Payment slip use_for_scheduled_payments: type: boolean description:Whether this payment instruction should be used for scheduled payments on a given ledger. If true, this instruction will be set as the payment method for the account's payment schedule.
valid_from: type: string format: date description:The date from which the payment instruction is valid.
valid_to: type: string format: date description:Exclusive date until when the payment instruction is valid.
vendor: enum: - WESTPAC type: string x-spec-enum-id: 19baa89b6ef9d00c description:The vendor for the payment instruction.
x-enum-descriptions: WESTPAC: Westpac required: - reference - type - valid_from - vendor x-validators: - name: null description: null possible_errors: - incomplete_payments_not_enabled - name: Validate card details are provided for card payment instruction description: Validate that if the payment instruction is of type CARD then card payment details are provided in the payload. This may not be enforced if client is using cashflow instructions as card details are obtained from the vendor in this case. possible_errors: - card_details_not_provided_for_card_payment_instruction - name: Validatevalid_to not before valid_from
description: Validates that valid_to, if given, is on or later
than valid_from.
possible_errors:
- start_date_later_than_end_date
- name: Validate vendor is a default vendor
description: Validate that provided card vendor is a default card vendor or
provided bank account vendor is a default bank account vendor.
possible_errors:
- invalid_vendor
AusPaymentInstructionBankAccount:
type: object
properties:
account_holder:
type: string
description: The name of the account holder on the bank account.
maxLength: 255 account_number: type: string description:The account number for the bank account.
bsb: type: string description:The ‘bank, state, branch’ number for the bank account.
x-validators: - name: Validate sort code description: Validates that a sort code conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_sort_code iban: type: string description:The iban code for the bank account.
sort_code: type: string description:The sort code for the bank account.
required: - account_holder - account_number - bsb AusPaymentPlan: type: object properties: additional_information: allOf: - $ref: '#/components/schemas/AusPaymentPlanAdditionalInformation' description:Additional details from the source system that may be used by Kraken to create Hardship Agreements in line with the Payment Plans, or display useful information to Energy Specialists in the future. This structure is required if is_hardship is True.
debt_amount: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,2})?$ description:The amount of debt to be paid in each instalment of this Payment Plan.
initial_schedule_type: enum: - BACS_TRANSFER - CARD_PAYMENT - DIRECT_DEBIT - PAYMENT_SLIP type: string x-spec-enum-id: f0dffe36af9c61e3 description:Initial schedule type.
x-enum-descriptions: BACS_TRANSFER: BACS_TRANSFER CARD_PAYMENT: CARD_PAYMENT DIRECT_DEBIT: DIRECT_DEBIT PAYMENT_SLIP: PAYMENT_SLIP is_hardship: type: boolean description:True if this plan was established due to the customer facing financial hardship. False if not. Kraken will create a Hardship Agreement in line with the Payment Plan if the value is True.
last_payment_date: type: string format: date description:Date when the last payment is expected to be made.
next_payment_date: type: string format: date description:Date when the next payment would be taken in the legacy system. It will be the first payment date in Kraken.
number_of_remaining_instalments: type: integer minimum: 1 description:Number of instalments yet to be paid by the customer in this Payment Plan in the legacy system. It will be the total number of instalments for the Payment Plan in Kraken.
ongoing_amount: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,2})?$ description:The amount of expected ongoing consumption to be paid in each instalment of this Payment Plan.
payment_frequency: enum: - WEEKLY - MONTHLY type: string x-spec-enum-id: 01aca7e06ce12bfc description:Payment plan frequency.
x-enum-descriptions: WEEKLY: WEEKLY MONTHLY: MONTHLY payment_frequency_multiplier: type: integer minimum: 1 description: "\n Multiplier for the corresponding payment frequency. Examples:\n
Payment plan type.
x-enum-descriptions: MIGRATION_DEBT_PLAN: MIGRATION_DEBT_PLAN MIGRATION_UNDERPAY_PLAN: MIGRATION_UNDERPAY_PLAN MIGRATION_DEBT_AND_ONGOING: MIGRATION_DEBT_AND_ONGOING MIGRATION_DEBT_INCENTIVE_PLAN: MIGRATION_DEBT_INCENTIVE_PLAN MIGRATION_DEBT_ONGOING_INCENTIVE_PLAN: MIGRATION_DEBT_ONGOING_INCENTIVE_PLAN required: - debt_amount - initial_schedule_type - is_hardship - next_payment_date - number_of_remaining_instalments - ongoing_amount - payment_frequency - payment_frequency_multiplier - plan_type x-validators: - name: Validate required fields whenis_hardship is true
description: Validates that additional_information, first_payment_date,
plan_start_date, plan_requested_by and hardship_circumstance
are required when is_hardship is true.
possible_errors:
- field_required_for_hardship
- missing_additional_info
- name: Validate payment frequency multiplier
description: Validates that max value for payment frequency multiplier when
monthly payment is 52 and 12 when yearly.
possible_errors:
- invalid_payment_frequency_multiplier
- name: Validate payment dates
description: Validates that last payment date must be after first payment
date, last payment date must be on or after next payment date, and first
payment date must be the same or after plan start date.
possible_errors:
- invalid_dates
- invalid_first_payment_date
- invalid_next_payment_date
AusPaymentPlanAdditionalInformation:
type: object
properties:
first_payment_date:
type: string
format: date
description: Date when the first payment was made in the legacy system. This value will be required if is_hardship is True. A Hardship Agreement aligned to this date will also be created in Kraken.
hardship_circumstance: enum: - DEATH_IN_FAMILY - HOUSEHOLD_ILLNESS - FAMILY_VIOLENCE - UNEMPLOYMENT - REDUCED_INCOME - OTHER type: string x-spec-enum-id: 51c85b8f460f5123 description:This value will be required if payment_plans.is_hardship
is True. The reason that led the customer to a hardship situation.
The date when the next assessment of this payment occurs in the source system.
plan_category: type: string description:The category of the Payment Plan in the source system.
plan_number: type: string description:The identifier of the Payment Plan in the source system.
plan_requested_by: enum: - SELF_IDENTIFIED - EXTERNAL_REFERENCE - RETAILER_REFERRAL type: string x-spec-enum-id: 98d6c47ed00e6b6f description:This value will be required if payment_plans.is_hardship
is True. Harship entry reason.
Date when the payment plan started in the legacy system. This date must be earlier or equal to the first_payment_date. This value will be required if is_hardship is True.
total_debt_amount: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,2})?$ description:The total amount of debt to be paid off in this Payment Plan.
total_ongoing_amount: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,2})?$ description:The amount of expected ongoing consumption to be paid off in the course of this Payment Plan.
AusPaymentTerms: type: object properties: apply_to_portfolio: type: boolean default: false description:Whether to apply terms to entire portfolio. Can only be set if the migration payload is for a lead account.
is_term_in_working_days: type: boolean default: false description:Whether the term is calculated on working days or calendar days. Defaults to false.
number_of_days_to_pay: type: integer maximum: 90 minimum: 10 description:Number of days timespan before going into dunning paths.
valid_from: type: string format: date description:When the payment term configuration should start.
valid_to: type: string format: date nullable: true description:When the payment term configuration should end. If null, it never ends.
required: - number_of_days_to_pay - valid_from x-validators: - name: Validatevalid_to not before valid_from
description: Validates that valid_to, if given, is on or later
than valid_from.
possible_errors:
- start_date_later_than_end_date
AusPropertyRichAddress:
type: object
properties:
administrative_area:
enum:
- ACT
- NSW
- NT
- QLD
- SA
- TAS
- VIC
- WA
type: string
x-spec-enum-id: 0083aa6c13849f88
description: Australian state.
x-enum-descriptions: ACT: ACT NSW: NSW NT: NT QLD: QLD SA: SA TAS: TAS VIC: VIC WA: WA country: type: string description:The ISO 3166-1-alpha-2 code of the country that this address belongs to, for example AU (Australia) or GB (Great Britain).
maxLength: 2 delivery_point_identifier: type: string description:The unique country specific identifier for an address. For example the UPRN in the UK or G-NAF ID in Australia.
maxLength: 11 x-validators: - name: Validate delivery point identifier description: Validate that the delivery point identifier contains only capital letters and numbers. possible_errors: - invalid_delivery_point_identifier dependent_locality: type: string default: '' description:Dependent localities, neighbourhoods or boroughs. These are sometimes included in an address when the delivery point is outside the boundary of the main postal town that serves it.
maxLength: 512 locality: type: string description:Australian suburb or town.
maxLength: 46 name: type: string default: '' description:The recipient's name.
deprecated: true organization: type: string default: '' description:The company or organization to which the address belongs.
deprecated: true postal_code: type: string description:Australian postal code.
maxLength: 4 x-validators: - name: Validate and normalize postcode description: Validate the postal code and normalize it to a standard format. possible_errors: - invalid_postcode sorting_code: type: string default: '' description:This is a non-geographic code used for recipients of large quantities of post, such as companies or government departments. An example is the French CEDEX code.
maxLength: 512 street_address: type: string default: '' description:Free text field for the address. Either this field or the
structured_address field should be provided, not both.
Structured address object. Fields for this object are territory
dependent. Please speak to the tech team about uses of this field. Either
this field or the street_address should be provided, not
both.
The date when the customer started being on supply at the given address.
customer_at_supply_address_to_date: type: string format: date nullable: true description:The date when the customer stopped being on supply at the given address, e.g. when they moved out.
embedded_network_code: type: string nullable: true description: 'For CES (centralised/community energy services) - the network code (name) of the embedded network to which the supply address belongs. Must be pre-defined in Kraken. Case sensitive, and allows spaces: "The Island", "THE ISLAND" and "THE_ISLAND" are all different.
' maxLength: 512 is_landlord: type: boolean default: false description:Whether this account holder is the landlord of the property.
label: type: string description:Label to identify the supply address.
maxLength: 255 life_support: allOf: - $ref: '#/components/schemas/AusLifeSupport' nullable: true description:Life Support details to be associated with this account. All dates are format yyyy-mm-dd. E.g. 2022-01-15
metadata: type: array items: $ref: '#/components/schemas/Metadata' description: data-import--field-definition--property-hierarchy-details--metadata--html meter_points: type: array items: $ref: '#/components/schemas/MeterPoint' description:List of meter points linked to the property.
primary_place_of_residence_since: type: string format: date description:This field is used to determine if this address is the customer's primary place of residence.
property_administrators: type: array items: $ref: '#/components/schemas/PropertyAdministrator' description:Details of any persons who are considered administrators of the supply address. Only one entry is currently permitted - additional administrators need to be added via the support site. This user will be granted admin access to all accounts within the same portfolio.
property_external_identifier: type: string description:The extrernal identifier for the property<\p> maxLength: 255 supply_address: allOf: - $ref: '#/components/schemas/AusPropertyRichAddress' description:
Supply address object.
required: - customer_at_supply_address_from_date - meter_points - supply_address x-validators: - name: Validate landlord details and property administrators aren't both provided description: Validate that landlord details and property administrators aren't both provided. If landlord details are provided, copy them to the property administrators field. possible_errors: - both_landlord_details_and_property_administrators_provided - name: Validate no more than one property administrator is provided description: Validate no more than one property administrator is provided. possible_errors: - multiple_property_administrators - name: Validate life support registration owner and life support equipment description: Validates that registration owner, life support equipment is valid and only electricity, gas, embedded hot water and embedded electricity LS are currently supported life support. possible_errors: - invalid_life_support_equipment - life_support_not_supported - life_support_with_invalid_registration_owner AusStatement: type: object properties: average_daily_usage: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The average daily usage of the statement.
bill_period_from_date: type: string format: date description:The statement start date (inclusive).
bill_period_to_date: type: string format: date description:The statement end date (inclusive).
gross_amount: type: integer nullable: true description:The gross amount of the statement, in the lowest denomination for the currency.
is_reversed: type: boolean description:Whether or not is reversed.
issued_date: type: string format: date nullable: true description:The date the statement was issued.
net_emissions: type: array items: $ref: '#/components/schemas/AusNetEmissions' nullable: true description:List of net emissions.
number: type: string description:The external customer-facing statement number.
statement_id: type: string description:The ID of the statement.
statement_path: type: string description:The relative path in S3 of the statement PDF file.
x-validators: - name: Validate path exists in file store description: Validate that the given path corresponds to a file that has previously been uploaded to the migration file store. Note that this validation is disabled by default and can be enabled using the relevant feature flag. possible_errors: - path_does_not_exist_in_file_store total_consumption: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The total consumption of the statement.
total_consumption_cost: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The total consunption cost of the statement.
total_feed_in_cost: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The total feed in cost of the statement.
total_feed_in_energy: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The total feed in energy of the statement.
total_supply_cost: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The total supply cost of the statement.
required: - bill_period_from_date - bill_period_to_date - statement_id x-validators: - name: null description: null possible_errors: - missing_statement_path_or_pdf_context - received_statement_path_and_pdf_context AusStructuredStreetAddress: type: object properties: building_or_property_name: type: string description:Building or property name. No longer than 60 chars as two
lines of 30 chars each. If more than 30 chars, there must be a \n
after 30 chars.
if supplied, flat_or_unit_type must be as well.
limit of 7 characters, numbers and . with optional alphabetical
prefix and suffix.
Flat or unit type.
x-enum-descriptions: ANT: Antenna APT: Apartment ATM: ATM BBQ: Barbeque BLCK: Block BTSD: Boatshed BLDG: Building BNGW: Bungalow CAGE: Cage CARP: Carpark CARS: Carspace CLUB: Club COOL: Coolroom CTGE: Cottage DUP: Duplex FY: Factory F: Flat GRGE: Garage HALL: Hall HSE: House KSK: Kiosk LSE: Lease LBBY: Lobby LOFT: Loft LOT: Lot MSNT: Maisonette MB: Marine Berth 'OFF': Office PTHS: Penthouse REAR: Rear RESV: Reserve RM: Room SEC: Section SHED: Shed SHOP: Shop SHRM: Showroom SIGN: Sign SITE: Site SL: Stall STOR: Store STR: Strata Unit STU: Studio SUBS: Substation SE: Suite TNCY: Tenancy TWR: Tower TNHS: Townhouse U: Unit VLT: Vault VLLA: Villa WARD: Ward WE: Warehouse WKSH: Workshop floor_or_level_number: type: string description:if supplied, floor_or_level_type must be as
well. limit of 5 characters, numbers and . with optional
alphabetical prefix and suffix
Floor or level type.
x-enum-descriptions: B: Basement FL: Floor G: Ground L: Level LG: Lower Ground M: Mezzanine LL: Lower Level OD: Observation Deck P: Parking PTHS: Penthouse PLF: Platform PDM: Podium RT: Rooftop SB: Sub-Basement UG: Upper Ground LB: Lobby house_number_1: type: integer description:House number 1. If provided, street_name must
be as well.
House number 2. If provided, house_number_1
must be as well.
House number suffix 1. If provided, house_number_1
must be as well.
House number suffix 2. If provided, house_number_2
must be as well.
A description of the location.
lot_number: type: string description:Letters, numbers and ..
Postal delivery number prefix. Alphabetical (Uppercase).
If provided, postal_delivery_number_value must be as well.
Postal delivery number suffix. Alphabetical (Uppercase).
If provided, postal_delivery_number_value must be as well.
Postal delivery number value. If provided, postal_delivery_typ
must be as well.
Postal delivery type.
x-enum-descriptions: CARE PO: CARE PO CMA: CMA CMB: CMB CPA: CPA GPO BOX: GPO BOX LOCKED BAG: LOCKED BAG MS: MS PO BOX: PO BOX PRIVATE BAG: PRIVATE BAG RSD: RSD RMB: RMB RMS: RMS street_name: type: string description:Street name.
maxLength: 45 street_suffix: enum: - CN - DE - E - EX - IN - LR - ML - N - NE - NW - OF - 'ON' - OT - OP - S - SE - SW - UP - W type: string x-spec-enum-id: f105f3c67a4f2af4 description:Street suffix. If provided, street_name must
be as well.
Street type. If provided, street_name must
be as well.
The type of the transaction.
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:The amount of the transaction. e.g. if the customer has
a consumption charge worth 23.43, this equates to a transaction of type
CHARGE 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.
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 HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER
settings is ON and is meant for only historical_statements_transactions.
Passing this to other transactions like current_statement_transactions
or transactions_in_open_settlement_period will raise validation
error.
The customer-facing note that can be displayed in a statement or email to the customer.
line_items: type: array items: $ref: '#/components/schemas/AusLineItem' description:For SUPPLY_CHARGE transactions only, line items
contain details about the charge, e.g. standing/consumption charge, billing
period, number of units etc.
Any additional notes about the transaction.
product_code: type: string description:The product code for the product that the transaction is associated with.
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:Supply point identifier associated with the supply point this charge applies to.
tax_items: type: array items: $ref: '#/components/schemas/TaxItem' description:For SUPPLY_CHARGE and CHARGE transactions
only, tax items contain details about the tax. If not provided will be
set to default zero tax.
The date of the transaction.
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:The unique internal identifier for the transaction.
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 aNaN
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 supply_point_identifier is provided
when any line item contains a rate_specification_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
AusTransaction:
oneOf:
- $ref: '#/components/schemas/Credit'
- $ref: '#/components/schemas/AusCharge'
- $ref: '#/components/schemas/Payment'
- $ref: '#/components/schemas/Repayment'
- $ref: '#/components/schemas/AusSupplyCharge'
discriminator:
propertyName: type
mapping:
CREDIT: '#/components/schemas/Credit'
CHARGE: '#/components/schemas/AusCharge'
PAYMENT: '#/components/schemas/Payment'
REPAYMENT: '#/components/schemas/Repayment'
SUPPLY_CHARGE: '#/components/schemas/AusSupplyCharge'
BadCreateOrUpdateAccountImportProcess:
oneOf:
- $ref: '#/components/schemas/AccountAlreadyImportedResponse'
- $ref: '#/components/schemas/StandardizedValidationErrorResponse'
BadCreateTransactionsRequest:
oneOf:
- $ref: '#/components/schemas/NonFieldErrors'
- $ref: '#/components/schemas/ErrorCreatingTransactions'
BadProcessAccountImportProcess:
oneOf:
- $ref: '#/components/schemas/AccountAlreadyImportedResponse'
- $ref: '#/components/schemas/StandardizedValidationErrorResponse'
BadValidateAccountRequest:
oneOf:
- $ref: '#/components/schemas/AccountAlreadyImportedResponse'
- $ref: '#/components/schemas/StandardizedValidationErrorResponse'
BaseBusiness:
type: object
properties:
business_type:
enum:
- SOLE_TRADER
- LTD
- PTY_LTD
- PARTNERSHIP
- CHARITY
- PLC
- LLP
- TRUST
- TRADING_AS
- GOVERNMENT
- NON_PROFIT
- CHURCH
- HOMEOWNER_ASSOCIATION
- TBD
type: string
x-spec-enum-id: 8cd3a9d2ed8d5378
description: The type of business this account related to. The business type can only be provided for business accounts.
x-enum-descriptions: SOLE_TRADER: Sole trader LTD: Limited PTY_LTD: Proprietary Limited Company PARTNERSHIP: Partnership CHARITY: Charity PLC: Public limited company LLP: Limited liability partnership TRUST: Trust TRADING_AS: Trading as GOVERNMENT: Government NON_PROFIT: Non profit CHURCH: Church HOMEOWNER_ASSOCIATION: Homeowner association TBD: To be determined company_name: type: string description:The company name for a business account.
maxLength: 255 company_number: type: string description:The company number for a business account.
maxLength: 100 x-validators: - name: Validate company number description: Validate the company number and standardize its format. possible_errors: - invalid_company_number details: type: array items: $ref: '#/components/schemas/BusinessDetail' description:Generic solution for storing additional business data that is not covered by the other fields in the payload. This is often in the form of market or territory specific information. Keys must be registered in Kraken and will have a value type the value for the key must confirm to.
x-validators: - name: Validate that each child has unique values for thekey
field
description: Validate that each child has unique values for the key
field.
possible_errors:
- children_with_duplicate_values
portfolios:
type: array
items:
$ref: '#/components/schemas/BusinessPortfolio'
description: Information about the portfolios associated with this business.
segment_name: x-spec-enum-id: 4f53cda18c2baa0c description:The segment to which the business belongs.
x-comment: Choices for this field are dynamic, once appropriate values have been configured they will be rendered here. users: type: array items: $ref: '#/components/schemas/BusinessUser' description:List of the business users associated with the business.
BasePaymentPreference: type: object properties: type: enum: - ACTIVE_EXISTING - ACTIVE_NEW - PASSIVE type: string x-spec-enum-id: 4cc9502ba974f87d description:Indicates whether this payment preference refers to an existing payment instruction already present in Kraken, or to a new one being created in the import.
x-enum-descriptions: ACTIVE_EXISTING: Existing Payment Instruction ACTIVE_NEW: New Payment Instruction PASSIVE: No Payment Instruction Preference ledger_identifier: type: string description:Identifier for the ledger from the ledgers.
This will be used to link the payment instruction to a specific ledger
being imported using payment preference.
The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
schedules: type: array items: $ref: '#/components/schemas/BespokeRateSchedule' description:The schedules of bespoke rates.
minItems: 1 x-validators: - name: Validate bespoke rates do not conflict description: Validate bespoke rates for the same target and rate do not conflict during the same period. The target of a bespoke rate is determined by the supply point identifier and product code. possible_errors: - overlapping_bespoke_rate_schedules - name: Validate bespoke rate schedules target consistently description: Validate that bespoke rate schedules either all target supply points via the supply_point_identifier field or none do. possible_errors: - inconsistent_bespoke_rate_schedule_targeting required: - schedules - term_type BespokeRateItem: type: object properties: identifier: type: string nullable: true description:A unique identifier for the bespoke rate item.
price_per_unit: type: string format: decimal pattern: ^-?\d{0,11}(?:\.\d{0,8})?$ description:The price per unit of the bespoke rate.
rate_specification_code: type: string description:The rate specification code for the bespoke rate.
rate_specification_type: enum: - PRODUCT_RATE - SHARED_RATE - null type: string x-spec-enum-id: 94c4191a865cda34 nullable: true default: PRODUCT_RATE description:The rate specification type for the bespoke rate.
x-enum-descriptions: PRODUCT_RATE: Product rate SHARED_RATE: Shared rate None: None variant_profile: allOf: - $ref: '#/components/schemas/VariantProfile' description:The variant profile which the rate applies to.
required: - price_per_unit - rate_specification_code - variant_profile BespokeRateSchedule: type: object properties: identifier: type: string nullable: true description:A unique identifier for the bespoke rate schedule.
items: type: array items: $ref: '#/components/schemas/BespokeRateItem' description:A list of bespoke rates.
minItems: 1 x-validators: - name: Validate bespoke rate items are unique description: Validate that no two bespoke rate items in a schedule share the same rate specification code, rate specification type, and variant profile. possible_errors: - duplicate_bespoke_rate_items product_code: type: string description:A product code for the schedule of bespoke rate.
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 nullable: true description:The external identifier of the supply point that this bespoke rate schedule targets.
minLength: 1 valid_from: type: string format: date-time description:The date the schedule of bespoke rates is valid from (inclusive).
valid_to: type: string format: date-time nullable: true description:The date the schedule of bespoke rates is valid to (exclusive).
required: - items - product_code - valid_from x-validators: - name: Validatevalid_to not before or equal to valid_from
description: Validates that valid_to, if given, is strictly
later than valid_from.
possible_errors:
- start_date_same_as_end_date
- name: Validate each item represents a possible rate for the product
description: Validate each item's rate specification, characteristic values,
and scheme labels represent a rate defned on the product.
possible_errors:
- characteristic_code_not_found
- invalid_characteristic_value
- invalid_profile_variant_for_specification
- product_specification_not_found_for_product
- rate_specification_not_found_for_product
- shared_rate_not_found
- shared_rate_not_found_for_product
- name: Validate that all required bespoke rates are present and no non-overridable
rates are supplied
description: Validates that bespoke rate schedules include all rate specifications
marked as must-be-overridden and mandatory, and do not include any rate
specifications marked as cannot-be-overridden.
possible_errors:
- bespoke_rate_cannot_be_overridden
- missing_required_bespoke_rate
BillDueDate:
type: object
properties:
term_type:
type: string
description: The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
number_of_days: type: integer minimum: 0 description:The number of days added to the issuance date to determine the due date.
type_of_days: enum: - WORKING - CALENDAR type: string x-spec-enum-id: ca64884b18199022 description: data-import--field-definition--bill-due-date--type-of-days--html x-enum-descriptions: WORKING: Working days CALENDAR: Calendar days required: - number_of_days - term_type - type_of_days BillingDocumentIssuanceFrequencyTerm: type: object properties: term_type: type: string description:The type of the contract term.
frequency: enum: - DAILY - MONTHLY type: string x-spec-enum-id: 74dcc34556834abd description:The rate at which a billing document is issued. For example, this can be daily or monthly.
x-enum-descriptions: DAILY: Daily MONTHLY: Monthly is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
multiplier: type: integer description:The multiplier for the issuance frequency. For example, for a frequency of monthly and a multiplier of 2, a billing document should be issued every 2 months.
period_start_day: type: integer description:The day of the month on which the billing period starts in Kraken.
period_start_month: type: integer description:The month of the year on which the billing period starts in Kraken.
required: - frequency - multiplier - period_start_day - period_start_month - term_type Business: oneOf: - $ref: '#/components/schemas/BaseBusiness' - $ref: '#/components/schemas/BusinessWithExistingContracts' discriminator: propertyName: enforce_business_contracts_exist mapping: null: '#/components/schemas/BaseBusiness' false: '#/components/schemas/BaseBusiness' true: '#/components/schemas/BusinessWithExistingContracts' BusinessContract: type: object properties: identifier: type: string description:The contract's unique identifier.
x-validators: - name: Validates that a contract with the given identifier does not exist description: Validates that there is not an existing contract in Kraken with the same identifier provided in the payload. possible_errors: - contract_with_identifier_exists sales_record: allOf: - $ref: '#/components/schemas/ContractSalesRecord' description:Sales record details about the contract.
signed_at_date: type: string format: date description:The date on which the contract was signed.
valid_from_date: type: string format: date description: 'The date from which the contract is valid. This is an inclusive
date. Example: If valid_from is October 1, 2024, then the
contract is valid on October 1, 2024 and following dates.
The date on which the contract expires. This is an exclusive
date. Example: If valid_to is October 1, 2025, then the contract
is not valid on October 1, 2025 or following dates.
The versions of this contract, each version is a collection of terms and the date they are applicable. Only two versions can be provided, one which starts on the same date as the contract is valid from and one other future dated version to be scheduled.
required: - identifier - signed_at_date - valid_from_date x-validators: - name: Validate that contract versions include a version for the current terms description: Validate that the earliest version in the list of contract versions provided has anapplicable_at_date that is equal to the contract
valid_from_date.
possible_errors:
- contract_versions_does_not_include_current
BusinessDetail:
type: object
properties:
key:
enum:
- abn
- acn
- frmp
- anzsic
type: string
x-spec-enum-id: cf8b0ced1c78b621
description: The key for the business detail. Keys need to be registered before import. If a value is provided for a key that is not registered then an error will be raised.
x-enum-descriptions: abn: abn acn: acn frmp: frmp anzsic: anzsic value: description:The value for the business detail. This must match the type the registered key is expecting.
required: - key - value x-validators: - name: Validate that the value for the business details key has the correct type description: Validate that the value given has the type that matches the type configured for the registered business detail key. possible_errors: - business_detail_incorrect_value_type - name: Validate the business details value description: Validate that business detail value complies with any validation required by their corresponding detail key. possible_errors: - business_detail_failed_validation BusinessImportProcess: type: object properties: business: allOf: - $ref: '#/components/schemas/BusinessWithContracts' description:The business's information
external_business_identifier: type: string description:The unique identifier of a business in the external system. This id is used to link an imported business in Kraken to the external system
maxLength: 128 import_supplier_code: 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: The code of an existing ImportSupplier in the database. 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 required: - business - external_business_identifier - import_supplier_code BusinessImportProcessCreation: type: object properties: external_business_identifier: type: string description:The unique identifier of a business in the external system. This id is used to link an imported business in Kraken to the external system
kraken_business_id: type: integer description:The unique identifier of a business in Kraken. This id can be used to identify a business in Kraken
BusinessPaymentInstruction: type: object properties: accounts: type: array items: $ref: '#/components/schemas/BusinessPaymentInstructionAccount' description:Accounts for the business to set preference for.
external_business_identifier: type: string description:The unique identifier of a business in the external system. This id is used to link an imported business in Kraken to the external system
maxLength: 128 import_supplier_code: 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:The code of an existing ImportSupplier in the
database.
The reference of the mandate as known by the vendor.
maxLength: 512 type: enum: - BPAY - CARD - CUSTOM - DIRECT_DEBIT - GMO_REFUND - PAYMENT_SLIP type: string x-spec-enum-id: 601d0b035869d4dd description:The payment type of the payment instruction.
x-enum-descriptions: BPAY: BPAY CARD: Card CUSTOM: Custom DIRECT_DEBIT: Direct Debit GMO_REFUND: GMO Refund PAYMENT_SLIP: Payment slip valid_from: type: string format: date nullable: true description:The date from which the payment instruction is valid.
vendor: enum: - WESTPAC type: string x-spec-enum-id: 19baa89b6ef9d00c description:The vendor for the payment instruction.
x-enum-descriptions: WESTPAC: Westpac required: - external_business_identifier - import_supplier_code - type - vendor x-validators: - 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 BusinessPaymentInstructionAccount: type: object properties: external_account_number: type: string description:The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
Optional billing name to be used on the account. If provided, it will be used for producing statements. If not, the customer names will be used.
maxLength: 510 notes: type: array items: $ref: '#/components/schemas/Note' description:List of notes that should be applied at the portfolio level instead of the individual account.
portfolio_references: type: array items: $ref: '#/components/schemas/PortfolioReference' description:List of references to the portfolio that this account belongs to.
minItems: 1 portfolio_settings: allOf: - $ref: '#/components/schemas/PortfolioSettings' nullable: true description:This object allows for setting portfolio settings during
data migration. This object is only available where the is_portfolio_lead
flag is true. Any other account type will fail validation.
The customer's address. If provided, this will be stored on the account user record.
alternative_phone_numbers: type: array items: $ref: '#/components/schemas/CustomerAlternativeNumber' description:A list of the customer's alternative phone numbers.
business_roles: type: array items: enum: - EZ_CUSTOMER - TRUSTEE_MAND - MSP_USER - BUSI_FINANCIALLY - EZ_DFPP_RW - NOMINATED_NONE - ADMIN - RECEIVES_SALES - EZ_ADMIN - LIFE_SUPPORT_CONTACT - RECEIVES_DUNNING - FLAGGED_LS - RECEIVES_SERVICE - NO_EMAIL - MSBG_COMMS - EZ_DFPP_RO - TRUSTEE_BILL - RECEIVES_INVOICES - TRUSTEE_NONE - RESI_SECONDARY - BUSINESS_NO_COMMS - NOMINATED_MAND - MSBG_NO_COMMS - BSP_USER - OUTAGE_CONTACT - NOMINATED_BILL - EZ_BROKER - TRUSTEE - PRIMARY_NO_COMMS - CDR_REPRESENTATIVE - BUSINESS_COMMS type: string description: |- * `EZ_CUSTOMER` - EZ_CUSTOMER * `TRUSTEE_MAND` - TRUSTEE_MAND * `MSP_USER` - MSP_USER * `BUSI_FINANCIALLY` - BUSI_FINANCIALLY * `EZ_DFPP_RW` - EZ_DFPP_RW * `NOMINATED_NONE` - NOMINATED_NONE * `ADMIN` - ADMIN * `RECEIVES_SALES` - RECEIVES_SALES * `EZ_ADMIN` - EZ_ADMIN * `LIFE_SUPPORT_CONTACT` - LIFE_SUPPORT_CONTACT * `RECEIVES_DUNNING` - RECEIVES_DUNNING * `FLAGGED_LS` - FLAGGED_LS * `RECEIVES_SERVICE` - RECEIVES_SERVICE * `NO_EMAIL` - NO_EMAIL * `MSBG_COMMS` - MSBG_COMMS * `EZ_DFPP_RO` - EZ_DFPP_RO * `TRUSTEE_BILL` - TRUSTEE_BILL * `RECEIVES_INVOICES` - RECEIVES_INVOICES * `TRUSTEE_NONE` - TRUSTEE_NONE * `RESI_SECONDARY` - RESI_SECONDARY * `BUSINESS_NO_COMMS` - BUSINESS_NO_COMMS * `NOMINATED_MAND` - NOMINATED_MAND * `MSBG_NO_COMMS` - MSBG_NO_COMMS * `BSP_USER` - BSP_USER * `OUTAGE_CONTACT` - OUTAGE_CONTACT * `NOMINATED_BILL` - NOMINATED_BILL * `EZ_BROKER` - EZ_BROKER * `TRUSTEE` - TRUSTEE * `PRIMARY_NO_COMMS` - PRIMARY_NO_COMMS * `CDR_REPRESENTATIVE` - CDR_REPRESENTATIVE * `BUSINESS_COMMS` - BUSINESS_COMMS x-spec-enum-id: a9dfece01fff4a96 x-enum-descriptions: EZ_CUSTOMER: EZ_CUSTOMER TRUSTEE_MAND: TRUSTEE_MAND MSP_USER: MSP_USER BUSI_FINANCIALLY: BUSI_FINANCIALLY EZ_DFPP_RW: EZ_DFPP_RW NOMINATED_NONE: NOMINATED_NONE ADMIN: ADMIN RECEIVES_SALES: RECEIVES_SALES EZ_ADMIN: EZ_ADMIN LIFE_SUPPORT_CONTACT: LIFE_SUPPORT_CONTACT RECEIVES_DUNNING: RECEIVES_DUNNING FLAGGED_LS: FLAGGED_LS RECEIVES_SERVICE: RECEIVES_SERVICE NO_EMAIL: NO_EMAIL MSBG_COMMS: MSBG_COMMS EZ_DFPP_RO: EZ_DFPP_RO TRUSTEE_BILL: TRUSTEE_BILL RECEIVES_INVOICES: RECEIVES_INVOICES TRUSTEE_NONE: TRUSTEE_NONE RESI_SECONDARY: RESI_SECONDARY BUSINESS_NO_COMMS: BUSINESS_NO_COMMS NOMINATED_MAND: NOMINATED_MAND MSBG_NO_COMMS: MSBG_NO_COMMS BSP_USER: BSP_USER OUTAGE_CONTACT: OUTAGE_CONTACT NOMINATED_BILL: NOMINATED_BILL EZ_BROKER: EZ_BROKER TRUSTEE: TRUSTEE PRIMARY_NO_COMMS: PRIMARY_NO_COMMS CDR_REPRESENTATIVE: CDR_REPRESENTATIVE BUSINESS_COMMS: BUSINESS_COMMS description:A list of business roles to be assigned to the customer. These apply to all accounts the business has access to.
contact_emails: type: array items: type: string format: email description:A list of additional email addresses to associate with the customer account. These can be used for sending communications to the customer. Each email must be a valid email address.
credit_assessment_id: type: string nullable: true description:Customers credit assessment id.
credit_result: type: string nullable: true description:The credit result from the provider.
credit_risk_bracket: enum: - LOW - MID - HIGH - UNKNOWN - '' - null type: string x-spec-enum-id: e6b98b6c312ff7bf nullable: true description:The deemed credit risk bracket for this customer.
x-enum-descriptions: LOW: Low MID: Medium HIGH: High UNKNOWN: Unknown '': '' None: None credit_score: type: integer maximum: 9999 minimum: 0 nullable: true description:Customers credit score.
date_of_birth: type: string format: date nullable: true description:The customer's date of birth.
deceased: enum: - Reported - Confirmed - '' type: string x-spec-enum-id: f90e7d899a971044 default: '' description:Whether the customer is deceased or not. Defaults to an empty string if not provided.
x-enum-descriptions: Reported: Reported Confirmed: Confirmed '': '' details: nullable: true description:Generic solution for storing additional customer data that is not covered by the other fields in the payload. This is often in the form of market or territory specific information. For example, in much of Europe it is a requirement to store the user's fiscal code. Namespaces (the keys in the object) need to be registered before import. If a value is provided for a namespace that is not registered then an error will be raised.
deprecated: true x-use-instead: user_details x-validators: - name: Validate user details description: Validates that the user detail namespace and value are allowed for the customer. The user detail namespace (the key in the JSON object) must already have been set up in Kraken. The value (the value in the JSON object) must be the correct data type. possible_errors: - customer_detail_failed_validation - customer_detail_incorrect_value_type - customer_detail_not_registered email: type: string format: email nullable: true description:The customer's email address. This is the email address they will use to log into their online portal. Defaults to an empty string if not provided. Cannot be longer that 254 characters.
maxLength: 254 x-validators: - name: Validate email address is not test address description: Validates that a customer email address is not a test email address. An email address is considered a test address if it starts with "test@"" or "xxx@"" or ends with "@test.com", "@test.co.uk", ".xxx" or ".xx". possible_errors: - possible_test_email_address - name: Validate email is not internal description: Validates that a customer email address does not use an internal Kraken handler. For example, if an instance of Kraken has registeredinfo@kraken.info as an internal email address, then the
customer email address must not match this.
possible_errors:
- internal_email_address
family_name:
type: string
default: ''
description: The customer's family name.
maxLength: 255 given_name: type: string default: '' description:The customer's given name.
maxLength: 255 label: type: string nullable: true description:A free text field to help identify the user (e.g. a job title).
landline: type: string nullable: true default: '' description:The customer's landline phone number.
maxLength: 32 x-validators: - name: Validate phone number description: Validates that a phone number conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_phone_number mobile: type: string nullable: true default: '' description:The customer's personal mobile number.
maxLength: 32 x-validators: - name: Validate phone number description: Validates that a phone number conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_phone_number salutation: type: string nullable: true default: '' description:The customer's preferred salutation.
maxLength: 128 title: type: string nullable: true default: '' description:The customer's preferred title.
maxLength: 20 unable_to_read_meters: type: boolean default: false description:Whether the customer is unable to read their meters themselves. Defaults to False.
user_details: type: array items: $ref: '#/components/schemas/CustomerUserDetail' description:Generic solution for storing additional customer data that is not covered by the other fields in the payload. This is often in the form of market or territory specific information. For example, in much of Europe it is a requirement to store the user's fiscal code. Namespaces (the keys in the object) need to be registered before import. If a value is provided for a namespace that is not registered then an error will be raised.
x-validators: - name: Validate required customer details namespaces provided description: No required namespaces configured. Validation skipped. possible_errors: - required_customer_details_namespace_missing required: - business_roles x-validators: - name: Ensures onlyuser_details or details are provided
description: Ensures that only user_details or details
are provided, not both.
possible_errors:
- customer_details_and_user_details_both_provided
- name: Validate no contact details for occupier
description: Validates that a customer identified as "The Occupier" does not
have contact details. If contact details are provided it implies that the
identity of the customer is known, and it therefore not an unknown occupier.
possible_errors:
- contact_details_for_occupier
- name: Validate that the customer's name is not "The Occupier"
description: Validate that the customer's name is not "The Occupier". To indicate
an occupier account, use the unknown_occupier flag at the account-level.
possible_errors:
- customer_may_not_be_named_the_occupier
BusinessWithContracts:
type: object
properties:
billing_address:
allOf:
- $ref: '#/components/schemas/Address'
description: The billing address for the business.
business_contracts: type: array items: $ref: '#/components/schemas/BusinessContract' description:List of business contracts associated with the business.
x-validators: - name: Validate no duplicate contract identifiers description: Validates that no duplicate contract identifiers have been provided in the payload. possible_errors: - duplicate_contract_identifiers business_type: enum: - SOLE_TRADER - LTD - PTY_LTD - PARTNERSHIP - CHARITY - PLC - LLP - TRUST - TRADING_AS - GOVERNMENT - NON_PROFIT - CHURCH - HOMEOWNER_ASSOCIATION - TBD type: string x-spec-enum-id: 8cd3a9d2ed8d5378 description:The type of business this account related to. The business type can only be provided for business accounts.
x-enum-descriptions: SOLE_TRADER: Sole trader LTD: Limited PTY_LTD: Proprietary Limited Company PARTNERSHIP: Partnership CHARITY: Charity PLC: Public limited company LLP: Limited liability partnership TRUST: Trust TRADING_AS: Trading as GOVERNMENT: Government NON_PROFIT: Non profit CHURCH: Church HOMEOWNER_ASSOCIATION: Homeowner association TBD: To be determined company_name: type: string description:The company name for a business account.
maxLength: 255 company_number: type: string description:The company number for a business account.
maxLength: 100 x-validators: - name: Validate company number description: Validate the company number and standardize its format. possible_errors: - invalid_company_number details: type: array items: $ref: '#/components/schemas/BusinessDetail' description:Generic solution for storing additional business data that is not covered by the other fields in the payload. This is often in the form of market or territory specific information. Keys must be registered in Kraken and will have a value type the value for the key must confirm to.
x-validators: - name: Validate that each child has unique values for thekey
field
description: Validate that each child has unique values for the key
field.
possible_errors:
- children_with_duplicate_values
legal_address:
allOf:
- $ref: '#/components/schemas/Address'
description: The legal address for the business.
partner_file_attachments: type: array items: $ref: '#/components/schemas/PartnerFileAttachment' description:The list of S3 paths for documents to be attached to the Partner Organisation. These files must already be uploaded to S3
partner_organisations: type: array items: $ref: '#/components/schemas/PartnerOrganisation' description:List of partner organisations associated with the business.
payment_instructions: type: array items: $ref: '#/components/schemas/CardAndBankAccountPaymentInstruction' description:List of payment instructions to create for the business.
portfolios: type: array items: $ref: '#/components/schemas/BusinessPortfolio' description:Information about the portfolios associated with this business.
segment_name: x-spec-enum-id: 4f53cda18c2baa0c description:The segment to which the business belongs.
x-comment: Choices for this field are dynamic, once appropriate values have been configured they will be rendered here. users: type: array items: $ref: '#/components/schemas/BusinessUser' description:List of the business users associated with the business.
required: - business_contracts x-validators: - name: Validate that values are unique in Kraken for unique registered keys description: Validate that keys with unique constraints do not already have provided value in Kraken. possible_errors: - business_detail_value_exists_for_unique_key BusinessWithExistingContracts: type: object properties: business_contract_identifier: type: string description:The business contract's unique identifier.
deprecated: true x-use-instead: business_contract_identifiers business_contract_identifiers: type: array items: type: string description:The business contract's unique identifier.
description:List of business unique contract identifiers
business_type: enum: - SOLE_TRADER - LTD - PTY_LTD - PARTNERSHIP - CHARITY - PLC - LLP - TRUST - TRADING_AS - GOVERNMENT - NON_PROFIT - CHURCH - HOMEOWNER_ASSOCIATION - TBD type: string x-spec-enum-id: 8cd3a9d2ed8d5378 description:The type of business this account related to. The business type can only be provided for business accounts.
x-enum-descriptions: SOLE_TRADER: Sole trader LTD: Limited PTY_LTD: Proprietary Limited Company PARTNERSHIP: Partnership CHARITY: Charity PLC: Public limited company LLP: Limited liability partnership TRUST: Trust TRADING_AS: Trading as GOVERNMENT: Government NON_PROFIT: Non profit CHURCH: Church HOMEOWNER_ASSOCIATION: Homeowner association TBD: To be determined company_name: type: string description:The company name for a business account.
maxLength: 255 company_number: type: string description:The company number for a business account.
maxLength: 100 x-validators: - name: Validate company number description: Validate the company number and standardize its format. possible_errors: - invalid_company_number details: type: array items: $ref: '#/components/schemas/BusinessDetail' description:Generic solution for storing additional business data that is not covered by the other fields in the payload. This is often in the form of market or territory specific information. Keys must be registered in Kraken and will have a value type the value for the key must confirm to.
x-validators: - name: Validate that each child has unique values for thekey
field
description: Validate that each child has unique values for the key
field.
possible_errors:
- children_with_duplicate_values
portfolios:
type: array
items:
$ref: '#/components/schemas/BusinessPortfolio'
description: Information about the portfolios associated with this business.
segment_name: x-spec-enum-id: 4f53cda18c2baa0c description:The segment to which the business belongs.
x-comment: Choices for this field are dynamic, once appropriate values have been configured they will be rendered here. users: type: array items: $ref: '#/components/schemas/BusinessUser' description:List of the business users associated with the business.
x-validators: - name: Validate that business information is provided if not linking account to business with contract description: Validate that business information is provided for the business to link the account to iflink_account_to_business_with_contract
is false for the given import supplier.
possible_errors:
- business_information_required_if_not_linking_via_contract
- name: Validate that business information is not provided if linking an account
to the business of the business contract.
description: Validate that business information is not provided for the business
to link the account to if link_account_to_business_with_contract
is true for the given import supplier.
possible_errors:
- business_information_not_required_if_linking_via_contract
- name: Validate that at least one contract identifier is provided for import
description: Validate that at least one of business_contract_identifiers
or business_contract_identifier is provided in the payload.
possible_errors:
- missing_contract_identifier
CardAndBankAccountPaymentInstruction:
type: object
properties:
bank_account:
allOf:
- $ref: '#/components/schemas/PaymentInstructionBankAccount'
description: Bank account payment instruction details.
card: allOf: - $ref: '#/components/schemas/PaymentInstructionCard' description:Card payment instruction details.
customer_reference: type: string description:The customer reference of the payment instruction.
Although not required for payment instructions to take payments, if provided it keeps Kraken's data in sync with the customer's account in the payment vendor's systems.
maxLength: 512 instruction_identifier: type: string description:Unique identifier for the payment instruction. Used for cross referencing the payment instruction within other parts of the payload.
ledger_code: type: string description:The code of the relevant Kraken ledger type for the payment instruction. This code must exist in Kraken.
x-validators: - name: Validate ledger code description: Validates that the ledger code provided in the payload matches an available ledger type in Kraken. possible_errors: - ledger_code_does_not_exist reference: type: string description:The reference of the mandate as known by the vendor.
maxLength: 512 type: enum: - BPAY - CARD - CUSTOM - DIRECT_DEBIT - GMO_REFUND - PAYMENT_SLIP type: string x-spec-enum-id: 601d0b035869d4dd description:The payment type of the payment instruction.
x-enum-descriptions: BPAY: BPAY CARD: Card CUSTOM: Custom DIRECT_DEBIT: Direct Debit GMO_REFUND: GMO Refund PAYMENT_SLIP: Payment slip use_for_scheduled_payments: type: boolean description:Whether this payment instruction should be used for scheduled payments on a given ledger. If true, this instruction will be set as the payment method for the account's payment schedule.
valid_from: type: string format: date nullable: true description:The date from which the payment instruction is valid.
vendor: enum: - WESTPAC type: string x-spec-enum-id: 19baa89b6ef9d00c description:The vendor for the payment instruction.
x-enum-descriptions: WESTPAC: Westpac required: - reference - type - vendor x-validators: - name: null description: null possible_errors: - incomplete_payments_not_enabled - name: Validate card details are provided for card payment instruction description: Validate that if the payment instruction is of type CARD then card payment details are provided in the payload. This may not be enforced if client is using cashflow instructions as card details are obtained from the vendor in this case. possible_errors: - card_details_not_provided_for_card_payment_instruction CharacteristicOverride: type: object properties: characteristic_code: type: string description:The code for the characteristic.
override_value: description:The override value for the characteristic.
product_code: type: string nullable: true description:Optional product code. If specified, the override applies only to this product.
x-validators: - name: Validate product code exists description: Validate that the product code exists in Kraken. possible_errors: - product_code_does_not_exist required: - characteristic_code - override_value x-validators: - name: Validate characterisctic code exist description: Validate that the characterisctic code exists in Kraken. possible_errors: - characteristic_code_not_found - name: null description: null possible_errors: - invalid_characteristic_for_product CharacteristicOverrideConfiguration: type: object properties: term_type: type: string description:The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
overrides: type: array items: $ref: '#/components/schemas/CharacteristicOverride' description:The characterisctics associated with the characterisctic override.
required: - overrides - term_type CollateralRequired: type: object properties: term_type: type: string description:The type of the contract term.
amount: type: integer minimum: 0 description:The amount set up as collateral as condition for account creation.
interest_policy: type: string description:The type of interest policy of required collateral.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
reason: type: string description:The reason for setting up required collateral.
required: - amount - reason - term_type CommonHouse: type: object properties: house_number: type: integer description:House number.
house_number_suffix: type: string description:No longer than 1 char. Alphabetical.
CommonStreet: type: object properties: street_name: type: string description:Street name.
street_suffix: enum: - CN - DE - E - EX - IN - LR - ML - N - NE - NW - OF - 'ON' - OT - OP - S - SE - SW - UP - W - '' type: string x-spec-enum-id: f105f3c67a4f2af4 description:Street suffix. If provided, street_name must
be as well.
Street type. If provided, street_name must
be as well.
Building or property name. No longer than 60 chars as two
lines of 30 chars each. If more than 30 chars, there must be a \n
after 30 chars.
Delivery point identifier.
flat_or_unit_number: type: string description:if supplied, flat_or_unit_type must be as well.
limit of 7 characters, numbers and . with optional alphabetical
prefix and suffix.
Flat or unit type.
x-enum-descriptions: ANT: Antenna APT: Apartment ATM: ATM BBQ: Barbeque BLCK: Block BTSD: Boatshed BLDG: Building BNGW: Bungalow CAGE: Cage CARP: Carpark CARS: Carspace CLUB: Club COOL: Coolroom CTGE: Cottage DUP: Duplex FY: Factory F: Flat GRGE: Garage HALL: Hall HSE: House KSK: Kiosk LSE: Lease LBBY: Lobby LOFT: Loft LOT: Lot MSNT: Maisonette MB: Marine Berth 'OFF': Office PTHS: Penthouse REAR: Rear RESV: Reserve RM: Room SEC: Section SHED: Shed SHOP: Shop SHRM: Showroom SIGN: Sign SITE: Site SL: Stall STOR: Store STR: Strata Unit STU: Studio SUBS: Substation SE: Suite TNCY: Tenancy TWR: Tower TNHS: Townhouse U: Unit VLT: Vault VLLA: Villa WARD: Ward WE: Warehouse WKSH: Workshop '': '' floor_or_level_number: type: string description:if supplied, floor_or_level_type must be as
well. limit of 5 characters, numbers and . with optional
alphabetical prefix and suffix
Floor or level type.
x-enum-descriptions: B: Basement FL: Floor G: Ground L: Level LG: Lower Ground M: Mezzanine LL: Lower Level OD: Observation Deck P: Parking PTHS: Penthouse PLF: Platform PDM: Podium RT: Rooftop SB: Sub-Basement UG: Upper Ground LB: Lobby '': '' house: type: array items: $ref: '#/components/schemas/CommonHouse' description:House object.
maxItems: 2 location_descriptor: type: string description:A description of the location.
lot_number: type: string description:Letters, numbers and ..
Melway grid reference.
maxLength: 9 postcode: type: string description:Postcode.
state_or_territory: type: string description:State or territory.
maxLength: 3 street: type: array items: $ref: '#/components/schemas/CommonStreet' description:Street object.
maxItems: 2 suburb_or_place_or_locality: type: string description:Suburb or place or locality.
Complaint: type: object properties: complainant_email: type: string format: email description:The email address of the complainant. This should be the email address of a customer related to the account unless the complaint was raised from a different email address.
x-validators: - name: Validate email address is not test address description: Validates that a customer email address is not a test email address. An email address is considered a test address if it starts with "test@"" or "xxx@"" or ends with "@test.com", "@test.co.uk", ".xxx" or ".xx". possible_errors: - possible_test_email_address complainant_name: type: string description:The name of the complainant. This should be the name of a customer related to the account unless the complaint was raised by another person.
maxLength: 255 complaint_contacts: type: array items: $ref: '#/components/schemas/ComplaintContact' description:The list of each contact with the consumer in respect of a complaint.
created_at: type: string format: date-time description:The datetime the complaint was created at.
has_chsr_letter_been_sent: type: boolean description:Whether the customer has been sent a CHSR letter for the complaint.
has_eight_week_letter_been_sent: type: boolean description:Whether the customer has been sent an eight week letter for the complaint.
official_entity: type: string description:The official organization of the complaint if it is an official complaint.
official_reference_number: type: string description:The official reference number of the complaint if it is an official complaint.
official_status: type: string description:The official status of the complaint if it is an official complaint.
subtype_of_complaint: type: string description:The subtype of the complaint.
type_of_complaint: type: string description:The type of the complaint.
required: - complainant_email - complainant_name - complaint_contacts - created_at - has_chsr_letter_been_sent - has_eight_week_letter_been_sent - subtype_of_complaint - type_of_complaint x-validators: - name: Validate complaint type and subtype description: Validates that this instance of Kraken allows the complaint type and that the complaint subtype is an allowed subtype of the complain type. possible_errors: - invalid_complaint_type_or_subtype - name: Validate an official complaint's organization and status. description: Validates that this instance of Kraken allows the official complaints organization and that the status is configured for the organization. possible_errors: - invalid_official_organization_or_status - name: Validate all required official complaint fields are present description: If the complaint is an official complaint, the official reference number, official organization, and official status must all be provided. possible_errors: - official_complaint_field_missing - name: Validate that a CHSR letter has been sent for the complaint description: Validates that if an eight week letter has been sent for the complaint, a CHSR letter must have also been sent. possible_errors: - chsr_letter_not_sent ComplaintContact: type: object properties: body: type: string description:The body of text or a summary of the contact regarding the complaint.
communication_method: enum: - LANDLINE - MOBILE - EMAIL - POST type: string x-spec-enum-id: f2b09e3acbce7139 description:The method of communication used to contact regarding the complaint.
x-enum-descriptions: LANDLINE: LANDLINE MOBILE: MOBILE EMAIL: EMAIL POST: POST communication_source: type: string description:The source of communication used to contact regarding the complaint.
created_at: type: string format: date-time description:The datetime the complaint contact was created at.
status: enum: - OPEN - RESOLVED - NO_CONTACT - REOPENED - DEADLOCK - CANCELLED type: string x-spec-enum-id: 89e3c5df2a7f586b description:The status of the complaint at the time the contact was made to track status changes, e.g. resolution.
x-enum-descriptions: OPEN: OPEN RESOLVED: RESOLVED NO_CONTACT: NO_CONTACT REOPENED: REOPENED DEADLOCK: DEADLOCK CANCELLED: CANCELLED required: - body - communication_method - communication_source - created_at - status x-validators: - name: Validate the complaint communication source description: Validates that the complaint communication source provided is configured. possible_errors: - invalid_complaint_source ContractMetaData: type: object properties: term_type: type: string description:The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
metadata: type: object description:Additional metadata about the contract.
x-validators: - name: Validate provided dictionary content types description: Validates that provided dictionary contents are of the specified key type and value type. possible_errors: [] required: - metadata - term_type ContractSalesRecord: type: object properties: affiliate_organisation_name: type: string description:The affiliate organisation name associated with the contract.
maxLength: 128 x-validators: - name: Validate affiliate organisation exists description: Validate that an affiliate organisation exists in Kraken for the given name. possible_errors: - affiliate_organisation_does_not_exist sales_channel: enum: - DIRECT - PRICE_COMPARISON - TELESALES - DIGI_TELESALES - EVENTS - FIELD_SALES - AGGREGATOR - PARTNERSHIPS - NEW_TENANT - MOVE_IN - WORKPLACE_POP_UP - BROKER - PARENT_POWER - PEOPLE_POWER - GIFT_OF_KIT - HIGH_REFERRER - SUPPLIER_OF_LAST_RESORT - ACQUISITION - WORKS_WITH_OCTOPUS - LANDLORD - DEBT_COLLECTION_AGENCY type: string x-spec-enum-id: f4ccf4dcda60c174 description:The sales channel associated with the contract
x-enum-descriptions: DIRECT: Direct PRICE_COMPARISON: Price comparison TELESALES: Telesales DIGI_TELESALES: Digital telesales EVENTS: Events FIELD_SALES: Field sales AGGREGATOR: Aggregator PARTNERSHIPS: Partnerships NEW_TENANT: New tenant MOVE_IN: Move in WORKPLACE_POP_UP: Workplace pop-up BROKER: Broker PARENT_POWER: Parent power PEOPLE_POWER: People power GIFT_OF_KIT: Gift of kit HIGH_REFERRER: High referrer SUPPLIER_OF_LAST_RESORT: Supplier of last resort ACQUISITION: Acquisition WORKS_WITH_OCTOPUS: Works with octopus LANDLORD: Landlord DEBT_COLLECTION_AGENCY: Debt collection agency x-validators: - name: Sales channel matches affiliate organisation description: Validates that when an affiliate_organisation_name is provided, the sales_channel is in the set of channels configured for that organisation. possible_errors: - sales_channel_does_not_match_affiliate_organisation ContractVersion: type: object properties: applicable_at_date: type: string format: date description:The date on which this contract version become applicable at.
terms: type: array items: $ref: '#/components/schemas/Terms' description:The terms for this version of the contract.
required: - applicable_at_date - terms ContractedVolumeConfiguration: type: object properties: term_type: type: string description:The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
periods: type: array items: $ref: '#/components/schemas/ContractedVolumePeriod' description:A list of contracted volume periods.
minItems: 1 x-validators: - name: Validate periods do not overlap per market description: Validate that sequential contracted volume periods for the same market do not overlap possible_errors: - overlapping_contracted_volume_periods required: - periods - term_type ContractedVolumePeriod: type: object properties: market_name: enum: - AUS_EMBEDDED_GAS - AUS_EMBEDDED_UNMETERED_ELECTRICITY - AUS_SOLAR_PPA - AUS_EMBEDDED_UNMETERED_GAS - AUS_EMBEDDED_ELECTRICITY - SIMPLE_SERVICES - AUS_ELECTRICITY - AUS_EMBEDDED_WATER - AUS_GAS type: string x-spec-enum-id: 2efb600dcd89ea97 description:The market name for the contracted volume.
x-enum-descriptions: AUS_EMBEDDED_GAS: AUS_EMBEDDED_GAS AUS_EMBEDDED_UNMETERED_ELECTRICITY: AUS_EMBEDDED_UNMETERED_ELECTRICITY AUS_SOLAR_PPA: AUS_SOLAR_PPA AUS_EMBEDDED_UNMETERED_GAS: AUS_EMBEDDED_UNMETERED_GAS AUS_EMBEDDED_ELECTRICITY: AUS_EMBEDDED_ELECTRICITY SIMPLE_SERVICES: SIMPLE_SERVICES AUS_ELECTRICITY: AUS_ELECTRICITY AUS_EMBEDDED_WATER: AUS_EMBEDDED_WATER AUS_GAS: AUS_GAS unit: type: string description:The units for the contracted volume.
valid_from_date: type: string format: date description:The datetime the contracted volume is valid from.
valid_to_date: type: string format: date description:The datetime the contracted volume is valid to.
value: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,4})?$ description:The value of the contracted volume.
required: - market_name - unit - valid_from_date - valid_to_date - value x-validators: - name: Validatevalid_to not before valid_from
description: Validates that valid_to, if given, is on or later
than valid_from.
possible_errors:
- start_date_later_than_end_date
ContributionSchemeAgreement:
type: object
properties:
active_period_end_date:
type: string
format: date
nullable: true
description: The date the agreement is valid to (inclusive).
active_period_start_date: type: string format: date description:The date the agreement is valid from (inclusive).
amount: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The amount to contribute.
interval: enum: - MONTHLY - QUARTERLY type: string x-spec-enum-id: 32f2645408966f31 description:The charge interval for the contribution scheme agreement.
x-enum-descriptions: MONTHLY: monthly QUARTERLY: quarterly periods: type: array items: $ref: '#/components/schemas/ContributionSchemePeriod' description:The previous and current contribution periods.
scheme: type: string description:The scheme code for the contribution scheme agreement.
x-validators: - name: Validate contribution scheme exists description: Validates that the contribution scheme exists in Kraken. possible_errors: - invalid_contribution_scheme required: - active_period_start_date - amount - interval - scheme x-validators: - name: Validateactive_period_end_date not before active_period_start_date
description: Validates that active_period_end_date, if given,
is on or later than active_period_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate contribution period dates
description: Validates that all contribution periods have a start date on
or later than the active period start date and an end date on or before
the active period end date. Also validates that no periods have overlapping
dates.
possible_errors:
- invalid_contribution_period_end_date
- invalid_contribution_period_start_date
- overlapping_contribution_periods
ContributionSchemePeriod:
type: object
properties:
end_date:
type: string
format: date
description: The date the contribution scheme period is valid to (exclusive).
fulfilled_at: type: string format: date-time nullable: true description:The datetime that the contribution scheme period was agreed.
start_date: type: string format: date description:The date the contribution scheme period is valid from (inclusive).
required: - end_date - start_date x-validators: - name: Validateend_date not before start_date
description: Validates that end_date, if given, is on or later
than start_date.
possible_errors:
- start_date_later_than_end_date
CorrectivePeriod:
type: object
properties:
term_type:
type: string
description: The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
market_configs: type: array items: $ref: '#/components/schemas/CorrectivePeriodMarketConfig' description:Market configurations for corrective periods
minItems: 1 required: - market_configs - term_type CorrectivePeriodMarketConfig: type: object properties: length: type: integer minimum: 1 description:Length of the corrective period.
length_unit: enum: - DAY - WEEK - MONTH - YEAR type: string x-spec-enum-id: aaeac18e78076e3b description:Unit of time for the corrective period length (DAY, WEEK, MONTH, YEAR).
x-enum-descriptions: DAY: DAY WEEK: WEEK MONTH: MONTH YEAR: YEAR market_name: enum: - AUS_EMBEDDED_GAS - AUS_EMBEDDED_UNMETERED_ELECTRICITY - AUS_SOLAR_PPA - AUS_EMBEDDED_UNMETERED_GAS - AUS_EMBEDDED_ELECTRICITY - SIMPLE_SERVICES - AUS_ELECTRICITY - AUS_EMBEDDED_WATER - AUS_GAS type: string x-spec-enum-id: 2efb600dcd89ea97 description:Market name (e.g., ELECTRICITY, GAS) the corrective period applies to.
x-enum-descriptions: AUS_EMBEDDED_GAS: AUS_EMBEDDED_GAS AUS_EMBEDDED_UNMETERED_ELECTRICITY: AUS_EMBEDDED_UNMETERED_ELECTRICITY AUS_SOLAR_PPA: AUS_SOLAR_PPA AUS_EMBEDDED_UNMETERED_GAS: AUS_EMBEDDED_UNMETERED_GAS AUS_EMBEDDED_ELECTRICITY: AUS_EMBEDDED_ELECTRICITY SIMPLE_SERVICES: SIMPLE_SERVICES AUS_ELECTRICITY: AUS_ELECTRICITY AUS_EMBEDDED_WATER: AUS_EMBEDDED_WATER AUS_GAS: AUS_GAS supply_point_ids: type: array items: type: integer minimum: 1 nullable: true description:Supply Point IDs the corrective period applies to.
minItems: 1 required: - length - length_unit - market_name CreateAccountNotesResponse: type: object properties: body: type: string description:The body of the note. Should include who/what created the note if this is required.
created_at: type: string format: date-time description:The date and time the note was created.
document_paths: type: array items: $ref: '#/components/schemas/NoteDocument' description:A list of relative paths in S3 for documents to be attached to the note.
More details on document path parameters can be found here.
external_id: type: string description:Unique identifier for this note to avoid duplicate entries.
is_archived: type: boolean description:If set to true, this will archive the note in the Kraken account support site page.
is_pinned: type: boolean description:If set to true, this will pin the note to the top of the Kraken account support site page.
status: enum: - NOTE_CREATION_SUCCESS - NOTE_ALREADY_EXISTS type: string x-spec-enum-id: 31aeae5ed4ff8531 description:The creation status for each note attempted to be imported.
x-enum-descriptions: NOTE_CREATION_SUCCESS: The note has been successfully created. NOTE_ALREADY_EXISTS: A similar note has been found preventing the creation of a new note. unpin_at: type: string format: date-time description:When the pinned note should be unpinned. Has to be later
than created_at if this is provided. Has no effect if the
note is not pinned.
If payment instruction creation failed, then this field will provide details of the error.
external_business_identifier: type: string description:The unique identifier of a business in the external system. This id is used to link an imported business in Kraken to the external system
maxLength: 128 import_supplier_code: 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:The code of an existing ImportSupplier in the
database.
The reference of the mandate as known by the vendor.
maxLength: 128 required: - error_detail - external_business_identifier - import_supplier_code - reference x-validators: - 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 CreateBusinessPaymentInstructionResponse: type: object properties: external_business_identifier: type: string description:The unique identifier of a business in the external system. This id is used to link an imported business in Kraken to the external system
maxLength: 128 reference: type: string description:The reference of the mandate as known by the vendor.
maxLength: 128 required: - external_business_identifier - reference CreateOrUpdateAccountImportProcess: type: object properties: external_account_number: type: string description:The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
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.
If payment instruction creation failed, then this field will provide details of the error.
external_account_number: type: string description:The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
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.
The reference of the mandate as known by the vendor.
maxLength: 128 required: - error_detail - external_account_number - import_supplier - reference x-validators: - name: Validate that account data is staged and account created description: Validate that an account exists for theexternal_account_number
and import_supplier 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
CreatePaymentInstructionResponse:
type: object
properties:
account_number:
type: string
description: The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
The reference of the mandate as known by the vendor.
maxLength: 128 required: - account_number - kraken_account_number - reference Credit: type: object properties: type: enum: - CHARGE - PAYMENT - REPAYMENT - CREDIT - SUPPLY_CHARGE type: string x-spec-enum-id: 06d6aba5cee32f9a description:The type of the transaction.
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:The amount of the transaction. e.g. if the customer has
a consumption charge worth 23.43, this equates to a transaction of type
CHARGE 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.
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 HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER
settings is ON and is meant for only historical_statements_transactions.
Passing this to other transactions like current_statement_transactions
or transactions_in_open_settlement_period will raise validation
error.
The customer-facing note that can be displayed in a statement or email to the customer.
note: type: string description:Any additional notes about the transaction.
reason: type: string description:The reason for the transaction.
transaction_date: type: string format: date description:The date of the transaction.
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:The unique internal identifier for the transaction.
required: - amount - transaction_date - transaction_id - type CustomerAlternativeNumber: type: object properties: phone_number: type: string nullable: true default: '' description:A customer's alternative phone number.
maxLength: 32 x-validators: - name: Validate phone number description: Validates that a phone number conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_phone_number CustomerConsent: type: object properties: description: type: string description:A description of any additional details about the obtaining of this consent.
maxLength: 255 signed_at: type: string format: date-time description:The date and time the consent was signed. Defaults to now if not provided.
x-validators: - name: Validatesigned_at not in the future
description: Validates that the given signed_at is not
in the future.
possible_errors:
- date_in_future
type:
x-spec-enum-id: 4f53cda18c2baa0c
description: The consent type.
x-comment: Choices for this field are dynamic, once appropriate values have been configured they will be rendered here. value: enum: - ACCEPTED - REJECTED - UNKNOWN - PENDING type: string x-spec-enum-id: f72b73bd6917b6e4 description:The value for this consent type.
x-enum-descriptions: ACCEPTED: ACCEPTED REJECTED: REJECTED UNKNOWN: UNKNOWN PENDING: PENDING required: - type - value CustomerPreferences: type: object properties: is_user_psr_consent_obtained: type: boolean nullable: true description:Whether the customer consented to Priority Services Register (PSR) data being used.
opted_into_associated_companies: type: boolean default: false description:Whether the customer is opted in to messages from associated companies. It will be False by default.
opted_into_offers: type: boolean default: false description:Whether the customer is opted in to offers, for example marketing emails. It will be False by default.
opted_into_recommended: type: boolean default: true description:Whether the customer is opted into non-critical messages, such as Direct Debit messages and meter reading reminders. It will be True by default.
opted_into_sms: type: boolean default: false description:Whether the customer is opted in to receive SMS messages. This includes both transactional and marketing messages. It will be False by default.
opted_into_third_parties: type: boolean default: false description:Whether the customer is opted in to messages from third party companies. It will be False by default.
opted_into_updates: type: boolean default: false description:Whether the customer is opted in to receive non-critical messages such as newsletters. It will be False by default.
opted_into_whatsapp: type: boolean default: false description:Whether the customer is opted in to receive Whatsapp messages. This includes both transactional and marketing messages. It will be False by default.
partner_password: type: string default: '' description:Priority Services Register (PSR) password for the customer.
maxLength: 255 CustomerUserDetail: type: object properties: namespace: enum: - external_user_id type: string x-spec-enum-id: 6bb07f5044ea9b8a description:The namespace of the customer user detail.
x-enum-descriptions: external_user_id: external_user_id value: description:The value of the customer user detail.
required: - namespace - value x-validators: - name: Validate user details description: Validates that the user detail namespace and value are allowed for the customer. The user detail namespace (the key in the JSON object) must already have been set up in Kraken. The value (the value in the JSON object) must be the correct data type. possible_errors: - customer_detail_failed_validation - customer_detail_incorrect_value_type - customer_detail_not_registered DRFError: type: object description: Simplistic and mostly inaccurate Serializer that should represent DRF's ValidationError details properties: field_name: type: array items: type: string description: Validation error messages. Debt: type: object properties: aged_debt: type: array items: $ref: '#/components/schemas/AgedDebt' description: "\n
This is essentially the debt position of the account. Typically we report this based on a\n grouping by date. We can then report on the delinquency at 30+ or 60+ days etc. As such we\n need to know when the debt was generated.
\n
The data we receive will be converted into a historic record of the debt, which we will\n \ continue to age within Kraken.
\nHow you report it to Kraken is up to you, the more granular you provide it, the more\n \ accurate the debt ageing will be.
\nFor example, if debt is £150 and the customer has not paid us £50 a month then we could\n \ expect the following:
\nWe would aggregate in our reporting to:
\nIn 2 months time (assuming they continue to not pay) this would be:
\nThe name of the debt collection agency.
maxLength: 256 cais_reference: type: string description:The CAIS reference for this account.
x-validators: - name: Validate CAIS reference available description: Validates that this Kraken instance is configured to support CAIS references and that this reference has not already been provided for an existing account. possible_errors: - cais_reference_already_in_use_on_another_account - cais_references_not_supported campaign: type: string description:The campaign for the debt collection proceeding.
maxLength: 256 is_insolvent: type: boolean default: false description:Whether the account is currently insolvent or not.
notes: type: string description:The notes for the debt collection proceeding.
maxLength: 256 start_date: type: string format: date description:The start date of the debt proceeding. If an agency_name
is provided but no start_date, the migration date is used.
The type of the contract term.
days: type: integer minimum: 1 description:The number of days between when a reactive payment is triggered and when it should be taken.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
strategy: enum: - FIXED - WORKING_DAYS type: string x-spec-enum-id: b62f1d43e0839f86 description:The strategy used to count the delayer days.
x-enum-descriptions: FIXED: Calendar days WORKING_DAYS: Working days required: - days - strategy - term_type DepositAgreement: type: object properties: accepted_at: type: string format: date-time nullable: true description:The datetime when the customer accepted to pay the deposit.
deposit_amount: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The amount of the deposit.
fulfilled_at: type: string format: date-time nullable: true description:The datetime when the customer fulfilled the deposit.
last_interest_date: type: string format: date nullable: true description:The date when the last interest was calculated. Only allowed when agreement is fulfilled.
reason: type: string description:The reason for the deposit.
required: - deposit_amount - reason x-validators: - name: Validate deposit agreement last interest date description: Validates that thelast_interest_date is only provided
if the deposit agreement is fulfilled. If provided then the fulfilled_at
date cannot be later than the last_interest_date.
possible_errors:
- fulfilled_at_greater_than_last_interest_date
- last_interest_date_not_allowed
DunningPath:
type: object
properties:
path_name:
type: string
description: Name of the dunning path to set this account onto. This must be agreed upon before migration and is client specific.
maxLength: 256 start_date: type: string format: date description:The date on which to start the dunning path. If no date
is provided, the dunning path will be restarted on the migration date
and delayed by the number_of_days_to_delay_dunning_path_start
value provided in the import config.
The effective period end date (exclusive).
start_date: type: string format: date description:The effective period start date (inclusive).
required: - start_date ElectricityHistoricalReading: type: object properties: billed: type: boolean description:Whether the reading has been billed.
estimated_reason_code: enum: - '0' - '1' - '2' - '3' - '4' - '5' - '6' - '7' - '8' - '9' - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - '30' - '31' - '32' - '33' - '34' - '35' - '36' - '37' - '38' - '39' - '40' - '41' - '42' - '43' - '44' - '45' - '46' - '47' - '48' - '49' - '50' - '51' - '52' - '53' - '54' - '55' - '58' - '60' - '61' - '62' - '64' - '65' - '67' - '68' - '69' - '70' - '71' - '72' - '73' - '74' - '75' - '76' - '77' - '78' - '79' - '80' - '81' - '82' - '83' - '84' - '85' - '86' - '87' - '88' - '89' - '90' - '91' - '92' - '93' - '94' - '95' - '96' - '97' - '98' - '99' - '100' - '101' - '102' - '103' - '104' - '105' - '106' - '107' - '108' - '109' type: string x-spec-enum-id: e41f5c5218966eb0 description:One of the NEM13 reason codes defined for Australian energy market.
x-enum-descriptions: '0': '0' '1': '1' '2': '2' '3': '3' '4': '4' '5': '5' '6': '6' '7': '7' '8': '8' '9': '9' '10': '10' '11': '11' '12': '12' '13': '13' '14': '14' '15': '15' '16': '16' '17': '17' '18': '18' '19': '19' '20': '20' '21': '21' '22': '22' '23': '23' '24': '24' '25': '25' '26': '26' '27': '27' '28': '28' '29': '29' '30': '30' '31': '31' '32': '32' '33': '33' '34': '34' '35': '35' '36': '36' '37': '37' '38': '38' '39': '39' '40': '40' '41': '41' '42': '42' '43': '43' '44': '44' '45': '45' '46': '46' '47': '47' '48': '48' '49': '49' '50': '50' '51': '51' '52': '52' '53': '53' '54': '54' '55': '55' '58': '58' '60': '60' '61': '61' '62': '62' '64': '64' '65': '65' '67': '67' '68': '68' '69': '69' '70': '70' '71': '71' '72': '72' '73': '73' '74': '74' '75': '75' '76': '76' '77': '77' '78': '78' '79': '79' '80': '80' '81': '81' '82': '82' '83': '83' '84': '84' '85': '85' '86': '86' '87': '87' '88': '88' '89': '89' '90': '90' '91': '91' '92': '92' '93': '93' '94': '94' '95': '95' '96': '96' '97': '97' '98': '98' '99': '99' '100': '100' '101': '101' '102': '102' '103': '103' '104': '104' '105': '105' '106': '106' '107': '107' '108': '108' '109': '109' reading_date: type: string format: date description:The date of the reading.
reading_type: enum: - CUSTOMER - ESTIMATE - ROUTINE - SMART - REGULAR type: string x-spec-enum-id: 1ae88a4096677e8e description:The type of reading. See choices for more details.
x-enum-descriptions: CUSTOMER: Customer ESTIMATE: Estimate ROUTINE: Routine SMART: Smart REGULAR: Regular reading_value: type: string format: decimal pattern: ^-?\d{0,11}(?:\.\d{0,4})?$ description:The reading value as a decimal.
register_id: type: string description:The register identifier as provided in the Meter Technical Details (MTDs), including leading zeros.
maxLength: 32 validation_status: enum: - VALIDATED - UNVALIDATED - FAILED type: string x-spec-enum-id: 3ab1e518b1b0a9db default: VALIDATED description:Whether the reading has been validated or not. See choices for more details.
x-enum-descriptions: VALIDATED: Validated UNVALIDATED: Unvalidated FAILED: Failed required: - billed - reading_date - reading_type - reading_value ElectricityMeter: type: object properties: installation_type: enum: - BASIC - COMMS1 - COMMS2 - COMMS3 - COMMS4 - COMMS4A - COMMS4C - COMMS4D - COMMS8 - COMMS9 - COMMS9CM - MRAM - MRIM - NCONUML - PROF - SAMPLE - UMCP - VICAMI type: string x-spec-enum-id: 6ba26f28e0a944b4 description:The installation type for the meter. This field is only
used when market_type is OFF_MARKET.
The date the meter was installed.
last_billed_to_date: type: string format: date description:Date up to which consumption has been billed to.
market_type: enum: - ON_MARKET - OFF_MARKET type: string x-spec-enum-id: 23be011f07c3b122 default: ON_MARKET description:Market type. Defaults to ON_MARKET.
Meter read type. Defaults to ACCUMULATION.
Serial number of the meter.
maxLength: 32 reading_history: type: array items: $ref: '#/components/schemas/ElectricityHistoricalReading' description: "\n List of historical readings. Generally these are readings prior to the one(s) provided under transfer_readings.\n
\n\n \ It is possible to provide readings in the reading_history after the transfer_reading date but these must be unbilled.\n
" registers: type: array items: $ref: '#/components/schemas/ElectricityRegister' description:The registers associated to this meter.
removed_on: type: string format: date nullable: true description:The date the meter was removed.
transfer_readings: type: array items: $ref: '#/components/schemas/ElectricityReading' description: "\n Only the last reading (or readings, if the meter is ECO7 or ECO10) the account has been billed up to.\n
\n\n If the account has never been billed, the SSD reading(s) must be on this list.\n
\n\n It’s expected that a transfer reading will be given per register on an active accumulation meter in the case of electricity.\n
\n\n \ It’s expected that all transfer reading dates will match the last_billed_to_date.\n
" required: - meter_serial_number x-validators: - name: Validate off-market meter fields description: Validates that off-market meter fields are provided only for off-market meter and not for on-market meter. possible_errors: - installation_type_not_allowed_for_on_market_meter - installation_type_required_for_off_market_meter - multiplier_not_allowed_for_on_market_register - multiplier_required_for_off_market_register - network_tariff_code_not_allowed_for_on_market_register - network_tariff_code_required_for_off_market_register - unit_of_measure_not_allowed_for_on_market_register - unit_of_measure_required_for_off_market_register - name: Validate that transfer readings belong to active meter register IDs description: Validate that all transfer readings have a register ID and that the register ID is on the list of given IDs for that meter. possible_errors: - reading_register_id_not_recognised - reading_without_register_id - name: Validate that historical readings have existing register IDs description: Validate that the register IDs associated with historical readings exist for the meter. possible_errors: - historical_reading_register_id_not_recognised - no_register_id_for_reading ElectricityMeterPoint: type: object properties: supply_type: enum: - ELECTRICITY - GAS - UNMETERED_GAS - UNMETERED_ELECTRICITY - WATER - EMBEDDED_WATER - EMBEDDED_ELECTRICITY - EMBEDDED_GAS - SOLAR_PPA - REGOS_EXPORT_CERTIFICATES - ROCS_EXPORT_CERTIFICATES - BROADBAND - HEAT_PUMP - WATER_HEATER - ELECTRICITY_DISTRIBUTION - LIGHT - POLE type: string x-spec-enum-id: b093b6cd0238d6bd default: ELECTRICITY description:Supply type of the supply point.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas UNMETERED_ELECTRICITY: Unmetered Electricity WATER: Water EMBEDDED_WATER: Embedded Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA REGOS_EXPORT_CERTIFICATES: REGOs Export Certificates ROCS_EXPORT_CERTIFICATES: ROCs Export Certificates BROADBAND: Broadband HEAT_PUMP: Heat Pump WATER_HEATER: Water Heater ELECTRICITY_DISTRIBUTION: Electricity Distribution LIGHT: Light POLE: Pole access_details: type: string description:Access details for the meter point. No details indicates “Customer reports no access requirements”. Can’t be longer than 160 characters.
maxLength: 160 address: allOf: - $ref: '#/components/schemas/CommonStructuredAddress' description:Structured address for this meter point.
agreements: type: array items: $ref: '#/components/schemas/AusAgreement' description:List of agreements linked to the supply point.
x-validators: - name: Validate product addon code and tariff code combination description: aus:data-import--validation-product-addon-code-and-product-code-combination--help-text possible_errors: - invalid_product_addon_code_and_product_code_combination dog_code: enum: - Bluff - Savage - Tied - Friendly - Dog OK - Dog Caution - No Dog - null type: string x-spec-enum-id: d63e05b877b7aa4b nullable: true description:Dog code.
x-enum-descriptions: Bluff: Bluff Savage: Savage Tied: Tied Friendly: Friendly Dog OK: Dog Ok Dog Caution: Dog Caution No Dog: No Dog None: None hazard_details: type: array items: type: string description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
Customer Reports No Hazard and
"Not Known To Initiator cannot be combined with other market
specified hazards.
possible_errors:
- no_hazard_cannot_combine_with_other_hazards
- not_known_cannot_combine_with_other_hazards
- name: Validate hazard details
description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
The unique identifier for the supply point.
x-validators: - name: Validate the supply point identifier description: Validate that the supply point identifier in the payload is valid for the territory that the account is importing in. possible_errors: - invalid_supply_point_identifier last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the supply point.
If the supply point has never been billed before, this should be the supply start date for the supply point and Kraken will bill from then.
If the supply point has been billed before, this typically represents the date of the reading that was last charged to. Kraken will then start to bill from this point.
This date is inclusive. If the equivalent date in the source system is exclusive make sure to add a day to the value before passing to Kraken.
meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH - null type: string x-spec-enum-id: b2672f221b69f827 nullable: true description:Meter position code.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh None: None meters: type: array items: $ref: '#/components/schemas/ElectricityMeter' description:List of active and exchanged meters on the meter point.
x-validators: - name: No repeated meter register IDs description: Validate that a meter does not have multiple registers with the same ID. possible_errors: - meter_with_duplicate_register_ids mpxn: type: string description:MIRN or NMI of this meter point, UNMETERED_GAS_COOKTOP for unmetered gas cooktop, or UNMETERED_GAS_HEATER for unmetered gas heater. For CES water meter, the value should be prefixed with EMBEDDED_WATER_ (the prefix will not be saved).
multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ nullable: true description: parent_nmi: type: string nullable: true description:Parent NMI.
maxLength: 10 sensitive_load: type: boolean default: false description:Whether there is sensitive load. Note that the existence of a Life Support record with "registered" status will take precedence over this.
supply_details: type: array items: $ref: '#/components/schemas/ElectricitySupplyDetail' description:List of supply details for the meter point.
supply_end_date: type: string format: date nullable: true description:Supply end date for current supply.
supply_start_date: type: string format: date description:Supply start date for current supply.
use_nmi_discovery: type: boolean description: "\n If supplied and set to true, attempt to use NMI Discovery to create meterpoints, instead of using a stored C4 file.\n NB: This will raise an error if the environment is not configured to allow the use of NMI Discovery for import.\n This is to prevent this functionality from being used in production.\n
" required: - mpxn - supply_start_date x-validators: - name: Validatesupply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate agreements do not start before supply start date
description: Validate that agreements do not start before the supply point's
supply start date, if provided.
possible_errors:
- agreement_start_date_before_supply_start_date
ElectricityReading:
type: object
properties:
estimated_reason_code:
enum:
- '0'
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
- '11'
- '12'
- '13'
- '14'
- '15'
- '16'
- '17'
- '18'
- '19'
- '20'
- '21'
- '22'
- '23'
- '24'
- '25'
- '26'
- '27'
- '28'
- '29'
- '30'
- '31'
- '32'
- '33'
- '34'
- '35'
- '36'
- '37'
- '38'
- '39'
- '40'
- '41'
- '42'
- '43'
- '44'
- '45'
- '46'
- '47'
- '48'
- '49'
- '50'
- '51'
- '52'
- '53'
- '54'
- '55'
- '58'
- '60'
- '61'
- '62'
- '64'
- '65'
- '67'
- '68'
- '69'
- '70'
- '71'
- '72'
- '73'
- '74'
- '75'
- '76'
- '77'
- '78'
- '79'
- '80'
- '81'
- '82'
- '83'
- '84'
- '85'
- '86'
- '87'
- '88'
- '89'
- '90'
- '91'
- '92'
- '93'
- '94'
- '95'
- '96'
- '97'
- '98'
- '99'
- '100'
- '101'
- '102'
- '103'
- '104'
- '105'
- '106'
- '107'
- '108'
- '109'
type: string
x-spec-enum-id: e41f5c5218966eb0
description: One of the NEM13 reason codes defined for Australian energy market.
x-enum-descriptions: '0': '0' '1': '1' '2': '2' '3': '3' '4': '4' '5': '5' '6': '6' '7': '7' '8': '8' '9': '9' '10': '10' '11': '11' '12': '12' '13': '13' '14': '14' '15': '15' '16': '16' '17': '17' '18': '18' '19': '19' '20': '20' '21': '21' '22': '22' '23': '23' '24': '24' '25': '25' '26': '26' '27': '27' '28': '28' '29': '29' '30': '30' '31': '31' '32': '32' '33': '33' '34': '34' '35': '35' '36': '36' '37': '37' '38': '38' '39': '39' '40': '40' '41': '41' '42': '42' '43': '43' '44': '44' '45': '45' '46': '46' '47': '47' '48': '48' '49': '49' '50': '50' '51': '51' '52': '52' '53': '53' '54': '54' '55': '55' '58': '58' '60': '60' '61': '61' '62': '62' '64': '64' '65': '65' '67': '67' '68': '68' '69': '69' '70': '70' '71': '71' '72': '72' '73': '73' '74': '74' '75': '75' '76': '76' '77': '77' '78': '78' '79': '79' '80': '80' '81': '81' '82': '82' '83': '83' '84': '84' '85': '85' '86': '86' '87': '87' '88': '88' '89': '89' '90': '90' '91': '91' '92': '92' '93': '93' '94': '94' '95': '95' '96': '96' '97': '97' '98': '98' '99': '99' '100': '100' '101': '101' '102': '102' '103': '103' '104': '104' '105': '105' '106': '106' '107': '107' '108': '108' '109': '109' reading_date: type: string format: date description:The date of the reading.
reading_type: enum: - CUSTOMER - ESTIMATE - ROUTINE - SMART - REGULAR type: string x-spec-enum-id: 1ae88a4096677e8e description:The type of reading. See choices for more details.
x-enum-descriptions: CUSTOMER: Customer ESTIMATE: Estimate ROUTINE: Routine SMART: Smart REGULAR: Regular reading_value: type: string format: decimal pattern: ^-?\d{0,11}(?:\.\d{0,4})?$ description:The reading value as a decimal.
register_id: type: string description:The register identifier as provided in the Meter Technical Details (MTDs), including leading zeros.
maxLength: 32 required: - reading_date - reading_type - reading_value ElectricityRegister: type: object properties: effective_ntc: enum: - EA011 - EA025 - EA025_26 - EA025_LEGACY - EA115 - EA316 - EA051 - EA256 - EA225 - EA225_26 - EA025DTOU - NAST12 - CGTOU - SBTOU - N71_LEGACY - N71 - N71_26 - N84 - N84_26 - N91 - N95 - '6900' - '6950' - '6970' - '8920' - '8950' - '8970' - '3800' - '6800' - '8800' - RTC22B - RTC22C - RTC22D - RTC22E - RTC24C - RTC52D - RTC52E - RTC52F - RTC52G - RTC49 - RTC12A - RTC21 - RTC20L - RTC22A - RTC22L - RTC37 - RTC47 - RTC48 - RTC50 - RTC62 - RTC65 - RTC66 - RTC14C - RTC62A - BLNT3AL - BLNT2AL - BLND1AR - BLNRSS2 - BLNBSS1 - BLNT2AU - BLND1SR - BLNT3AL_QLD - BLNT2AL_QLD - BLNT3AL_12B - BLNT3AL_12C - BLNT3AL_12D - BLNRSS2_12E - BLNT2AL_22B - BLNT2AL_22C - BLNT2AL_22D - BLNBSS1_22E - RTOUCL_26 - RTOU - RTOU_JULY2025 - RTOUMC - RTOUPLUS - RTOUR - RAD - RD - RPRO - QB2R - NAST11 - NAST13 - NAST14 - NAST15 - NASN11 - NASS11 - NASS11S - NEE24 - NSP20 - NEE20 - NEE21 - C2R - C2G5 - CRSTOU - CRTOU - A10I - A120 - A130 - A210 - D2 - ND2 - PRSTOU - PRTOU - NDTOU - LVM2R - LVS2R - UMBO - URSTOU - URTOU - LVTOU - '027' - 028 - NEE20TOU5 - NEE21TOU5 - C2RTOU5 - C2G5TOU5 - A10ITOU5 - A210TOU5 - D2TOU5 - ND2TOU5 - LVS2RTOU5 - LVM2RDTOU5 - NDM - EV_AUDI - NDMO - A23N - CMG021 - EA301 - EA302 - EA302_26 - EA305 - EA310 - RTC14 - RTC24 - BLND1AB - A230 - A270 - A300 - C2DL - C2DLB - CLLV - CLLVB - DH - HV - LLV - NASN21 - NASN2P - NASN2S - NSP75 - CMGB - CMG - RTC44_KVA - RTC45_KVA - RTC46_KVA - RTC50B_KW - RTC50B_KVA - RTC50C_KW - RTC50C_KVA - N92 - N93 - NSW_CUSTOM - ELTOUDT1 - BAT_SAPNI - BAT_AGRIDI - BAT_ENDI - BAT_ESSNI - BAT_ANETI - BAT_CITII - BAT_JEMNI - BAT_POWCI - BAT_UNTDI - BAT_ENRXI - BUS_AHRS_AUSGRI - BUS_DAY_AUSGRI - BUS_MORN_AUSGRI - BUS_AHRS_ENDEAV - BUS_DAY_ENDEAV - BUS_MORN_ENDEAV - BUS_AHRS_ESSENT - BUS_DAY_ESSENT - BUS_MORN_ESSENT - BUS_AHRS_ENERGX - BUS_DAY_ENERGX - BUS_MORN_ENERGX - BUS_AHRS_SAPN - BUS_DAY_SAPN - BUS_MORN_SAPN - BUS_AHRS_AUSNET - BUS_DAY_AUSNET - BUS_MORN_AUSNET - BUS_AHRS_CITIPR - BUS_DAY_CITIPR - BUS_MORN_CITIPR - BUS_AHRS_JEMENA - BUS_DAY_JEMENA - BUS_MORN_JEMENA - BUS_AHRS_POWCOR - BUS_DAY_POWCOR - BUS_MORN_POWCOR - BUS_AHRS_UNITED - BUS_DAY_UNITED - BUS_MORN_UNITED - BUS_AHRS_EVOENR - BUS_DAY_EVOENR - BUS_MORN_EVOENR - WEEKENDSHIFT_AUSGRI - WEEKENDSHIFT_ENDEAV - WEEKENDSHIFT_ESSENT - WEEKENDSHIFT_ENERGX - WEEKENDSHIFT_SAPN - WEEKENDSHIFT_AUSNET - WEEKENDSHIFT_CITIPR - WEEKENDSHIFT_JEMENA - WEEKENDSHIFT_POWCOR - WEEKENDSHIFT_UNITED - WEEKENDSHIFT_EVOENR - WEEKDAYSHIFT_AUSGRI - WEEKDAYSHIFT_ENDEAV - WEEKDAYSHIFT_ESSENT - WEEKDAYSHIFT_ENERGX - WEEKDAYSHIFT_SAPN - WEEKDAYSHIFT_AUSNET - WEEKDAYSHIFT_CITIPR - WEEKDAYSHIFT_JEMENA - WEEKDAYSHIFT_POWCOR - WEEKDAYSHIFT_UNITED - WEEKDAYSHIFT_EVOENR - NIGHTSHIFT_AUSGRI - NIGHTSHIFT_ENDEAV - NIGHTSHIFT_ESSENT - NIGHTSHIFT_ENERGX - NIGHTSHIFT_SAPN - NIGHTSHIFT_AUSNET - NIGHTSHIFT_CITIPR - NIGHTSHIFT_JEMENA - NIGHTSHIFT_POWCOR - NIGHTSHIFT_UNITED - NIGHTSHIFT_EVOENR - BAT_JEMNE - BAT_ANETE - BAT_AGRIDE - 6-8_BATFIT - BAT_ESSNE - BAT_UNTDE - BAT_ENDE - BAT_ENRXE - N61 - BEE_SFIT - BAT_CITIE - BAT_SAPNE - BAT_POWCE - EA029 - EA010 - EA050 - EA116 - N72 - N73 - N90 - N70 - N705 - N706 - RTC11 - RTCNA - RTC20 - RTC43 - RTC66A - BLNN2AU - BLNN1AU - '3750' - '3770' - '3970' - '8400' - '3850' - '3870' - '3950' - '6000' - '8420' - '8450' - '8470' - '8500' - QBSR - QRSR - QRSRI - MRSR - MRSRI - MRSRII - RSR - NEE11 - NEE12 - NEE13 - NEE14 - NEE15 - NEE19 - C1R - C1G - C1RB - A100 - A200 - D1 - ND1 - LVS1R - LVM1R - '010' - '011' - '020' - '021' - '023' - '025' - '026' - '030' - '031' - '040' - '106' - EBIBT1 - ERIBT1 - TAS31 - TAS41 - ERTOUEXT1 - EA111 - A10D - F10D - T10D - CR - CRB - DD - FRESKW1R - RESKW1R - RESKWTOU - TRESKW1R - A20D - T20D - F20D - CG - CGB - NDD - FLVMKWTO - LVMKWTOU - TLVMKWTO - FLVMKW1R - LVMKW1R - UMBD - '8100' - '8200' - '8300' - '7400' - MRD - RTC14A - RTC14B - RTC24A - RTC24B - RTC44_KW - RTC44A - RTC45_KW - RTC46_KW - RTC50A - RTC51A - RTC51B - RTC51C - RTC51D - RTC52A - RTC52B - RTC52C - RTC53 - RTCICC - RTC41 - '7100' - '3650' - NASN12 - EA030 - EA250 - N50 - NC01 - BLNC1AU - BLNC1AR - BLNC1CO - '9000' - '9020' - '9050' - '9070' - RTC31 - RTC33 - RTCEV - RTC34 - RTC60A - EVNBT1 - EVNBT2 - EVNBT3 - EVNCT1 - EVNCT2 - EVNCT3 - EVNT1 - EVNT2 - EVNT3 - EVNXT1 - EVNXT2 - EVNXT3 - QOPCL - QOPCLI - MOPCL - MOPCLI - OPCL - OPCLI - OPCLTR - CL - CLMC - CLOP - RTOUCL - RTOUCLMC - NEE13CL - NEE30 - NEE31 - NEE32 - CDS - A180 - DD1 - '060' - LVDED - TAS63 - '5700' - EA040 - EA260 - N54 - NC02 - NC04 - N62 - BLNC2AU - BLNC3NU - '9100' - '9120' - '9150' - '9170' - '070' - TAS61 - EVCT1 - RTC60B - EVCBT1 - EVCBT2 - EVCBT3 - EVCCT1 - EVCCT2 - EVCCT3 - EVCT2 - EVCT3 - EVCXT1 - EVCXT2 - EVCXT3 - BLNE4AU - GEN2028S - RTCICC_EXPORT - ZGENR - F210 - GEN2028 - FURTOU - NAST11S - GGENR - T270 - '202' - T230 - TLVM1R - NEE12S - TFIT - BLNE14AU - F10X - '9900' - BLNBEX1 - BLNE26AU - BLNREX2 - GENR2028 - GEN2016 - T210 - FLVS1R - RTCSSN - RTCSS - SUN2B - NASN11P - T250 - SUN21 - '9950' - ZGENRI - F100 - F200 - RTCSSX - '9870' - NASN11S - TLVKWTOUH - FA270 - '7570' - TTODFLEX - FLVM1R - BLNE24AU - RTCNAX - NSP23 - GENR2028S - BLNE22AU - '9820' - NEE23 - NOTAPPLIC - NEE26 - '9720' - SSP23 - NESG - FLVKWTOUH - NEE11S - '7520' - '302' - BLNE21AU - SSP2B - RTCSSA - NVG1 - FTOD - NESN - FTOU - T10I - GENR2028I - '7550' - '9800' - GENR2016 - '9920' - T10X - T100 - '301' - '9750' - '9970' - GENR - T300 - XGEN - SUN2T - TTOD9 - SUN23 - FTODFLEX - BLNE23AU - SSP21 - F120 - '7500' - TTOD - NVG0 - NEE27 - F10I - NAST11P - '9770' - NEE28 - BLNE0AU - NVGC2 - '201' - PFIT - BLNE2AU - T200 - NFIT - TASX1I - ZGEN - '303' - '1999' - XGENR - '9700' - FTOD9 - TTOU - BLNE12AU - '304' - GENR13 - '9850' - TLVS1R - NEE11P - RTCSOPH - '8900' - '015' - '016' - 090 - TAS93 - RTC65A_7_00 - RTC65A_7_30 - RTC65A_8_00 - RTC12B - RTC12C - RTC12D - RTC12E - RTC12F - '3900' - '6850' - BLNT3AU - '9600' - '9510' - '9530' - '9540' - '9560' - '9580' - N99 - BLNP1AO - RTC71 - UWLSLED - UWLMLED - UWLSCON - UWLMCON - UWLLCON - RTC91 - ACS2AMAL - ACS2AMIL - ACSEOOMA - ACSEOOMAL - ACSEOOMI - ACSEOOMIL - ACSGEOMA - ACSGEOMAL - ACSGEOMI - ACSGEOMIL - ACSLEDMA - ACSLEDMI - PL2 - C2U - BLNP3AO type: string x-spec-enum-id: 986ed5838d1b6147 description:Network Tariff Code (NTC) which will override the default if supplied for an active register. Will raise an error if the code has not been defined in Kraken.
x-enum-descriptions: EA011: EA011 EA025: EA025 EA025_26: EA025_26 EA025_LEGACY: EA025_LEGACY EA115: EA115 EA316: EA316 EA051: EA051 EA256: EA256 EA225: EA225 EA225_26: EA225_26 EA025DTOU: EA025DTOU NAST12: NAST12 CGTOU: CGTOU SBTOU: SBTOU N71_LEGACY: N71_LEGACY N71: N71 N71_26: N71_26 N84: N84 N84_26: N84_26 N91: N91 N95: N95 '6900': '6900' '6950': '6950' '6970': '6970' '8920': '8920' '8950': '8950' '8970': '8970' '3800': '3800' '6800': '6800' '8800': '8800' RTC22B: RTC22B RTC22C: RTC22C RTC22D: RTC22D RTC22E: RTC22E RTC24C: RTC24C RTC52D: RTC52D RTC52E: RTC52E RTC52F: RTC52F RTC52G: RTC52G RTC49: RTC49 RTC12A: RTC12A RTC21: RTC21 RTC20L: RTC20L RTC22A: RTC22A RTC22L: RTC22L RTC37: RTC37 RTC47: RTC47 RTC48: RTC48 RTC50: RTC50 RTC62: RTC62 RTC65: RTC65 RTC66: RTC66 RTC14C: RTC14C RTC62A: RTC62A BLNT3AL: BLNT3AL BLNT2AL: BLNT2AL BLND1AR: BLND1AR BLNRSS2: BLNRSS2 BLNBSS1: BLNBSS1 BLNT2AU: BLNT2AU BLND1SR: BLND1SR BLNT3AL_QLD: BLNT3AL_QLD BLNT2AL_QLD: BLNT2AL_QLD BLNT3AL_12B: BLNT3AL_12B BLNT3AL_12C: BLNT3AL_12C BLNT3AL_12D: BLNT3AL_12D BLNRSS2_12E: BLNRSS2_12E BLNT2AL_22B: BLNT2AL_22B BLNT2AL_22C: BLNT2AL_22C BLNT2AL_22D: BLNT2AL_22D BLNBSS1_22E: BLNBSS1_22E RTOUCL_26: RTOUCL_26 RTOU: RTOU RTOU_JULY2025: RTOU_JULY2025 RTOUMC: RTOUMC RTOUPLUS: RTOUPLUS RTOUR: RTOUR RAD: RAD RD: RD RPRO: RPRO QB2R: QB2R NAST11: NAST11 NAST13: NAST13 NAST14: NAST14 NAST15: NAST15 NASN11: NASN11 NASS11: NASS11 NASS11S: NASS11S NEE24: NEE24 NSP20: NSP20 NEE20: NEE20 NEE21: NEE21 C2R: C2R C2G5: C2G5 CRSTOU: CRSTOU CRTOU: CRTOU A10I: A10I A120: A120 A130: A130 A210: A210 D2: D2 ND2: ND2 PRSTOU: PRSTOU PRTOU: PRTOU NDTOU: NDTOU LVM2R: LVM2R LVS2R: LVS2R UMBO: UMBO URSTOU: URSTOU URTOU: URTOU LVTOU: LVTOU '027': '027' 028: 028 NEE20TOU5: NEE20TOU5 NEE21TOU5: NEE21TOU5 C2RTOU5: C2RTOU5 C2G5TOU5: C2G5TOU5 A10ITOU5: A10ITOU5 A210TOU5: A210TOU5 D2TOU5: D2TOU5 ND2TOU5: ND2TOU5 LVS2RTOU5: LVS2RTOU5 LVM2RDTOU5: LVM2RDTOU5 NDM: NDM EV_AUDI: EV_AUDI NDMO: NDMO A23N: A23N CMG021: CMG021 EA301: EA301 EA302: EA302 EA302_26: EA302_26 EA305: EA305 EA310: EA310 RTC14: RTC14 RTC24: RTC24 BLND1AB: BLND1AB A230: A230 A270: A270 A300: A300 C2DL: C2DL C2DLB: C2DLB CLLV: CLLV CLLVB: CLLVB DH: DH HV: HV LLV: LLV NASN21: NASN21 NASN2P: NASN2P NASN2S: NASN2S NSP75: NSP75 CMGB: CMGB CMG: CMG RTC44_KVA: RTC44_KVA RTC45_KVA: RTC45_KVA RTC46_KVA: RTC46_KVA RTC50B_KW: RTC50B_KW RTC50B_KVA: RTC50B_KVA RTC50C_KW: RTC50C_KW RTC50C_KVA: RTC50C_KVA N92: N92 N93: N93 NSW_CUSTOM: NSW_CUSTOM ELTOUDT1: ELTOUDT1 BAT_SAPNI: BAT_SAPNI BAT_AGRIDI: BAT_AGRIDI BAT_ENDI: BAT_ENDI BAT_ESSNI: BAT_ESSNI BAT_ANETI: BAT_ANETI BAT_CITII: BAT_CITII BAT_JEMNI: BAT_JEMNI BAT_POWCI: BAT_POWCI BAT_UNTDI: BAT_UNTDI BAT_ENRXI: BAT_ENRXI BUS_AHRS_AUSGRI: BUS_AHRS_AUSGRI BUS_DAY_AUSGRI: BUS_DAY_AUSGRI BUS_MORN_AUSGRI: BUS_MORN_AUSGRI BUS_AHRS_ENDEAV: BUS_AHRS_ENDEAV BUS_DAY_ENDEAV: BUS_DAY_ENDEAV BUS_MORN_ENDEAV: BUS_MORN_ENDEAV BUS_AHRS_ESSENT: BUS_AHRS_ESSENT BUS_DAY_ESSENT: BUS_DAY_ESSENT BUS_MORN_ESSENT: BUS_MORN_ESSENT BUS_AHRS_ENERGX: BUS_AHRS_ENERGX BUS_DAY_ENERGX: BUS_DAY_ENERGX BUS_MORN_ENERGX: BUS_MORN_ENERGX BUS_AHRS_SAPN: BUS_AHRS_SAPN BUS_DAY_SAPN: BUS_DAY_SAPN BUS_MORN_SAPN: BUS_MORN_SAPN BUS_AHRS_AUSNET: BUS_AHRS_AUSNET BUS_DAY_AUSNET: BUS_DAY_AUSNET BUS_MORN_AUSNET: BUS_MORN_AUSNET BUS_AHRS_CITIPR: BUS_AHRS_CITIPR BUS_DAY_CITIPR: BUS_DAY_CITIPR BUS_MORN_CITIPR: BUS_MORN_CITIPR BUS_AHRS_JEMENA: BUS_AHRS_JEMENA BUS_DAY_JEMENA: BUS_DAY_JEMENA BUS_MORN_JEMENA: BUS_MORN_JEMENA BUS_AHRS_POWCOR: BUS_AHRS_POWCOR BUS_DAY_POWCOR: BUS_DAY_POWCOR BUS_MORN_POWCOR: BUS_MORN_POWCOR BUS_AHRS_UNITED: BUS_AHRS_UNITED BUS_DAY_UNITED: BUS_DAY_UNITED BUS_MORN_UNITED: BUS_MORN_UNITED BUS_AHRS_EVOENR: BUS_AHRS_EVOENR BUS_DAY_EVOENR: BUS_DAY_EVOENR BUS_MORN_EVOENR: BUS_MORN_EVOENR WEEKENDSHIFT_AUSGRI: WEEKENDSHIFT_AUSGRI WEEKENDSHIFT_ENDEAV: WEEKENDSHIFT_ENDEAV WEEKENDSHIFT_ESSENT: WEEKENDSHIFT_ESSENT WEEKENDSHIFT_ENERGX: WEEKENDSHIFT_ENERGX WEEKENDSHIFT_SAPN: WEEKENDSHIFT_SAPN WEEKENDSHIFT_AUSNET: WEEKENDSHIFT_AUSNET WEEKENDSHIFT_CITIPR: WEEKENDSHIFT_CITIPR WEEKENDSHIFT_JEMENA: WEEKENDSHIFT_JEMENA WEEKENDSHIFT_POWCOR: WEEKENDSHIFT_POWCOR WEEKENDSHIFT_UNITED: WEEKENDSHIFT_UNITED WEEKENDSHIFT_EVOENR: WEEKENDSHIFT_EVOENR WEEKDAYSHIFT_AUSGRI: WEEKDAYSHIFT_AUSGRI WEEKDAYSHIFT_ENDEAV: WEEKDAYSHIFT_ENDEAV WEEKDAYSHIFT_ESSENT: WEEKDAYSHIFT_ESSENT WEEKDAYSHIFT_ENERGX: WEEKDAYSHIFT_ENERGX WEEKDAYSHIFT_SAPN: WEEKDAYSHIFT_SAPN WEEKDAYSHIFT_AUSNET: WEEKDAYSHIFT_AUSNET WEEKDAYSHIFT_CITIPR: WEEKDAYSHIFT_CITIPR WEEKDAYSHIFT_JEMENA: WEEKDAYSHIFT_JEMENA WEEKDAYSHIFT_POWCOR: WEEKDAYSHIFT_POWCOR WEEKDAYSHIFT_UNITED: WEEKDAYSHIFT_UNITED WEEKDAYSHIFT_EVOENR: WEEKDAYSHIFT_EVOENR NIGHTSHIFT_AUSGRI: NIGHTSHIFT_AUSGRI NIGHTSHIFT_ENDEAV: NIGHTSHIFT_ENDEAV NIGHTSHIFT_ESSENT: NIGHTSHIFT_ESSENT NIGHTSHIFT_ENERGX: NIGHTSHIFT_ENERGX NIGHTSHIFT_SAPN: NIGHTSHIFT_SAPN NIGHTSHIFT_AUSNET: NIGHTSHIFT_AUSNET NIGHTSHIFT_CITIPR: NIGHTSHIFT_CITIPR NIGHTSHIFT_JEMENA: NIGHTSHIFT_JEMENA NIGHTSHIFT_POWCOR: NIGHTSHIFT_POWCOR NIGHTSHIFT_UNITED: NIGHTSHIFT_UNITED NIGHTSHIFT_EVOENR: NIGHTSHIFT_EVOENR BAT_JEMNE: BAT_JEMNE BAT_ANETE: BAT_ANETE BAT_AGRIDE: BAT_AGRIDE 6-8_BATFIT: 6-8_BATFIT BAT_ESSNE: BAT_ESSNE BAT_UNTDE: BAT_UNTDE BAT_ENDE: BAT_ENDE BAT_ENRXE: BAT_ENRXE N61: N61 BEE_SFIT: BEE_SFIT BAT_CITIE: BAT_CITIE BAT_SAPNE: BAT_SAPNE BAT_POWCE: BAT_POWCE EA029: EA029 EA010: EA010 EA050: EA050 EA116: EA116 N72: N72 N73: N73 N90: N90 N70: N70 N705: N705 N706: N706 RTC11: RTC11 RTCNA: RTCNA RTC20: RTC20 RTC43: RTC43 RTC66A: RTC66A BLNN2AU: BLNN2AU BLNN1AU: BLNN1AU '3750': '3750' '3770': '3770' '3970': '3970' '8400': '8400' '3850': '3850' '3870': '3870' '3950': '3950' '6000': '6000' '8420': '8420' '8450': '8450' '8470': '8470' '8500': '8500' QBSR: QBSR QRSR: QRSR QRSRI: QRSRI MRSR: MRSR MRSRI: MRSRI MRSRII: MRSRII RSR: RSR NEE11: NEE11 NEE12: NEE12 NEE13: NEE13 NEE14: NEE14 NEE15: NEE15 NEE19: NEE19 C1R: C1R C1G: C1G C1RB: C1RB A100: A100 A200: A200 D1: D1 ND1: ND1 LVS1R: LVS1R LVM1R: LVM1R '010': '010' '011': '011' '020': '020' '021': '021' '023': '023' '025': '025' '026': '026' '030': '030' '031': '031' '040': '040' '106': '106' EBIBT1: EBIBT1 ERIBT1: ERIBT1 TAS31: TAS31 TAS41: TAS41 ERTOUEXT1: ERTOUEXT1 EA111: EA111 A10D: A10D F10D: F10D T10D: T10D CR: CR CRB: CRB DD: DD FRESKW1R: FRESKW1R RESKW1R: RESKW1R RESKWTOU: RESKWTOU TRESKW1R: TRESKW1R A20D: A20D T20D: T20D F20D: F20D CG: CG CGB: CGB NDD: NDD FLVMKWTO: FLVMKWTO LVMKWTOU: LVMKWTOU TLVMKWTO: TLVMKWTO FLVMKW1R: FLVMKW1R LVMKW1R: LVMKW1R UMBD: UMBD '8100': '8100' '8200': '8200' '8300': '8300' '7400': '7400' MRD: MRD RTC14A: RTC14A RTC14B: RTC14B RTC24A: RTC24A RTC24B: RTC24B RTC44_KW: RTC44_KW RTC44A: RTC44A RTC45_KW: RTC45_KW RTC46_KW: RTC46_KW RTC50A: RTC50A RTC51A: RTC51A RTC51B: RTC51B RTC51C: RTC51C RTC51D: RTC51D RTC52A: RTC52A RTC52B: RTC52B RTC52C: RTC52C RTC53: RTC53 RTCICC: RTCICC RTC41: RTC41 '7100': '7100' '3650': '3650' NASN12: NASN12 EA030: EA030 EA250: EA250 N50: N50 NC01: NC01 BLNC1AU: BLNC1AU BLNC1AR: BLNC1AR BLNC1CO: BLNC1CO '9000': '9000' '9020': '9020' '9050': '9050' '9070': '9070' RTC31: RTC31 RTC33: RTC33 RTCEV: RTCEV RTC34: RTC34 RTC60A: RTC60A EVNBT1: EVNBT1 EVNBT2: EVNBT2 EVNBT3: EVNBT3 EVNCT1: EVNCT1 EVNCT2: EVNCT2 EVNCT3: EVNCT3 EVNT1: EVNT1 EVNT2: EVNT2 EVNT3: EVNT3 EVNXT1: EVNXT1 EVNXT2: EVNXT2 EVNXT3: EVNXT3 QOPCL: QOPCL QOPCLI: QOPCLI MOPCL: MOPCL MOPCLI: MOPCLI OPCL: OPCL OPCLI: OPCLI OPCLTR: OPCLTR CL: CL CLMC: CLMC CLOP: CLOP RTOUCL: RTOUCL RTOUCLMC: RTOUCLMC NEE13CL: NEE13CL NEE30: NEE30 NEE31: NEE31 NEE32: NEE32 CDS: CDS A180: A180 DD1: DD1 '060': '060' LVDED: LVDED TAS63: TAS63 '5700': '5700' EA040: EA040 EA260: EA260 N54: N54 NC02: NC02 NC04: NC04 N62: N62 BLNC2AU: BLNC2AU BLNC3NU: BLNC3NU '9100': '9100' '9120': '9120' '9150': '9150' '9170': '9170' '070': '070' TAS61: TAS61 EVCT1: EVCT1 RTC60B: RTC60B EVCBT1: EVCBT1 EVCBT2: EVCBT2 EVCBT3: EVCBT3 EVCCT1: EVCCT1 EVCCT2: EVCCT2 EVCCT3: EVCCT3 EVCT2: EVCT2 EVCT3: EVCT3 EVCXT1: EVCXT1 EVCXT2: EVCXT2 EVCXT3: EVCXT3 BLNE4AU: BLNE4AU GEN2028S: GEN2028S RTCICC_EXPORT: RTCICC_EXPORT ZGENR: ZGENR F210: F210 GEN2028: GEN2028 FURTOU: FURTOU NAST11S: NAST11S GGENR: GGENR T270: T270 '202': '202' T230: T230 TLVM1R: TLVM1R NEE12S: NEE12S TFIT: TFIT BLNE14AU: BLNE14AU F10X: F10X '9900': '9900' BLNBEX1: BLNBEX1 BLNE26AU: BLNE26AU BLNREX2: BLNREX2 GENR2028: GENR2028 GEN2016: GEN2016 T210: T210 FLVS1R: FLVS1R RTCSSN: RTCSSN RTCSS: RTCSS SUN2B: SUN2B NASN11P: NASN11P T250: T250 SUN21: SUN21 '9950': '9950' ZGENRI: ZGENRI F100: F100 F200: F200 RTCSSX: RTCSSX '9870': '9870' NASN11S: NASN11S TLVKWTOUH: TLVKWTOUH FA270: FA270 '7570': '7570' TTODFLEX: TTODFLEX FLVM1R: FLVM1R BLNE24AU: BLNE24AU RTCNAX: RTCNAX NSP23: NSP23 GENR2028S: GENR2028S BLNE22AU: BLNE22AU '9820': '9820' NEE23: NEE23 NOTAPPLIC: NOTAPPLIC NEE26: NEE26 '9720': '9720' SSP23: SSP23 NESG: NESG FLVKWTOUH: FLVKWTOUH NEE11S: NEE11S '7520': '7520' '302': '302' BLNE21AU: BLNE21AU SSP2B: SSP2B RTCSSA: RTCSSA NVG1: NVG1 FTOD: FTOD NESN: NESN FTOU: FTOU T10I: T10I GENR2028I: GENR2028I '7550': '7550' '9800': '9800' GENR2016: GENR2016 '9920': '9920' T10X: T10X T100: T100 '301': '301' '9750': '9750' '9970': '9970' GENR: GENR T300: T300 XGEN: XGEN SUN2T: SUN2T TTOD9: TTOD9 SUN23: SUN23 FTODFLEX: FTODFLEX BLNE23AU: BLNE23AU SSP21: SSP21 F120: F120 '7500': '7500' TTOD: TTOD NVG0: NVG0 NEE27: NEE27 F10I: F10I NAST11P: NAST11P '9770': '9770' NEE28: NEE28 BLNE0AU: BLNE0AU NVGC2: NVGC2 '201': '201' PFIT: PFIT BLNE2AU: BLNE2AU T200: T200 NFIT: NFIT TASX1I: TASX1I ZGEN: ZGEN '303': '303' '1999': '1999' XGENR: XGENR '9700': '9700' FTOD9: FTOD9 TTOU: TTOU BLNE12AU: BLNE12AU '304': '304' GENR13: GENR13 '9850': '9850' TLVS1R: TLVS1R NEE11P: NEE11P RTCSOPH: RTCSOPH '8900': '8900' '015': '015' '016': '016' 090: 090 TAS93: TAS93 RTC65A_7_00: RTC65A_7_00 RTC65A_7_30: RTC65A_7_30 RTC65A_8_00: RTC65A_8_00 RTC12B: RTC12B RTC12C: RTC12C RTC12D: RTC12D RTC12E: RTC12E RTC12F: RTC12F '3900': '3900' '6850': '6850' BLNT3AU: BLNT3AU '9600': '9600' '9510': '9510' '9530': '9530' '9540': '9540' '9560': '9560' '9580': '9580' N99: N99 BLNP1AO: BLNP1AO RTC71: RTC71 UWLSLED: UWLSLED UWLMLED: UWLMLED UWLSCON: UWLSCON UWLMCON: UWLMCON UWLLCON: UWLLCON RTC91: RTC91 ACS2AMAL: ACS2AMAL ACS2AMIL: ACS2AMIL ACSEOOMA: ACSEOOMA ACSEOOMAL: ACSEOOMAL ACSEOOMI: ACSEOOMI ACSEOOMIL: ACSEOOMIL ACSGEOMA: ACSGEOMA ACSGEOMAL: ACSGEOMAL ACSGEOMI: ACSGEOMI ACSGEOMIL: ACSGEOMIL ACSLEDMA: ACSLEDMA ACSLEDMI: ACSLEDMI PL2: PL2 C2U: C2U BLNP3AO: BLNP3AO effective_ntc_from: type: string format: date-time description: 'REQUIRED if effective_ntc is set. If effective_ntc
is supplied: when the override starts from. Will be ignored if a value
is passed but effective_ntc is not set.
If effective_ntc is supplied: when the override
ends. Will be ignored if a value is passed but effective_ntc
is not set.
Indicates whether to expect interval readings to be present
for this register. Ignored for registers on accumulation meters, defaults
to true if not present.
Date up to which consumption has been billed to.
multiplier: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,5})?$ description:Multiply the register value.
network_tariff_code: type: string description:The network tariff code for this register. This field is
only used when the meter’s market_type is OFF_MARKET.
network_tariff_code value.
possible_errors:
- invalid_network_tariff_code
register_id:
type: string
description: The ID of the register.
maxLength: 32 unit_of_measure: enum: - mwh - kwh - wh - mvarh - kvarh - varh - mvar - kvar - var - mw - kw - w - mvah - kvah - vah - mva - kva - va - kv - v - ka - a - pf type: string x-spec-enum-id: b6dc02a4fddbb984 description:The unit of measure for this register. This field is only
used when the meter’s market_type is OFF_MARKET.
effective_ntc_from is required when effective_ntc
is provided
description: Validates that effective_ntc_from is required when
effective_ntc is provided.
possible_errors:
- required_effective_ntc_from
ElectricitySupplyDetail:
type: object
properties:
agreed_capacity_kva:
type: string
format: decimal
pattern: ^-?\d{0,8}(?:\.\d{0,4})?$
description: Agreed capacity (kVA).
asset_tariff_category: enum: - STANDARD_ASSET_CUSTOMER_LARGE - STANDARD_ASSET_CUSTOMER_LARGE_OVER_750MWH - CONNECTION_ASSET_CUSTOMER - INDIVIDUALLY_CALCULATED_CUSTOMER type: string x-spec-enum-id: 5837755de383688a description: "\n The asset tariff category of the supply point.\n \ None is considered equivalent to 'Standard Asset Customer.\n
" x-enum-descriptions: STANDARD_ASSET_CUSTOMER_LARGE: Standard Asset Customer Large STANDARD_ASSET_CUSTOMER_LARGE_OVER_750MWH: Standard Asset Customer Large (>750MWH) CONNECTION_ASSET_CUSTOMER: Connection Asset Customer INDIVIDUALLY_CALCULATED_CUSTOMER: Individually Calculated Customer end_at: type: string format: date description:End date of the supply detail.
equipment_capacity_kw: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,4})?$ description:Equipment capacity (kW).
estimated_annual_consumption_kwh: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,4})?$ description:Estimated annual consumption (kWh).
number_of_connections: type: integer description:Numeber of connections.
start_at: type: string format: date description:Start date of the supply detail.
required: - start_at EmbeddedElecDistributor: type: object properties: from_date: type: string format: date-time description:The date the role was active from.
lnsp_id: enum: - ACTEWP - AURORAP - CITIPP - CITIPWMP - CNRGYP - CPNETMDP - DMSMP - EASTERN - ENERGEXP - ENERGYAP - ERGONETP - INTEGP - JENMDP - POWCP - POWERCMP - POWERMDP - SOLARISP - SOLARMP - SPANMDP - UEDMDP - UMPLP - UNITED - UNITEDDP - UNITEDMP - WPNTWK type: string x-spec-enum-id: 70462bf9b52e31d7 description:LNSP id.
x-enum-descriptions: ACTEWP: Evoenergy (ACTEWP) AURORAP: Aurora Energy (AURORAP) CITIPP: CitiPower (CITIPP) CITIPWMP: CitiPower (CITIPWMP) CNRGYP: Essential Energy (CNRGYP) CPNETMDP: CitiPower (CPNETMDP) DMSMP: AusNet Services (DMSMP) EASTERN: AusNet Services (EASTERN) ENERGEXP: Energex (ENERGEXP) ENERGYAP: Ausgrid (ENERGYAP) ERGONETP: Ergon Energy (ERGONETP) INTEGP: Endeavour Energy (INTEGP) JENMDP: Jemena (JENMDP) POWCP: Powercor (POWCP) POWERCMP: Powercor (POWERCMP) POWERMDP: Powercor (POWERMDP) SOLARISP: Jemena (SOLARISP) SOLARMP: Jemena (SOLARMP) SPANMDP: AusNet Services (SPANMDP) UEDMDP: United Energy (UEDMDP) UMPLP: SA Power Networks (UMPLP) UNITED: United Energy (UNITED) UNITEDDP: United Energy (UNITEDDP) UNITEDMP: United Energy (UNITEDMP) WPNTWK: WPNTWK (WPNTWK) to_date: type: string format: date-time nullable: true description:The date the role was active to.
required: - from_date - lnsp_id EmbeddedElecHistoricalReading: type: object properties: billed: type: boolean description:Whether the reading has been billed. This must be set to
false if this historical reading happened after the latest
transfer_reading.
Quality method code.
x-enum-descriptions: '11': '11' '12': '12' '13': '13' '14': '14' '15': '15' '16': '16' '17': '17' '18': '18' '19': '19' '20': '20' '51': '51' '52': '52' '53': '53' '54': '54' '55': '55' '56': '56' '57': '57' '58': '58' '61': '61' '62': '62' '63': '63' '64': '64' '65': '65' '66': '66' '67': '67' '68': '68' '71': '71' '72': '72' '73': '73' '74': '74' '75': '75' KI: KI KP: KP KE: KE KA: KA reading_date: type: string format: date description:Date of the reading.
reading_quality: enum: - A - E - F - N - S - V type: string x-spec-enum-id: 245b48f2f998c60e description:Reading quality code.
x-enum-descriptions: A: A E: E F: F N: N S: S V: V reading_value: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:Reading value.
register_id: type: string description:The ID of the register.
maxLength: 10 required: - billed - reading_date - reading_quality - reading_value - register_id EmbeddedElecMeter: type: object properties: active_from: type: string format: date-time description:Meter active from date and time.
active_to: type: string format: date-time nullable: true description:Meter active to date and time.
location: type: string nullable: true description:Meter location.
maxLength: 50 manufacturer: type: string nullable: true description:Meter manufacturer.
maxLength: 15 meter_installation_type: enum: - BASIC - COMMS1 - COMMS2 - COMMS3 - COMMS4 - COMMS4A - COMMS4C - COMMS4D - VICAMI - MRIM - MRAM type: string x-spec-enum-id: 0b873560b91e97c3 description:Meter installation type code.
x-enum-descriptions: BASIC: Basic COMMS1: Comms1 COMMS2: Comms2 COMMS3: Comms3 COMMS4: Comms4 COMMS4A: Comms4A COMMS4C: Comms4C COMMS4D: Comms4D VICAMI: Vicami MRIM: Mrim MRAM: Mram meter_read_type: enum: - ACCUMULATION - INTERVAL type: string x-spec-enum-id: 4518b1b0277e90b2 default: INTERVAL description:Meter read type. Defaults to INTERVAL.
Serial number of the meter.
maxLength: 12 model: type: string nullable: true description:Meter model.
maxLength: 12 read_type_frequency: enum: - '1' - '2' - '3' - D - null type: string x-spec-enum-id: 08d093cefde0239c nullable: true description:Read type frequency code.
x-enum-descriptions: '1': Monthly '2': Bi Monthly '3': Quarterly D: Daily Or Weekly None: None read_type_method: enum: - M - R type: string x-spec-enum-id: e6430750b148a886 description:Read type method code.
x-enum-descriptions: M: Manual R: Remote read_type_mode: enum: - T - W - P - I - G - V - null type: string x-spec-enum-id: b787b821aa603bc8 nullable: true description:Read type mode code.
x-enum-descriptions: T: Telephone W: Wireless P: Powerline I: Infra Red G: Galvanic V: Visual None: None reading_history: type: array items: $ref: '#/components/schemas/EmbeddedElecHistoricalReading' description:List of historical readings, prior to the one(s) given under transfer_readings.
registers: type: array items: $ref: '#/components/schemas/EmbeddedElecRegister' description:The registers associated to this meter.
minItems: 1 status: enum: - C - R - D type: string x-spec-enum-id: c09f7f55577756ca description:Status code.
x-enum-descriptions: C: Current R: Removed D: Remotely Disconnected transfer_readings: type: array items: $ref: '#/components/schemas/EmbeddedElecTransferReading' description: "\n Only the last reading the account has been billed up to.\n If the account has never been billed, the SSD reading(s) must be on this list.\n It’s expected that a transfer reading will be given per register on an active accumulation meter.\n It’s expected that all transfer reading dates will match the last_billed_to_date.\n
" required: - active_from - meter_installation_type - meter_serial_number - read_type_method - registers - status x-validators: - name: Validate transfer readings required for active basic meter description: Validates thattransfer_readings are required for
active basic meter.
possible_errors:
- required_transfer_readings
EmbeddedElecMeterDataProvider:
type: object
properties:
from_date:
type: string
format: date-time
description: The date the role was active from.
mdp_id: enum: - ACUMEMDP - CHOICMDP type: string x-spec-enum-id: 247302c6ac1aeb13 description:Metering data provider id.
x-enum-descriptions: ACUMEMDP: Acume Mdp CHOICMDP: Choice Mdp to_date: type: string format: date-time nullable: true description:The date the role was active to.
required: - from_date - mdp_id EmbeddedElecMeterPoint: type: object properties: supply_type: enum: - ELECTRICITY - GAS - UNMETERED_GAS - AUS_UNMETERED_ELECTRICITY - WATER - EMBEDDED_ELECTRICITY - EMBEDDED_GAS - SOLAR_PPA - REGOS_EXPORT_CERTIFICATES - ROCS_EXPORT_CERTIFICATES type: string x-spec-enum-id: 3e8d62bdf7f06a08 default: EMBEDDED_ELECTRICITY description:Supply type of the supply point.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas AUS_UNMETERED_ELECTRICITY: Unmetered Electricity WATER: Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA REGOS_EXPORT_CERTIFICATES: REGOs Export Certificates ROCS_EXPORT_CERTIFICATES: ROCs Export Certificates access_details: type: string description:Access details for the meter point. No details indicates “Customer reports no access requirements”.
maxLength: 160 address: allOf: - $ref: '#/components/schemas/CommonStructuredAddress' description:Structured address for this meter point.
agreements: type: array items: $ref: '#/components/schemas/AusAgreement' description:List of agreements linked to the supply point.
x-validators: - name: Validate product addon code and tariff code combination description: aus:data-import--validation-product-addon-code-and-product-code-combination--help-text possible_errors: - invalid_product_addon_code_and_product_code_combination customer_classification: enum: - BUSINESS - RESIDENTIAL type: string x-spec-enum-id: b37115db31874da5 description:Customer classification code.
x-enum-descriptions: BUSINESS: Business RESIDENTIAL: Residential customer_threshold: enum: - LOW - MEDIUM - HIGH type: string x-spec-enum-id: f6b091eeaa84bee3 description:Customer threshold code.
x-enum-descriptions: LOW: Low MEDIUM: Medium HIGH: High distribution_loss_factor_code: type: string description:This is an alphanumeric code which refers to an entry in the CATS_DLF_CODES table.
maxLength: 4 distributors: type: array items: $ref: '#/components/schemas/EmbeddedElecDistributor' description:List of distributors.
x-validators: - name: Validate number of current distributer description: Validates that there must be exactly one current distributer provided. possible_errors: - one_current_data dog_code: enum: - Bluff - Savage - Tied - Friendly - Dog OK - Dog Caution - No Dog - null type: string x-spec-enum-id: d63e05b877b7aa4b nullable: true description:Dog code.
x-enum-descriptions: Bluff: Bluff Savage: Savage Tied: Tied Friendly: Friendly Dog OK: Dog Ok Dog Caution: Dog Caution No Dog: No Dog None: None hazard_details: type: array items: type: string maxLength: 255 description:Hazard details for the meter point. - These are custom hazards and each of them can’t be longer than 80 characters.
x-validators: - name: Validate hazard details description: Validates thatCustomer Reports No Hazard and
"Not Known To Initiator cannot be combined with other market
specified hazards.
possible_errors:
- no_hazard_cannot_combine_with_other_hazards
- not_known_cannot_combine_with_other_hazards
- name: Validate hazard details
description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
The unique identifier for the supply point.
x-validators: - name: Validate the supply point identifier description: Validate that the supply point identifier in the payload is valid for the territory that the account is importing in. possible_errors: - invalid_supply_point_identifier jurisdiction: enum: - ALL - NEM - ACT - NSW - QLD - SA - TAS - VIC - WA - WWT - NT - ISO - null type: string x-spec-enum-id: 0c5b97a933dd8722 nullable: true description:Jurisdiction code.
x-enum-descriptions: ALL: All Jurisdictions NEM: National Electricity Market ACT: Australian Capital Territory NSW: New South Wales QLD: Queensland SA: South Australia TAS: Tasmania VIC: Victoria WA: Western Australia WWT: Wagga Wagga Tamworth NT: Northern Territory ISO: Isolated None: None last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the supply point.
If the supply point has never been billed before, this should be the supply start date for the supply point and Kraken will bill from then.
If the supply point has been billed before, this typically represents the date of the reading that was last charged to. Kraken will then start to bill from this point.
This date is inclusive. If the equivalent date in the source system is exclusive make sure to add a day to the value before passing to Kraken.
meter_data_providers: type: array items: $ref: '#/components/schemas/EmbeddedElecMeterDataProvider' description:List of meter point providers.
x-validators: - name: Validate number of current meter data provider description: Validates that there must be exactly one current meter data provider provided. possible_errors: - one_current_data meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH - null type: string x-spec-enum-id: b2672f221b69f827 nullable: true description:Meter position code.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh None: None meters: type: array items: $ref: '#/components/schemas/EmbeddedElecMeter' description:List of active and exchanged meters on the meter point.
minItems: 1 x-validators: - name: No repeated meter register IDs description: Validate that a meter does not have multiple registers with the same ID. possible_errors: - meter_with_duplicate_register_ids mpxn: type: string description:MIRN or NMI of this meter point, UNMETERED_GAS_COOKTOP for unmetered gas cooktop, or UNMETERED_GAS_HEATER for unmetered gas heater. For CES water meter, the value should be prefixed with EMBEDDED_WATER_ (the prefix will not be saved).
multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ nullable: true description: next_scheduled_read_date: type: string format: date nullable: true description:Only required for Basic Meters.
x-validators: - name: Validate date not in past description: Validates that the given date is not in the past. possible_errors: - date_in_past nmi_classification: enum: - SMALL - LARGE - EPROFILE - SAMPLE - GENERATR - INTERCON - WHOLESAL - NCONUML - BULK - DGENRATR - DIRS - DWHOLSAL - NREG - TIRS - XBOUNDRY type: string x-spec-enum-id: e779ff9114d1376a description:NMI classification code.
x-enum-descriptions: SMALL: Small LARGE: Large EPROFILE: External Profile Shape SAMPLE: Sample GENERATR: Generator INTERCON: Interconnector WHOLESAL: Wholesale TNI NCONUML: Non-contestable Unmetered Load BULK: Bulk Supply Point DGENRATR: Distribution Generator DIRS: Distribution IRS DWHOLSAL: Distribution Wholesale NREG: Small Generating/Bidirectional Units TIRS: Transmission IRS XBOUNDRY: Cross Boundary nmi_status_periods: type: array items: $ref: '#/components/schemas/EmbeddedElecNMIStatusPeriod' description:List of meter point status periods.
x-validators: - name: Validate number of current NMI status description: Validates that there must be exactly one current NMI status provided. possible_errors: - one_current_data outage_contact_email: type: string nullable: true description:Email of outage contact.
outage_contact_phone: type: string nullable: true description:Phone number of outage contact.
parent_nmi: type: string description:Parent NMI - On Supply.
maxLength: 256 sensitive_load: type: boolean default: false description:Whether there is sensitive load. Note that the existence of a Life Support record with "registered" status will take precedence over this.
shared_isolation_flag: enum: - Y - N - I - U - null type: string x-spec-enum-id: 458e050d98891916 nullable: true description:Shared isolation flag code.
x-enum-descriptions: Y: 'Yes' N: 'No' I: Isolated U: Unknown None: None supply_end_date: type: string format: date nullable: true description:Supply end date for current supply.
supply_start_date: type: string format: date description:Supply start date for current supply.
required: - customer_classification - customer_threshold - distributors - meter_data_providers - meters - mpxn - nmi_classification - nmi_status_periods - parent_nmi - supply_start_date x-validators: - name: Validatesupply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate agreements do not start before supply start date
description: Validate that agreements do not start before the supply point's
supply start date, if provided.
possible_errors:
- agreement_start_date_before_supply_start_date
- name: Validate supply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
EmbeddedElecNMIStatusPeriod:
type: object
properties:
active_from:
type: string
format: date-time
description: The date the meter point was in the status from.
active_to: type: string format: date-time nullable: true description:The date the meter point was in the status to.
status: enum: - A - D - X - G type: string x-spec-enum-id: d79ebcf035bd4dc7 description:Status code.
x-enum-descriptions: A: Active D: De-energised X: Extinct G: Greenfield required: - active_from - status EmbeddedElecRegister: type: object properties: active_from: type: string format: date-time description:The date the register was active from.
active_to: type: string format: date-time nullable: true description:The date the register was active to.
controlled_load: type: boolean description:Whether the load is controlled.
dial_format_decimals: type: integer description:The number of digits to the right of the decimal place on the register display.
dial_format_digits: type: integer description:The number of digits to the left of the decimal place on the register display.
multiplier: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,5})?$ description:Multiply the register value by this to get the value for billing.
register_id: type: string description:The ID of the register. Used to match against Register ID readings.
maxLength: 10 status: enum: - C - R type: string x-spec-enum-id: cdb038558b14ed53 description:To indicate whether register is active or not.
x-enum-descriptions: C: Current R: Removed suffix: type: string description:Suffix of the register. Used to work out whether IMPORT or EXPORT for billing.
maxLength: 10 time_of_day: type: string description:Time of the day mode.
maxLength: 10 unit_of_measure: enum: - mwh - kwh - wh - mvarh - kvarh - varh - mvar - kvar - var - mw - kw - w - mvah - kvah - vah - mva - kva - va - kv - v - ka - a - pf type: string x-spec-enum-id: 9ebea1ecf6d5fb4d description:Unit for measuring consumption.
x-enum-descriptions: mwh: MWh kwh: kWh wh: Wh mvarh: MVArh kvarh: kVArh varh: VArh mvar: MVAr kvar: kVAr var: VAr mw: MW kw: kW w: W mvah: MVAh kvah: kVAh vah: VAh mva: MVA kva: kVA va: VA kv: kV v: V ka: kA a: A pf: pf required: - active_from - dial_format_decimals - dial_format_digits - multiplier - register_id - status - suffix - time_of_day - unit_of_measure EmbeddedElecTransferReading: type: object properties: quality_method: enum: - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '51' - '52' - '53' - '54' - '55' - '56' - '57' - '58' - '61' - '62' - '63' - '64' - '65' - '66' - '67' - '68' - '71' - '72' - '73' - '74' - '75' - KI - KP - KE - KA type: string x-spec-enum-id: 1b205d63b24d236e description:Quality method code.
x-enum-descriptions: '11': '11' '12': '12' '13': '13' '14': '14' '15': '15' '16': '16' '17': '17' '18': '18' '19': '19' '20': '20' '51': '51' '52': '52' '53': '53' '54': '54' '55': '55' '56': '56' '57': '57' '58': '58' '61': '61' '62': '62' '63': '63' '64': '64' '65': '65' '66': '66' '67': '67' '68': '68' '71': '71' '72': '72' '73': '73' '74': '74' '75': '75' KI: KI KP: KP KE: KE KA: KA reading_date: type: string format: date description:Date of the reading.
reading_quality: enum: - A - E - F - N - S - V type: string x-spec-enum-id: 245b48f2f998c60e description:Reading quality code.
x-enum-descriptions: A: A E: E F: F N: N S: S V: V reading_value: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:Reading value.
register_id: type: string description:The ID of the register.
maxLength: 10 required: - reading_date - reading_quality - reading_value - register_id EmbeddedGasHistoricalReading: type: object properties: billed: type: boolean default: true description:Whether the reading has been billed. This must be set to false if this historical reading happened after the latest transfer_reading.
reading_date: type: string format: date description:Date of the reading.
reading_quality: enum: - ACTUAL - ESTIMATED - SKIPPED - CUSTOMER type: string x-spec-enum-id: 21b49b48d66a1ca8 description:Reading quality.
x-enum-descriptions: ACTUAL: Actual ESTIMATED: Estimated SKIPPED: Skipped CUSTOMER: Customer reading_value: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:Reading value.
required: - reading_date - reading_quality - reading_value EmbeddedGasMeter: type: object properties: access_details: type: string nullable: true description:Access details for the meter.
maxLength: 255 active_from: type: string format: date-time description:Meter active from date and time.
active_to: type: string format: date-time nullable: true description:Meter active to date and time.
key_details: type: string nullable: true description:Key details for the meter.
maxLength: 255 kpa_value: type: string format: decimal pattern: ^-?\d{0,5}(?:\.\d{0,4})?$ description:KPA value.
location: enum: - ACCESS_HATCH - BACK_GATE - BACK_OF_HOUSE - BACK_VERANDAH - BACK_WALL - BACK_YARD - BASEMENT - BATHROOM - CEILING_SPACE - CELLAR - CUPBOARD - DINING_ROOM - FACTORY - FIREHOUSE_REEL_CUPBOARD - FRONT_DOOR - FRONT_FENCE - FRONT_HOUSE - FRONT_LEFT_SIDE - FRONT_RIGHT_SIDE - FRONT_VERANDAH - FRONT_WALL - FRONT_WALL_SHOP - GARAGE - GROUP_OF_METERS - HALLWAY_CUPBOARD - KITCHEN - KITCHEN_CUPBOARD - LAUNDRY_CUPBOARD - LAUNDRY_HATCH - LEFT_SIDE - OTHER - OVER_BACK_DOOR - PANTRY - PASSAGE - PORCH - REFUSE_ROOM - RIGHT_SIDE - SEE_ACCESS_DETAILS - SHED - SHOP - STORE_ROOM - TOILET - UNDER_BACK_HOUSE - UNDER_COUNTER - UNDER_FRONT_HOUSE - UNDER_LEFT_HOUSE - UNDER_RIGHT_HOUSE - UNDER_SINK - UNDER_STAIRS - UNKNOWN - UPSTAIRS - WASH_HOUSE type: string x-spec-enum-id: 2a7b272dd5ba7cea description:Location of the meter.
x-enum-descriptions: ACCESS_HATCH: Access hatch BACK_GATE: Back gate BACK_OF_HOUSE: Back of house BACK_VERANDAH: Back verandah BACK_WALL: Back wall BACK_YARD: Back yard BASEMENT: Basement BATHROOM: Bathroom CEILING_SPACE: Ceiling space CELLAR: Cellar CUPBOARD: Cupboard DINING_ROOM: Dining room FACTORY: Factory FIREHOUSE_REEL_CUPBOARD: Firehouse reel cupboard FRONT_DOOR: Front door FRONT_FENCE: Front face FRONT_HOUSE: Front house FRONT_LEFT_SIDE: Front left side FRONT_RIGHT_SIDE: Front right side FRONT_VERANDAH: Front verandah FRONT_WALL: Front wall FRONT_WALL_SHOP: Front wall shop GARAGE: Garage GROUP_OF_METERS: Group or meters HALLWAY_CUPBOARD: Hallway cupboard KITCHEN: Kitchen KITCHEN_CUPBOARD: Kitchen cupboard LAUNDRY_CUPBOARD: Laundry cupboard LAUNDRY_HATCH: Laundry hatch LEFT_SIDE: Left side OTHER: Other OVER_BACK_DOOR: Over back door PANTRY: Pantry PASSAGE: Passage PORCH: Porch REFUSE_ROOM: Refuse room RIGHT_SIDE: Right side SEE_ACCESS_DETAILS: See access details SHED: Shed SHOP: Shop STORE_ROOM: Store room TOILET: Toilet UNDER_BACK_HOUSE: Under back house UNDER_COUNTER: Under counter UNDER_FRONT_HOUSE: Under front house UNDER_LEFT_HOUSE: Under left house UNDER_RIGHT_HOUSE: Under right house UNDER_SINK: Under sink UNDER_STAIRS: Under stairs UNKNOWN: Unknown UPSTAIRS: Upstairs WASH_HOUSE: Wash house measurement_type: enum: - M - I type: string x-spec-enum-id: 55229098b2a5b784 description: x-enum-descriptions: M: Metric I: Imperial meter_serial_number: type: string description:Serial number of the meter.
maxLength: 12 model_number: type: string nullable: true description: maxLength: 255 multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,4})?$ description:Meter multiplier.
number_of_dials: type: integer description: reading_history: type: array items: $ref: '#/components/schemas/EmbeddedGasHistoricalReading' description: "\n List of historical readings. Generally these are readings prior to the one(s) provided under transfer_readings.\n \ It is possible to provide readings in the reading_history after the transfer_reading date but these must be unbilled.\n
" reading_route: type: string description:Reading route. Should match a route defined in Kraken.
x-validators: - name: Validate reading route code description: Validates reading route is known to Kraken. possible_errors: - invalid_reading_route reading_route_sequence: type: integer nullable: true default: 10 description: 'Reading route sequence. In multiples of 10. Default value: 10.
' status: enum: - Turned on - Turned off - Plugged - No meter - Trailer AC - No Reg type: string x-spec-enum-id: d5fc3bb4a12ad320 description:Status of the meter.
x-enum-descriptions: Turned on: Turned On Turned off: Turned Off Plugged: Plugged No meter: No Meter Trailer AC: Trailer Ac No Reg: No Reg transfer_readings: type: array items: $ref: '#/components/schemas/EmbeddedGasTransferReading' description: "\n Only the last reading (or readings, if the meter is ECO7 or ECO10) the account has been billed up to.\n If the account has never been billed, the SSD reading(s) must be on this list.\n \ It’s expected that a transfer reading will be given per register on an active accumulation meter in the case of electricity and a reading per active gas meter.\n It’s expected that all transfer reading dates will match the last_billed_to_date.\n
" required: - active_from - kpa_value - location - measurement_type - meter_serial_number - multiplier - number_of_dials - reading_history - reading_route - status - transfer_readings EmbeddedGasMeterPoint: type: object properties: supply_type: enum: - ELECTRICITY - GAS - UNMETERED_GAS - UNMETERED_ELECTRICITY - WATER - EMBEDDED_WATER - EMBEDDED_ELECTRICITY - EMBEDDED_GAS - SOLAR_PPA - REGOS_EXPORT_CERTIFICATES - ROCS_EXPORT_CERTIFICATES - BROADBAND - HEAT_PUMP - WATER_HEATER - ELECTRICITY_DISTRIBUTION - LIGHT - POLE type: string x-spec-enum-id: b093b6cd0238d6bd default: EMBEDDED_GAS description:Supply type of the supply point.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas UNMETERED_ELECTRICITY: Unmetered Electricity WATER: Water EMBEDDED_WATER: Embedded Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA REGOS_EXPORT_CERTIFICATES: REGOs Export Certificates ROCS_EXPORT_CERTIFICATES: ROCs Export Certificates BROADBAND: Broadband HEAT_PUMP: Heat Pump WATER_HEATER: Water Heater ELECTRICITY_DISTRIBUTION: Electricity Distribution LIGHT: Light POLE: Pole access_details: type: string description:Access details for the meter point. No details indicates “Customer reports no access requirements”. Can’t be longer than 160 characters.
maxLength: 160 address: allOf: - $ref: '#/components/schemas/CommonStructuredAddress' description:Structured address for this meter point.
agreements: type: array items: $ref: '#/components/schemas/AusAgreement' description:List of agreements linked to the supply point.
x-validators: - name: Validate product addon code and tariff code combination description: aus:data-import--validation-product-addon-code-and-product-code-combination--help-text possible_errors: - invalid_product_addon_code_and_product_code_combination baseload: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,3})?$ description:An average daily load for the meter point.
customer_characterisation: enum: - Metropolitan Business - Metropolitan Residential - Non Metropolitan Business - Non Metropolitan Residential type: string x-spec-enum-id: 9d533322e22e46d0 description:Describes whether the customer is metropolitan or non-metropolitan, and whether they are a residential or business customer.
x-enum-descriptions: Metropolitan Business: Metro Business Metropolitan Residential: Metro Residential Non Metropolitan Business: Non Metro Business Non Metropolitan Residential: Non Metro Residential customer_classification: enum: - BUS - RES - UNKNOWN type: string x-spec-enum-id: 63353d9709a8242d description:Customer classification code.
x-enum-descriptions: BUS: Business RES: Residential UNKNOWN: Unknown distribution_tariff: enum: - Volume - Demand - Commercial type: string x-spec-enum-id: 60b50a0019f31942 description:Determines the way the meter will be billed.
x-enum-descriptions: Volume: Volume Demand: Demand Commercial: Commercial dog_code: enum: - Bluff - Savage - Tied - Friendly - Dog OK - Dog Caution - No Dog - null type: string x-spec-enum-id: d63e05b877b7aa4b nullable: true description:Dog code.
x-enum-descriptions: Bluff: Bluff Savage: Savage Tied: Tied Friendly: Friendly Dog OK: Dog Ok Dog Caution: Dog Caution No Dog: No Dog None: None hazard_details: type: array items: type: string description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
Customer Reports No Hazard and
"Not Known To Initiator cannot be combined with other market
specified hazards.
possible_errors:
- no_hazard_cannot_combine_with_other_hazards
- not_known_cannot_combine_with_other_hazards
- name: Validate hazard details
description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
Heating value.
heating_value_zone: type: string description:Heating value zone.
identifier: type: string description:The unique identifier for the supply point.
x-validators: - name: Validate the supply point identifier description: Validate that the supply point identifier in the payload is valid for the territory that the account is importing in. possible_errors: - invalid_supply_point_identifier last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the supply point.
If the supply point has never been billed before, this should be the supply start date for the supply point and Kraken will bill from then.
If the supply point has been billed before, this typically represents the date of the reading that was last charged to. Kraken will then start to bill from this point.
This date is inclusive. If the equivalent date in the source system is exclusive make sure to add a day to the value before passing to Kraken.
meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH - null type: string x-spec-enum-id: b2672f221b69f827 nullable: true description:Meter position code.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh None: None meters: type: array items: $ref: '#/components/schemas/EmbeddedGasMeter' description:List of active and exchanged meters on the meter point.
mpxn: type: string description:MIRN or NMI of this meter point, UNMETERED_GAS_COOKTOP for unmetered gas cooktop, or UNMETERED_GAS_HEATER for unmetered gas heater. For CES water meter, the value should be prefixed with EMBEDDED_WATER_ (the prefix will not be saved).
multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ nullable: true description: parent_installation_id: type: string nullable: true description: parent_mirn: type: string description:Parent MIRN for embedded gas service.
pressure_correction_factor: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,3})?$ description:Pressure correction factor.
pricing_zone: enum: - TAMWORTH - ALBURY - MURYVALLEY - MILDURA - OEMETRO_AGLSOUTH - TRURCBARWN - TRUWEST - OEMURVLYV - TRUEAST_OESTHEAST - OENORTH - OEYRVALLEY - AGLNSW - APTALLGAS_NSW_QLD - ACTEWAGL_ACT_QUEANBEYAN - COOMABOMBA - TEMORA_HHOLCWALLA - WAGGAURANQ - TUMUTGUNDA - AGLNORTH_TRUCENTRAL - TRURULWEST - OEWGPLAND - OEBRNSDALE - BRISNORTH - WIDEBAY - QLDNORTH - AGN_SA - MIDWSOUTHW - ALICESPNGS - APTALLGAS type: string x-spec-enum-id: b210716b72e7d361 description:Code of the pricing zone for embedded gas service. Must match an existing zone.
x-enum-descriptions: TAMWORTH: Tamworth ALBURY: AGN Albury MURYVALLEY: AGN Murray Valley (NSW) MILDURA: AGN - Mildura OEMETRO_AGLSOUTH: Multinet TRURCBARWN: AusNet Services Adjoining Central TRUWEST: AusNet Services West OEMURVLYV: AGN - Murray Vic TRUEAST_OESTHEAST: AGN Central OENORTH: AGN North OEYRVALLEY: Multinet Yarra Valley AGLNSW: Jemena APTALLGAS_NSW_QLD: Allgas Energy ACTEWAGL_ACT_QUEANBEYAN: Evoenergy COOMABOMBA: AGN Bombala and Cooma TEMORA_HHOLCWALLA: AGN Temora Culciarn Holbrook WAGGAURANQ: AGN Wagga Wagga TUMUTGUNDA: AGN Adelong, Gundagai and Tumut AGLNORTH_TRUCENTRAL: AusNet Services Central TRURULWEST: AusNet Services Adjoining West OEWGPLAND: AGN - Cardinia OEBRNSDALE: AGN - Bairnsdale BRISNORTH: AGN - Brisbane WIDEBAY: AGN - Wide Bay QLDNORTH: AGN - Northern AGN_SA: AGN - SA MIDWSOUTHW: ATCO Australia ALICESPNGS: AGN - NT APTALLGAS: Allgas Energy sensitive_load: type: boolean default: false description:Whether there is sensitive load. Note that the existence of a Life Support record with "registered" status will take precedence over this.
status: enum: - Registered - Commissioned - Decommissioned - Deregistered - Unclaimed type: string x-spec-enum-id: f52b1d4e40016523 description:Status of the meter point.
x-enum-descriptions: Registered: Registered Commissioned: Commissioned Decommissioned: Decomissioned Deregistered: Deregistered Unclaimed: Unclaimed supply_end_date: type: string format: date nullable: true description:Supply end date for current supply.
supply_start_date: type: string format: date description:Supply start date for current supply.
required: - baseload - customer_characterisation - customer_classification - distribution_tariff - heating_value - heating_value_zone - meters - mpxn - parent_mirn - pressure_correction_factor - pricing_zone - status - supply_start_date x-validators: - name: Validatesupply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate agreements do not start before supply start date
description: Validate that agreements do not start before the supply point's
supply start date, if provided.
possible_errors:
- agreement_start_date_before_supply_start_date
EmbeddedGasTransferReading:
type: object
properties:
reading_date:
type: string
format: date
description: Date of the reading.
reading_quality: enum: - ACTUAL - ESTIMATED - SKIPPED - CUSTOMER type: string x-spec-enum-id: 21b49b48d66a1ca8 description:Reading quality.
x-enum-descriptions: ACTUAL: Actual ESTIMATED: Estimated SKIPPED: Skipped CUSTOMER: Customer reading_value: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:Reading value.
required: - reading_date - reading_quality - reading_value EmbeddedWaterConnectionPeriod: type: object properties: end_at: type: string format: date-time nullable: true description:Period end date.
start_at: type: string format: date-time description:Period starting date.
status: enum: - CONNECTED - DISCONNECTED type: string x-spec-enum-id: aed1b22dc6aad4c9 description:Connection status.
x-enum-descriptions: CONNECTED: Connected DISCONNECTED: Disconnected required: - start_at - status EmbeddedWaterHistoricalReading: type: object properties: billed: type: boolean default: true description:Whether reading has been billed or not.
reading_date: type: string format: date description:Date of the reading.
reading_quality: enum: - ACTUAL - ESTIMATED - SKIPPED - CUSTOMER type: string x-spec-enum-id: 21b49b48d66a1ca8 description:Reading quality.
x-enum-descriptions: ACTUAL: Actual ESTIMATED: Estimated SKIPPED: Skipped CUSTOMER: Customer reading_value: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:Reading value.
required: - reading_date - reading_quality - reading_value EmbeddedWaterMeter: type: object properties: access_details: type: string default: '' description:Access details for the meter.
maxLength: 256 connection_periods: type: array items: $ref: '#/components/schemas/EmbeddedWaterConnectionPeriod' description:List of connection periods.
construction_date: type: string format: date nullable: true description:Construction date of the meter.
installed_on: type: string format: date description:The date the meter was installed.
key_details: type: string default: '' description:Key details for the meter.
maxLength: 256 last_billed_to_date: type: string format: date description:Date up to which consumption has been billed to.
location: enum: - ACCESS_HATCH - BACK_GATE - BACK_OF_HOUSE - BACK_VERANDAH - BACK_WALL - BACK_YARD - BASEMENT - BATHROOM - CEILING_SPACE - CELLAR - CUPBOARD - DINING_ROOM - FACTORY - FIREHOUSE_REEL_CUPBOARD - FRONT_DOOR - FRONT_FENCE - FRONT_HOUSE - FRONT_LEFT_SIDE - FRONT_RIGHT_SIDE - FRONT_VERANDAH - FRONT_WALL - FRONT_WALL_SHOP - GARAGE - GROUP_OF_METERS - HALLWAY_CUPBOARD - KITCHEN - KITCHEN_CUPBOARD - LAUNDRY_CUPBOARD - LAUNDRY_HATCH - LEFT_SIDE - OTHER - OVER_BACK_DOOR - PANTRY - PASSAGE - PORCH - REFUSE_ROOM - RIGHT_SIDE - SEE_ACCESS_DETAILS - SHED - SHOP - STORE_ROOM - TOILET - UNDER_BACK_HOUSE - UNDER_COUNTER - UNDER_FRONT_HOUSE - UNDER_LEFT_HOUSE - UNDER_RIGHT_HOUSE - UNDER_SINK - UNDER_STAIRS - UNKNOWN - UPSTAIRS - WASH_HOUSE type: string x-spec-enum-id: 2a7b272dd5ba7cea description:Location of the meter.
x-enum-descriptions: ACCESS_HATCH: Access hatch BACK_GATE: Back gate BACK_OF_HOUSE: Back of house BACK_VERANDAH: Back verandah BACK_WALL: Back wall BACK_YARD: Back yard BASEMENT: Basement BATHROOM: Bathroom CEILING_SPACE: Ceiling space CELLAR: Cellar CUPBOARD: Cupboard DINING_ROOM: Dining room FACTORY: Factory FIREHOUSE_REEL_CUPBOARD: Firehouse reel cupboard FRONT_DOOR: Front door FRONT_FENCE: Front face FRONT_HOUSE: Front house FRONT_LEFT_SIDE: Front left side FRONT_RIGHT_SIDE: Front right side FRONT_VERANDAH: Front verandah FRONT_WALL: Front wall FRONT_WALL_SHOP: Front wall shop GARAGE: Garage GROUP_OF_METERS: Group or meters HALLWAY_CUPBOARD: Hallway cupboard KITCHEN: Kitchen KITCHEN_CUPBOARD: Kitchen cupboard LAUNDRY_CUPBOARD: Laundry cupboard LAUNDRY_HATCH: Laundry hatch LEFT_SIDE: Left side OTHER: Other OVER_BACK_DOOR: Over back door PANTRY: Pantry PASSAGE: Passage PORCH: Porch REFUSE_ROOM: Refuse room RIGHT_SIDE: Right side SEE_ACCESS_DETAILS: See access details SHED: Shed SHOP: Shop STORE_ROOM: Store room TOILET: Toilet UNDER_BACK_HOUSE: Under back house UNDER_COUNTER: Under counter UNDER_FRONT_HOUSE: Under front house UNDER_LEFT_HOUSE: Under left house UNDER_RIGHT_HOUSE: Under right house UNDER_SINK: Under sink UNDER_STAIRS: Under stairs UNKNOWN: Unknown UPSTAIRS: Upstairs WASH_HOUSE: Wash house make_and_model: type: string default: '' description:Make and model of the meter.
meter_measurement_unit: enum: - dL - daL - kL - gal type: string x-spec-enum-id: 83abc84b30ee6528 description:Meter measurement unit of the meter.
x-enum-descriptions: dL: Decilitres daL: Decalitres kL: Kilolitres gal: Gallons meter_serial_number: type: string description:Serial number of the meter.
number_of_dials_on_device: type: integer description: read_method: enum: - REMOTE - MANUAL type: string x-spec-enum-id: b42987f03411fddd description:Read method.
x-enum-descriptions: REMOTE: Remote MANUAL: Manual reading_history: type: array items: $ref: '#/components/schemas/EmbeddedWaterHistoricalReading' description: "\n List of historical readings. Generally these are readings prior to the one(s) provided under transfer_readings.\n \ It is possible to provide readings in the reading_history after the transfer_reading date but these must be unbilled.\n
" reading_route_sequence: type: integer nullable: true default: 10 description: 'Reading route sequence. In multiples of 10. Default value: 10.
' removed_on: type: string format: date nullable: true description:The date the meter was removed.
transfer_readings: type: array items: $ref: '#/components/schemas/EmbeddedWaterTransferReading' description:List of currently relevant readings.
required: - installed_on - location - meter_measurement_unit - meter_serial_number - number_of_dials_on_device - read_method EmbeddedWaterMeterPoint: type: object properties: supply_type: enum: - ELECTRICITY - GAS - UNMETERED_GAS - UNMETERED_ELECTRICITY - WATER - EMBEDDED_WATER - EMBEDDED_ELECTRICITY - EMBEDDED_GAS - SOLAR_PPA - REGOS_EXPORT_CERTIFICATES - ROCS_EXPORT_CERTIFICATES - BROADBAND - HEAT_PUMP - WATER_HEATER - ELECTRICITY_DISTRIBUTION - LIGHT - POLE type: string x-spec-enum-id: b093b6cd0238d6bd default: EMBEDDED_WATER description:Supply type of the supply point.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas UNMETERED_ELECTRICITY: Unmetered Electricity WATER: Water EMBEDDED_WATER: Embedded Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA REGOS_EXPORT_CERTIFICATES: REGOs Export Certificates ROCS_EXPORT_CERTIFICATES: ROCs Export Certificates BROADBAND: Broadband HEAT_PUMP: Heat Pump WATER_HEATER: Water Heater ELECTRICITY_DISTRIBUTION: Electricity Distribution LIGHT: Light POLE: Pole access_details: type: string description:Access details for the meter point. No details indicates “Customer reports no access requirements”. Can’t be longer than 160 characters.
maxLength: 160 address: allOf: - $ref: '#/components/schemas/CommonStructuredAddress' description:Structured address for this meter point.
agreements: type: array items: $ref: '#/components/schemas/AusAgreement' description:List of agreements linked to the supply point.
x-validators: - name: Validate product addon code and tariff code combination description: aus:data-import--validation-product-addon-code-and-product-code-combination--help-text possible_errors: - invalid_product_addon_code_and_product_code_combination dog_code: enum: - Bluff - Savage - Tied - Friendly - Dog OK - Dog Caution - No Dog - null type: string x-spec-enum-id: d63e05b877b7aa4b nullable: true description:Dog code.
x-enum-descriptions: Bluff: Bluff Savage: Savage Tied: Tied Friendly: Friendly Dog OK: Dog Ok Dog Caution: Dog Caution No Dog: No Dog None: None hazard_details: type: array items: type: string description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
Customer Reports No Hazard and
"Not Known To Initiator cannot be combined with other market
specified hazards.
possible_errors:
- no_hazard_cannot_combine_with_other_hazards
- not_known_cannot_combine_with_other_hazards
- name: Validate hazard details
description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
The unique identifier for the supply point.
x-validators: - name: Validate the supply point identifier description: Validate that the supply point identifier in the payload is valid for the territory that the account is importing in. possible_errors: - invalid_supply_point_identifier installation_id: type: string description:Installation ID.
maxLength: 10 minLength: 10 installation_type: enum: - SHW - BHW type: string x-spec-enum-id: 2f510b098235af9a description:Installation type.
x-enum-descriptions: SHW: Serviced hot water BHW: Bulk hot water last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the supply point.
If the supply point has never been billed before, this should be the supply start date for the supply point and Kraken will bill from then.
If the supply point has been billed before, this typically represents the date of the reading that was last charged to. Kraken will then start to bill from this point.
This date is inclusive. If the equivalent date in the source system is exclusive make sure to add a day to the value before passing to Kraken.
meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH - null type: string x-spec-enum-id: b2672f221b69f827 nullable: true description:Meter position code.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh None: None meters: type: array items: $ref: '#/components/schemas/EmbeddedWaterMeter' description:List of active and exchanged meters on the meter point.
mpxn: type: string description:MIRN or NMI of this meter point, UNMETERED_GAS_COOKTOP for unmetered gas cooktop, or UNMETERED_GAS_HEATER for unmetered gas heater. For CES water meter, the value should be prefixed with EMBEDDED_WATER_ (the prefix will not be saved).
multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ nullable: true description: parent_installation_id: type: string nullable: true description:Parent installation ID.
parent_mirn: type: string nullable: true description:Parent MIRN.
parent_nmi: type: string nullable: true description:Parent NMI.
plant_fuel_type: enum: - NG - LP - ELECTRICITY type: string x-spec-enum-id: b2b450c3454f6d6a description:Plant fuel type.
x-enum-descriptions: NG: Natural gas LP: Liquid petroleum ELECTRICITY: Electricity plant_temperature: enum: - 50C - 65C - '' type: string x-spec-enum-id: 8d817a4b1844fc60 description:Plant temperature.
x-enum-descriptions: 50C: 50°C 65C: 65°C '': '' pricing_zone: enum: - ACTEWAGL - ADELAIDE - AGLNSW - ALBURY - BALGRAFT - BRISBANE - BRISNORTH - DARWIN - MIDWSOUTHW - MURYVALLEY - OEMETRO - OENORTH - OESTHEAST - SEQLD - TWEEDHEADS type: string x-spec-enum-id: 83f5c58d83e964ae description:Code of the pricing zone.
x-enum-descriptions: ACTEWAGL: Actewagl ADELAIDE: Adelaide AGLNSW: Aglnsw ALBURY: Albury BALGRAFT: Balgraft BRISBANE: Brisbane BRISNORTH: Brisnorth DARWIN: Darwin MIDWSOUTHW: Midwsouthw MURYVALLEY: Muryvalley OEMETRO: Oemetro OENORTH: Oenorth OESTHEAST: Oestheast SEQLD: Seqld TWEEDHEADS: Tweedheads reading_route: type: string description:Reading route.
sensitive_load: type: boolean default: false description:Whether there is sensitive load. Note that the existence of a Life Support record with "registered" status will take precedence over this.
supply_end_date: type: string format: date nullable: true description:Supply end date for current supply.
supply_start_date: type: string format: date description:Supply start date for current supply.
required: - installation_id - installation_type - meters - mpxn - plant_fuel_type - pricing_zone - reading_route - supply_start_date x-validators: - name: Validatesupply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate agreements do not start before supply start date
description: Validate that agreements do not start before the supply point's
supply start date, if provided.
possible_errors:
- agreement_start_date_before_supply_start_date
- name: Validate installation id
description: Validates installation id can be converted to int and is within
range.
possible_errors:
- installation_id_out_of_range
- installation_id_should_be_integer
- name: Validate parent nmi or mirn are provided
description: Validates parent nmi or mirn is required and provided by fuel
type.
possible_errors:
- field_not_allowed_for_fuel_type
- field_required_for_fuel_type
EmbeddedWaterTransferReading:
type: object
properties:
reading_date:
type: string
format: date
description: Date of the reading.
reading_quality: enum: - ACTUAL - ESTIMATED - SKIPPED - CUSTOMER type: string x-spec-enum-id: 21b49b48d66a1ca8 description:Reading quality.
x-enum-descriptions: ACTUAL: Actual ESTIMATED: Estimated SKIPPED: Skipped CUSTOMER: Customer reading_value: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:Reading value.
required: - reading_date - reading_quality - reading_value ErrorCreatingTransactions: type: object properties: error_detail: type: string description:If transaction creation failed, then this field will provide details of the error.
status: enum: - TRANSACTION_ADDED_TO_ACCOUNT - TRANSACTION_ALREADY_EXISTS - TRANSACTION_IMPORT_ERROR type: string x-spec-enum-id: 5a92d022962e1cea description:The status of the transaction.
x-enum-descriptions: TRANSACTION_ADDED_TO_ACCOUNT: Transaction added to account TRANSACTION_ALREADY_EXISTS: Transaction already exists TRANSACTION_IMPORT_ERROR: Transaction import error transaction_data: allOf: - $ref: '#/components/schemas/TransactionData' description:The data associated with the transaction that caused this error.
required: - error_detail - status - transaction_data ErrorResponse: type: object properties: code: type: string description:The code for the error.
detail: type: string description:A description of the error.
required: - code - detail ExistingPaymentInstructionReference: type: object properties: vendor_name: enum: - WESTPAC type: string x-spec-enum-id: 19baa89b6ef9d00c description:The payment vendor (e.g., gocardless, stripe) for the payment instruction.
x-enum-descriptions: WESTPAC: Westpac vendor_reference: type: string description:The reference of the mandate as known by the vendor for the payment instruction.
maxLength: 512 required: - vendor_name - vendor_reference GasHistoricalReading: type: object properties: average_heating_value: type: string format: decimal pattern: ^-?\d{0,2}(?:\.\d{0,2})?$ nullable: true description:Average heating value.
billed: type: boolean description:Whether the reading has been billed.
common_factor: type: string format: decimal pattern: ^-?\d{0,5}(?:\.\d{0,6})?$ nullable: true description:Common factor.
consumed_energy: type: string format: decimal pattern: ^-?\d{0,11}(?:\.\d{0,0})?$ nullable: true description:Consumed energy.
estimation_substitution_reason_code: enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - 08 - 09 - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - null type: string x-spec-enum-id: eefbf0448ea8989d nullable: true description:Estimation substitution reason code.
x-enum-descriptions: '00': Other '01': Meter Removed '02': Meter Obstructed '03': Dirty Dial '04': Cannot locate Meter '05': Gate Locked '06': Dog on Premises '07': Meter Changed 08: Refused Access 09: Locked Premises '10': Delayed Read '11': Adjustment Read '12': Damaged Meter '13': Dial out of Alignment '14': Key Required '15': Access Overgrown '16': Hi/Low Failure '17': Meter Capacity Failure '18': Customer bad read '19': Quarantined Premises '20': Extreme Weather Conditions '21': Unsafe equipment / location '22': Meter high / ladder required '23': Remote Read Device Not Registering '24': Remote Read Device Out of Alignment '25': Operational System Condition '26': Resource Limitations '27': Unable to Locate Premises '28': Communications Fault '29': Vacant Premises None: None estimation_substitution_type: enum: - E1 - E2 - E3 - E4 - S1 - S2 - S3 - S4 - null type: string x-spec-enum-id: d315b90b76d8cd20 nullable: true description:Estimation substitution type.
x-enum-descriptions: E1: Estimation method 1 E2: Estimation method 2 E3: RB/DB agreed value E4: Estimation method 4 for QLD S1: Substitution method 1 S2: Substitution method 2 S3: RB/DB agreed substituted value S4: Substitution method 4 for QLD None: None gas_meter_units: enum: - M - I - null type: string x-spec-enum-id: 55229098b2a5b784 nullable: true description:Gas meter units.
x-enum-descriptions: M: Metric I: Imperial None: None pressure_correction_factor: type: string format: decimal pattern: ^-?\d{0,2}(?:\.\d{0,4})?$ nullable: true description:Pressure correction factor.
prev_reading_date: type: string format: date nullable: true description:Previous reading date.
reading_date: type: string format: date description:The date of the reading.
reading_type: enum: - CUSTOMER - ESTIMATE - ROUTINE - SMART - REGULAR type: string x-spec-enum-id: 1ae88a4096677e8e description:The type of reading. See choices for more details.
x-enum-descriptions: CUSTOMER: Customer ESTIMATE: Estimate ROUTINE: Routine SMART: Smart REGULAR: Regular reading_value: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,3})?$ description:Reading value.
register_id: type: string description:The register identifier as provided in the Meter Technical Details (MTDs), including leading zeros.
maxLength: 32 validation_status: enum: - VALIDATED - UNVALIDATED - FAILED type: string x-spec-enum-id: 3ab1e518b1b0a9db default: VALIDATED description:Whether the reading has been validated or not. See choices for more details.
x-enum-descriptions: VALIDATED: Validated UNVALIDATED: Unvalidated FAILED: Failed volume_flow: type: string format: decimal pattern: ^-?\d{0,9}(?:\.\d{0,2})?$ nullable: true description:Volumn flow.
required: - billed - reading_date - reading_type - reading_value GasMasterData: type: object properties: baseload: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,1})?$ nullable: true description: customer_characterisation: enum: - Metropolitan Business - Metropolitan Residential - Non Metropolitan Business - Non Metropolitan Residential type: string x-spec-enum-id: 9d533322e22e46d0 description:Describes whether the customer is metropolitan or non-metropolitan, and whether they are a residential or business customer.
x-enum-descriptions: Metropolitan Business: Metro Business Metropolitan Residential: Metro Residential Non Metropolitan Business: Non Metro Business Non Metropolitan Residential: Non Metro Residential customer_classification_code: enum: - BUS - RES - UNKNOWN type: string x-spec-enum-id: 63353d9709a8242d description:Customer classification code.
x-enum-descriptions: BUS: Business RES: Residential UNKNOWN: Unknown customer_classification_threshold: enum: - LOW - MEDIUM - HIGH - null type: string x-spec-enum-id: f6b091eeaa84bee3 nullable: true description:Customer classification threshold.
x-enum-descriptions: LOW: Low MEDIUM: Medium HIGH: High None: None distribution_tariff: enum: - Volume - Volume High - Volume Boundary - Demand - Commercial type: string x-spec-enum-id: 22781591b23eba59 description:Distribution tariff.
x-enum-descriptions: Volume: Volume Volume High: Volume High Volume Boundary: Volume Boundary Demand: Demand Commercial: Commercial heating_value_zone: type: string nullable: true description:Heating value zone.
maxLength: 3 market: enum: - NSWACTGAS - QLDGAS - SAGAS - VICGAS - WAGAS - ACTGAS - NTGAS type: string x-spec-enum-id: 7045e51163768b66 description:Retail market.
x-enum-descriptions: NSWACTGAS: New South Wales QLDGAS: Queensland SAGAS: South Australia VICGAS: Victoria WAGAS: Western Australia ACTGAS: Australian Capital Territory NTGAS: Northern Territory mirn_status: enum: - Commissioned - Decommissioned - Deregistered - Registered - Unclaimed type: string x-spec-enum-id: 41af05d61bef9fe8 description:Meter point status.
x-enum-descriptions: Commissioned: Commissioned Decommissioned: Decommissioned Deregistered: Deregistered Registered: Registered Unclaimed: Unclaimed network_id: type: string description:Code that identifies a MIRN that is connected to a specific network section.
maxLength: 12 temperature_sensitivity_factor: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,2})?$ nullable: true description: transmission_zone: type: integer maximum: 99 minimum: 0 nullable: true description:Transmission zone.
required: - customer_classification_code - heating_value_zone - market - mirn_status GasMeter: type: object properties: billing_method: enum: - O - C - D - null type: string x-spec-enum-id: 1bbe4ecef1b595ba nullable: true description:Billing method for the meter.
x-enum-descriptions: O: Ordinary C: Hot Water System D: Deduct Billing None: None installed_on: type: string format: date nullable: true description:The date the meter was installed.
kpa_value: type: string format: decimal pattern: ^-?\d{0,5}(?:\.\d{0,4})?$ nullable: true description:KPA value.
last_billed_to_date: type: string format: date description:Date up to which consumption has been billed to.
meter_installation_type: enum: - M - S - O - null type: string x-spec-enum-id: 5008be39c3d1c941 nullable: true description:Meter installation type.
x-enum-descriptions: M: Master Meter S: Sub Meter O: Ordinary None: None meter_measurement_unit: enum: - M - I - null type: string x-spec-enum-id: 55229098b2a5b784 nullable: true description:Meter measurement unit.
x-enum-descriptions: M: Metric I: Imperial None: None meter_multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ nullable: true description:Meter multiplier.
meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH type: string x-spec-enum-id: b2672f221b69f827 description:Meter position.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh meter_read_frequency: enum: - Bi Monthly - Daily - Monthly - Quarterly - null type: string x-spec-enum-id: 9f2ea9c3ef129058 nullable: true description:Meter read frequency.
x-enum-descriptions: Bi Monthly: Bi Monthly Daily: Daily Monthly: Monthly Quarterly: Quarterly None: None meter_read_type: enum: - ACCUMULATION - INTERVAL type: string x-spec-enum-id: 4518b1b0277e90b2 default: ACCUMULATION description:Meter ready type. Defaults to ACCUMULATION.
Serial number of the meter.
maxLength: 32 x-validators: - name: Normalise Meter Serial Number description: Normalises gas meter serial numbers to uppercase possible_errors: [] meter_status: enum: - Turned on - Turned off - Plugged - No meter - Trailer AC - No Reg type: string x-spec-enum-id: d5fc3bb4a12ad320 description:Meter status.
x-enum-descriptions: Turned on: Turned On Turned off: Turned Off Plugged: Plugged No meter: No Meter Trailer AC: Trailer Ac No Reg: No Reg meter_type: enum: - G - W type: string x-spec-enum-id: d3681db792fd6e83 default: G description:Meter type. Defaults to G.
Meter type size code.
maxLength: 3 next_scheduled_read_date: type: string format: date nullable: true description:The next scheduled read date.
number_of_dials_on_device: type: integer nullable: true description:Number of dials on device.
reading_history: type: array items: $ref: '#/components/schemas/GasHistoricalReading' description: 'List of historical readings. Generally these are readings prior to the one(s) provided under transfer_readings. It is possible to provide readings in the reading_history after the transfer_reading date but these must be unbilled.
' removed_on: type: string format: date nullable: true description:The date the meter was removed.
supply_point_code: enum: - Basic - Interval - Transmission type: string x-spec-enum-id: e2d721230a3cd8f8 description:Meter supply point code.
x-enum-descriptions: Basic: Basic Interval: Interval Transmission: Transmission supply_point_id: type: string description:Meter supply point ID.
maxLength: 13 transfer_readings: type: array items: $ref: '#/components/schemas/GasTransferReading' description: 'Only the last reading (or readings, if the meter is ECO7 or ECO10) the account has been billed up to. If the account has never been billed, the SSD reading(s) must be on this list. It’s expected that a transfer reading will be given per register on an active accumulation meter in the case of electricity and a reading per active gas meter. It’s expected that all transfer reading dates will match the last_billed_to_date.
' required: - meter_serial_number GasMeterPoint: type: object properties: supply_type: enum: - ELECTRICITY - GAS - UNMETERED_GAS - UNMETERED_ELECTRICITY - WATER - EMBEDDED_WATER - EMBEDDED_ELECTRICITY - EMBEDDED_GAS - SOLAR_PPA - REGOS_EXPORT_CERTIFICATES - ROCS_EXPORT_CERTIFICATES - BROADBAND - HEAT_PUMP - WATER_HEATER - ELECTRICITY_DISTRIBUTION - LIGHT - POLE type: string x-spec-enum-id: b093b6cd0238d6bd default: GAS description:Supply type of the supply point.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas UNMETERED_ELECTRICITY: Unmetered Electricity WATER: Water EMBEDDED_WATER: Embedded Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA REGOS_EXPORT_CERTIFICATES: REGOs Export Certificates ROCS_EXPORT_CERTIFICATES: ROCs Export Certificates BROADBAND: Broadband HEAT_PUMP: Heat Pump WATER_HEATER: Water Heater ELECTRICITY_DISTRIBUTION: Electricity Distribution LIGHT: Light POLE: Pole access_details: type: string description:Access details for the meter point. No details indicates “Customer reports no access requirements”. Can’t be longer than 160 characters.
maxLength: 160 address: allOf: - $ref: '#/components/schemas/GasStructuredAddress' description:The address to be associated with this gas meter point.
agreements: type: array items: $ref: '#/components/schemas/AusAgreement' description:List of agreements linked to the supply point.
x-validators: - name: Validate product addon code and tariff code combination description: aus:data-import--validation-product-addon-code-and-product-code-combination--help-text possible_errors: - invalid_product_addon_code_and_product_code_combination dog_code: enum: - Bluff - Savage - Tied - Friendly - Dog OK - Dog Caution - No Dog - null type: string x-spec-enum-id: d63e05b877b7aa4b nullable: true description:Dog code.
x-enum-descriptions: Bluff: Bluff Savage: Savage Tied: Tied Friendly: Friendly Dog OK: Dog Ok Dog Caution: Dog Caution No Dog: No Dog None: None hazard_details: type: array items: type: string description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
Customer Reports No Hazard and
"Not Known To Initiator cannot be combined with other market
specified hazards.
possible_errors:
- no_hazard_cannot_combine_with_other_hazards
- not_known_cannot_combine_with_other_hazards
- name: Validate hazard details
description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
The unique identifier for the supply point.
x-validators: - name: Validate the supply point identifier description: Validate that the supply point identifier in the payload is valid for the territory that the account is importing in. possible_errors: - invalid_supply_point_identifier last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the supply point.
If the supply point has never been billed before, this should be the supply start date for the supply point and Kraken will bill from then.
If the supply point has been billed before, this typically represents the date of the reading that was last charged to. Kraken will then start to bill from this point.
This date is inclusive. If the equivalent date in the source system is exclusive make sure to add a day to the value before passing to Kraken.
master_data: allOf: - $ref: '#/components/schemas/GasMasterData' description:The master data associated with this gas meter point.
meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH - null type: string x-spec-enum-id: b2672f221b69f827 nullable: true description:Meter position code.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh None: None meters: type: array items: $ref: '#/components/schemas/GasMeter' description:List of active and exchanged meters on the meter point.
mpxn: type: string description:MIRN or NMI of this meter point, UNMETERED_GAS_COOKTOP for unmetered gas cooktop, or UNMETERED_GAS_HEATER for unmetered gas heater. For CES water meter, the value should be prefixed with EMBEDDED_WATER_ (the prefix will not be saved).
multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ nullable: true description: role_assignments: type: array items: $ref: '#/components/schemas/GasRoleAssignment' description:List of gas role assignments. Required for gas meter points.
maxItems: 2 minItems: 2 sensitive_load: type: boolean default: false description:Whether there is sensitive load. Note that the existence of a Life Support record with "registered" status will take precedence over this.
supply_end_date: type: string format: date nullable: true description:Supply end date for current supply.
supply_start_date: type: string format: date description:Supply start date for current supply.
required: - address - master_data - mpxn - role_assignments - supply_start_date x-validators: - name: Validatesupply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate agreements do not start before supply start date
description: Validate that agreements do not start before the supply point's
supply start date, if provided.
possible_errors:
- agreement_start_date_before_supply_start_date
- name: Validate required meter fields are provided
description: Validates some of the required gas meter fields are provided
if no 'removed_on'.
possible_errors:
- required
GasRoleAssignment:
type: object
properties:
party:
type: string
description: Role identifier.
role: enum: - FRO - DB type: string x-spec-enum-id: c88906cd20f34117 description:Role assignment code.
x-enum-descriptions: FRO: FRO DB: DB required: - party - role GasStructuredAddress: type: object properties: building_or_property_name: type: string description:Building or property name. No longer than 60 chars as two
lines of 30 chars each. If more than 30 chars, there must be a \n
after 30 chars.
Delivery point identifier.
flat_or_unit_number: type: string description:if supplied, flat_or_unit_type must be as well.
limit of 7 characters, numbers and . with optional alphabetical
prefix and suffix.
Flat or unit type.
x-enum-descriptions: ANT: Antenna APT: Apartment ATM: ATM BBQ: Barbeque BLCK: Block BTSD: Boatshed BLDG: Building BNGW: Bungalow CAGE: Cage CARP: Carpark CARS: Carspace CLUB: Club COOL: Coolroom CTGE: Cottage DUP: Duplex FY: Factory F: Flat GRGE: Garage HALL: Hall HSE: House KSK: Kiosk LSE: Lease LBBY: Lobby LOFT: Loft LOT: Lot MSNT: Maisonette MB: Marine Berth 'OFF': Office PTHS: Penthouse REAR: Rear RESV: Reserve RM: Room SEC: Section SHED: Shed SHOP: Shop SHRM: Showroom SIGN: Sign SITE: Site SL: Stall STOR: Store STR: Strata Unit STU: Studio SUBS: Substation SE: Suite TNCY: Tenancy TWR: Tower TNHS: Townhouse U: Unit VLT: Vault VLLA: Villa WARD: Ward WE: Warehouse WKSH: Workshop '': '' floor_or_level_number: type: string description:if supplied, floor_or_level_type must be as
well. limit of 5 characters, numbers and . with optional
alphabetical prefix and suffix
Floor or level type.
x-enum-descriptions: B: Basement FL: Floor G: Ground L: Level LG: Lower Ground M: Mezzanine LL: Lower Level OD: Observation Deck P: Parking PTHS: Penthouse PLF: Platform PDM: Podium RT: Rooftop SB: Sub-Basement UG: Upper Ground LB: Lobby '': '' house: type: array items: $ref: '#/components/schemas/CommonHouse' description:House object.
maxItems: 2 location_descriptor: type: string description:A description of the location.
lot_number: type: string description:Letters, numbers and ..
Melway grid reference.
maxLength: 9 postcode: type: string description:Australian postcode.
maxLength: 10 state_or_territory: type: string description:Australian state or territory.
maxLength: 3 street: type: array items: $ref: '#/components/schemas/CommonStreet' description:Street object.
maxItems: 2 suburb_or_place_or_locality: type: string description:Suburb or place or locality.
required: - postcode GasTransferReading: type: object properties: average_heating_value: type: string format: decimal pattern: ^-?\d{0,2}(?:\.\d{0,2})?$ nullable: true description:Average heating value.
common_factor: type: string format: decimal pattern: ^-?\d{0,5}(?:\.\d{0,6})?$ nullable: true description:Common factor.
consumed_energy: type: string format: decimal pattern: ^-?\d{0,11}(?:\.\d{0,0})?$ nullable: true description:Consumed energy.
estimation_substitution_reason_code: enum: - '00' - '01' - '02' - '03' - '04' - '05' - '06' - '07' - 08 - 09 - '10' - '11' - '12' - '13' - '14' - '15' - '16' - '17' - '18' - '19' - '20' - '21' - '22' - '23' - '24' - '25' - '26' - '27' - '28' - '29' - null type: string x-spec-enum-id: eefbf0448ea8989d nullable: true description:Estimation substitution reason code.
x-enum-descriptions: '00': Other '01': Meter Removed '02': Meter Obstructed '03': Dirty Dial '04': Cannot locate Meter '05': Gate Locked '06': Dog on Premises '07': Meter Changed 08: Refused Access 09: Locked Premises '10': Delayed Read '11': Adjustment Read '12': Damaged Meter '13': Dial out of Alignment '14': Key Required '15': Access Overgrown '16': Hi/Low Failure '17': Meter Capacity Failure '18': Customer bad read '19': Quarantined Premises '20': Extreme Weather Conditions '21': Unsafe equipment / location '22': Meter high / ladder required '23': Remote Read Device Not Registering '24': Remote Read Device Out of Alignment '25': Operational System Condition '26': Resource Limitations '27': Unable to Locate Premises '28': Communications Fault '29': Vacant Premises None: None estimation_substitution_type: enum: - E1 - E2 - E3 - E4 - S1 - S2 - S3 - S4 - null type: string x-spec-enum-id: d315b90b76d8cd20 nullable: true description:Estimation substitution type.
x-enum-descriptions: E1: Estimation method 1 E2: Estimation method 2 E3: RB/DB agreed value E4: Estimation method 4 for QLD S1: Substitution method 1 S2: Substitution method 2 S3: RB/DB agreed substituted value S4: Substitution method 4 for QLD None: None gas_meter_units: enum: - M - I - null type: string x-spec-enum-id: 55229098b2a5b784 nullable: true description:Gas meter units.
x-enum-descriptions: M: Metric I: Imperial None: None pressure_correction_factor: type: string format: decimal pattern: ^-?\d{0,2}(?:\.\d{0,4})?$ nullable: true description:Pressure correction factor.
prev_reading_date: type: string format: date nullable: true description:Previous reading date.
reading_date: type: string format: date description:The date of the reading.
reading_type: enum: - CUSTOMER - ESTIMATE - ROUTINE - SMART - REGULAR type: string x-spec-enum-id: 1ae88a4096677e8e description:The type of reading. See choices for more details.
x-enum-descriptions: CUSTOMER: Customer ESTIMATE: Estimate ROUTINE: Routine SMART: Smart REGULAR: Regular reading_value: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,3})?$ description:Reading value.
register_id: type: string description:The register identifier as provided in the Meter Technical Details (MTDs), including leading zeros.
maxLength: 32 volume_flow: type: string format: decimal pattern: ^-?\d{0,9}(?:\.\d{0,2})?$ nullable: true description:Volumn flow.
required: - reading_date - reading_type - reading_value GuaranteeOfOriginConfiguration: type: object properties: term_type: type: string description:The type of the contract term.
guarantee_of_origin_percentage: enum: - 0 - 25 - 50 - 75 - 100 type: integer x-spec-enum-id: fb9427e17f642d36 description: data-import--field-definition--guarantee-of-origin-configuration--guarantee-of-origin-percentage-help x-enum-descriptions: '0': '0' '25': '25' '50': '50' '75': '75' '100': '100' is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
required: - guarantee_of_origin_percentage - term_type HardshipAgreement: type: object properties: end_date: type: string format: date nullable: true description:The date the hardship agreement ends (inclusive).
exit_reason: enum: - INITIAL_PAYMENT_PLAN_NOT_ESTABLISHED - CUSTOMER_REQUEST - PAYMENT_PLAN_BROKEN_FOR_NON_PAYMENT - PAYMENT_PLAN_COMPLETED_SUCCESSFULLY - FURTHER_PAYMENT_PLAN_NOT_ESTABLISHED - ACCOUNT_FINALISED - RAISED_IN_ERROR - NO_ENGAGEMENT - CREDIT_OR_NIL_BALANCE - OTHER - '' type: string x-spec-enum-id: ce0b3239ec445c26 description:The reason for the hardship agreement ending.
x-enum-descriptions: INITIAL_PAYMENT_PLAN_NOT_ESTABLISHED: Initial payment plan not established CUSTOMER_REQUEST: Customer request PAYMENT_PLAN_BROKEN_FOR_NON_PAYMENT: Payment plan broken for non-payment PAYMENT_PLAN_COMPLETED_SUCCESSFULLY: Payment plan completed successfully FURTHER_PAYMENT_PLAN_NOT_ESTABLISHED: Further payment plan not established ACCOUNT_FINALISED: Account finalised RAISED_IN_ERROR: Raised in Error NO_ENGAGEMENT: No Engagement CREDIT_OR_NIL_BALANCE: Credit or nil balance OTHER: Other '': '' exit_reason_details: type: string description:Text for hardship agreement exit reason details if exit_reason
is set to OTHER.
Optional text for hardship agreement details.
hardship_entry_reason: enum: - SELF_IDENTIFIED - EXTERNAL_REFERENCE - RETAILER_REFERRAL type: string x-spec-enum-id: 9e8509f7b4a74ace description:The reason for the hardship agreement.
x-enum-descriptions: SELF_IDENTIFIED: Customer self-identified as being in hardship EXTERNAL_REFERENCE: Financial counsellor or external agent referral RETAILER_REFERRAL: Retailer referral hardship_type: enum: - DEATH_IN_FAMILY - HOUSEHOLD_ILLNESS - FAMILY_VIOLENCE - UNEMPLOYMENT - REDUCED_INCOME - OTHER type: string x-spec-enum-id: badc249c235661ae description:The type of hardship agreement.
x-enum-descriptions: DEATH_IN_FAMILY: Death in the family HOUSEHOLD_ILLNESS: Household illness FAMILY_VIOLENCE: Family violence UNEMPLOYMENT: Unemployment REDUCED_INCOME: Reduced income OTHER: Other payment_plan_details: type: string description:Details of the payment plan for the hardship agreement.
maxLength: 512 start_date: type: string format: date description:The date the hardship agreement starts (inclusive).
required: - hardship_entry_reason - hardship_type - start_date x-validators: - name: Validateend_date not before start_date
description: Validates that end_date, if given, is on or later
than start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate that end date is set with exit reason
description: Validates that a hardship agreement end date is set together
with an exit reason.
possible_errors:
- hardship_agreement_end_date_not_set_with_exit_reason
- name: Validate exit reason details
description: Validates that a hardship agreement exit reason details is provided
when its exit reason is set to OTHER.
possible_errors:
- missing_hardship_agreement_exit_reason_details
HistoricalStatements:
type: object
properties:
external_account_number:
type: string
description: The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
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.
List of historical statements for the account.
required: - external_account_number - import_supplier - statements x-validators: - name: Validate that account data is staged and account created description: Validate that an account exists for theexternal_account_number
and import_supplier 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 that the account doesn't have historical statements
description: Validate the the historical statements that are being imported
do not already exist on the account. To check this the statement_id's
in the payload are checked against any historical statement IDs already
associated with the account.
possible_errors:
- account_not_found
- historical_statement_already_exists
ImportEvent:
type: object
properties:
data:
type: object
nullable: true
description: Additional data associated with the import event, such as error codes and details.
event: type: string description:The type of import event.
occurred_at: type: string format: date-time description:The date and time when the import event was recorded.
required: - event - occurred_at ImportProcess: type: object properties: account_created_at: type: string format: date-time description:The date and time that the account was created at.
external_account_number: type: string description:The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
The date and time when the import process was created.
kraken_identifier: type: string nullable: true description:The unique identifier assigned to this import within Kraken.
latest_error: allOf: - $ref: '#/components/schemas/LatestError' nullable: true description:The most recent error that occurred during the import process, if any.
latest_event: allOf: - $ref: '#/components/schemas/ImportEvent' description:The most recent import event associated with the import process, if any.
modified_at: type: string format: date-time description:The date and time when the import process was last modified.
status: type: string description:The current status of the import process.
required: - created_at - latest_event - modified_at - status IndexationOption: type: object properties: escalation_start_date: type: string format: date description:Date the indexation applies from.
index_code: type: string description:The code for the relevant index.
required: - escalation_start_date - index_code LatePaymentFees: type: object properties: term_type: type: string description:The type of the contract term.
flat_fee_amount: type: integer minimum: 0 description:The flat amount added to each late payment fee, in the lowest denomination for the currency.
interest_policy_name: enum: - '' - RBA type: string x-spec-enum-id: 755d70bd45dbabbb description:The interest policy to use for late payment fee calculations.
x-enum-descriptions: '': '---------' RBA: RBA is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
percentage_fee: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ description:The percentage fee to be applied as part of the late payment fee calculations.
percentage_interval_days: type: integer minimum: 0 description:The interval the percentage fee rate represents in days (365 = annual).
required: - flat_fee_amount - percentage_fee - percentage_interval_days - term_type LatestError: type: object properties: code: type: string nullable: true description:The error code identifying the type of error that occurred.
detail: type: string nullable: true description:A detailed description of the error that occurred.
domain: type: string nullable: true description:The domain or context in which the error occurred.
Ledger: type: object properties: ledger_code: type: string description:The code of the relevant Kraken ledger type.
x-validators: - name: Validate ledger code description: Validates that the ledger code provided in the payload matches an available ledger type in Kraken. possible_errors: - ledger_code_does_not_exist ledger_identifier: type: string description:A unique string value that helps to refer a ledger object across the payload.
required: - ledger_code LegacyPaymentInstruction: type: object properties: external_account_number: type: string description:The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
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.
The reference of the mandate as known by the vendor.
deprecated: true x-use-instead: reference maxLength: 128 ledger_code: type: string description:The code of the relevant Kraken ledger type for the payment instruction. This code must exist in Kraken.
x-validators: - name: Validate ledger code description: Validates that the ledger code provided in the payload matches an available ledger type in Kraken. possible_errors: - ledger_code_does_not_exist reference: type: string description:The reference of the mandate as known by the vendor.
maxLength: 512 type: enum: - BPAY - CARD - CUSTOM - DIRECT_DEBIT - GMO_REFUND - PAYMENT_SLIP type: string x-spec-enum-id: 601d0b035869d4dd description:The payment type of the payment instruction.
x-enum-descriptions: BPAY: BPAY CARD: Card CUSTOM: Custom DIRECT_DEBIT: Direct Debit GMO_REFUND: GMO Refund PAYMENT_SLIP: Payment slip use_for_scheduled_payments: type: boolean nullable: true description:Whether this payment instruction should be used for scheduled payments on a given ledger. If true, this instruction will be set as the payment method for the account's payment schedule.
valid_from: type: string format: date nullable: true description:The date from which the payment instruction is valid.
vendor: enum: - WESTPAC type: string x-spec-enum-id: 19baa89b6ef9d00c description:The vendor for the payment instruction.
x-enum-descriptions: WESTPAC: Westpac required: - external_account_number - import_supplier - type - vendor x-validators: - name: Validate that account data is staged and account created description: Validate that an account exists for theexternal_account_number
and import_supplier 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 that either instruction_reference or reference
are provided
description: Validate that exactly one of instruction_reference
or reference is provided.
possible_errors:
- mutually_exclusive_field_required
Metadata:
type: object
properties:
key:
type: string
description: The key on which the metadata will be stored on.
maxLength: 1024 value: description:A json object containing any arbitrary piece of data to store in relation to the account.
required: - key - value MeterPoint: oneOf: - $ref: '#/components/schemas/ElectricityMeterPoint' - $ref: '#/components/schemas/EmbeddedElecMeterPoint' - $ref: '#/components/schemas/EmbeddedWaterMeterPoint' - $ref: '#/components/schemas/GasMeterPoint' - $ref: '#/components/schemas/UnmeteredGasSupplyPoint' - $ref: '#/components/schemas/EmbeddedGasMeterPoint' - $ref: '#/components/schemas/SolarPPASupplyPoint' - $ref: '#/components/schemas/UnmeteredElectricitySupplyPoint' discriminator: propertyName: supply_type mapping: ELECTRICITY: '#/components/schemas/ElectricityMeterPoint' EMBEDDED_ELECTRICITY: '#/components/schemas/EmbeddedElecMeterPoint' EMBEDDED_WATER: '#/components/schemas/EmbeddedWaterMeterPoint' GAS: '#/components/schemas/GasMeterPoint' UNMETERED_GAS: '#/components/schemas/UnmeteredGasSupplyPoint' EMBEDDED_GAS: '#/components/schemas/EmbeddedGasMeterPoint' SOLAR_PPA: '#/components/schemas/SolarPPASupplyPoint' UNMETERED_ELECTRICITY: '#/components/schemas/UnmeteredElectricitySupplyPoint' MinimumContractLength: type: object properties: term_type: type: string description:The type of the contract term.
contract_identifier: type: string description:Unique identifier of the contract.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
length: type: integer minimum: 1 description:Minimum length of the contract.
unit_of_time: enum: - WEEK - MONTH - YEAR type: string x-spec-enum-id: 2dd8361d760ce9df description:Unit of time used to measure the length of the contract.
x-enum-descriptions: WEEK: Week MONTH: Month YEAR: Year required: - contract_identifier - length - term_type - unit_of_time NewPaymentInstructionReference: type: object properties: instruction_identifier: type: string description:Identifier for the payment instruction from the payment_instructions.
This will be used to refer to a payment instruction in the same payload
for the payment preference.
The body of the note. Should include who/what created the note if this is required.
created_at: type: string format: date-time description:The date and time the note was created.
document_paths: type: array items: $ref: '#/components/schemas/NoteDocument' description:A list of relative paths in S3 for documents to be attached to the note.
More details on document path parameters can be found here.
external_id: type: string description:Unique identifier for this note to avoid duplicate entries.
is_archived: type: boolean description:If set to true, this will archive the note in the Kraken account support site page.
is_pinned: type: boolean description:If set to true, this will pin the note to the top of the Kraken account support site page.
unpin_at: type: string format: date-time description:When the pinned note should be unpinned. Has to be later
than created_at if this is provided. Has no effect if the
note is not pinned.
The S3 relative path to the document to be attached to the note.
x-validators: - name: Validate path exists in file store description: Validate that the given path corresponds to a file that has previously been uploaded to the migration file store. Note that this validation is disabled by default and can be enabled using the relevant feature flag. possible_errors: - path_does_not_exist_in_file_store required: - document_path OriginAccount: type: object properties: account_billing_options: allOf: - $ref: '#/components/schemas/AccountBillingOptions' description:Object containing account billing options for an account.
account_campaigns: type: array items: $ref: '#/components/schemas/AccountCampaign' description:List of campaigns to be added to an account. Campaigns allow accounts to be grouped, essentially tagging them for easy identification.
x-validators: - name: Validate account campaigns have consistent identifier description: Validate that account campaigns are consistently identified by either name or slug. possible_errors: - inconsistent_campaign_identifiers - name: Validate account campaign names are unique description: Validate that the account campaign names provided in the payload are unique. possible_errors: - duplicate_account_campaigns account_contracts: type: array items: $ref: '#/components/schemas/AccountContract' description:List of account contracts associated with the account.
x-validators: - name: Validate no duplicate contract identifiers description: Validates that no duplicate contract identifiers have been provided in the payload. possible_errors: - duplicate_contract_identifiers account_type: enum: - DOMESTIC - BUSINESS - MANAGED - PORTFOLIO_LEAD - DOMESTIC_VACANT - BUSINESS_VACANT - DOMESTIC_OCCUPIER - BUSINESS_OCCUPIER - SYSTEM - DOMESTIC_THIRD_PARTY_BILLED - BUSINESS_THIRD_PARTY_BILLED type: string x-spec-enum-id: e661470f8d62795b description:The type of account to be created.
x-enum-descriptions: DOMESTIC: Domestic BUSINESS: Business MANAGED: Managed PORTFOLIO_LEAD: Portfolio Lead DOMESTIC_VACANT: Domestic Vacant BUSINESS_VACANT: Business Vacant DOMESTIC_OCCUPIER: Domestic Occupier BUSINESS_OCCUPIER: Business Occupier SYSTEM: System DOMESTIC_THIRD_PARTY_BILLED: Domestic Third Party Billed BUSINESS_THIRD_PARTY_BILLED: Business Third Party Billed affiliate_subdomain: type: string nullable: true description: 'Optional subdomain of the affiliate link to associate with the account.
If provided, the matching AffiliateLink record will be
looked up case-insensitively and set on the account and account application.
The affiliate organisation''s sales_channel and sales_subchannel
will override any values supplied in the payload.
If the subdomain does not match any known affiliate link, the import will continue and a warning will be logged.
' billing_address: allOf: - $ref: '#/components/schemas/AusBillingAddress' description:The billing address for the account. The payload can specify
an address in this format or use the the billing_address1
etc fields, but not both.
Account billing address line 1.
maxLength: 512 billing_address2: type: string description:Account billing address line 2.
maxLength: 512 billing_address3: type: string description:Account billing address line 3.
maxLength: 512 billing_address4: type: string description:Account billing address line 4.
maxLength: 512 billing_address5: type: string description:Account billing address line 5.
maxLength: 512 billing_attention_of: type: string description:Extra recipient information for when this account represents a large organisation (e.g. "The Bursar" or "Accounts Payable"). If provided, it will be used for producing statements.
maxLength: 256 billing_customer_reference: type: string description:Customer-specified reference to use in communications (e.g. "Energy supply"). If provided, it will be used for producing statements.
maxLength: 256 billing_delivery_point_identifier: type: string description:The postal delivery point identifier for this address. For GB addresses this will be the postcode (without the space) and Delivery Point Suffix, for AU addresses the Delivery Point Identifier, and for US addresses the full 11-digit Delivery Point code (without hyphens).
maxLength: 11 x-validators: - name: Validate delivery point identifier description: Validate that the delivery point identifier contains only capital letters and numbers. possible_errors: - invalid_delivery_point_identifier billing_email: type: string format: email nullable: true description:If populated the bill/invoice communications will be emailed to this email address.
maxLength: 254 x-validators: - name: Validate email is not internal description: Validates that a customer email address does not use an internal Kraken handler. For example, if an instance of Kraken has registeredinfo@kraken.info as an internal email address, then the
customer email address must not match this.
possible_errors:
- internal_email_address
- name: Validate 'blackhole+' is not in billing email
description: Validates that billing email does not contain 'blackhole+'.
possible_errors:
- billing_email_not_valid
billing_name:
type: string
description: Optional billing name to be used on the account. If provided, it will be used for producing statements. If not, the customer names will be used.
maxLength: 510 billing_postcode: type: string description:Account billing address postcode.
maxLength: 512 x-validators: - name: Validate and normalize postcode description: Validate the postal code and normalize it to a standard format. possible_errors: - invalid_postcode billing_sub_name: type: string description:Optional billing sub-name to be used on the account. Use this field if the name needs to be split into multiple lines. If provided, it will be used for producing statements.
maxLength: 256 business: allOf: - $ref: '#/components/schemas/Business' description:Information about the business this account is related to.
business_type: enum: - SOLE_TRADER - LTD - PTY_LTD - PARTNERSHIP - CHARITY - PLC - LLP - TRUST - TRADING_AS - GOVERNMENT - NON_PROFIT - CHURCH - HOMEOWNER_ASSOCIATION - TBD - '' type: string x-spec-enum-id: 8cd3a9d2ed8d5378 description:The type of business this account related to. The business type can only be provided for business accounts.
x-enum-descriptions: SOLE_TRADER: Sole trader LTD: Limited PTY_LTD: Proprietary Limited Company PARTNERSHIP: Partnership CHARITY: Charity PLC: Public limited company LLP: Limited liability partnership TRUST: Trust TRADING_AS: Trading as GOVERNMENT: Government NON_PROFIT: Non profit CHURCH: Church HOMEOWNER_ASSOCIATION: Homeowner association TBD: To be determined '': '' deprecated: true x-use-instead: business.business_type communication_preference: enum: - ONLINE - PRINT type: string x-spec-enum-id: 888267663b9129b6 default: ONLINE description:The communication preference for this account. Defaults to ONLINE.
x-enum-descriptions: ONLINE: Online PRINT: Print company_number: type: string description:The company number for a business account.
deprecated: true x-use-instead: business.company_number maxLength: 100 x-validators: - name: Validate company number description: Validate the company number and standardize its format. possible_errors: - invalid_company_number complaints: type: array items: $ref: '#/components/schemas/Complaint' description:List of complaints associated with this account that have not yet been resolved.
consents: type: array items: $ref: '#/components/schemas/AccountConsent' description:A list of what this account has and has not consented to. This field should be used for consents that apply to the entire account not just the customers linked to this account.
x-validators: - name: Validate consents are only provided if enabled description: Validate consents are only provided if enabled within this Kraken. possible_errors: - field_not_enabled - name: Validate that each child has unique values for thetype
field
description: Validate that each child has unique values for the type
field.
possible_errors:
- children_with_duplicate_values
contribution_agreements:
type: array
items:
$ref: '#/components/schemas/ContributionSchemeAgreement'
description: List of contribution agreements on the account. A contribution agreement is an agreement by an account to contribute a fixed sum on a regular cadence.
x-validators: - name: Validate contribution agreements do not overlap description: Validate that no contribution agreements of the same scheme overlap with each other. possible_errors: - overlapping_contribution_agreements current_statement_transactions: type: array items: $ref: '#/components/schemas/AusTransaction' description:Transactions that are meant to be billed by Kraken.
These could be the transactions that took place after the last statement was issued or all of the transactions that have taken place since the account was created if it has never been billed.
Their value, plus the last_statement_balance,
must add up to the transfer_balance.
List of the account customers associated with the account.
x-validators: - name: Validate that the customers provided do not have the same value for any unique detail namespaces description: Validate that the customers provided do not have the same value for any of the following unique detail namespaces external_user_id possible_errors: - repeated_values_for_unique_customer_detail_namespace date_of_sale: type: string format: date description:Date the account was signed up.
debt: allOf: - $ref: '#/components/schemas/Debt' description:Object containing information about debt on the account.
deprecated: true x-use-instead: debts debts: type: array items: $ref: '#/components/schemas/Debt' description:List of debts on the account.
deposit_agreements: type: array items: $ref: '#/components/schemas/DepositAgreement' description:List of deposit agreements on the account. Currently only one deposit agreement can be migrated onto an account. Deposit agreements track how much we expect a customer to pay as a deposit and when they agreed to pay that deposit.
x-validators: - name: Validate deposit agreements description: Validate the maximum number of deposit agreements possible_errors: - multiple_active_deposits_not_allowed document_accessibility: enum: - LARGE_PRINT - BRAILLE - SPOKEN - '' type: string x-spec-enum-id: 524112fb2f6615a6 default: '' description:The document accessibility preferences for this account.
x-enum-descriptions: LARGE_PRINT: Large print BRAILLE: Braille SPOKEN: Spoken '': '' dunning_path: allOf: - $ref: '#/components/schemas/DunningPath' description:Object containing information about which dunning path this account should go onto.
x-validators: - name: Validate dunning path supported description: Validate that the dunning path passed in the payload is available for this Kraken instance. possible_errors: - dunning_path_not_found events: type: array items: $ref: '#/components/schemas/AusAccountEvent' description:List of events to be associated with this account.
external_account_number: type: string description:Account number in the source system that the account is migrating from.
maxLength: 128 hardship_agreements: type: array items: $ref: '#/components/schemas/HardshipAgreement' description:List of hardship agreements with the account. Accepts at most only one entry.
maxItems: 1 historical_statement_transactions: type: array items: $ref: '#/components/schemas/AusTransaction' description:Transactions that are not meant to be billed by Kraken.
If these are provided then they will appear on the initial closed statement on the account.
The sum of historic transactions
must equal the last_statement_balance if it is provided.
If
a value for last_statement_balance is not provided the it
will be assumed this value is zero and the payload will likely fail validation.
The import supplier code that the account will be imported in to. The import supplier code will be provided to you.
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 is_managed: type: boolean nullable: true description:Whether the account is a managed account. This option is not available for all instances of Kraken. Defaults to false.
deprecated: true x-use-instead: account_type is_portfolio_lead: type: boolean nullable: true description:Whether the account is a portfolio lead account. If this
flag is selected, the payload MUST include either last_billed_to_date
or last_statement_issue_date, and MUST NOT include any contracts
or supply points. Additionally, the import config flags MUST include skip_meter_point_creation.
It should be set to true. Talk to the tech team if you want to use this
option.
The language preference for comms for this account.
x-enum-descriptions: en-gb: English (GB) en-us: English (US) es-419: Spanish (Latin America) fr-fr: French last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the account.
For some markets this value can be provided at the supply point level if supply points have been billed to different points in time.
If the account has never been billed before, this should be the supply start date for the account and Kraken will bill from then.
This value is also used
for the last_statement_closing_date and last_statement_issue_date
where these values are not provided.
Date in the past when the last payment review took place.
If this is provided then payment_adequacy_changes must not
be included in the payload. Providing this date will create a single payment
adequacy change against the account for this date.
The balance of the latest statement issued by the previous supplier. Credit balances must be positive, debit balances must be negative.
deprecated: true x-use-instead: ledgers.last_statement_balance last_statement_closing_date: type: string format: date description:Date when the last statement was closed.
Kraken will create an initial closed statement for all historical transactions, and will use this value for its closing date. This also means that Kraken will bill any transactions (but not necessarily consumption) from the day after this date.
For backwards compatibility,
when this value is omitted the importer will tolerate either current or
historical transactions (but not both!) being on the last_billed_to_date
and adjust appropriately. However, if last_statement_closing_date
is supplied, historical transactions can be on or before this date, but
any current transactions must be strictly after this date.
Date when the last statement was issued. If this date is
not given then the last_statement_closing_date will be used
as the issue date of the initial statement.
The list of ledger records linked to the account.
metadata: type: array items: $ref: '#/components/schemas/Metadata' description:An array of key value pairs for storing generic metadata relating to an account. Metadata is externally focused and is not used for any logic within Kraken. Its main motivation is to provide a simple persistence mechanism for clients building their own integrations with Kraken. If a customer already exists in Kraken with existing metadata for the provided key, the value associated with this key will be overwritten.
next_bill_due_date: type: string format: date nullable: true description:Date to determine the current open account statement's to date.
notes: type: array items: $ref: '#/components/schemas/Note' description:List of notes linked to the account. A note body
or document_paths must be provided.
The operations team name that this account should be assigned to on creation.
x-validators: - name: Validate that an operations team exists description: Validate that an operations team exists with the name provided. possible_errors: - operations_team_name_does_not_exist partner_file_attachments: type: array items: $ref: '#/components/schemas/PartnerFileAttachment' description:The list of S3 paths for documents to be attached to the Partner Organisation. These files must already be uploaded to S3
partner_organisations: type: array items: $ref: '#/components/schemas/PartnerOrganisation' description:List of partner organisations.
payment_adequacy_changes: type: array items: $ref: '#/components/schemas/PaymentAdequacyChange' description:List of completed payment adequacy reviews for this account.
If this is provided then the last_payment_review_date must
not be provided.
List of payment instructions to create for the account.
x-validators: - name: Validate uniformity of ledger code in payment instructions description: Validate that either all payment instructions have a ledger code or none have it. possible_errors: - payment_instructions_ledger_code_uniformity_failed - name: Validate payment instructions description: Validates that only one open-ended payment instruction per type and there is no overlaps periods between payment instructions with the same type. possible_errors: - invalid_payment_instruction payment_plans: type: array items: $ref: '#/components/schemas/AusPaymentPlan' description:List of payment plans agreed with the customer.
payment_preferences: type: array items: $ref: '#/components/schemas/PaymentPreference' description:List of payment preferences to create for the account.
payment_promises: type: array items: $ref: '#/components/schemas/PaymentPromise' description:List of payments the customer has promised to pay at a future date.
payment_schedules: type: array items: $ref: '#/components/schemas/PaymentSchedule' description:List of payment schedules linked to the account.
x-validators: - name: Validate uniformity of ledger code in payment schedules description: Validate that either all payment schedules have a ledger code or none have it. possible_errors: - payment_schedules_ledger_code_uniformity_failed - name: Validate that only one open-ended payment schedule is allowed within each ledger_code group description: Validate that within each ledger_code group, only one open-ended payment schedule that is not a debt repayment plan is provided in the payload. possible_errors: - multiple_open_ended_payment_schedules - name: Validate that payment schedules within each ledger_code group do not start on the same date description: Validate that multiple payment schedules within each ledger_code group, which are not debt repayment plans, do not start on the same date. possible_errors: - payment_schedule_date_overlaps - name: Validate that payment schedules do not overlap within each ledger_code group description: Validate that within each ledger_code group, payment schedules that are not debt repayment plans do not have overlapping dates. possible_errors: - payment_schedule_date_overlaps - name: Validate no gaps in future dated payment schedules description: Validate that where payment schedules in the payload start in the future, there are no gaps between those and the current schedule. For past payment schedules we don't care if there are gaps as these have no impact on payments going forward. This only applies to non-debt repayment plans. possible_errors: - payment_schedule_date_gaps payment_terms: allOf: - $ref: '#/components/schemas/AusPaymentTerms' description:Overrides the default payment terms created by Kraken.
portfolio: allOf: - $ref: '#/components/schemas/Portfolio' nullable: true description:Information about the portfolio the account belongs to.
references: type: array items: $ref: '#/components/schemas/AccountReference' description:List of account references for the account. An example may be a secondary account number.
remotely_communicating_meter_opt_out_reason: enum: - null - RADIATION_OR_HEALTH_CONCERNS - PRIVACY_OR_SECURITY_CONCERNS - AESTHETICS - RLED_HOLD_CUSTOMER_RELATED - RLED_HOLD_ACCESS_RELATED - '' x-spec-enum-id: ac2526fc28af62c1 description:Remotely communicating meter opt out reason.
x-enum-descriptions: None: None RADIATION_OR_HEALTH_CONCERNS: Radiation or health concerns PRIVACY_OR_SECURITY_CONCERNS: Privacy or security concerns AESTHETICS: Aesthetics RLED_HOLD_CUSTOMER_RELATED: RLED HOLD - Customer Related RLED_HOLD_ACCESS_RELATED: RLED HOLD - Access Related '': '' sales_channel: enum: - DIRECT - PRICE_COMPARISON - TELESALES - DIGI_TELESALES - EVENTS - FIELD_SALES - AGGREGATOR - PARTNERSHIPS - NEW_TENANT - MOVE_IN - WORKPLACE_POP_UP - BROKER - PARENT_POWER - PEOPLE_POWER - GIFT_OF_KIT - HIGH_REFERRER - SUPPLIER_OF_LAST_RESORT - ACQUISITION - WORKS_WITH_OCTOPUS - LANDLORD - DEBT_COLLECTION_AGENCY - '' type: string x-spec-enum-id: f4ccf4dcda60c174 default: DIRECT description: "The sales channel to set on account when it's created.
A default sales_channel can also be set on the import supplier
- this is done by a member of the Kraken tech team when setting up an
import supplier. These are the rules around how the sales channel gets
assigned:
sales_channel
value in the payload is not provided or is an empty string.sales channel is set on the import supplier and
the import supplier is set to override the value in the payload, then
we default to using ACQUISITION as the sales_channel.Free text to be used as sales information of the account.
If
the import supplier is set to override the value in the payload, then
the import supplier name will be used as the value for the sales_subchannel.
List of historical statements for the account.
supply_addresses: type: array items: $ref: '#/components/schemas/AusRichSupplyAddress' description:List of active supply addresses linked to the account.
x-validators: - name: Validate no duplicate meter points on different supply addresses description: Validate that there are no duplicate meter points (i.e. meter points with the same MPxN) across different supply addresses. possible_errors: - duplicate_meter_points_on_different_supply_addresses_provided - name: Validate that supply points are provided correctly based on the value of the 'Skip supply point creation' import config setting. description: Validate that if the value for 'Skip supply point creation' is True then supply points have not been provided, and if False that they have. possible_errors: - supply_points_provided_while_skip_supply_point_creation_enabled - supply_points_not_provided_while_skip_supply_point_creation_disabled - name: Validate that supply addresses are not provided if 'Skip property creation' is True description: Validate that if the value for 'Skip property creation' is True then supply addresses have not been provided possible_errors: - supply_addresses_provided_while_skip_property_creation_enabled - name: Validate no duplicate supply addresses description: Validate there are no duplicate supply addresses provided for an account payload. This uses thesupply_address1,
supply_address2 and supply_postcode fields
of the address to identify uniqueness.
possible_errors:
- duplicate_supply_addresses_found
- name: Validate meter exchange readings provided
description: Validate that any exchanged meters provided have a reading
on the date it was removed and have transfer readings.
possible_errors:
- no_reading_on_removed_on
- no_transfer_reading_on_exchanged_meter
- name: Validate all transfer reading dates match last billed to date
description: Validate that all transfer reading dates match the last billed
to date. The last billed to date can be either at the account level
or the at the meter/register level. Last billed to dates at the meter/register
level take precedent over the account level date if both are provided.
possible_errors:
- transfer_reading_dates_must_match_last_billed_to_date
- name: Validate no loss in progress at supply address
description: Validate that there is no loss in progress marked for a supply
point for a supply address. A loss will be deemed in progress if a future-dated
supply_end_date is provided on the supply point.
possible_errors:
- loss_in_progress
- name: Validate no duplicate supply addresses
description: Validate there are no duplicate supply addresses provided
for an account payload. This uses the supply_address1,
supply_address2 and supply_postcode fields
of the address to identify uniqueness.
possible_errors:
- duplicate_supply_addresses_found
- name: Validate number of unmetered service per type
description: Validates that only one unmetered service of each mpxn type
per account is supported.
possible_errors:
- too_many_supply_addresses_for_unmetered_appliance_type
- name: Validate one reading route
description: Validates that all reading route values for the account should
match.
possible_errors:
- reading_route_values_should_match
- name: Validate only one life support address provided
description: Validates that only one life support address provided in
payload.
possible_errors:
- life_support_for_more_than_one_address
- name: Validate that there are no billed readings after the last_billed_to_date
description: Validate that there are no billed readings after the supply
point last_billed_to_date, if such a date is provided.
possible_errors:
- billed_reading_after_last_billed_to_date
transfer_balance:
type: string
format: decimal
pattern: ^-?\d{0,10}(?:\.\d{0,10})?$
description: The balance that will be transferred over to Kraken. Credit balances must be positive, debit balances must be negative.
unknown_occupier: type: boolean nullable: true description:Whether the account belongs to an unknown occupier. If true then no customers should be provided in the payload.
required: - import_supplier x-validators: - name: Validate account type is valid description: Validate that only one account type is specified in the payload. possible_errors: - multiple_account_types_selected - name: Derive occupier billing address from supply address description: When an occupier account has no explicit billing address and exactly one supply address is provided, copy the supply address into the billing address fields. possible_errors: [] - name: Validate billing address fields description: If a legacy billing address is provided, validate that it is in the correct format. possible_errors: - invalid_address - name: Validate life support contact user email description: Validates that life support contact user email matches with customers email. When life supportpreferred_contact_method is EMAIL_ADDRESS,
it requires customer with email. When it is PHONE, it requires
customer with mobile or landline.
possible_errors:
- missing_contact_user_email_or_phone
- name: Validate metadata
description: Validate that metadata, which is a list of key value pairs, does
not contain duplicate keys.
possible_errors:
- metadata_has_duplicate_keys
- name: Validate unique property external identifiers
description: Ensures that property_external_identifier is not
repeated across supply_addresses and properties.
possible_errors:
- duplicate_property_external_identifiers
- name: Validate managed account type is allowed
description: Validate that this instance of Kraken allows managed account
types.
possible_errors:
- managed_accounts_are_not_allowed
- name: Validate only portfolio lead has portfolio setting
description: Validates that if portfolio settings are provided, then the account
is marked as the portfolio lead.
possible_errors:
- portfolio_settings_included_when_not_lead
- name: Validate no customers for unknown occupier
description: Validate that no customers are provided for an unknown occupier.
possible_errors:
- customer_with_unknown_occupier
- name: Validate that a customer given name is provided for business accounts
description: Validate that a given name is provided for all customers on a
business account. Note that this validation only applies if Kraken is configured
to send registration flows for this import supplier.
possible_errors:
- customer_given_name_required
- name: Validate portfolio reference provided correctly
description: Validate that a portfolio reference is provided if portfolio
settings have been provided and that a portfolio reference is not provided
if the import supplier is set to create new portfolios.
possible_errors:
- portfolio_references_missing
- portfolio_references_provided
- name: Validate billing address style
description: Validate that a legacy billing address (billing_address1
etc.) and new-style billing address (billing_address object)
are not both provided.
possible_errors:
- billing_address_new_style_and_legacy
- name: Validate agreements are consecutive per supply point
description: Validate that the agreements provided in the payload are consecutive
per supply point i.e. there are no gaps or overlaps. The exception to this
is for agreements provided before the current supply period for the supply
point. Agreements provided before the supply_start_date are
allowed gaps since they represent historic periods of supply and cannot
be used for billing in Kraken.
possible_errors:
- gaps_or_overlaps_in_agreement_dates
- name: Validate supply charge line items covered by a single agreement
description: Validate each supply charge has a single agreement with matching
product code that covers the period defined by it's line items minimum start_date
to maximum end_date.
possible_errors:
- supply_charge_line_items_not_covered_by_single_agreement
- name: Validate historical statement period end must not be in the future
description: Ensures that the historical statement period end date (last_statement_closing_date
or latest transaction_date) is not set in the future.
possible_errors:
- historical_statement_period_end_in_future
- name: Validate that terms with supply type matches a supply point supply type
description: Validate that for terms containing a supply_type
field that there is a supply point in the payload with a matching supply_type.
possible_errors:
- term_supply_type_mismatch
- name: Validate that supply addresses and supply points are provided if account
contracts are provided
description: Validate that if account_contracts have been provided
that a supply address with supply points has been provided under supply_addresses
possible_errors:
- account_contracts_without_supply_points
- name: Validate historical statement billing document identifier presence
description: Ensure that billing document identifiers are only provided for
historical statement transactions and only when the relevant feature flag
is enabled.
possible_errors:
- historical_statement_billing_document_identifier_missing
- historical_statement_billing_document_identifier_not_allowed_when_feature_flag_disabled
- name: Validate current statement transactions do not provide billing_document_identifier
description: Validate that none of the current statement transactions include
a billing_document_identifier, as this field is only applicable
to historical statement transactions.
possible_errors:
- billing_document_identifier_not_allowed_for_current_statement_transactions
- name: Validate historical statement transaction billing document identifier
description: Ensure that the billing document identifier is the same for all
historical statement transactions.
possible_errors:
- historical_statement_billing_document_identifier_mismatch
- name: Validate that contract terms' product codes are part of supply agreements
description: Ensure that any contract terms with product references have corresponding
products in supply addresses.
possible_errors:
- contract_term_product_code_not_in_agreements
- name: Validate that business is provided if enforcing business contracts
description: Validate that the business field is provided if enforce_business_contracts_exist
is set to True on the import supplier configuration.
possible_errors:
- business_field_required
- name: Validate agreement business contract identifier is declared
description: Validates that an agreement's business_contract_identifier,
if provided, is one of the account's declared business_contract_identifiers.
possible_errors:
- agreement_business_contract_identifier_not_declared
- name: Validate that the sum of ledger balances equals the transfer balance
description: Validate that the sum of all ledger_balance provided
for each ledger in ledgers equals the account-level transfer_balance.
possible_errors:
- ledger_balances_not_equal_to_transfer_balance
- name: Validate business user info against customer info
description: Validates that business user information matches the corresponding
customer information for basic fields.
possible_errors:
- customer_details_and_user_details_both_provided
- name: Validate payment preference ledger_identifier
description: Ensure that the ledger_identifier provided has an
equivalent ledger object with the same ledger_identifier
.
possible_errors:
- invalid_payment_preference_ledger_identifier
- name: Validate that referenced ledgers are unique in payment preferences
description: Ensure that each ledger is referenced in at most one payment
preference.
possible_errors:
- duplicate_ledger_in_payment_preferences
- name: Validate that valid instruction_identifier provided for ACTIVE_NEW
payment preference
description: Ensure that ACTIVE_NEW payment preference has instruction_identifier
from payment_instructions object.
possible_errors:
- active_new_payment_preference_invalid_instruction_identifier
- name: Validate that the transactions for a voucher do not exceed its value
description: Validate that the sum of all transaction values for a voucher
is not greater than the value of the voucher.
possible_errors:
- voucher_transactions_sum_greater_than_voucher_value
- name: Validate that each voucher charge transaction id has a matching transaction
id within a transaction of type CHARGE
description: Validate that each voucher charge_transaction_id
has a matching transaction_id within a transaction of type
CHARGE in current_statement_transactions, historical_statement_transactions
or historical_billing_documents.
possible_errors:
- voucher_charge_transaction_id_not_found
- name: Validate that each voucher redemption credit transaction id has a matching
transaction id within a transaction of type CREDIT
description: Validate that every credit_transaction_id in all
voucher_redemptions in every voucher has a matching
transaction_id within a transaction of type CREDIT
in current_statement_transactions, historical_statement_transactions
or historical_billing_documents.
possible_errors:
- voucher_redemption_credit_transaction_id_not_found
- name: Validate parent property references exist
description: Validates that all parent_property_reference values
in supply_addresses and properties correspond
to a property_external_identifier in the payload. This ensures
the property hierarchy is valid.
possible_errors:
- parent_property_reference_not_found
- name: Validate that a portfolio lead account has no supply address since it
makes no sense for it to have one
description: Validate that a portfolio lead account has no supply address.
possible_errors:
- portfolio_lead_has_a_supply_address
- name: Validate that a system account has no supply address
description: Validate that a system account has no supply address
possible_errors:
- system_account_has_a_supply_address
- name: Validate auto allocation of operations team
description: Validate that operations_team_name is provided if auto allocation
is not configured.
possible_errors:
- operations_team_provided_when_using_auto_allocation
- operations_team_should_be_provided
- name: Validate that Kraken can calculate when to start billing the account
description: Validate that Kraken can calculate when to start billing the
account. This is determined based on the existence of last billed to date,
last statement closing date, and agreements.
possible_errors:
- cannot_determine_responsible_for_billing_from_date
- name: Validate that a last billed to date has been provided correctly
description: Validate that last billed to date has been provided for electricity,
gas and water meters. This validation does not apply to meters that have
been exchanged where the new meter has already been billed. This validation
is skipped if the account has not yet been billed and therefore has no historical
statement data.
possible_errors:
- last_billed_to_date_not_found
- name: Validate that if historical statement transaction are provided then
so is a last statement closing date or last billed to date
description: Validate that if historical_statement_transactions
are provided in the payload then either a last_statement_closing_date
or last_billed_to_date is also provided. If a last_statement_closing_date
is not provided then the earliest last_billed_to_date on the
account or supply points is used to determine when the last statement should
have closed.
possible_errors:
- historical_statement_transactions_without_last_statement_closing_date_or_last_billed_to_date
- name: Validate unique transaction IDs
description: Validate that all transaction IDs provided are unique.
possible_errors:
- duplicate_transaction_ids
- missing_transaction_id
- name: Validate that current statement transactions are not before the current
statement opening date
description: Validate that all current_statement_transactions,
if provided, are not before the current statement opening date. This date
is one day after the last statement closing date if provided, otherwise
it is based on the last billed to date.
possible_errors:
- current_statement_transaction_before_current_statement_opening_date
- name: Validate current statement transactions are not before last_billed_to_date
description: Validate that there are no current statement transactions that
occurred before the last_billed_to_date (this includes the
supply point-level last_billed_to_date, as well as any meter-
or register-level dates where applicable).
possible_errors:
- current_statement_transaction_before_last_billed_to_date
- name: Validate current statement transactions are after historical statement
transactions
description: Validate that all current statement transactions are dated after
all current historical statement transactions.
possible_errors:
- historical_statement_transaction_after_current_statement_transaction
- name: Validate that there are no historical statement transactions after the
last statement closing date
description: Validate that if historical_statement_transactions
are provided then none are later than the last_statement_closing_date.
If a last_statement_closing_date is not provided then this
is inferred from the earliest last_billed_to_date on the account
or supply points.
possible_errors:
- historical_statement_transaction_after_last_statement_closing_date
- name: Validate that the last statement issue date is on or after the last
statement closing date
description: Validate that the last_statement_issue_date, if
given, is on or after the last_statement_closing_date given.
If a last_statement_closing_date is not provided then this
is inferred from the earliest last_billed_to_date on the account
or supply points.
possible_errors:
- last_statement_issued_before_closing_date
- name: Validate last_statement_balance plus/minus current_statement_transactions
equal transfer_balance
description: Validate that the sum of current_statement_transactions
plus the last_statement_balance is equal to the transfer_balance.
For example, if a last_statement_balance of 100 is provided,
and the current_statement_transactions include one payment
of 50, then the expected transfer_balance would 150. Transactions
that are payments or credits add to the balance. Transactions that are repayments
or charges subtract from the balance.
possible_errors:
- balance_mismatch_on_transfer_balance
- name: Validate that the summed historical statement transactions match the
last statement balance
description: Validate that the sum of the historical_statement_transactions
equals the last_statement_balance.
possible_errors:
- historical_statement_transactions_balance_mismatch
- name: Validate no duplicated ledgers are provided
description: Validate no duplicated ledger codes are in `ledgers` section.
possible_errors:
- duplicate_ledger_entries_found
- name: Validate identifiers are unique in ledgers
description: Validate identifier is not declared twice in ledgers.
possible_errors:
- duplicate_identifiers_entries_found
- name: Validate ledger identifiers are known
description: Validate ledger identifiers are among supply point identifiers.
possible_errors:
- unknown_ledger_identifiers
- name: Validate payment adequacy changes or last payment review date not both
description: Validate that only one of payment_adequacy_changes
or last_payment_review_date is provided in the payload.
possible_errors:
- payment_adequacy_changes_and_last_payment_review_date_provided
- name: Validate no more than one property for unknown occupier
description: Validate that no more than one property is provided for an unknown
occupier account.
possible_errors:
- occupier_account_with_multiple_supply_addresses
- name: Validate no direct debit reference for the occupier
description: Validate that if any customer is identified as an occupier, then
no dd_reference is provided for the account. If a dd_reference
is provided, then it implies that there is a known occupier for the account.
possible_errors:
- dd_reference_for_occupier_account
- name: Validate no unbilled period on former supply addresses
description: Validate that if a customer is no longer at the given supply
address they have been fully billed. This check is performed if we are importing
supply address history.
possible_errors:
- unbilled_former_supply_address
- name: Validate no agreements start before the supply start date
description: Validate that no agreements start before the supply start date
of the associated meter point.
possible_errors:
- agreement_starting_before_meter_point_ssd
- name: Validate debt and debts
description: Validates that both debt and debts are not specified in the payload.
possible_errors:
- debt_and_debts_are_defined
- name: Validate at least one billable meter point is provided
description: Validate that account must have at least one billable meter point
unless import config skip_meter_point_creation is ON or account is a portfolio
lead, or account is an unmetered service, or account is an inactive account.
possible_errors:
- no_supply_point_on_supply
- name: Validate billing address style
description: Validate that a legacy billing address (billing_address1
etc.) and new-style billing address (billing_address object)
are not both provided.
possible_errors:
- billing_address_new_style_and_legacy
- name: Validate business type not provided for domestic accounts
description: Validate that a business type is not provided for domestic accounts.
possible_errors:
- business_fields_provided_for_domestic_accounts
- name: Validate all contracts in the payload cover last billed due date
description: Validate that at least one contract for a supply point should
cover last billed due date.
possible_errors:
- no_agreement_covering_last_billed_to_date
- name: Validate that blackhole email addresses are paired with 'online' communication
prefernence
description: Validate that the communication preference 'online' when a blackhole
email address is provided.
possible_errors:
- blackhole_email_with_online_comms
- name: Validate customer family name
description: Validate the family name is provided for all customers on a domestic
account.
possible_errors:
- customer_family_name_required
- name: Validate portfolio lead communication preference
description: Validates that portfolio lead is using ONLINE communication preference.
possible_errors:
- invalid_portfolio_lead_communication_preference
- name: Validate all billable meter points are covered by agreements in the
payload
description: Validate that agreements have been provided for all billable
meter points and vice versa for the period covered by Kraken from a billing
perspective. A billable meter point is one that has an open-ended or future
dated supply end date.
possible_errors:
- meter_point_with_no_agreement
- meterpoint_with_agreement_not_on_supply
- name: Validate transfer readings exist on active gas meters
description: Validate that each active gas meter has a single transfer reading
provided.
possible_errors:
- active_gas_meter_with_multiple_transfer_readings
- active_gas_meter_without_transfer_reading
- reading_meter_fully_billed
- name: Validate transfer readings exist on active electricity registers
description: Validate that each active electricity meter register has a single
transfer reading provided.
possible_errors:
- missing_transfer_reading_for_register
- multiple_transfer_readings_for_register
- name: Validate concession card and concession credids paid current year
description: Validates that only one customer with concession card and concession
credids paid current year provided; customer with concession card needs
to match with customer with concession credits paid current year.
possible_errors:
- concession_cards_too_many_users
- concession_credits_and_cards_too_many_users
- concession_credits_paid_too_many_users
- name: Validate payment terms apply to portfolio
description: Validate that portfolio lead account must have apply_to_portfolio
set to true and only portfolio lead account can set apply_to_portfolio
to true.
possible_errors:
- invalid_apply_to_portfolio
- name: Validate that dd_reference and payment_instructions
are not both provided
description: Validate that dd_reference and payment_instructions are not
both provided.
possible_errors:
- fields_are_mutually_exclusive
- name: Validate manually defined eligibility periods
description: Validates that manually defined rebate periods cannot be added
without a primary address and some manually defined rebate periods need
a concession card as well.
possible_errors:
- manually_defined_eligibility_periods_without_concession_card
- manually_defined_rebate_periods_without_primary_address
- name: Validate primary place of residence without concession card or credits
paid or manually defined eligibility periods
description: Validates that only customer with concession card, credits paid
or manually defined eligibility periods can have a primary place of residence.
possible_errors:
- primary_place_of_residence_without_concession_card_or_credits_paid_or_rebate
- name: Validate concession cards or credits paid without primary place of residence
description: Validates that concession cards cannot be loaded without a primary
address and concession credits paid for the year cannot be recorded without
a primary address except it is proprietor account.
possible_errors:
- concession_cards_or_credits_paid_without_primary_place_of_residence
OriginLedgerRecordWithTransactions:
type: object
properties:
current_statement_transactions:
type: array
items:
$ref: '#/components/schemas/OriginTransaction'
description: Transactions that are meant to be billed by Kraken that are specific to the given ledger.
These could be the transactions that took place after the last statement was issued or all of the transactions that have taken place since the account was created if it has never been billed.
Their value, plus the last_statement_balance,
must add up to the ledger_balance.
Transactions that are not meant to be billed by Kraken that are specific to the given ledger.
If these are provided then they will appear on the initial closed statement on the account.
The
sum of historic transactions must equal the last_statement_balance
if it is provided.
If a value for last_statement_balance
is not provided the it will be assumed this value is zero and the payload
will likely fail validation.
A list of unique supply point identifiers (e.g. MPxN) for supply points that are associated with this ledger.
last_statement_balance: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The balance of the latest statement issued by the previous supplier. Credit balances must be positive, debit balances must be negative. 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.
last_statement_closing_date: type: string format: date description:Date when the last statement was closed.
Kraken will create an initial closed statement for all historical transactions, and will use this value for its closing date. This also means that Kraken will bill any transactions (but not necessarily consumption) from the day after this date.
If last_statement_closing_date
is supplied, historical transactions can be on or before this date, but
any current transactions must be strictly after this date.
Date when the last statement was issued. If this date is
not given then the last_statement_closing_date will be used
as the issue date of the initial statement.
The balance of the ledger. The sum of ledger_balance
of all ledgers be equal to the account-level transfer_balance.
Credit balances must be positive, debit balances must be negative. 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.
The code of the relevant Kraken ledger type.
x-validators: - name: Validate ledger code description: Validates that the ledger code provided in the payload matches an available ledger type in Kraken. possible_errors: - ledger_code_does_not_exist ledger_identifier: type: string description:A unique string value that helps to refer a ledger object across the payload.
x-validators: - name: Validate that current statement transactions are after the last statement closing date description: Validate that allcurrent_statement_transactions,
if provided, are after the last_statement_closing_date, if
this date is given.
possible_errors:
- current_statement_transaction_before_last_statement_closing_date
- name: Validate last_statement_balance plus/minus current_statement_transactions
equal ledger_balance
description: Validate that the sum of current_statement_transactions
plus the last_statement_balance is equal to the ledger_balance.
For example, if a last_statement_balance of 100 is provided,
and the current_statement_transactions include one payment
of 50, then the expected ledger_balance would 150. Transactions
that are payments or credits add to the balance. Transactions that are repayments
or charges subtract from the balance.
possible_errors:
- balance_mismatch_on_ledger_balance
- name: Validate that there are no current statement transactions for unbillable
ledger
description: Validate that transactions for ledgers that will never issue
any bills are only in historical_statement_transactions.
possible_errors:
- unbillable_ledger_transactions_in_current_statement_transactions
- name: Validate unique transaction IDs
description: Validate that all transaction IDs provided are unique.
possible_errors:
- duplicate_transaction_ids
- missing_transaction_id
- name: Validate that a last statement closing date is provided for non-zero
last statement balance
description: Validate that if last_statement_balance is not zero
and current_statement_transactions is provided then a last_statement_closing_date
is required.
possible_errors:
- historical_statement_without_last_statement_closing_date
- name: Validate that the last statement issue date is on or after the last
statement closing date
description: Validate if historical_statement_transactions has
been provided, that the last_statement_issue_date, if given,
is on or after the last_statement_closing_date given.
possible_errors:
- last_statement_issued_before_closing_date
- name: Historical statement transactions require last_statement_closing_date
for invoices
description: When historical_statement_transactions are provided,
the last_statement_closing_date must also be provided to properly
create and archive the initial invoice.
possible_errors:
- historical_statement_transactions_require_last_statement_closing_date
- name: Validate current statement transactions are after historical statement
transactions
description: Validate that all current statement transactions are dated after
all current historical statement transactions.
possible_errors:
- historical_statement_transaction_after_current_statement_transaction
- name: Validate that there are no historical statement transactions after the
last statement closing date
description: Validate that if historical_statement_transactions
are provided then none are later than the last_statement_closing_date.
possible_errors:
- historical_statement_transaction_after_last_statement_closing_date
- name: Validate that the summed historical statement transactions match the
last statement balance
description: Validate that the sum of the historical_statement_transactions
equals the last_statement_balance.
possible_errors:
- historical_statement_transactions_balance_mismatch
OriginLineItem:
type: object
properties:
end_date:
type: string
format: date
description: The end date for the billing period, inclusive.
external_rate_identifier: type: string description: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.
net_amount: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description: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.
network_tariff_distributor_code: type: string nullable: true description:The distributor code identifying the network tariff library entry. Required when importing a supply charge line item backed by an NTL rate.
network_tariff_rate_code: type: string nullable: true description:The rate code identifying the specific rate within the network
tariff. Must match a READY_TO_BILL rate whose effective period
covers the line item period.
The tariff code identifying the network tariff library entry. Required when importing a supply charge line item backed by an NTL rate.
number_of_units: type: string format: decimal pattern: ^-?\d{0,12}(?:\.\d{0,4})?$ description:E.g. cubic meters consumed for the period, days on supply for fixed charges or RV proportion for period for unmetered RV charges.
params: type: object description: "Additional parameters for the line item.
\nSpecify the following keys to control line item charge targets:
\n\n
charge_target_type: SUPPLY_POINTcharge_target_type:
REGISTERcharge_target_meter_serial:
Serial number for the register's metercharge_target_identifier:
Register identifierPrice 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.
rate_band: type: string description:Rate of the product this charge is for. Must match an existing
rate of a product product_code. Rate must be active from
start_date to end_date.
Rate specification code of the product this charge is for. This code must refer to an existing rate specification within the product.
start_date: type: string format: date description:The start date for the billing period, inclusive.
time_series_specification_code: type: string description:Time series specification code.
units: type: array items: type: string format: decimal pattern: ^-?\d{0,12}(?:\.\d{0,4})?$ description:For metered accounts only. List of decimal numbers representing the meter readings for the billing period.
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: Validateend_date not before start_date
description: Validates that end_date, if given, is on or later
than start_date.
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 rate_band,
rate_specification_code, or time_series_specification_code.
possible_errors:
- conflicting_rate_band_specification
OriginStrictAccountBillingOptions:
type: object
properties:
period_length:
enum:
- MONTHLY
- QUARTERLY
- null
type: string
x-spec-enum-id: 8c93f45b27bbc5df
nullable: true
description: The length of the billing period.
x-enum-descriptions: MONTHLY: Monthly QUARTERLY: Quarterly None: None x-validators: - name: Validate specific field value description: Ensures that the provided field value matches the required expected value. possible_errors: - invalid_value period_length_multiplier: type: integer maximum: 1 minimum: 1 description:The multiplier for the billing period length. The period length gets multiplied by this value to get a variation of the period length for fixed billing. E.g. If the period length is monthly and the multiplier is 2, the account will be billed every 2 months.
period_start_day: type: integer maximum: 1 minimum: 1 description:The day of the month on which the billing period starts.
period_start_month: type: integer maximum: 12 minimum: 1 nullable: true description:The month in which the billing period starts.
use_industry_billing: type: boolean description:Whether Kraken should rely on industry data to trigger billing or (if false) it should trigger it itself.
x-validators: - name: Validate specific field value description: Ensures that the provided field value matches the required expected value. possible_errors: - invalid_value required: - period_length - period_length_multiplier - period_start_day - use_industry_billing x-validators: - name: Validate industry billing or period provided description: Validates that either industry billing is being used or the billing period start day and length is being provided. possible_errors: - account_billing_options_industry_billing_with_period_data - account_billing_options_period_data_required - name: Validate period length and period start month for account billing options description: Validate that period start month is provided when using QUARTERLY period length or for NON quarterly with period length multiplier > 1 possible_errors: - account_billing_options_period_start_month_required OriginSupplyCharge: type: object properties: type: enum: - CHARGE - PAYMENT - REPAYMENT - CREDIT - SUPPLY_CHARGE type: string x-spec-enum-id: 06d6aba5cee32f9a description:The type of the transaction.
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:The amount of the transaction. e.g. if the customer has
a consumption charge worth 23.43, this equates to a transaction of type
CHARGE 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.
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 HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER
settings is ON and is meant for only historical_statements_transactions.
Passing this to other transactions like current_statement_transactions
or transactions_in_open_settlement_period will raise validation
error.
The customer-facing note that can be displayed in a statement or email to the customer.
line_items: type: array items: $ref: '#/components/schemas/OriginLineItem' description:For SUPPLY_CHARGE transactions only, line items
contain details about the charge, e.g. standing/consumption charge, billing
period, number of units etc.
Any additional notes about the transaction.
product_code: type: string description:The product code for the product that the transaction is associated with.
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:Supply point identifier associated with the supply point this charge applies to.
tax_items: type: array items: $ref: '#/components/schemas/TaxItem' description:For SUPPLY_CHARGE and CHARGE transactions
only, tax items contain details about the tax. If not provided will be
set to default zero tax.
The date of the transaction.
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:The unique internal identifier for the transaction.
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 aNaN
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 supply_point_identifier is provided
when any line item contains a rate_specification_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: '#/components/schemas/Credit'
- $ref: '#/components/schemas/AusCharge'
- $ref: '#/components/schemas/Payment'
- $ref: '#/components/schemas/Repayment'
- $ref: '#/components/schemas/OriginSupplyCharge'
discriminator:
propertyName: type
mapping:
CREDIT: '#/components/schemas/Credit'
CHARGE: '#/components/schemas/AusCharge'
PAYMENT: '#/components/schemas/Payment'
REPAYMENT: '#/components/schemas/Repayment'
SUPPLY_CHARGE: '#/components/schemas/OriginSupplyCharge'
PartnerCommission:
type: object
properties:
term_type:
type: string
description: The type of the contract term.
configurations: type: array items: $ref: '#/components/schemas/PartnerCommissionConfig' description:List of partner commission configurations to associate with this contract term.
minItems: 1 x-validators: - name: Validate partner commission numbers exist description: Validate that all partner commission numbers in the term configurations exist in Kraken. possible_errors: - not_found is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
required: - configurations - term_type PartnerCommissionConfig: type: object properties: apply_uplift: type: boolean default: false description:Whether to apply a product uplift for this partner commission.
Defaults to false.
Optional override for the trailing commission percentage. Overrides the default percentage on the partner commission.
override_unit_amount: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,8})?$ nullable: true description:Optional override for the unit-based commission rate. Overrides the default unit amount on the partner commission.
partner_commission_number: type: string description:The unique identifier of the partner commission (e.g. OPC-XXXXXXXX
or TPC-XXXXXXXX).
The category of the partner file attachment.
x-enum-descriptions: LETTER_OF_AUTHORITY: Letter of Authority filename: type: string description:The filename of the partner file attachment.
maxLength: 255 partner_number: type: string description:The partner number of the organisation the file attachment belongs to.
maxLength: 128 x-validators: - name: Validateorganisation_number
description: Validate that the given organisation_number
has a corresponding organisation registered in the database.
possible_errors:
- partner_organisation_does_not_exist
s3_key:
type: string
description: The S3 key of the partner file attachment.
maxLength: 1024 x-validators: - name: Validate path exists in file store description: Validate that the given path corresponds to a file that has previously been uploaded to the correct file store. possible_errors: - path_does_not_exist_in_file_store required: - category - filename - partner_number - s3_key PartnerOrganisation: type: object properties: organisation_number: type: string description:Identifier of the partner organisation.
maxLength: 128 x-validators: - name: Validateorganisation_number
description: Validate that the given organisation_number
has a corresponding organisation registered in the database.
possible_errors:
- partner_organisation_does_not_exist
role:
enum:
- G_LOA
type: string
x-spec-enum-id: 7e197ea5273e96fb
description: The type of role the partner organisation plays.
x-enum-descriptions: G_LOA: General Letter of Authority source_reference_s3_key: type: string description:The s3 key of the partner file attachment that governs this organisation relationship.
valid_from: type: string format: date-time description:The beginning of the validity period of this organisation relationship.
valid_to: type: string format: date-time description:The end of the validity period of this organisation relationship.
required: - organisation_number - role - valid_from - valid_to x-validators: - name: Validatevalid_to not before valid_from
description: Validates that valid_to, if given, is on or later
than valid_from.
possible_errors:
- start_date_later_than_end_date
Payment:
type: object
properties:
type:
enum:
- CHARGE
- PAYMENT
- REPAYMENT
- CREDIT
- SUPPLY_CHARGE
type: string
x-spec-enum-id: 06d6aba5cee32f9a
description: The type of the transaction.
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:The amount of the transaction. e.g. if the customer has
a consumption charge worth 23.43, this equates to a transaction of type
CHARGE 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.
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 HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER
settings is ON and is meant for only historical_statements_transactions.
Passing this to other transactions like current_statement_transactions
or transactions_in_open_settlement_period will raise validation
error.
The customer-facing note that can be displayed in a statement or email to the customer.
deprecated: true note: type: string description:Any additional notes about the transaction.
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:The payment type for the transaction.
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:The reason for the transaction.
reference: type: string description:The reference for the transaction. This could be an external id to help identify this transaction.
transaction_date: type: string format: date description:The date of the transaction.
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:The unique internal identifier for the transaction.
required: - amount - transaction_date - transaction_id - type PaymentAdequacyChange: type: object properties: applied_at: type: string format: date-time nullable: true description:The datetime the payment adequacy change was applied and
the customer was notified. This should be None if the payment
adequacy change was not applied.
The average monthly charge for the account, if we sum all yearly charges and divide them by 12.
average_monthly_elec_charge: type: integer minimum: 0 description:The average monthly electricity charge for the account, if we sum all yearly charges and divide them by 12.
average_monthly_gas_charge: type: integer minimum: 0 description:The average monthly gas charge for the account, if we sum all yearly charges and divide them by 12.
balance_adjustment: type: integer description:The adjustment on top of the average monthly charge, to be used as the new direct debit payment. This can be 0 if the difference between current and target balance is small enough to not act on.
created_at: type: string format: date-time description:The datetime the payment adequacy change was created.
x-validators: - name: Validate payment adequacy change created in past description: Validates that the payment adequacy change created at date provided is not in the future. possible_errors: - payment_adequacy_invalid_dates current_balance: type: integer description:The account balance at the date of the payment adequacy run.
existing_direct_debit_payment: type: integer minimum: 0 description:The existing Direct Debit payment amount at the time of review.
ledger: allOf: - $ref: '#/components/schemas/Ledger' description:The ledger for the payment adequacy change. The ledger must already exist in Kraken.
new_direct_debit: type: integer minimum: 0 description:The recommended Direct Debit payment amount.
should_not_be_applied_reason: type: string nullable: true description:The reason why the payment adequacy change was not applied.
This should be null if the payment adequacy change was applied.
The target balance for the account after 12 months.
required: - average_monthly_charge - average_monthly_elec_charge - average_monthly_gas_charge - balance_adjustment - created_at - current_balance - existing_direct_debit_payment - new_direct_debit - target_balance x-validators: - name: Validate payment adequacy change created before applied description: Validates that the payment adequacy change created at date is before the applied at date, if provided. possible_errors: - payment_adequacy_invalid_dates - name: Validate payment adequacy change applied or reason provided description: Validates that either a payment adequacy change applied at date or a reason to not apply the payment adequacy change is provided, but not both. possible_errors: - payment_adequacy_missing_reason - payment_adequacy_should_not_have_been_applied - name: Validate average monthly charge equal to sum description: Validates that the average monthly charge is equal to the sum of the electricity and gas monthly charges provided. possible_errors: - payment_adequacy_monthly_charges_unequal - name: Validate non zero balance adjustment equal to monthly difference description: Validates that the non zero balance adjustment provided in the payload is equal to the monthly difference between the target balance and current balance. possible_errors: - payment_adequacy_balance_adjustment_mismatch - name: Validate direct debit between existing and max payment description: Validates that the direct debit amount provided is between the existing direct debit amount provided and the maximum payment amount. Here, the maximum payment amount is average monthly charge plus balance adjustment provided. possible_errors: - payment_adequacy_new_direct_debit_amount_mismatch PaymentInstructionBankAccount: type: object properties: account_holder: type: string description:The name of the account holder on the bank account.
maxLength: 255 account_number: type: string description:The account number for the bank account.
iban: type: string description:The iban code for the bank account.
sort_code: type: string description:The sort code for the bank account.
required: - account_holder - account_number PaymentInstructionCard: type: object properties: card_payment_network: enum: - MASTERCARD - VISA - AMEX - JCB - DISCOVER - DANKORT type: string x-spec-enum-id: c8ed471949510265 description:The card payment network for the payment instruction.
x-enum-descriptions: MASTERCARD: Mastercard VISA: Visa AMEX: American Express JCB: JCB DISCOVER: Discover DANKORT: Dankort card_type: enum: - CREDIT - DEBIT - PREPAID type: string x-spec-enum-id: 90bbc4bed8c0c0e8 description:The card type for the payment instruction.
x-enum-descriptions: CREDIT: Credit DEBIT: Debit PREPAID: Prepaid expiry_month: type: integer maximum: 12 minimum: 1 description:The expiry month of the card in MM format.
expiry_year: type: integer minimum: 1000 description:The expiry year of the card in YYYY format.
last_digits: type: string description:The last 3 or 4 digits of the card number.
pattern: ^[0-9]{3,4}$ required: - card_payment_network - card_type PaymentPreference: oneOf: - $ref: '#/components/schemas/PaymentPreferencesWithExistingInstructionReferences' - $ref: '#/components/schemas/PaymentPreferencesWithNewInstructionReferences' - $ref: '#/components/schemas/BasePaymentPreference' discriminator: propertyName: type mapping: ACTIVE_EXISTING: '#/components/schemas/PaymentPreferencesWithExistingInstructionReferences' ACTIVE_NEW: '#/components/schemas/PaymentPreferencesWithNewInstructionReferences' PASSIVE: '#/components/schemas/BasePaymentPreference' PaymentPreferencesWithExistingInstructionReferences: type: object properties: type: enum: - ACTIVE_EXISTING - ACTIVE_NEW - PASSIVE type: string x-spec-enum-id: 4cc9502ba974f87d description:Indicates whether this payment preference refers to an existing payment instruction already present in Kraken, or to a new one being created in the import.
x-enum-descriptions: ACTIVE_EXISTING: Existing Payment Instruction ACTIVE_NEW: New Payment Instruction PASSIVE: No Payment Instruction Preference instruction_reference_params: allOf: - $ref: '#/components/schemas/ExistingPaymentInstructionReference' description:Parameters identifying the payment instruction to use for automated payments on this ledger.
ledger_identifier: type: string description:Identifier for the ledger from the ledgers.
This will be used to link the payment instruction to a specific ledger
being imported using payment preference.
Indicates whether this payment preference refers to an existing payment instruction already present in Kraken, or to a new one being created in the import.
x-enum-descriptions: ACTIVE_EXISTING: Existing Payment Instruction ACTIVE_NEW: New Payment Instruction PASSIVE: No Payment Instruction Preference instruction_reference_params: allOf: - $ref: '#/components/schemas/NewPaymentInstructionReference' description:Parameters identifying the payment instruction to use for automated payments on this ledger.
ledger_identifier: type: string description:Identifier for the ledger from the ledgers.
This will be used to link the payment instruction to a specific ledger
being imported using payment preference.
The amount of the promised payment.
ledger_code: type: string description:The Kraken ledger code that this payment promise should be created on.
payment_date: type: string format: date description:The payment date of the promised payment.
required: - amount - payment_date PaymentSchedule: type: object properties: amount: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,2})?$ default: '0.00' description:The amount of the payment schedule.
balance_threshold: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,2})?$ description:The account balance threshold that triggers a payment for balance-triggered schedules.
day_of_month: type: integer nullable: true description:The day of the month the payment is due.
x-validators: - name: Validate payment day for payment schedule description: Validate that the payment day for a payment schedule is between the configured minimum and maximum allowed payment days in Kraken. possible_errors: - invalid_payment_day_for_payment_schedule debt_repayment_element: type: string format: decimal pattern: ^-?\d{0,8}(?:\.\d{0,2})?$ description:The contribution to the amount in addition
to the regular fixed schedule payment amount.
debt_repayment_element
= amount - fixed schedule amount.
The date on which the debt repayment will no longer be taken in addition to the regular payment.
delay_days: type: integer description:The delay days to configure for the schedule. This configures how many days are delayed when a payment is trigged from a BILL triggered schedule and is therefore only compatible if the trigger = BILL. This is required only if delay_strategy is set.
delay_strategy: enum: - FIXED - WORKING_DAYS type: string x-spec-enum-id: 65a4ec07dce09466 description:The delay days strategy for the schedule. This configures how many days are delayed when a payment is trigged from a BILL triggered schedule and is therefore only compatible if the trigger = BILL
x-enum-descriptions: FIXED: Fixed WORKING_DAYS: Working Day end_date: type: string format: date nullable: true description:The end date for the payment schedule.
exempt_from_payment_adequacy: type: boolean default: false description:Whether the payment schedule is exempt from payment adequacy or not.
frequency: enum: - MONTHLY - QUARTERLY - WEEKLY - FORTNIGHTLY - FOUR_WEEKLY - ANNUALLY - SIX_MONTHLY type: string x-spec-enum-id: 356d8ee33fff0f54 description:The frequency of the payment schedule (e.g., WEEKLY, MONTHLY).
x-enum-descriptions: MONTHLY: Monthly QUARTERLY: Quarterly WEEKLY: Weekly FORTNIGHTLY: Fortnightly FOUR_WEEKLY: Four-weekly ANNUALLY: Annually SIX_MONTHLY: Six-monthly instalments: type: array items: $ref: '#/components/schemas/Payments' description:The instalments of the payment schedule.
x-validators: - name: Validate that each child has a unique combination of values for thepayment_date, payment_type fields
description: Validate that each child has a unique combination of values
for the payment_date, payment_type fields.
possible_errors:
- children_with_duplicate_values
is_debt_repayment_plan:
type: boolean
default: false
description: Whether the payment schedule is a debt repayment plan or not.
ledger_code: type: string description:The code of the relevant Kraken ledger type for the payment schedule.
x-validators: - name: Validate ledger code description: Validates that the ledger code provided in the payload matches an available ledger type in Kraken. possible_errors: - ledger_code_does_not_exist means: enum: - DD - CARD - MANUAL - PAYMENT_SLIP type: string x-spec-enum-id: 07a5f0f09deee145 description:The means of the payment schedule.
x-enum-descriptions: DD: Direct Debit CARD: Card MANUAL: Manual Payment PAYMENT_SLIP: Payment Slip paid_by: enum: - CUSTOMER type: string x-spec-enum-id: 85d7698587f632ef default: CUSTOMER description:Who is paying the payments on the schedule.
x-enum-descriptions: CUSTOMER: CUSTOMER start_date: type: string format: date description:The start date for the payment schedule.
trigger: enum: - PLAN - REGULAR - REGULAR_PLAN - BALANCE - BILL type: string x-spec-enum-id: 70fceded34e99681 description:The trigger for the payment schedule. See choices for more details.
If not provided we create a fixed schedule, i.e. trigger = REGULAR. A BILL triggered schedule creates a ledger balance clearing payment when a statement or invoice is issued.
x-enum-descriptions: PLAN: Planned collection REGULAR: Regular collection REGULAR_PLAN: Regular planned collection BALANCE: Balance below BILL: Bill issued required: - means - start_date x-validators: - name: Validateend_date not before start_date
description: Validates that end_date, if given, is on or later
than start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate fixed payment schedule has amount
description: Validates that a fixed payment schedule has an non zero amount
provided in the payload. A fixed schedule is defined as a payment schedule
with a trigger that is not type BILL.
possible_errors:
- zero_payment_schedule_amount
- name: Validate regular payment schedule frequency provided
description: Validates that a fixed regular payment schedule has a frequency
provided in the payload.
possible_errors:
- fixed_payment_schedule_missing_frequency
- name: Validate payment schedule balance threshold provided
description: Validates that a payment schedule with a balance trigger has
a balance threshold provided in the payload. This balance threshold is the
amount the ledger balance must drop below to trigger a payment.
possible_errors:
- balance_triggered_schedule_missing_threshold
- name: Validate debt repayment end date provided
description: Validates that a debt repayment end date is provided in the payload
if a debt repayment element is provided.
possible_errors:
- debt_repayment_missing_end_date
- name: Validate debt repayment end date is not later than schedule end date
description: Validates that a debt repayment end date is not later than the
payment schedule end date if both are provided.
possible_errors:
- debt_repayment_end_date_after_schedule_end_date
- name: Validate exempt from payment adequacy is applied only to regular schedule
description: Validates that only a regular payment schedule is marked as exempted
from payment adequacy, so as to create a fixed regular payment schedule.
possible_errors:
- invalid_payment_schedule_to_exempt_from_payment_adequacy
- name: Validate fixed payment schedule has payment day
description: Validates that a fixed payment schedule has a day of month in
the payload. A fixed schedule is defined as a payment schedule with a trigger
of type REGULAR.
possible_errors:
- fixed_payment_schedule_missing_day_of_month
- name: Validate instalments is provided if trigger is PLAN
description: Validate that the instalment field is not empty if payment schedule
trigger is PLAN.
possible_errors:
- payment_instalments_not_provided
- name: Validate instalment payment amounts sum to total amount
description: Validate instalment payment amounts sum to total amount given.
possible_errors:
- payment_instalments_do_not_sum_to_total
- name: Validate instalment payment date is within payment schedule active period
description: Validate instalment payment date is within the period between
start date and end date provided.
possible_errors:
- payment_instalments_date_outside_of_payment_schedule_active_period
- name: Validate that the delayer days is set if delayer strategy is set
description: Validate that the delayer days is set if delayer strategy is
set
possible_errors:
- payment_schedule_delay_must_have_bill_trigger
- payment_schedule_delay_strategy_missing_delay_days
- name: Validate that the payment amount for fixed payment schedules is within
the minor currency unit range of 0 - upper_bound
description: Validate that the payment amount for any fixed payment schedule
is within the major currency unit range of lower_limit - UNLIMITED.
possible_errors:
- fixed_payment_schedule_amount_out_of_range
- name: Standalone payment request method code is unexpected
description: Validates that standalone_payment_request_method_code is only
provided for MANUAL payment schedules.
possible_errors:
- standalone_payment_request_method_code_unexpected
- name: Standalone payment request method code is valid
description: Validates that standalone_payment_request_method_code matches
a registered method.
possible_errors:
- standalone_payment_request_method_code_invalid
Payments:
type: object
properties:
amount:
type: string
format: decimal
pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
description: The payable amount of an instalment.
payment_date: type: string format: date description:The payable date of an instalment.
payment_type: enum: - '' type: string x-spec-enum-id: 4f53cda18c2baa0c description:The type of an instalment.
x-enum-descriptions: '': '' required: - amount - payment_date PaysByDirectDebitTerm: type: object properties: term_type: type: string description:The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
pays_by_direct_debit: type: boolean description:Whether the customer pays by direct debit.
required: - pays_by_direct_debit - term_type Portfolio: oneOf: - $ref: '#/components/schemas/AccountPortfolio' - $ref: '#/components/schemas/AccountPortfolioRequiredPortfolioReference' discriminator: propertyName: enforce_nested_portfolios_exist mapping: null: '#/components/schemas/AccountPortfolio' false: '#/components/schemas/AccountPortfolio' true: '#/components/schemas/AccountPortfolioRequiredPortfolioReference' PortfolioReference: type: object properties: namespace: enum: - external-portfolio-reference-id - portfolio-label type: string x-spec-enum-id: 9c7783add2be9a67 description:The namespace refers to the particular context the reference exists in. This must be one of the following options below if a portfolio reference is being provided.
x-enum-descriptions: external-portfolio-reference-id: external-portfolio-reference-id portfolio-label: portfolio-label value: type: string description:The unique identifier for the portfolio.
maxLength: 100 required: - namespace - value PortfolioSettings: type: object properties: collective_billing: type: boolean default: false description:Set all accounts on the portfolio to be billed collectively. This value can only be provided if the account is the portfolio lead account.
collective_payments: type: boolean default: false description:Set all accounts on the portfolio to pay collectively. This value can only be provided if the account is the portfolio lead account.
delegate_billing_schedule_to_children: type: boolean default: false description:When using collective billing, use the child account's billing options to determine when we charge and prepare billing documents (as opposed to using the lead account's options). This value can only be provided if the account is the portfolio lead account.
send_collective_bill_constituent_messages: type: boolean default: false description:When using collective billing, send collective bill constituent messages to each member of the collective bill. This value can only be provided if the account is the portfolio lead account.
ProcessAccountImportProcess: type: object properties: dry_run: type: boolean default: false description: Whether to run the process in dry-run mode. Running in dry-run mode will not create any accounts. external_account_number: type: string description: The account number on the import suppliers system. import_supplier_code: 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: The code of an existing ImportSupplier in the database. 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 operations_team_name: type: string description: The operations team the account portfolio should be assigned to. x-validators: - name: Validate that an operations team exists description: Validate that an operations team exists with the name provided. possible_errors: - operations_team_name_does_not_exist required: - external_account_number - import_supplier_code x-validators: - name: Validate anAccountImportProcess exists
description: Validate that for the given external_account_number
and import_supplier_code an AccountImportProcess
exists.
possible_errors:
- import_process_does_not_exist
- name: Validate auto allocation of operations team
description: Validate that operations_team_name is provided if auto allocation
is not configured.
possible_errors:
- operations_team_provided_when_using_auto_allocation
- operations_team_should_be_provided
ProcessAccountImportProcessCreation:
type: object
properties:
account_number:
type: string
description: Account number
deprecated: true
maxLength: 128
external_account_number:
type: string
description: The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
characteristics.code and characteristics.value
are valid
description: Ensure that the characteristic code exists and the characteristic
value is valid for the given code.
possible_errors:
- characteristic_code_not_found
- invalid_characteristic_value
ProductRateOverrideConfiguration:
type: object
properties:
term_type:
type: string
description: The type of the contract term.
indexation_options: allOf: - $ref: '#/components/schemas/IndexationOption' description:The indexation options for the product rate override.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
schedules: type: array items: $ref: '#/components/schemas/ProductRateOverrideSchedule' description:The schedule associated with the product rate override.
required: - schedules - term_type ProductRateOverrideItemByRateBand: type: object properties: price_per_unit: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:The price per unit of the item.
product_code: type: string description:The product code of the item.
x-validators: - name: Validate product code exists description: Validate that the product code exists in Kraken. possible_errors: - product_code_does_not_exist rate_band: type: string description:The override rate of the item.
required: - price_per_unit - product_code - rate_band x-validators: - name: Validate that the rate band is valid for the product code description: Validate that the rate band provided matches the rate band for the product's rates with the provided product code. possible_errors: - rate_band_not_found_for_product ProductRateOverrideItemByVariantProfile: type: object properties: characteristic_values: type: object description:The characteristic values of the product rate override item.
x-validators: - name: Validate provided dictionary content types description: Validates that provided dictionary contents are of the specified key type and value type. possible_errors: [] price_per_unit: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,5})?$ description:The override rate of the item.
product_code: type: string description:The product code of the item.
x-validators: - name: Validate product code exists description: Validate that the product code exists in Kraken. possible_errors: - product_code_does_not_exist rate_specification_code: type: string description:The rate specification code of the item.
scheme_labels: type: object description:The scheme labels of the product rate override item.
x-validators: - name: Validate provided dictionary content types description: Validates that provided dictionary contents are of the specified key type and value type. possible_errors: [] required: - price_per_unit - product_code - rate_specification_code x-validators: - name: Validate that the rate band is valid for the product code description: Validate that the rate band provided matches the rate band for the product's rates with the provided product code. possible_errors: - characteristic_code_not_found - invalid_characteristic_value - invalid_variant_profile_for_product - product_specification_not_found_for_product - rate_specification_not_found_for_product ProductRateOverrideSchedule: type: object properties: effective_from: type: string format: date-time description: 'The date on which the schedule goes into effect. This is
an inclusive date. Example: If the effective_from is October
1, 2024, then the schedule is valid on October 1, 2024 and following dates.
The items specified by rate band affected by the override during this schedule.
variant_items: type: array items: $ref: '#/components/schemas/ProductRateOverrideItemByVariantProfile' description:The items specified by characteristic values affected by the override during this schedule.
required: - effective_from x-validators: - name: Validate that rate override schedule item must include rate overrides. description: Validate that rate override schedule item must include at least 'items' or 'characteristic_items' values. possible_errors: - rate_override_items_required PromotionAssignmentSchedule: type: object properties: discount_targets: type: object additionalProperties: type: array items: $ref: '#/components/schemas/PromotionAssignmentTarget' description:Mapping of discount code to a list of targets the discount applies to.
params: type: object description: 'Optional parameters for the promotion assignment schedule.
Supports the following keys: promotion_start_date — an ISO
8601 datetime string (e.g. 2024-01-15T00:00:00+00:00) that
overrides the date used when calculating promotion eligibility (e.g. months
since sign-up). If omitted, the date is derived from the customer''s agreement.
The promotion code to apply.
required: - discount_targets - promotion_code x-validators: - name: Promotion assignment discount targets are valid description: Validates that the promotion exists, discounts are defined in the promotion, target types match the discount target type, and target identifiers are valid. possible_errors: - discount_not_in_promotion - invalid_input_data - promotion_not_registered - rate_source_provider_not_registered - source_data_not_supported_for_fixed_rate - source_data_reference_mismatch - target_identifier_invalid - target_type_mismatch - target_type_not_registered - name: Promotion assignment params are valid description: Validates that the params field contains only valid values. If promotion_start_date is provided, it must be a valid ISO 8601 datetime string. possible_errors: - invalid_promotion_start_date PromotionAssignmentTarget: type: object properties: displayed_on_bill: type: boolean default: true description:Whether this discount should be displayed as a line item
on customer bills. Defaults to true. Set to false
to hide the discount from bills while still applying it.
The identifier for the target. Format is <product_specification_identifier>:<specification_code>
(e.g., for rate specifications or shared rates).
Optional configuration data used by rate providers to resolve
discount rates. The structure depends on the rate provider (e.g., {"bespoke_amount":
"0.05"} for bespoke rates).
The type of target being discounted. Use rate_specification
to target a product catalog rate specification, or shared_rate
to target a shared rate.
The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
schedules: type: array items: $ref: '#/components/schemas/PromotionAssignmentSchedule' description:The list of promotion assignment schedules.
minItems: 1 required: - schedules - term_type PropertyAdministrator: type: object properties: address1: type: string description:Property administrator's address line 1.
deprecated: true maxLength: 512 address2: type: string description:Property administrator's address line 2.
deprecated: true maxLength: 512 address3: type: string description:Property administrator's address line 3.
deprecated: true maxLength: 512 address4: type: string description:Property administrator's address line 4.
deprecated: true maxLength: 512 address5: type: string description:Property administrator's address line 5.
deprecated: true maxLength: 512 billing_name: type: string default: '' description:The billing name to be used on the property administrators account. If provided, it will be used for producing statements. If not, the customer names on the account will be used.
maxLength: 255 date_of_birth: type: string format: date nullable: true description:The property administrator's date of birth.
deceased: enum: - Reported - Confirmed - '' type: string x-spec-enum-id: f90e7d899a971044 default: '' description:Whether the property administrator is deceased or not. Defaults to an empty string if not provided.
x-enum-descriptions: Reported: Reported Confirmed: Confirmed '': '' effective_from: type: string format: date-time nullable: true description:The date at which this person starts being an administrator of the property (inclusive).
effective_to: type: string format: date-time nullable: true description:The date at which this person stops being an administrator of the property (exclusive).
email: type: string format: email nullable: true description:The property administrator's email address. This is the email address they will use to log into their online portal. Defaults to an empty string if not provided.
maxLength: 254 family_name: type: string default: '' description:The property administrator's family name.
maxLength: 255 given_name: type: string nullable: true default: '' description:The property administrator's given name.
maxLength: 255 landline: type: string nullable: true default: '' description:The property administrator's landline phone number.
maxLength: 32 x-validators: - name: Validate phone number description: Validates that a phone number conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_phone_number mobile: type: string nullable: true default: '' description:The property administrator's personal mobile number.
maxLength: 32 x-validators: - name: Validate phone number description: Validates that a phone number conforms to the norms of the region from which the migration is taking place. possible_errors: - invalid_phone_number postcode: type: string description:Property administrator's postcode.
deprecated: true maxLength: 10 role: enum: - LANDLORD - PROPERTY_DEVELOPER type: string x-spec-enum-id: 6092c30314e34a56 default: LANDLORD description:The portfolio role to be assigned to the property administrator on account creation. Will default to LANDLORD if no value is provided.
x-enum-descriptions: LANDLORD: Landlord PROPERTY_DEVELOPER: Property Developer salutation: type: string nullable: true default: '' description:The property administrator's preferred salutation.
maxLength: 128 title: type: string nullable: true default: '' description:The property administrator's preferred title.
maxLength: 20 x-validators: - name: Validateeffective_to not before effective_from
description: Validates that effective_to, if given, is on or
later than effective_from.
possible_errors:
- start_date_later_than_end_date
RateGroupEligibilityConfiguration:
type: object
properties:
term_type:
type: string
description: The type of the contract term.
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
schedules: type: array items: $ref: '#/components/schemas/RateGroupEligibilitySchedule' description:Rate group eligibility schedules.
time_series_specification_schedules: type: array items: $ref: '#/components/schemas/TimeSeriesSpecificationEligibilitySchedule' description:Shared rate eligibility schedules.
required: - schedules - term_type - time_series_specification_schedules RateGroupEligibilitySchedule: type: object properties: effective_period: allOf: - $ref: '#/components/schemas/EffectivePeriod' description:The effective period of the schedule.
is_eligible: type: boolean description:Whether the rate group is eligible for charging to the customer.
product_code: type: string description:Product code.
x-validators: - name: Validate product code exists description: Validate that the product code exists in Kraken. possible_errors: - product_code_does_not_exist rate_group_code: type: string description:The unique rate group code for the product.
supply_point_identifier: type: string description:Optional supply point identifier to restrict this schedule to a specific supply point.
required: - effective_period - is_eligible - product_code - rate_group_code x-validators: - name: Validate that the rate group code is valid for the product code description: Validate that the rate group code provided matches the rate group for the product with the provided product code. possible_errors: - rate_group_not_found_for_product Repayment: type: object properties: type: enum: - CHARGE - PAYMENT - REPAYMENT - CREDIT - SUPPLY_CHARGE type: string x-spec-enum-id: 06d6aba5cee32f9a description:The type of the transaction.
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:The amount of the transaction. e.g. if the customer has
a consumption charge worth 23.43, this equates to a transaction of type
CHARGE 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.
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 HISTORICAL_STATEMENT_REQUIRE_SINGLE_BILLING_DOCUMENT_IDENTIFIER
settings is ON and is meant for only historical_statements_transactions.
Passing this to other transactions like current_statement_transactions
or transactions_in_open_settlement_period will raise validation
error.
The customer-facing note that can be displayed in a statement or email to the customer.
deprecated: true note: type: string description:Any additional notes about the transaction.
payment_type: enum: - DIRECT_CREDIT - CARD_REFUND - BACS - CHEQUE - BPAY - '' type: string x-spec-enum-id: d2c4d6e823ed27aa description:The payment type for the transaction.
x-enum-descriptions: DIRECT_CREDIT: DIRECT_CREDIT CARD_REFUND: CARD_REFUND BACS: BACS CHEQUE: CHEQUE BPAY: BPAY '': '' reason: type: string description:The reason for the transaction.
reference: type: string description:The reference for the transaction. This could be an external id to help identify this transaction.
transaction_date: type: string format: date description:The date of the transaction.
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:The unique internal identifier for the transaction.
required: - amount - transaction_date - transaction_id - type SalesChannelCharacteristic: type: object properties: code: enum: - sales_channel type: string x-spec-enum-id: 03e433a571effc5f description:The code for the product's characteristic.
x-enum-descriptions: sales_channel: sales_channel value: enum: - HIGH_REFERRER - PARENT_POWER - MOVE_IN - TELESALES - BROKER - PARTNERSHIPS - DIRECT - ACQUISITION - PEOPLE_POWER - FIELD_SALES - EVENTS - AGGREGATOR - DIGI_TELESALES - LANDLORD - SUPPLIER_OF_LAST_RESORT - PRICE_COMPARISON - NEW_TENANT - WORKS_WITH_OCTOPUS - GIFT_OF_KIT - WORKPLACE_POP_UP - DEBT_COLLECTION_AGENCY type: string x-spec-enum-id: 2c5347e84652fd95 description:The value for the product's characteristic.
x-enum-descriptions: HIGH_REFERRER: HIGH_REFERRER PARENT_POWER: PARENT_POWER MOVE_IN: MOVE_IN TELESALES: TELESALES BROKER: BROKER PARTNERSHIPS: PARTNERSHIPS DIRECT: DIRECT ACQUISITION: ACQUISITION PEOPLE_POWER: PEOPLE_POWER FIELD_SALES: FIELD_SALES EVENTS: EVENTS AGGREGATOR: AGGREGATOR DIGI_TELESALES: DIGI_TELESALES LANDLORD: LANDLORD SUPPLIER_OF_LAST_RESORT: SUPPLIER_OF_LAST_RESORT PRICE_COMPARISON: PRICE_COMPARISON NEW_TENANT: NEW_TENANT WORKS_WITH_OCTOPUS: WORKS_WITH_OCTOPUS GIFT_OF_KIT: GIFT_OF_KIT WORKPLACE_POP_UP: WORKPLACE_POP_UP DEBT_COLLECTION_AGENCY: DEBT_COLLECTION_AGENCY required: - code - value ScheduleAccountCreation: type: object properties: payload: allOf: - $ref: '#/components/schemas/OriginAccount' description:The payload to be used during creation.
task_params: allOf: - $ref: '#/components/schemas/TaskParameters' description:The parameters that control when and how Kraken will execute this task.
required: - payload - task_params SolarPPASupplyPoint: type: object properties: supply_type: enum: - ELECTRICITY - GAS - UNMETERED_GAS - UNMETERED_ELECTRICITY - WATER - EMBEDDED_WATER - EMBEDDED_ELECTRICITY - EMBEDDED_GAS - SOLAR_PPA - REGOS_EXPORT_CERTIFICATES - ROCS_EXPORT_CERTIFICATES - BROADBAND - HEAT_PUMP - WATER_HEATER - ELECTRICITY_DISTRIBUTION - LIGHT - POLE type: string x-spec-enum-id: b093b6cd0238d6bd default: SOLAR_PPA description:Supply type of the supply point.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas UNMETERED_ELECTRICITY: Unmetered Electricity WATER: Water EMBEDDED_WATER: Embedded Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA REGOS_EXPORT_CERTIFICATES: REGOs Export Certificates ROCS_EXPORT_CERTIFICATES: ROCs Export Certificates BROADBAND: Broadband HEAT_PUMP: Heat Pump WATER_HEATER: Water Heater ELECTRICITY_DISTRIBUTION: Electricity Distribution LIGHT: Light POLE: Pole access_details: type: string description:Access details for the meter point. No details indicates “Customer reports no access requirements”. Can’t be longer than 160 characters.
maxLength: 160 address: allOf: - $ref: '#/components/schemas/CommonStructuredAddress' description:Structured address for this meter point.
agreements: type: array items: $ref: '#/components/schemas/AusAgreement' description:List of agreements linked to the supply point.
x-validators: - name: Validate product addon code and tariff code combination description: aus:data-import--validation-product-addon-code-and-product-code-combination--help-text possible_errors: - invalid_product_addon_code_and_product_code_combination dog_code: enum: - Bluff - Savage - Tied - Friendly - Dog OK - Dog Caution - No Dog - null type: string x-spec-enum-id: d63e05b877b7aa4b nullable: true description:Dog code.
x-enum-descriptions: Bluff: Bluff Savage: Savage Tied: Tied Friendly: Friendly Dog OK: Dog Ok Dog Caution: Dog Caution No Dog: No Dog None: None hazard_details: type: array items: type: string description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
Customer Reports No Hazard and
"Not Known To Initiator cannot be combined with other market
specified hazards.
possible_errors:
- no_hazard_cannot_combine_with_other_hazards
- not_known_cannot_combine_with_other_hazards
- name: Validate hazard details
description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
The unique identifier for the supply point.
x-validators: - name: Validate the supply point identifier description: Validate that the supply point identifier in the payload is valid for the territory that the account is importing in. possible_errors: - invalid_supply_point_identifier last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the supply point.
If the supply point has never been billed before, this should be the supply start date for the supply point and Kraken will bill from then.
If the supply point has been billed before, this typically represents the date of the reading that was last charged to. Kraken will then start to bill from this point.
This date is inclusive. If the equivalent date in the source system is exclusive make sure to add a day to the value before passing to Kraken.
meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH - null type: string x-spec-enum-id: b2672f221b69f827 nullable: true description:Meter position code.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh None: None mpxn: type: string description:MIRN or NMI of this meter point, UNMETERED_GAS_COOKTOP for unmetered gas cooktop, or UNMETERED_GAS_HEATER for unmetered gas heater. For CES water meter, the value should be prefixed with EMBEDDED_WATER_ (the prefix will not be saved).
multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ nullable: true description: sensitive_load: type: boolean default: false description:Whether there is sensitive load. Note that the existence of a Life Support record with "registered" status will take precedence over this.
supply_end_date: type: string format: date nullable: true description:Supply end date for current supply.
supply_start_date: type: string format: date description:Supply start date for current supply.
required: - mpxn - supply_start_date x-validators: - name: Validatesupply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate agreements do not start before supply start date
description: Validate that agreements do not start before the supply point's
supply start date, if provided.
possible_errors:
- agreement_start_date_before_supply_start_date
StandardizedError:
type: object
properties:
attr:
type: string
description: The attribute that the error relates to, if applicable.
code: type: string description:The code for the error.
detail: type: string description:A description of the error.
required: - attr - code - detail StandardizedValidationErrorResponse: type: object properties: code: type: string description:The code for the error.
detail: type: string description:A description of the error.
errors: type: array items: $ref: '#/components/schemas/StandardizedError' description:A list of field-specific errors.
required: - code - detail - errors SupplyPointTaxAdjustment: type: object properties: adjustment_type: enum: - EXEMPTION - REDUCTION type: string x-spec-enum-id: '7048963418647159' description:The type of tax adjustment (EXEMPTION or REDUCTION).
x-enum-descriptions: EXEMPTION: Exemption REDUCTION: Reduction effective_from_date: type: string format: date description:The date the tax adjustment is effective from.
effective_to_date: type: string format: date nullable: true description:The date the tax adjustment is effective to (inclusive, optional).
qualifying_usage: type: string format: decimal pattern: ^-?\d{0,1}(?:\.\d{0,2})?$ description:The normalised percentage of energy use on the supply point that qualifies for the tax adjustment (between 0 and 1).
supply_point_external_identifier: type: string description:The external identifier of the supply point this tax adjustment applies to.
maxLength: 255 tax_category: type: string description:The category of tax this adjustment applies to.
maxLength: 50 tax_subcategory: type: string default: '' description:The subcategory of tax this adjustment applies to (optional).
maxLength: 50 required: - adjustment_type - effective_from_date - qualifying_usage - supply_point_external_identifier - tax_category x-validators: - name: Convert supply point external identifier to ID description: Convert the supply point external identifier to the internal supply point ID by looking up the supply point in the database. possible_errors: - supply_point_not_found - name: Validateeffective_to not before effective_from
description: Validates that effective_to, if given, is on or
later than effective_from.
possible_errors:
- start_date_later_than_end_date
TaskParameters:
type: object
properties:
is_dry_run:
type: boolean
default: false
description: Whether a scheduled account creation task is part of a dry run.
schedule_window_end: type: string format: date-time nullable: true description:The end of a window in which a scheduled account creation task can be executed.
x-validators: - name: Validate thatschedule_window_end does not exceed 4
days in the future
description: Validate that the schedule_window_end is not
more than 4 days in the future.
possible_errors:
- schedule_window_end_too_far_in_future
schedule_window_start:
type: string
format: date-time
nullable: true
description: The start of a window in which a scheduled account creation task can be executed.
x-validators: - name: Validate thatschedule_window_start is not in the past.
description: Validate that the schedule_window_start is not
in the past.
possible_errors:
- schedule_window_start_in_past
x-validators:
- name: Populate start and end date times, and ensures start is before end
description: Populates schedule_window_start and schedule_window_end
with default values if necessary. Also ensures that the schedule_window_start
is before the schedule_window_end.
possible_errors:
- schedule_window_start__after_end
TaxAdjustmentConfiguration:
type: object
properties:
term_type:
type: string
description: The type of the contract term.
adjustments: type: array items: $ref: '#/components/schemas/SupplyPointTaxAdjustment' description:A list of tax adjustments for supply points.
minItems: 0 x-validators: - name: Validate tax adjustments do not overlap description: Validate that tax adjustments for the same supply point, adjustment type, tax category, and tax subcategory do not have overlapping effective periods. possible_errors: - overlapping_tax_adjustments is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
required: - adjustments - term_type TaxItem: type: object properties: amount: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,10})?$ description:The amount of tax. 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.
params: type: object default: {} description:Additional parameters for the tax item.
rate: type: string format: decimal pattern: ^-?\d{0,15}(?:\.\d{0,5})?$ description:The rate at which tax has been applied.
tax_type: type: string description:The type of tax.
unit_type: enum: - PROPORTION - CURRENCY_PER_KWH type: string x-spec-enum-id: c3c821f5b0c08a37 description:The tax unit type.
x-enum-descriptions: PROPORTION: Proportion CURRENCY_PER_KWH: Currency Per Kwh value_taxed: type: string format: decimal pattern: ^-?\d{0,15}(?:\.\d{0,5})?$ description:The value that the tax is applied to.
required: - amount - rate - tax_type - unit_type - value_taxed TerminationFee: type: object properties: term_type: type: string description:The type of the contract term.
amount: type: integer description:The fee amount in the lowest currency unit. For example, this amount could be represented in cents, pence, etc.
fee_type: enum: - FLAT - WHOLE_MONTHS_REMAINING - WHOLE_DAYS_REMAINING type: string x-spec-enum-id: ac778cd433d63345 description:The type, or nature, of the fee. For example, the fee can be flat or pertain to the amount of time remaining in the contract.
x-enum-descriptions: FLAT: contracts--terms--termination-fee-fee-type-flat WHOLE_MONTHS_REMAINING: Per month remaining WHOLE_DAYS_REMAINING: Per day remaining is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
supply_type: enum: - ELECTRICITY - GAS - UNMETERED_GAS - UNMETERED_ELECTRICITY - EMBEDDED_WATER - EMBEDDED_ELECTRICITY - EMBEDDED_GAS - SOLAR_PPA type: string x-spec-enum-id: b30233ba99cda713 description:The supply type being terminated.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas UNMETERED_ELECTRICITY: Unmetered Electricity EMBEDDED_WATER: Embedded Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA required: - amount - fee_type - term_type x-validators: - name: Validate thatsupply_type and market_name
are not both provided
description: Validate that supply_type and market_name are not both provided.
possible_errors:
- fields_are_mutually_exclusive
Terms:
oneOf:
- $ref: '#/components/schemas/BespokeRateConfiguration'
- $ref: '#/components/schemas/BillDueDate'
- $ref: '#/components/schemas/BillingDocumentIssuanceFrequencyTerm'
- $ref: '#/components/schemas/CharacteristicOverrideConfiguration'
- $ref: '#/components/schemas/CollateralRequired'
- $ref: '#/components/schemas/ContractMetaData'
- $ref: '#/components/schemas/ContractedVolumeConfiguration'
- $ref: '#/components/schemas/CorrectivePeriod'
- $ref: '#/components/schemas/DelayerDays'
- $ref: '#/components/schemas/GuaranteeOfOriginConfiguration'
- $ref: '#/components/schemas/LatePaymentFees'
- $ref: '#/components/schemas/MinimumContractLength'
- $ref: '#/components/schemas/PartnerCommission'
- $ref: '#/components/schemas/PaysByDirectDebitTerm'
- $ref: '#/components/schemas/ProductRateOverrideConfiguration'
- $ref: '#/components/schemas/PromotionAssignmentTerm'
- $ref: '#/components/schemas/RateGroupEligibilityConfiguration'
- $ref: '#/components/schemas/TrancheTargetResidualFee'
- $ref: '#/components/schemas/TaxAdjustmentConfiguration'
- $ref: '#/components/schemas/TerminationFee'
- $ref: '#/components/schemas/AusEEPAExportContractedVolumeConfiguration'
discriminator:
propertyName: term_type
mapping:
BESPOKE_RATE_CONFIGURATION: '#/components/schemas/BespokeRateConfiguration'
BILL_DUE_DATE: '#/components/schemas/BillDueDate'
ISSUANCE_FREQUENCY: '#/components/schemas/BillingDocumentIssuanceFrequencyTerm'
CHARACTERISTIC_OVERRIDE: '#/components/schemas/CharacteristicOverrideConfiguration'
COLLATERAL_REQUIRED: '#/components/schemas/CollateralRequired'
CONTRACT_METADATA: '#/components/schemas/ContractMetaData'
CONTRACTED_VOLUME_CONFIGURATION: '#/components/schemas/ContractedVolumeConfiguration'
CORRECTIVE_PERIOD: '#/components/schemas/CorrectivePeriod'
DELAYER_DAYS: '#/components/schemas/DelayerDays'
GUARANTEE_OF_ORIGIN_CONFIGURATION: '#/components/schemas/GuaranteeOfOriginConfiguration'
LATE_PAYMENT_FEES: '#/components/schemas/LatePaymentFees'
MINIMUM_CONTRACT_LENGTH: '#/components/schemas/MinimumContractLength'
PARTNER_COMMISSION: '#/components/schemas/PartnerCommission'
PAYS_BY_DIRECT_DEBIT: '#/components/schemas/PaysByDirectDebitTerm'
PRODUCT_RATE_OVERRIDE_SCHEDULE: '#/components/schemas/ProductRateOverrideConfiguration'
PROMOTION_ASSIGNMENT: '#/components/schemas/PromotionAssignmentTerm'
RATE_GROUP_ELIGIBILITY: '#/components/schemas/RateGroupEligibilityConfiguration'
TRANCHE_TARGET_RESIDUAL_FEE: '#/components/schemas/TrancheTargetResidualFee'
TAX_ADJUSTMENT_CONFIGURATION: '#/components/schemas/TaxAdjustmentConfiguration'
TERMINATION_FEE: '#/components/schemas/TerminationFee'
EEPA_EXPORT_CONTRACTED_VOLUME: '#/components/schemas/AusEEPAExportContractedVolumeConfiguration'
TimeSeriesSpecificationEligibilitySchedule:
type: object
properties:
effective_period:
allOf:
- $ref: '#/components/schemas/EffectivePeriod'
description: The effective period of the schedule.
is_eligible: type: boolean description:Whether the rate group is eligible for charging to the customer.
product_code: type: string description:Product code.
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:Optional supply point identifier to restrict this schedule to a specific supply point.
time_series_specification_code: type: string description:The unique shared rate code for the product.
required: - effective_period - is_eligible - product_code - time_series_specification_code x-validators: - name: data-import--validation--shared-rate-exists-for-product description: Validate that the shared rate code provided matches the shared rate for the product with the provided product code. possible_errors: - product_specification_not_found_for_product - time_series_not_found_for_product TrancheTargetResidualFee: type: object properties: term_type: type: string description:The type of the contract term.
contract_identifier: type: string description:Contract identifier
is_variable: type: boolean default: true description:Whether the contract term is variable in Kraken or not. If not, it must be amended by a new contract.
markets: type: array items: $ref: '#/components/schemas/TrancheTargetResidualFeeMarket' description:Markets
required: - contract_identifier - markets - term_type TrancheTargetResidualFeeMarket: type: object properties: amount: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,8})?$ description:Residual fee amount
market_name: type: string description:The market the residual fee applies to
unit: type: string description:Residual fee unit
required: - amount - market_name - unit TransactionAnnotatedWithStatus: type: object properties: added_transaction_id: type: integer description:The transaction id.
status: enum: - TRANSACTION_ADDED_TO_ACCOUNT - TRANSACTION_ALREADY_EXISTS - TRANSACTION_IMPORT_ERROR type: string x-spec-enum-id: 5a92d022962e1cea description:The status of the transaction.
x-enum-descriptions: TRANSACTION_ADDED_TO_ACCOUNT: Transaction added to account TRANSACTION_ALREADY_EXISTS: Transaction already exists TRANSACTION_IMPORT_ERROR: Transaction import error transaction_data: allOf: - $ref: '#/components/schemas/TransactionData' description:The data associated with the transaction that caused this error.
required: - status - transaction_data TransactionData: oneOf: - $ref: '#/components/schemas/Credit' - $ref: '#/components/schemas/AusCharge' - $ref: '#/components/schemas/Payment' - $ref: '#/components/schemas/Repayment' - $ref: '#/components/schemas/OriginSupplyCharge' discriminator: propertyName: type mapping: CREDIT: '#/components/schemas/Credit' CHARGE: '#/components/schemas/AusCharge' PAYMENT: '#/components/schemas/Payment' REPAYMENT: '#/components/schemas/Repayment' SUPPLY_CHARGE: '#/components/schemas/OriginSupplyCharge' Transactions: type: object properties: account_number: type: string description:The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
Whether to run the transactions creation process in dry-run mode. Running in dry-run mode will not create any transactions.
external_account_number: type: string description:The account number in the source system. This, along with
the import_supplier, will be used to find the account in
Kraken.
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.
A list of financial transactions to be imported onto the account.
required: - import_supplier x-validators: - name: Validate that account data is staged and account created description: Validate that an account exists for theexternal_account_number
and import_supplier 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
TransactionsCreated:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/TransactionAnnotatedWithStatus'
description: The response when the transaction was created successfully.
required: - results UnmeteredElectricitySupplyPoint: type: object properties: supply_type: enum: - ELECTRICITY - GAS - UNMETERED_GAS - UNMETERED_ELECTRICITY - WATER - EMBEDDED_WATER - EMBEDDED_ELECTRICITY - EMBEDDED_GAS - SOLAR_PPA - REGOS_EXPORT_CERTIFICATES - ROCS_EXPORT_CERTIFICATES - BROADBAND - HEAT_PUMP - WATER_HEATER - ELECTRICITY_DISTRIBUTION - LIGHT - POLE type: string x-spec-enum-id: b093b6cd0238d6bd default: UNMETERED_ELECTRICITY description:Supply type of the supply point.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas UNMETERED_ELECTRICITY: Unmetered Electricity WATER: Water EMBEDDED_WATER: Embedded Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA REGOS_EXPORT_CERTIFICATES: REGOs Export Certificates ROCS_EXPORT_CERTIFICATES: ROCs Export Certificates BROADBAND: Broadband HEAT_PUMP: Heat Pump WATER_HEATER: Water Heater ELECTRICITY_DISTRIBUTION: Electricity Distribution LIGHT: Light POLE: Pole access_details: type: string description:Access details for the meter point. No details indicates “Customer reports no access requirements”. Can’t be longer than 160 characters.
maxLength: 160 address: allOf: - $ref: '#/components/schemas/CommonStructuredAddress' description:Structured address for this meter point.
agreements: type: array items: $ref: '#/components/schemas/AusAgreement' description:List of agreements linked to the supply point.
x-validators: - name: Validate product addon code and tariff code combination description: aus:data-import--validation-product-addon-code-and-product-code-combination--help-text possible_errors: - invalid_product_addon_code_and_product_code_combination appliance_type: type: string nullable: true description: "\n
AIR_CONDITIONINGNote: If not supplied, it will be derived from the MPXN, eg UNMETERED_ELECTRICITY_AIR_CONDITIONING -> AIR_CONDITIONING
" dog_code: enum: - Bluff - Savage - Tied - Friendly - Dog OK - Dog Caution - No Dog - null type: string x-spec-enum-id: d63e05b877b7aa4b nullable: true description:Dog code.
x-enum-descriptions: Bluff: Bluff Savage: Savage Tied: Tied Friendly: Friendly Dog OK: Dog Ok Dog Caution: Dog Caution No Dog: No Dog None: None hazard_details: type: array items: type: string description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
Customer Reports No Hazard and
"Not Known To Initiator cannot be combined with other market
specified hazards.
possible_errors:
- no_hazard_cannot_combine_with_other_hazards
- not_known_cannot_combine_with_other_hazards
- name: Validate hazard details
description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
The unique identifier for the supply point.
x-validators: - name: Validate the supply point identifier description: Validate that the supply point identifier in the payload is valid for the territory that the account is importing in. possible_errors: - invalid_supply_point_identifier last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the supply point.
If the supply point has never been billed before, this should be the supply start date for the supply point and Kraken will bill from then.
If the supply point has been billed before, this typically represents the date of the reading that was last charged to. Kraken will then start to bill from this point.
This date is inclusive. If the equivalent date in the source system is exclusive make sure to add a day to the value before passing to Kraken.
meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH - null type: string x-spec-enum-id: b2672f221b69f827 nullable: true description:Meter position code.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh None: None mpxn: type: string description:MIRN or NMI of this meter point, UNMETERED_GAS_COOKTOP for unmetered gas cooktop, or UNMETERED_GAS_HEATER for unmetered gas heater. For CES water meter, the value should be prefixed with EMBEDDED_WATER_ (the prefix will not be saved).
multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,4})?$ nullable: true description:This can be used to approximate greater consumption of an unmetered asset.
parent_nmi: type: string description:Parent NMI for unmetered electricity service.
sensitive_load: type: boolean default: false description:Whether there is sensitive load. Note that the existence of a Life Support record with "registered" status will take precedence over this.
supply_end_date: type: string format: date nullable: true description:Supply end date for current supply.
supply_start_date: type: string format: date description:Supply start date for current supply.
required: - mpxn - parent_nmi - supply_start_date x-validators: - name: Validatesupply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate agreements do not start before supply start date
description: Validate that agreements do not start before the supply point's
supply start date, if provided.
possible_errors:
- agreement_start_date_before_supply_start_date
UnmeteredGasSupplyPoint:
type: object
properties:
supply_type:
enum:
- ELECTRICITY
- GAS
- UNMETERED_GAS
- UNMETERED_ELECTRICITY
- WATER
- EMBEDDED_WATER
- EMBEDDED_ELECTRICITY
- EMBEDDED_GAS
- SOLAR_PPA
- REGOS_EXPORT_CERTIFICATES
- ROCS_EXPORT_CERTIFICATES
- BROADBAND
- HEAT_PUMP
- WATER_HEATER
- ELECTRICITY_DISTRIBUTION
- LIGHT
- POLE
type: string
x-spec-enum-id: b093b6cd0238d6bd
default: UNMETERED_GAS
description: Supply type of the supply point.
x-enum-descriptions: ELECTRICITY: Electricity GAS: Gas UNMETERED_GAS: Unmetered Gas UNMETERED_ELECTRICITY: Unmetered Electricity WATER: Water EMBEDDED_WATER: Embedded Water EMBEDDED_ELECTRICITY: Embedded Electricity EMBEDDED_GAS: Embedded Gas SOLAR_PPA: Solar PPA REGOS_EXPORT_CERTIFICATES: REGOs Export Certificates ROCS_EXPORT_CERTIFICATES: ROCs Export Certificates BROADBAND: Broadband HEAT_PUMP: Heat Pump WATER_HEATER: Water Heater ELECTRICITY_DISTRIBUTION: Electricity Distribution LIGHT: Light POLE: Pole access_details: type: string description:Access details for the meter point. No details indicates “Customer reports no access requirements”. Can’t be longer than 160 characters.
maxLength: 160 address: allOf: - $ref: '#/components/schemas/CommonStructuredAddress' description:Structured address for this meter point.
agreements: type: array items: $ref: '#/components/schemas/AusAgreement' description:List of agreements linked to the supply point.
x-validators: - name: Validate product addon code and tariff code combination description: aus:data-import--validation-product-addon-code-and-product-code-combination--help-text possible_errors: - invalid_product_addon_code_and_product_code_combination appliance_type: enum: - COOKTOP - HEATER - MANTLE_LIGHT - BARBEQUE_BBQ - null type: string x-spec-enum-id: e152f3756321ba2c nullable: true description: '>Appliance type for unmetered gas service.
Note: If not supplied, it will be derived from the MPXN, eg UNMETERED_GAS_COOKTOP -> COOKTOP
' x-enum-descriptions: COOKTOP: Cooktop HEATER: Heater MANTLE_LIGHT: Mantle light BARBEQUE_BBQ: Barbeque(BBQ) None: None dog_code: enum: - Bluff - Savage - Tied - Friendly - Dog OK - Dog Caution - No Dog - null type: string x-spec-enum-id: d63e05b877b7aa4b nullable: true description:Dog code.
x-enum-descriptions: Bluff: Bluff Savage: Savage Tied: Tied Friendly: Friendly Dog OK: Dog Ok Dog Caution: Dog Caution No Dog: No Dog None: None hazard_details: type: array items: type: string description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
Customer Reports No Hazard and
"Not Known To Initiator cannot be combined with other market
specified hazards.
possible_errors:
- no_hazard_cannot_combine_with_other_hazards
- not_known_cannot_combine_with_other_hazards
- name: Validate hazard details
description: "Hazard details for the meterpoint.\nNo supplied hazard details indicates “Not Known To Initiator”.\nSpecifying a single details of “Not Known To Initiator” also indicates “Not Known To Initiator”.\nIf the value is “Customer Reports No Hazard” or “Not Known To Initiator”, no other values may be provided.\nThe following are the market specified hazards:\n
The unique identifier for the supply point.
x-validators: - name: Validate the supply point identifier description: Validate that the supply point identifier in the payload is valid for the territory that the account is importing in. possible_errors: - invalid_supply_point_identifier last_billed_to_date: type: string format: date description:Date up to which consumption has been billed on the supply point.
If the supply point has never been billed before, this should be the supply start date for the supply point and Kraken will bill from then.
If the supply point has been billed before, this typically represents the date of the reading that was last charged to. Kraken will then start to bill from this point.
This date is inclusive. If the equivalent date in the source system is exclusive make sure to add a day to the value before passing to Kraken.
meter_position: enum: - BA - BG - BH - BR - BV - BW - BY - CE - CP - DR - FA - FD - FF - FH - FL - FR - FS - FV - FW - GA - GR - KC - KI - LS - OB - PA - PO - PY - RS - SH - SK - SP - SR - TO - UB - UC - UF - UL - UP - UR - US - WH - null type: string x-spec-enum-id: b2672f221b69f827 nullable: true description:Meter position code.
x-enum-descriptions: BA: Ba BG: Bg BH: Bh BR: Br BV: Bv BW: Bw BY: By CE: Ce CP: Cp DR: Dr FA: Fa FD: Fd FF: Ff FH: Fh FL: Fl FR: Fr FS: Fs FV: Fv FW: Fw GA: Ga GR: Gr KC: Kc KI: Ki LS: Ls OB: Ob PA: Pa PO: Po PY: Py RS: Rs SH: Sh SK: Sk SP: Sp SR: Sr TO: To UB: Ub UC: Uc UF: Uf UL: Ul UP: Up UR: Ur US: Us WH: Wh None: None mpxn: type: string description:MIRN or NMI of this meter point, UNMETERED_GAS_COOKTOP for unmetered gas cooktop, or UNMETERED_GAS_HEATER for unmetered gas heater. For CES water meter, the value should be prefixed with EMBEDDED_WATER_ (the prefix will not be saved).
multiplier: type: string format: decimal pattern: ^-?\d{0,3}(?:\.\d{0,2})?$ nullable: true description: parent_mirn: type: string nullable: true description:Parent MIRN for unmetered gas service
pricing_zone: enum: - ACTEWAGL - ADELAIDE - AGLNSW - ALBURY - BALGRAFT - BRISBANE - BRISNORTH - DARWIN - MIDWSOUTHW - MURYVALLEY - OEMETRO - OENORTH - OESTHEAST - SEQLD - TWEEDHEADS type: string x-spec-enum-id: 83f5c58d83e964ae description:Code of the pricing zone for unmetered gas service.
x-enum-descriptions: ACTEWAGL: Actewagl ADELAIDE: Adelaide AGLNSW: Aglnsw ALBURY: Albury BALGRAFT: Balgraft BRISBANE: Brisbane BRISNORTH: Brisnorth DARWIN: Darwin MIDWSOUTHW: Midwsouthw MURYVALLEY: Muryvalley OEMETRO: Oemetro OENORTH: Oenorth OESTHEAST: Oestheast SEQLD: Seqld TWEEDHEADS: Tweedheads sensitive_load: type: boolean default: false description:Whether there is sensitive load. Note that the existence of a Life Support record with "registered" status will take precedence over this.
supply_end_date: type: string format: date nullable: true description:Supply end date for current supply.
supply_start_date: type: string format: date description:Supply start date for current supply.
required: - mpxn - pricing_zone - supply_start_date x-validators: - name: Validatesupply_end_date not before supply_start_date
description: Validates that supply_end_date, if given, is on
or later than supply_start_date.
possible_errors:
- start_date_later_than_end_date
- name: Validate agreements do not start before supply start date
description: Validate that agreements do not start before the supply point's
supply start date, if provided.
possible_errors:
- agreement_start_date_before_supply_start_date
ValidateAccount:
type: object
properties:
payload:
allOf:
- $ref: '#/components/schemas/OriginAccount'
description: The payload to be validated.
required: - payload VariantProfile: type: object properties: characteristic_values: type: object description:A dictionary of characteristic values which the rate applies to.
x-validators: - name: Validate provided dictionary content types description: Validates that provided dictionary contents are of the specified key type and value type. possible_errors: [] scheme_labels: type: object description:A dictionary of scheme labels which the rate applies to.
x-validators: - name: Validate provided dictionary content types description: Validates that provided dictionary contents are of the specified key type and value type. possible_errors: [] - name: Validate that scheme labels have the correct format description: Validate that scheme labels have the the following format 'scheme-type:identifier' where 'scheme-type' is one of 'time_of_use', 'register'. possible_errors: - invalid_scheme_label_format securitySchemes: DRFKrakenTokenAuthentication: type: apiKey in: header name: Authorization description: JWT-based authentication DataImportViewerAPIKeyAuthentication: type: apiKey in: header name: Authorization description: Token-based authentication with required prefix "Token " tags: - name: business_import x-title: Business Import description: APIs for importing businesses with business contracts x-documentation-order: 2 - name: post_business_import x-title: Post Business Import description: APIs for importing additional data after a business has been imported. x-documentation-order: 3 - name: account_import x-title: Account Import description: APIs for importing accounts. x-documentation-order: 5 - name: post_account_import x-title: Post Account Import description: APIs for importing additional data after an account has been imported. x-documentation-order: 6 - name: query x-title: Query APIs description: APIs for querying import status and retrieving data