Skip to main content

Objects

In this section

Objects

Objects in GraphQL represent the resources you can access. An object can contain a list of fields, which are specifically typed.

API Site

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
apiType(APIType)

The API type effected by this brownout.

disablesRequestsTo(NonEmptyString)

For GraphQL APIs this will be a field identifier in the format .≤fieldName>, for REST APIs this will be an endpoint.

endsAt(NonEmptyString)

The iso formatted datetime at which this brownout will end.

startsAt(NonEmptyString)

The iso formatted datetime at which this brownout will take effect.

status(APIBrownoutStatus)

The current status of this brownout.

Example

{
  "disablesRequestsTo": NonEmptyString,
  "status": "SCHEDULED",
  "apiType": "GRAPHQL",
  "startsAt": NonEmptyString,
  "endsAt": NonEmptyString
}

APIBrownoutConnection

Paginator of API brownouts.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([APIBrownoutEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": APIBrownoutEdge,
  "totalCount": 1,
  "edgeCount": 1
}

APIBrownoutEdge

A Relay edge containing a APIBrownout and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(APIBrownout)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
context(JSONString)

Storage for the API client to submit any contextual information.

correlationId(String!)

The request's correlation id.

createdAt(DateTime!)

id(ID!)

inputData(JSONString)

Input data for the API call if any.

operationName(String!)

Free field for the API caller to categorise their own operation name. This field can be used to filter entries on the UI.

response(JSONString)

The response from the API call if any.

Example

{
  "id": "abc123",
  "correlationId": "abc123",
  "operationName": "abc123",
  "inputData": {"key": "value"},
  "response": {"key": "value"},
  "context": {"key": "value"},
  "createdAt": "2020-01-01T00:00:00.000Z"
}

APIExceptionConnectionTypeConnection

Paginator of API exceptions.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([APIExceptionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": APIExceptionConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

APIExceptionConnectionTypeEdge

A Relay edge containing a APIExceptionConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(APIExceptionType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
category(String!)

The category of the event.

context(JSONString)

A JSON context to be provided with the event, if any.

createdAt(DateTime!)

description(String)

A description of the event.

eventType(String!)

The type of the event.

id(ID!)

Example

{
  "id": "abc123",
  "eventType": "abc123",
  "category": "abc123",
  "description": "abc123",
  "context": {"key": "value"},
  "createdAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
body(String!)

The content of the API Exception note.

createdAt(DateTime!)

Timestamp of when the API Exception note was created.

id(ID!)

The ID of the API Exception note.

Example

{
  "id": "abc123",
  "body": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
accountNumber(String)

The account number provided to the exception.

apiCalls([APICallType])

The API calls associated with this exception if any.

assignedUser(AssignedUserType)

The user assigned to handle this exception if any.

category(APIExceptionCategories)

Category associated with this exception.

channel(String!)

Free field for the API caller to categorise a channel. This could be (but not limited to) the client's team that calleded the API, the name of the 'flow' the call belongs to, etc.

context(JSONString)

Storage for the API client to submit any contextual information.

createdAt(DateTime!)

customerContact(String)

The customer contact provided to the exception.

events([APIExceptionEventType])

The events associated with this exception if any.

externalIdentifier(String!)

External identifier submitted by the API client to track this exception on their end.

id(ID!)

keyDate(Date)

The key date associated with the exception, if available.

notes([APIExceptionNoteType])

Notes associated with this exception if any.

operationsTeam(OperationsTeamType)

The operations team assigned to this exception if any.

priority(APIExceptionPriority!)

The current priority for the API exception.

resolutionStatus(APIExceptionResolutionStatus!)

The current resolution status for the API exception.

resolutionType(APIExceptionResolutionType!)

The current resolution type for the API exception.

supplyPointIdentifier(String)

The supply point identifier provided to the exception.

tags([APIExceptionTags])

Tags associated with this exception if any.

userId(BigInt)

The user id provided to the exception.

Example

{
  "id": "abc123",
  "externalIdentifier": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "channel": "abc123",
  "category": "CONCESSION",
  "accountNumber": "abc123",
  "userId": 1,
  "customerContact": "abc123",
  "supplyPointIdentifier": "abc123",
  "resolutionStatus": "ASSIGNED",
  "resolutionType": "AUTOMATIC",
  "priority": "LOW",
  "tags": "FDV",
  "context": {"key": "value"},
  "keyDate": "2020-01-01"
}

APIKeyAuthentication

You probably want email authentication instead of this. Provide user's API Key to receive a token. The token should be used as the Authorization header for any authenticated requests. This form of authentication is used when the interface in question already has the API Key and it would be inappropriate to show the user a login screen.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
errors([ErrorType])

token(String)

The DRF token to be used for authentication.

Example

{
  "token": "abc123",
  "errors": [ErrorType]
}

AcceptGoodsQuote

Accept a goods quote.

The possible errors that can be raised are:

  • KT-CT-8223: Unauthorized.
  • KT-CT-8201: Received an invalid quoteId.
  • KT-CT-8224: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
goodsPurchase(GoodsPurchase)

Goods purchase created.

Example

{
  "goodsPurchase": GoodsPurchase
}

AcceptOfferForQuoting

Accept a quoting offer in an offer group.

The possible errors that can be raised are:

  • KT-CT-12402: Unable to accept offer.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
offer(OfferType)

Accepted quoting offer.

Example

{
  "offer": OfferType
}

AcceptPaymentPlan

Accept (and activate) a payment plan which has been offered to a Customer.

The possible errors that can be raised are:

  • KT-AU-3933: The payment plan was not found.
  • KT-AU-3934: The ledger has an existing payment plan.
  • KT-AU-3935: The payment plan offer has expired.
  • KT-AU-3936: The payment plan could not be accepted.
  • KT-AU-3939: Support User ID not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentPlan(PaymentPlanType)

The payment plan that has been accepted.

Example

{
  "paymentPlan": PaymentPlanType
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountApplicationConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountApplicationConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountApplicationConnectionTypeEdge

A Relay edge containing a AccountApplicationConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AccountApplicationType)

The item at the end of the edge

Example

{
  "node": AccountApplicationType,
  "cursor": "abc123"
}

Fields

NameDescription
coolingOffEndDate(Date)

Last day of the cooling off period. Barring changes or objections, the account will be gained on the next business day after this date. This value will only be returned for current applications.

dateOfSale(Date)

Date at which this account decided to switch to us.

isMigrated(Boolean)

Whether this account application represents a migration into the current system or a regular gain.

migrationSource(String)

The source system for a migrated account. This could be the previous supplier or the previous account management system.

preferredSsd(Date)

Preferred supply start date. If null, it means ASAP.

salesChannel(String!)

salesSubchannel(String)

The sales subchannel used when signing up. This could for example be a price comparison site.

status(AccountApplicationStatus!)

Example

{
  "status": "CURRENT",
  "salesChannel": "abc123",
  "salesSubchannel": "abc123",
  "dateOfSale": "2020-01-01",
  "coolingOffEndDate": "2020-01-01",
  "isMigrated": true,
  "migrationSource": "abc123",
  "preferredSsd": "2020-01-01"
}

Fields

NameDescription
accountCharge(AccountChargeType)

Debit details.

accountCredit(AccountCreditType)

Credit details.

id(ID)

Balance transfer ID.

reason(String)

The reason for the balance transfer.

Example

{
  "id": "abc123",
  "reason": "abc123",
  "accountCharge": AccountChargeType,
  "accountCredit": AccountCreditType
}

AccountCampaignConnectionTypeConnection

Paginator of Account Campaigns

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountCampaignConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountCampaignConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountCampaignConnectionTypeEdge

A Relay edge containing a AccountCampaignConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AccountCampaignType)

The item at the end of the edge

Example

{
  "node": AccountCampaignType,
  "cursor": "abc123"
}

Fields

NameDescription
campaignExpiryDate(Date)

The date on which the associated campaign itself concludes.

expiryDate(Date)

The date on which the account's participation in the campaign ends.

name(String)

The name of the campaign.

slug(String)

The slug of the campaign.

startDate(Date)

The date that the account's link to the campaign started.

Example

{
  "campaignExpiryDate": "2020-01-01",
  "name": "abc123",
  "slug": "abc123",
  "expiryDate": "2020-01-01",
  "startDate": "2020-01-01"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
data(JSONString)

A JSON object containing unstructured data about the account charge.

updatedAt(DateTime)

The date and time the metadata was last updated.

Example

{
  "data": {"key": "value"},
  "updatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
cclAmount(BigInt)

The climate change levy amount of the charge.

displayNote(String)

The display note for the charge.

grossAmount(BigInt)

The gross amount of the charge.

id(ID)

The ID of the account charge.

metadata(AccountChargeMetadataType)

JSON metadata containing unstructured data about the account charge.

netAmount(BigInt)

The net amount of the charge.

note(String)

The note for the charge.

reason(String)

The reason for the charge.

salesTaxAmount(BigInt)

The sales tax amount of the charge.

Example

{
  "id": "abc123",
  "netAmount": 1,
  "grossAmount": 1,
  "salesTaxAmount": 1,
  "cclAmount": 1,
  "reason": "abc123",
  "note": "abc123",
  "displayNote": "abc123",
  "metadata": AccountChargeMetadataType
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountConnectionTypeEdge

A Relay edge containing a AccountConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AccountType)

The item at the end of the edge

Example

{
  "node": AccountType,
  "cursor": "abc123"
}

Fields

NameDescription
data(JSONString!)

updatedAt(DateTime!)

Example

{
  "data": {"key": "value"},
  "updatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
grossAmount(BigInt!)

id(ID!)

metadata(AccountCreditMetadataType)

netAmount(BigInt!)

note(String!)

reason(String!)

salesTaxAmount(BigInt!)

Example

{
  "id": "abc123",
  "grossAmount": 1,
  "netAmount": 1,
  "salesTaxAmount": 1,
  "note": "abc123",
  "reason": "abc123",
  "metadata": AccountCreditMetadataType
}

Fields

NameDescription
accountNumber(String!)

The account number.

ledgerDebtPositions([LedgerDebtPositionType]!)

The delinquent debt position for each eligible ledger on the account.

Example

{
  "accountNumber": "abc123",
  "ledgerDebtPositions": LedgerDebtPositionType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
electricityEstimation(ElecEstimatedUsageAndCostType)

Electricity usage (kWh) and cost estimation.

gasEstimation(GasEstimatedUsageAndCostType)

Gas usage (MJ) and cost estimation.

Example

{
  "electricityEstimation": ElecEstimatedUsageAndCostType,
  "gasEstimation": GasEstimatedUsageAndCostType
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountEventConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountEventConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountEventConnectionTypeEdge

A Relay edge containing a AccountEventConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AccountEvent)

The item at the end of the edge

Example

{
  "node": EmailEventType,
  "cursor": "abc123"
}

Fields

NameDescription
category(String!)

fetchUrl(String)

filename(String!)

id(ID!)

The ID of the object

isReady(Boolean)

Is the file ready for use / downloadable?

isUploaded(Boolean)

Is the file uploaded to S3?

sizeInBytes(Int)

Example

{
  "id": "abc123",
  "filename": "abc123",
  "category": "abc123",
  "isUploaded": true,
  "isReady": true,
  "fetchUrl": "abc123",
  "sizeInBytes": 1
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountFileAttachmentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountFileAttachmentConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountFileAttachmentConnectionTypeEdge

A Relay edge containing a AccountFileAttachmentConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AccountFileAttachment)

The item at the end of the edge

Example

{
  "node": AccountFileAttachment,
  "cursor": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
loyaltyPoints(Int)

The number of loyalty points the account (or user with the given id) has.

totalMonetaryAmount(Int)

The net monetary value of the loyalty points in the currency's sub-units.

Example

{
  "loyaltyPoints": 1,
  "totalMonetaryAmount": 1
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
body(String!)

createdAt(DateTime!)

id(ID!)

isPinned(Boolean!)

unpinAt(DateTime)

Example

{
  "id": "abc123",
  "body": "abc123",
  "isPinned": true,
  "createdAt": "2020-01-01T00:00:00.000Z",
  "unpinAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountPaymentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountPaymentConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountPaymentConnectionTypeEdge

A Relay edge containing a AccountPaymentConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AccountPaymentType)

The item at the end of the edge

Example

{
  "node": AccountPaymentType,
  "cursor": "abc123"
}

Fields

NameDescription
amount(BigInt!)

Amount of payment in the currency's minor unit

id(ID)

The ID of the payment.

Deprecated

The 'id' field is deprecated.

Please use uuid instead.

- Marked as deprecated on 2026-05-28.
- Scheduled for removal on or after 2027-05-28.

maxRescheduleDays(Int!)

Maximum number of days the payment can be extended by.

paymentDate(Date!)

The date this payment is scheduled to be debited

paymentInstruction(PaymentInstructionType)

The payment instruction that was used to make this payment.

reference(String!)

refundableAmount(Int)

The amount that can be refunded from this payment.

schedulabilityStatus(SchedulabilityStatusType)

Deprecated

The 'schedulabilityStatus' field is deprecated.


This has been deprecated in favour of the `ReschedulePaymentErrorUnion`
resolved by the `ReschedulePayment` mutation. This mutations error types
provide a much more granular and richer set of parsable errors then
can be supplied here.


- Marked as deprecated on 2022-09-02.
- Scheduled for removal on or after 2022-11-08.

Arguments

numDays (Int!)

Days to extend the payment by

source(String!)

status(AccountPaymentStatusOptions)

The current status of the payment.

surchargeAmount(Int)

Surcharge amount generated by this payment.

transactionType(AccountPaymentTransactionTypeChoices)

The transaction type of the payment.

uuid(UUID!)

Example

{
  "id": "abc123",
  "amount": 1,
  "paymentDate": "2020-01-01",
  "reference": "abc123",
  "transactionType": "DD_FIRST_COLLECTION",
  "status": "SCHEDULED",
  "uuid": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "source": "abc123",
  "paymentInstruction": PaymentInstructionType,
  "surchargeAmount": 1,
  "schedulabilityStatus": SchedulabilityStatusType,
  "maxRescheduleDays": 1,
  "refundableAmount": 1
}

Fields

NameDescription
account(AccountType!)

createdAt(DateTime!)

namespace(String!)

The namespace for the reference will be one of the following strings:

origin.australia-post-client-reference-numbers

origin.bpay-client-reference-numbers

origin.broadband-client-account-numbers

origin.centerpay-client-reference-numbers

origin.centrepay-legacy-client-reference-numbers

origin.fer-client-reference-numbers

origin.eapa-client-reference-numbers

origin.ivr-client-reference-numbers

origin.heea-client-reference-numbers

origin.spike-client-account-numbers

origin.urgs-client-reference-numbers

origin.ev-charger-reference-numbers

origin.battery-reference-numbers

origin.solar-sales-order-numbers

updatedAt(DateTime!)

value(String!)

Example

{
  "namespace": "abc123",
  "value": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "account": AccountType
}

Fields

NameDescription
content(String)

Reminder content.

dueAt(DateTime)

When the reminder is due.

reminderType(AccountReminderTypes)

The reminder type.

Example

{
  "reminderType": "AD_HOC",
  "content": "abc123",
  "dueAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountReminderConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountReminderConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountReminderConnectionTypeEdge

A Relay edge containing a AccountReminderConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(Reminder)

The item at the end of the edge

Example

{
  "node": Reminder,
  "cursor": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountRepaymentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountRepaymentConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountRepaymentConnectionTypeEdge

A Relay edge containing a AccountRepaymentConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AccountRepaymentType)

The item at the end of the edge

Example

{
  "node": AccountRepaymentType,
  "cursor": "abc123"
}

Fields

NameDescription
amount(BigInt!)

Amount of payment in the currency's minor unit

id(ID!)

paymentDate(Date!)

The date this payment is scheduled to be debited

paymentUuid(UUID)

The UUID of the payment being refunded.

reason(RepaymentReason)

The reason for the repayment.

status(AccountRepaymentStatusOptions)

The current status of the repayment.

Example

{
  "id": "abc123",
  "amount": 1,
  "paymentDate": "2020-01-01",
  "status": "REQUESTED",
  "reason": "BILLING_ADJUSTMENT",
  "paymentUuid": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}

AccountSearchItemType

A single account search hit

Fields

NameDescription
account(AccountType)

The account found.

score(Decimal)

How well the account matched the search terms.

Example

{
  "account": AccountType,
  "score": "1.0"
}

Fields

NameDescription
accountType(AccountTypeChoices)

The type of account.

activeHardshipAgreements([HardshipAgreementType])

List of active hardship agreements for the user when isinhardship is True.

activeReferralSchemes(ReferralSchemeTypes)

The referral schemes currently active for this account.

address(RichAddressType)

The billing address of this account, stored in the new libaddressinput-based format.

Note that name and organization are very unlikely to be supplied here; the billing_name field on the account itself is generally used for that purpose instead.

agreements([AusAgreementInterface])

Retrieve all agreements under this account. Note that when active is set to false it actually means 'return both active and inactive agreements'.

Arguments

active (Boolean)

Whether to return active agreements only.

id (ID)

Filter the list to the agreement with this id.

annualStatements(AnnualStatementConnectionTypeConnection)

Fetch annual statements for the account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

applications(AccountApplicationConnectionTypeConnection)

Applications by this account to become our customer. More recent applications will be listed first.

Arguments

after (String)

before (String)

first (Int)

last (Int)

status (AccountApplicationStatus)

The account application status.

assistanceAgreements([AssistanceAgreementType])

Assistance agreements for account.

balance(Int!)

The current account balance.

Arguments

includeAllLedgers (Boolean)

If this variable is set to true, the balance will be calculated based on the sum of balances on all ledgers configured to contribute to this account's balance. Otherwise, only the main ledger's balance will be fetched (legacy behaviour). If you are unsure, set this value to true.

bill(BillInterface)

Fetch a specific issued bill (invoice/statement) for the account.

Arguments

billType (BillTypeEnum)

id (ID)

The unique identifier of the bill.

identifier (String)

The unique identifier of the bill. A pending billing document will not have an identifier yet. And not all finalized billing documents will have an identifier. Prefer using the id field unless advised by Kraken.

ledgerNumber (String)

The number of the ledger for the bill. When provided, only the period- or item-based documentfor this account that is linked to that ledger is returned; pre-kraken, collective bills, and legacy bills are excluded.

billingAddress(String)

The billing address of the account.

billingAddressLine1(String)

billingAddressLine2(String)

billingAddressLine3(String)

billingAddressLine4(String)

billingAddressLine5(String)

billingAddressPostcode(String)

billingCountryCode(String)

billingDeliveryPointIdentifier(String)

billingEmail(String)

The billing email of the account.

billingName(String)

The billing name of the account.

billingOptions(BillingOptionsType)

Information about the account's billing cycle.

billingSubName(String)

The billing sub name of the account.

billingTriggerConfiguration(BillingTriggerConfiguration)

The active billing trigger configuration for the account.

bills(BillConnectionTypeConnection)

Fetch issued bills (invoices/statements) for the account.

Arguments

after (String)

before (String)

first (Int)

fromDate (Date)

Optional date representing the beginning of the search results. This date value is inclusive.

includeBillsWithoutPDF (Boolean)

Include bills without PDFs.

includeHeldStatements (Boolean)

Include held statements within the results.

includeHistoricStatements (Boolean)

Include pre-Kraken / historical statements within the results.

includeInvoices (Boolean)

Include item-based billing documents (invoices) within the results.

includeOpenStatements (Boolean)

Include open statements. This flag needs to be used along with includeBillsWithoutPDF=false otherwise results will prove unexpected.

issuedFromDate (Date)

Optional date representing the beginning of the search results based on issued date. This date value is inclusive.

issuedToDate (Date)

Optional date representing the end of the search results based on issued date. This date value is exclusive.

last (Int)

ledgerNumber (String)

The number of a ledger for the bill. When provided, only period- or item-based documents for this account that are linked to that ledger are returned; collective bills and legacy bills are excluded. Historic/pre-Kraken bills are unaffected by this filter and are included or excluded solely by includeHistoricStatements.

offset (Int)

onlyCurrentEmail (Boolean)

Only include bills emailed to the current user's email.

orderBy (BillsOrderBy)

The order in which to return the bills.

toDate (Date)

Optional date representing the end of the search results. This date value is exclusive.

brand(String)

The brand of the account.

business(BusinessType)

Business info related to a business account.

businessType(BusinessTypeOptions)

The company type of a business account.

Deprecated

The 'businessType' field is deprecated.

Use `business.businessType` instead

- Marked as deprecated on 2022-03-09.
- Scheduled for removal on or after 2024-01-01.

campaigns([AccountCampaignType])

The campaigns associated with an account.

canRequestRefund(Boolean)

Whether the account can request a credit refund.

changeRequests([ChangeRequestType])

commsDeliveryPreference(CommsDeliveryPreference)

The method the account has specified they prefer we contact them.

communicationDeliveryPreference(String)

Deprecated

The 'communicationDeliveryPreference' field is deprecated.

Use `commsDeliveryPreference` instead

- Marked as deprecated on 2022-05-27.
- Scheduled for removal on or after 2024-01-01.

complaints(ComplaintConnectionTypeConnection)

The complaints associated with an account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

consents([ConsentType!]!)

Consents linked to this account.

contributionAgreements([ContributionAgreementType])

Contribution agreements for account.

createdAt(DateTime)

The datetime that the account was originally created.

customerAssets([CustomerAssetType])

Get customer assets for an account.

debtCollectionProceedings([DebtCollectionProceedingType])

Debt collection proceedings for account.

directDebitInstructions(DirectDebitInstructionConnectionTypeConnection)

The direct debit instructions of the account

Arguments

after (String)

before (String)

first (Int)

last (Int)

statuses ([DirectDebitInstructionStatus])

Filter the direct debit instructions by status

documentAccessibility(DocumentAccessibilityChoices)

The document accessibility preference of the account.

dueCharges([DueChargesType])

Fetch a list of due charges for an account.

Due charges are defined for each issued statement as:

Charges due = 0 - Closing balance of the statement - Sum of payments and credits received after the statement's `to_date` - Due charges on previous statements

(Remember that if the customer owes us money, then their balance will be negative, so subtracting it will result in a positive amount.)

Usually, many of a customer's issued statements will have 0 due charges remaining. We omit most of these 0 results from the output.

You may use asOfDate to request a historical view of due charges. If you set it, then statements issued after the asOfDate will be omitted, and payments and credits posted after that date will be ignored by the calculation.

Arguments

asOfDate (Date)

If supplied, statements issued after this date are omitted. If not supplied, defaults to today's date.

estimatedUsageAndCost(AccountEstimatedUsageAndCostType)

Estimated energy usage and cost based on Energy Made Easy.

events(AccountEventConnectionTypeConnection)

The account events that were recorded for the account.

Arguments

after (String)

before (String)

eventTypes ([AccountEventType])

Filter the account events by their type.

first (Int)

last (Int)

fileAttachments([AccountFileAttachment])

Files attached to this account.

hasWriteOffLedgers(Boolean)

True if the account has written off ledgers. False otherwise.

id(ID!)

isInHardship(Boolean)

True if there is an active Hardship Agreement for this account. False otherwise.

ledgers([LedgerType])

Ledgers provide the foundation of bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular customer account.

Arguments

includeDebtLedgers (Boolean)

If this variable is set to false, debt ledgerswill be filtered out of the ledgers list.

ledgerId (ID)

The ledger to return.

ledgerNumber (String)

The ledger to return by its number.

lifeSupport(LifeSupportType)

Account related life support details.

linkedUserIds([ID])

A list of user ids linked to this account through either portfolio roles or account roles.

maximumRefund(MaximumRefundType)

The maximum amount a customer is allowed to request as a refund and the reason why that's the maximum amount.

Arguments

ledgerNumber (String)

The ledger number to calculate maximum refund for.

metadata([Metadata])

Metadata associated with the account.

notes([AccountNoteType])

Notes for the account.

number(String)

A code that uniquely identifies the account.

overdueBalance(Int)

The current account overdue balance.

paginatedFileAttachments(AccountFileAttachmentConnectionTypeConnection)

Files attached to this account.

Arguments

after (String)

before (String)

category (String)

File attachment category.

first (Int)

id (Int)

File attachment id.

last (Int)

paginatedPaymentForecast(PaymentForecastConnectionTypeConnection)

Paginated payment forecasts for an account. Starts from today's date (inclusive). The interface supports last but does not guarantee 'lastness'.

Arguments

after (String)

before (String)

dateTo (Date)

The end date to retrieve forecasts for. This end date is inclusive.

first (Int)

last (Int)

ledgerId (Int)

The ledger to return payment forecasts from. Defaults to the main ledger when no ID is passed.

ledgerNumber (String)

The number of the ledger to return payment forecasts from. Defaults to the main ledger when no number is passed.

paymentExtensionInfo(PaymentExtensionInfoType)

Information related to the viability of a payment extension.

paymentForecast([PaymentForecastType])

A list displaying the payment forecast for an account. The list starts from today's date (inclusive).

Deprecated

The 'paymentForecast' field is deprecated.

Please use 'paginatedPaymentForecast' instead.

- Marked as deprecated on 2024-01-03.
- Scheduled for removal on or after 2025-01-01.

Arguments

dateTo (Date!)

The end date to retrieve forecasts for. This end date is inclusive.

ledgerId (Int)

The ledger to return payment forecasts from. Defaults to the main ledger when no ID is passed.

ledgerNumber (String)

The number of the ledger to return payment forecasts from. Defaults to the main ledger when no number is passed.

paymentMethods(PaymentInstructionConnectionTypeConnection)

The payment instructions of the account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

statuses ([PaymentInstructionStatus])

Filter the payment instructions by status.

paymentPlanEligibilityStatus(PaymentPlanEligibilityStatuses)

⚠️ This query is currently in preview. During this time, it may change without warning in backwards-incompatible ways.

Payment plan eligibility status of related account

paymentPlans(PaymentPlanConnectionTypeConnection)

The payment plans that have been created for this account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

paymentSchedules(PaymentScheduleConnectionTypeConnection)

The schedules that describe how we would expect to take payments for an account on a given month.

Arguments

active (Boolean)

activeOnDate (Date)

after (String)

before (String)

canCreatePayment (Boolean)

first (Int)

includeDormant (Boolean)

If false, we remove the currently valid schedule if it has already fulfilled its purpose and will have no further impact on customer payments, along with any schedules which are not valid from today.

last (Int)

ledgerId (ID)

The ledger id to return the payment schedules from.

ledgerNumber (String)

The ledger number to return the payment schedules from.

ledgerType (Int)

The ledger to return transactions from.

payments(AccountPaymentConnectionTypeConnection)

The payments made into an account from a payment instruction.

Arguments

after (String)

before (String)

first (Int)

includePromises (Boolean)

Whether to include payment promises (of any kind: made, broken or fulfilled) or not. The default is to include them.

last (Int)

ledgerId (String)

The id of the ledger to return payments from.

ledgerNumber (String)

WARNING: Will be mandatory in future versions

The number of the ledger to return payments from.

reason (PaymentReasonOptions)

Filter for payments that were taken for a particular reason.

portfolio(PortfolioType)

The portfolio this account is linked to.

preferredLanguageForComms(String)

The language that the account preferred for communications.

previousProperties([PropertyType])

properties([PropertyType])

Arguments

activeFrom (DateTime)

provisionalTransactions(ProvisionalTransactionConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

references([AccountReferenceType])

Account references linked to this account.

referrals(ReferralConnectionTypeConnection)

The referrals created by this account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

status (ReferralStatus)

Only return referrals with the specified status. Return all referrals by default.

referralsCreated(Int)

Number of referrals created by this account.

reminders(AccountReminderConnectionTypeConnection)

The reminders associated with an account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

repayments(AccountRepaymentConnectionTypeConnection)

The repayments that have been requested for this account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

statuses ([AccountRepaymentStatusOptions])

Only return repayments whose status matches one of these statuses.

requestRefundEligibility(RequestRefundEligibilityType)

Details about the eligibility status for requesting a refund.

Arguments

ledgerNumber (String)

The ledger number to check refund eligibility.

rewards([RewardType])

The rewards applied to this account.

serviceOrders([ServiceOrderUnion])

Account related service orders.

splitBillingAddress([String])

List of billing address lines.

status(AccountStatus)

The current status of the account.

totalBalanceOwing(Int)

The current account total balance owing.

transactions(TransactionConnectionTypeConnection)

Fetch transactions that have taken place on the account.

Arguments

after (String)

before (String)

first (Int)

fromDate (Date)

Optional date representing the beginning of the postedDate range filter. This date value is inclusive.

includeAllLedgers (Boolean)

In a multi-ledger scenario, include all ledgers' transactions if true. Analogously, if false and no ledgerId or ledger_number argument is present, the list of transactions defaults to the main ledger (legacy behaviour).

last (Int)

ledgerId (Int)

The ledger to return transactions from.

ledgerNumber (String)

The number of the ledger to return transactions from.

offset (Int)

orderBy (TransactionsOrderBy)

The order in which to return the transactions.

toDate (Date)

Optional date representing the end of the postedDate range filter. This date value is exclusive.

transactionTypes ([TransactionTypeFilter])

Include only these specific transaction types in the result.

transactionTypesExcluded ([TransactionTypeFilter])

Exclude these specific transaction types from the result.

urn(String)

Unique reference number from a 3rd party enrolment.

Example

{
  "brand": "abc123",
  "status": "PENDING",
  "balance": 1,
  "overdueBalance": 1,
  "urn": "abc123",
  "billingName": "abc123",
  "billingSubName": "abc123",
  "billingEmail": "abc123",
  "billingAddress": "abc123",
  "billingAddressLine1": "abc123",
  "billingAddressLine2": "abc123",
  "billingAddressLine3": "abc123",
  "billingAddressLine4": "abc123",
  "billingAddressLine5": "abc123",
  "billingAddressPostcode": "abc123",
  "billingCountryCode": "abc123",
  "billingDeliveryPointIdentifier": "abc123",
  "splitBillingAddress": ["abc123"],
  "address": RichAddressType,
  "number": "abc123",
  "portfolio": PortfolioType,
  "ledgers": [LedgerType],
  "metadata": [Metadata],
  "canRequestRefund": true,
  "requestRefundEligibility": RequestRefundEligibilityType,
  "payments": AccountPaymentConnectionTypeConnection,
  "repayments": AccountRepaymentConnectionTypeConnection,
  "paymentPlans": PaymentPlanConnectionTypeConnection,
  "paymentSchedules": PaymentScheduleConnectionTypeConnection,
  "paymentForecast": [PaymentForecastType],
  "paginatedPaymentForecast": PaymentForecastConnectionTypeConnection,
  "referrals": ReferralConnectionTypeConnection,
  "referralsCreated": 1,
  "rewards": [RewardType],
  "activeReferralSchemes": ReferralSchemeTypes,
  "transactions": TransactionConnectionTypeConnection,
  "provisionalTransactions": ProvisionalTransactionConnectionTypeConnection,
  "annualStatements": AnnualStatementConnectionTypeConnection,
  "bills": BillConnectionTypeConnection,
  "billingOptions": BillingOptionsType,
  "billingTriggerConfiguration": BillingTriggerConfiguration,
  "bill": BillInterface,
  "directDebitInstructions": DirectDebitInstructionConnectionTypeConnection,
  "paymentMethods": PaymentInstructionConnectionTypeConnection,
  "events": AccountEventConnectionTypeConnection,
  "applications": AccountApplicationConnectionTypeConnection,
  "accountType": "BUSINESS",
  "businessType": "SOLE_TRADER",
  "business": BusinessType,
  "commsDeliveryPreference": "EMAIL",
  "communicationDeliveryPreference": "abc123",
  "documentAccessibility": "LARGE_PRINT",
  "references": [AccountReferenceType],
  "fileAttachments": [AccountFileAttachment],
  "paginatedFileAttachments": AccountFileAttachmentConnectionTypeConnection,
  "maximumRefund": MaximumRefundType,
  "campaigns": [AccountCampaignType],
  "isInHardship": true,
  "activeHardshipAgreements": [HardshipAgreementType],
  "contributionAgreements": [ContributionAgreementType],
  "assistanceAgreements": [AssistanceAgreementType],
  "createdAt": "2020-01-01T00:00:00.000Z",
  "preferredLanguageForComms": "abc123",
  "consents": ConsentType,
  "reminders": AccountReminderConnectionTypeConnection,
  "customerAssets": [CustomerAssetType],
  "complaints": ComplaintConnectionTypeConnection,
  "id": "abc123",
  "agreements": AusAgreementInterface,
  "properties": [PropertyType],
  "previousProperties": [PropertyType],
  "dueCharges": [DueChargesType],
  "paymentExtensionInfo": PaymentExtensionInfoType,
  "lifeSupport": LifeSupportType,
  "serviceOrders": ElectricityServiceOrderType,
  "changeRequests": [ChangeRequestType],
  "estimatedUsageAndCost": AccountEstimatedUsageAndCostType,
  "linkedUserIds": ["abc123"],
  "hasWriteOffLedgers": true,
  "totalBalanceOwing": 1,
  "paymentPlanEligibilityStatus": "ACCOUNT_IS_ON_HARDSHIP_AGREEMENT"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

AccountUserCommsPreferences

Information about the preferences set up for a user.

Fields

NameDescription
emailFormat(EmailFormats)

What format the user would like to receive their emails in.

fontSizeMultiplier(Float)

This setting allows the user to adjust the default font size of the communications sent to them.

isOptedInMeterReadingConfirmations(Boolean)

Whether the user has opted in to receive meter reading confirmation emails.

isOptedInToClientMessages(Boolean)

Whether a user has opted in to receive messages from the client or client group. For example, for Octopus Energy this describes whether a user is opted in to offers from Octopus Investments.

isOptedInToLifeSupportCall(Boolean)

Whether the user is opted in to life support call.

isOptedInToOfferMessages(Boolean)

Whether a user has opted in to receive messages offering discounts or other services not directly related to the services the client provides.

isOptedInToRecommendedMessages(Boolean)

Whether a user has opted in to receive messages we recommend they read, but are not vital to the utilities the client provides. For example, these could be reminders that the client will take a payment.

isOptedInToSmsMessages(Boolean)

Whether the user has opted in to receive SMS messages.

isOptedInToThirdPartyMessages(Boolean)

Whether a user has opted in to receive messages from the client's preferred third parties.

isOptedInToUpdateMessages(Boolean)

Whether a user has opted in to receive messages updating them on client activities.

isUsingInvertedEmailColours(Boolean)

Whether a user has opted to have inverted colours in their emails. This is currently only relevant to the Octopus Energy brand, whose emails have a dark background by default.

preferredHoldMusic(Songs)

Song which will be used as hold music for the user.

smsOptInLastChangeDate(DateTime)

The date the SMS opt-in was last changed.

Example

{
  "isOptedInToClientMessages": true,
  "isOptedInToOfferMessages": true,
  "isOptedInToRecommendedMessages": true,
  "isOptedInToUpdateMessages": true,
  "isOptedInToThirdPartyMessages": true,
  "emailFormat": "TEXT",
  "isUsingInvertedEmailColours": true,
  "fontSizeMultiplier": 1.0,
  "isOptedInMeterReadingConfirmations": true,
  "isOptedInToSmsMessages": true,
  "preferredHoldMusic": "NO_SONG_PREFERRED",
  "smsOptInLastChangeDate": "2020-01-01T00:00:00.000Z",
  "isOptedInToLifeSupportCall": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AccountUserConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AccountUserConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AccountUserConnectionTypeEdge

A Relay edge containing a AccountUserConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AccountUserType)

The item at the end of the edge

Example

{
  "node": AccountUserType,
  "cursor": "abc123"
}

AccountUserConsents

Information about the consents for an account user.

Fields

NameDescription
consents([ConsentType!]!)

Consents linked to this user.

Example

{
  "consents": ConsentType
}

Fields

NameDescription
isSensitive(Boolean)

Whether the value is sensitive and encrypted.

namespace(String)

The namespace for the property.

value(String)

The property value.

Example

{
  "namespace": "abc123",
  "value": "abc123",
  "isSensitive": true
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

AccountUserPermission

Holds information about a specific permission.

Fields

NameDescription
permission(String)

The short name of the permission.

Example

{
  "permission": "abc123"
}

AccountUserRoleType

The role a user has in association with one account.

Fields

NameDescription
account(AccountType!)

id(ID!)

role(RoleString)

The account role.

user(AccountUserType!)

Example

{
  "id": "abc123",
  "account": AccountType,
  "user": AccountUserType,
  "role": RoleString
}

AccountUserType

User objects are the core of the authentication system. They typically represent a customer who manages a portfolio of one or more accounts.

Fields

NameDescription
accountUserRoles([AccountUserRoleType])

List of roles a user has for each account they're linked to.

Arguments

accountNumber (String)

Optionally filter the user's account roles to only return those linked to specific accounts.

accounts([AccountInterface])

List of accounts that the user is linked to either via portfolio role or account role.

Arguments

allowedBrandCodes ([BrandChoices])

Optionally filter the user's accounts to only return those linked to portfolios on the specified brands.

excludeAccountTypes ([AccountTypeChoices])

Optionally exclude accounts with any of the given account types.

excludeAccountsWithoutAgreements (Boolean)

Optionally exclude accounts that have never had an agreement.

restrictToAccountNumbers ([String])

Optionally restrict user accounts to only return those with the specified account numbers.

restrictToPublicFacingBrands (Boolean)

Optionally restrict user accounts to only return those linked to portfolios on public facing brands.

address(RichAddressType)

This user's address.

alternativePhoneNumbers([String])

List of alternative phone numbers for the account user.

applicableConcessionCardTypes([ConcessionCardApplicableRegionType])

A list of possible concession card types for the user's jurisdiction.

bills(BillConnectionTypeConnection)

Fetch issued bills (invoices/statements) for the account.

Arguments

accountNumbers ([String])

If provided, filters the bills down to only the specified accounts. Any account numbers the user doesn't have access to will be ignored.

after (String)

before (String)

first (Int)

fromDate (Date)

Optional date representing the beginning of the search results. This date value is inclusive.

includeBillsWithoutPDF (Boolean)

Include bills without PDFs.

includeHeldStatements (Boolean)

Include held statements within the results.

includeHistoricStatements (Boolean)

Include pre-Kraken / historical statements within the results.

includeOpenStatements (Boolean)

Include open statements. This flag needs to be used along with includeBillsWithoutPDF=false otherwise results will prove unexpected.

issuedFromDate (Date)

Optional date representing the beginning of the search results based on issued date. This date value is inclusive.

issuedToDate (Date)

Optional date representing the end of the search results based on issued date. This date value is exclusive.

last (Int)

offset (Int)

onlyCurrentEmail (Boolean)

Only include bills emailed to the current user's email.

orderBy (BillsOrderBy)

The order in which to return the bills.

toDate (Date)

Optional date representing the end of the search results. This date value is exclusive.

businesses(BusinessConnectionTypeConnection)

List of businesses that the user has access to through their granted roles.

Arguments

after (String)

before (String)

first (Int)

last (Int)

concessions([ConcessionType])

A list of concessions for the user.

consents([ConsentType!]!)

Consents linked to this user.

createdAt(DateTime!)

dateOfBirth(Date)

AccountUser's date of birth.

details([AccountUserDetailType])

List of details linked to this user.

displayName(String)

We recommend you use fullName instead of this field.

Deprecated

The 'displayName' field is deprecated.

Please use fullName instead of this field.

- Marked as deprecated on 2019-12-11.
- Scheduled for removal on or after 2024-01-01.

email(String!)

externalId(String)

The value set in the configured external ID details namespace.

familyName(String!)

firstName(String)

We recommend you use preferredName or fullName instead of this field.

Deprecated

The 'firstName' field is deprecated.

Use 'givenName' instead.

- Marked as deprecated on 2020-09-23.
- Scheduled for removal on or after 2023-06-05.

fullName(String)

The user's full name.

givenName(String!)

hasFamilyIssues(Boolean)

Whether there are family issues.

id(ID!)

isActive(Boolean)

Whether this user is active.

isDeceased(Boolean!)

Designates whether this user is deceased.

isInHardship(Boolean)

True if user is linked to an account with an active hardship agreement.

label(String)

A free text field to help identifying the customer (e.g. for a job title).

landline(String!)

landlinePhoneNumber(String)

The user's landline phone number.

Deprecated

The 'landlinePhoneNumber' field is deprecated.

Use 'landline' instead.

- Marked as deprecated on 2021-03-22.
- Scheduled for removal on or after 2024-01-01.

lastName(String)

We recommend you use preferredName or fullName instead of this field.

Deprecated

The 'lastName' field is deprecated.

Use 'familyName' instead.

- Marked as deprecated on 2020-09-23.
- Scheduled for removal on or after 2023-06-05.

lastUpdatedAt(DateTime!)

The datetime that the AccountUser was last updated.

liveSecretKey(String)

The user's secret key to access the Developer API.

masqueradeToken(String)

Retrieve Masquerade token used for temporary user login to client sites. The token expires in 10 seconds.

This field requires the Authorization header to be set.

mobile(String!)

number(String)

A code that uniquely identifies the account user.

paymentMethods(PaymentInstructionConnectionTypeConnection)

List payment instructions linked to this user.

Arguments

after (String)

before (String)

first (Int)

last (Int)

statuses ([PaymentInstructionStatus])

Optionally filter the payment instructions by status.

validAt (DateTime)

Optionally return only payment instructions valid at the given datetime.

permissions([AccountUserPermission])

Holds information about the permissions of the current viewer.

portfolioId(ID)

We recommend you use portfolioIds instead of this field.

Deprecated

The 'portfolioId' field is deprecated.

Please use 'portfolioIds' instead.

- Marked as deprecated on 2022-08-04.
- Scheduled for removal on or after 2024-01-01.

portfolioIds([ID])

List of portfolio ids that the user is linked to via their portfolio roles.

Arguments

allowedBrandCodes ([BrandChoices])

Optionally filter the user's portfolios to only return those linked to specified brands.

restrictToPublicFacingBrands (Boolean)

Optionally restrict the user portfolios to only return those linked to public facing brands.

portfolioUserRoles([PortfolioUserRoleType])

List of roles a user has for each portfolio they're linked to.

Arguments

accountNumber (String)

Return the user portfolio roles for this account's portfolio.

portfolioNumber (String)

Optionally filter the portfolio's user roles to only return those linked to a specific portfolio.

portfolios(PortfolioConnectionTypeConnection)

List of portfolios that the user is linked to via their portfolio roles.

Arguments

after (String)

allowedBrandCodes ([BrandChoices])

Optionally filter the user's portfolios to only return those linked to specified brands.

before (String)

first (Int)

last (Int)

restrictToPublicFacingBrands (Boolean)

Optionally restrict the user portfolios to only return those linked to public facing brands.

preferences(AccountUserCommsPreferences)

preferredName(String)

The user's preferred name.

primaryPlacesOfResidence([PrimaryResidenceType])

A list containing a user's historical and present primary places of residence ordered by "fromDate" (descending).

pronouns(String)

The user's pronouns e.g. 'she/her', 'he/him', 'they/them'.

specialCircumstances(SpecialCircumstancesType)

state(StateChoices)

The state that the user primarily resides in.

title(String)

transactions(TransactionConnectionTypeConnection)

Fetch all transactions across all of the users accounts.

Arguments

accountNumbers ([String])

If provided, filters the transactions down to only the specified accounts. Any account numbers the user doesn't have access to will be ignored.

after (String)

before (String)

excludeImportedTransactions (Boolean)

Exclude imported transaction types from the result.

excludeUnissuedTransactions (Boolean)

Exclude transactions which have not yet been issued.

first (Int)

fromDate (Date)

Optional date representing the beginning of the postedDate range filter. This date value is inclusive.

last (Int)

offset (Int)

orderBy (TransactionsOrderBy)

The order in which to return the transactions.

toDate (Date)

Optional date representing the end of the postedDate range filter. This date value is exclusive.

Example

{
  "id": "abc123",
  "number": "abc123",
  "givenName": "abc123",
  "familyName": "abc123",
  "email": "abc123",
  "mobile": "abc123",
  "landline": "abc123",
  "title": "abc123",
  "pronouns": "abc123",
  "isDeceased": true,
  "liveSecretKey": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "permissions": [AccountUserPermission],
  "accounts": AccountInterface,
  "displayName": "abc123",
  "firstName": "abc123",
  "lastName": "abc123",
  "fullName": "abc123",
  "preferredName": "abc123",
  "isActive": true,
  "address": RichAddressType,
  "portfolioId": "abc123",
  "portfolioIds": ["abc123"],
  "portfolios": PortfolioConnectionTypeConnection,
  "businesses": BusinessConnectionTypeConnection,
  "specialCircumstances": SpecialCircumstancesType,
  "preferences": AccountUserCommsPreferences,
  "dateOfBirth": "2020-01-01",
  "label": "abc123",
  "landlinePhoneNumber": "abc123",
  "alternativePhoneNumbers": ["abc123"],
  "hasFamilyIssues": true,
  "isInHardship": true,
  "accountUserRoles": [AccountUserRoleType],
  "portfolioUserRoles": [PortfolioUserRoleType],
  "externalId": "abc123",
  "details": [AccountUserDetailType],
  "consents": ConsentType,
  "paymentMethods": PaymentInstructionConnectionTypeConnection,
  "bills": BillConnectionTypeConnection,
  "concessions": [ConcessionType],
  "applicableConcessionCardTypes": [ConcessionCardApplicableRegionType],
  "masqueradeToken": "abc123",
  "primaryPlacesOfResidence": [PrimaryResidenceType],
  "lastUpdatedAt": "2020-01-01T00:00:00.000Z",
  "state": "AUSTRALIAN_CAPITAL_TERRITORY",
  "transactions": TransactionConnectionTypeConnection
}

Fields

NameDescription
code(String!)

The code of the problem.

description(String!)

A human readable description of the problem.

Example

{
  "code": "abc123",
  "description": "abc123"
}

Fields

NameDescription
username(String)

Username of the Actor.

Example

{
  "username": "abc123"
}

Fields

NameDescription
contract(Contract)

The contract actualized.

Example

{
  "contract": Contract
}

AddBusinessToSegmentMutation

Add a business to a segment.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11107: Unauthorized.
  • KT-CT-11111: Segment does not exist.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
businessSegmentPeriod(BusinessSegmentPeriodType)

The business segment period that was created.

Example

{
  "businessSegmentPeriod": BusinessSegmentPeriodType
}

AddCampaignToAccount

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4123: Unauthorized.
  • KT-CT-7427: No campaign found with given slug.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
campaignAdded(Boolean)

Whether the campaign was successfully added.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "campaignAdded": true,
  "possibleErrors": [PossibleErrorType]
}

AddChildToProperty

Add a child property to a parent property in a hierarchy.

If the child is already in the hierarchy with a different parent, it will be reparented. If the child is already a child of the specified parent, this operation is idempotent and does nothing.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-6622: Unauthorized.
  • KT-CT-6634: Unable to add child to property.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
child(PropertyType)

The child property that was added to the parent.

Example

{
  "child": PropertyType
}

AddCustomEventMutation

Add a custom event for an account.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
event(CustomEventType)

Resulting Kraken event

This field requires the Authorization header to be set.

Example

{
  "event": CustomEventType
}

AddItemsToRiskList

Add new items to the risk list.

The possible errors that can be raised are:

  • KT-CT-12105: Risk list item addition failed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
riskIdentifiers([RiskListItemType])

List of successfully added risk identifiers.

Example

{
  
}

AddNoteToInkConversation

The possible errors that can be raised are:

  • KT-CT-7612: The Ink conversation was not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
note(InkNote)

The ink conversation note.

Example

{
  
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

AddParentToProperty

Add a parent property to a child property in a hierarchy.

If the child is already in the hierarchy with a different parent, it will be reparented. If the child is already a child of the specified parent, this operation is idempotent and does nothing.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-6622: Unauthorized.
  • KT-CT-6635: Unable to add parent to property.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
parent(PropertyType)

The parent property that was added to the child.

Example

{
  "parent": PropertyType
}

AddPartnerUserToTeam

Add an existing partner user to a partner team.

The possible errors that can be raised are:

  • KT-CT-7725: Unauthorized.
  • KT-CT-7726: Unauthorized.
  • KT-CT-7729: The partner user and team must belong to the same organisation.
  • KT-CT-7730: The partner user is already a member of this team.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
partnerUser(PartnerUserType)

The partner user that was added to the team.

Example

{
  
}

AddPortfolioReference

Add a reference to an existing portfolio.

The possible errors that can be raised are:

  • KT-CT-9403: Received an invalid portfolioId.
  • KT-CT-9410: Conflicting portfolio reference.
  • KT-CT-9408: Invalid portfolio number format.
  • KT-CT-9409: Invalid portfolio reference.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
portfolioNumber(String)

Number of the portfolio to which the reference was added.

Example

{
  "portfolioNumber": "abc123"
}

AddProperty

Add a property to an account.

The possible errors that can be raised are:

  • KT-CT-6623: Unauthorized.
  • KT-CT-6629: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
property(PropertyType)

The property that was added to the account.

Example

{
  "property": PropertyType
}

AddPropertyToHierarchy

Add a property to a hierarchy as a root node.

If the property is already a root node in the hierarchy, this operation is idempotent. If the property is already in the hierarchy as a child, an error will be raised.

The possible errors that can be raised are:

  • KT-CT-6622: Unauthorized.
  • KT-CT-6633: Property is already in the hierarchy as a child.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
property(PropertyType)

The property that was added to the hierarchy.

Example

{
  "property": PropertyType
}

AddSignupReferralOnAccount

Create a referral scheme reward for an organization. This allows businesses to issue rewards based on a referral scheme.

The possible errors that can be raised are:

  • KT-CT-6723: Unauthorized.
  • KT-CT-6729: This scheme cannot be applied to given account.
  • KT-CT-6710: Unable to create referral.
  • KT-CT-6728: This referral scheme's usage is at capacity.
  • KT-CT-6712: Invalid reference.
  • KT-CT-6713: Referring and referred account brands do not match.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountReferral(ReferralType)

The created account referral instance.

Example

{
  "accountReferral": ReferralType
}

AddStorylineToInkConversation

The possible errors that can be raised are:

  • KT-CT-7612: The Ink conversation was not found.
  • KT-CT-7651: Only one storyline entry can be marked as the root cause.
  • KT-CT-7657: The provided analyzer result data is invalid.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
storyline(InkStoryline)

The storyline that was added to the conversation.

Example

{
  
}

AddUserToPortfolio

Add an user to a portfolio with a specified role.

The possible errors that can be raised are:

  • KT-CT-5461: Invalid role code.
  • KT-CT-5462: Invalid user number format.
  • KT-CT-5463: Unauthorized.
  • KT-CT-9407: Unauthorized.
  • KT-CT-9408: Invalid portfolio number format.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
roleCode(String)

The code of the role added to the user.

Example

{
  "roleCode": "abc123"
}

Fields

NameDescription
addonRates([AddonRateType])

Rates associated with addon.

family(String)

Add on family name associated with rates.

Example

{
  "family": "abc123",
  "addonRates": [AddonRateType]
}

Fields

NameDescription
addon(AddonType)

Add on details for rate.

productRate(RateInterface)

Product rate for addon.

Example

{
  "addon": AddonType,
  "productRate": RateInterface
}

Fields

NameDescription
band(String)

Product band associated with the addon.

description(String)

Full description of addon.

family(String)

Shared family name of addon.

percentGreen(Decimal)

The percentage of green power, if any, as a decimal number between 0 and 1.

title(String)

Simple name of addon.

Example

{
  "band": "abc123",
  "title": "abc123",
  "family": "abc123",
  "description": "abc123",
  "percentGreen": "1.0"
}

AddressFieldConfigType

Configuration for a single field in an address form.

Fields

NameDescription
default(String)

Pre-filled seed value shown before any user interaction. Null if not set.

errors([String!]!)

Validation error messages for this field. Empty when the field is valid or no validation has been run.

fieldType(AddressFieldTypeEnum!)

Input widget type to render for this field.

hasAutocomplete(Boolean!)

Whether this field's SELECT options are fetched via the autocompleteAddressFieldOptions query rather than inlined in options. When true, options is empty and the client should call that query with this field's name.

label(String!)

Country-specific human-readable label, e.g. 'Suburb' or 'Postcode'.

name(String!)

Machine identifier for the field, e.g. 'locality' or 'postal_code'.

options([AddressFieldOptionType!])

Available options for SELECT fields with a fixed option list. Empty for autocompletable SELECT fields (see hasAutocomplete); fetch those via the autocompleteAddressFieldOptions query instead. Null for all other field types.

userEditable(Boolean!)

Whether the user can interact with this field. False for hidden fields.

validation(AddressFieldValidationRuleType!)

Client-side validation constraints for this field.

value(String)

Submitted or pre-loaded form value. Null if not set.

Example

{
  "name": "abc123",
  "label": "abc123",
  "fieldType": "TEXT",
  "validation": AddressFieldValidationRuleType,
  "options": [AddressFieldOptionType],
  "hasAutocomplete": true,
  "userEditable": true,
  "default": "abc123",
  "value": "abc123",
  "errors": "abc123"
}

AddressFieldDescriptorType

Describes the structure of an address form for a given country, including all field groups, field configurations, and validation rules.

Fields

NameDescription
fieldGroups([AddressFieldGroupType!]!)

Ordered list of field groups making up the address form.

Example

{
  "fieldGroups": AddressFieldGroupType
}

AddressFieldGroupType

A named group of address fields forming a logical section of the form.

Fields

NameDescription
fields([AddressFieldConfigType!]!)

Ordered list of fields in this group.

label(String)

Optional UI section heading. Null for unlabelled groups.

name(String!)

Machine identifier for the group, e.g. 'addressfields' or 'countryselection'.

Example

{
  "name": "abc123",
  "label": "abc123",
  "fields": AddressFieldConfigType
}

AddressFieldOptionType

A single selectable option for a SELECT address field.

Fields

NameDescription
label(String!)

Human-readable text shown in the dropdown, e.g. 'New South Wales'.

value(String!)

The raw value submitted with the form, e.g. 'NSW'.

Example

{
  "value": "abc123",
  "label": "abc123"
}

AddressFieldValidationRuleType

Client-side validation constraints for an address field. These rules can be enforced without a server round-trip.

Fields

NameDescription
maxLength(Int)

Maximum number of characters allowed. Null if no limit.

regex(String)

Regular expression the submitted value must match. Null if unrestricted.

required(Boolean!)

Whether the field must be filled before submitting.

Example

{
  "required": true,
  "maxLength": 1,
  "regex": "abc123"
}

Fields

NameDescription
countryCode(String)

Country code of billing address.

line1(String)

Line 1 of address.

line2(String)

Line 2 of address.

line3(String)

Line 3 of address.

line4(String)

Line 4 of address.

line5(String)

Line 5 of address.

postcode(String)

Postcode of billing address.

Example

{
  "line1": "abc123",
  "postcode": "abc123",
  "countryCode": "abc123",
  "line2": "abc123",
  "line3": "abc123",
  "line4": "abc123",
  "line5": "abc123"
}

AffiliateAudioRecordingPresignedPostType

Metadata returned when generating a pre-signed post URL for an affiliate.

Fields

NameDescription
bucket(String!)

The S3 bucket.

fields(JSONString!)

The fields to be included in the pre-signed post.

key(String!)

The S3 bucket key.

preSignedUrl(String!)

The pre-signed S3 URL.

Example

{
  "key": "abc123",
  "bucket": "abc123",
  "fields": {"key": "value"},
  "preSignedUrl": "abc123"
}

AffiliateLinkType

Affiliate link for the organization.

Fields

NameDescription
contactEmail(String!)

contactName(String!)

id(ID!)

isBusiness(Boolean!)

landingUrl(String!)

organisation(AffiliateOrganisationType)

Affiliate Organisation.

subdomain(String!)

trainingStatus(LinkTrainingStatus!)

Example

{
  "id": "abc123",
  "subdomain": "abc123",
  "trainingStatus": "NOT_APPLICABLE",
  "isBusiness": true,
  "contactName": "abc123",
  "contactEmail": "abc123",
  "landingUrl": "abc123"
}

Fields

NameDescription
accessibleAccounts(EntityAccessConnectionTypeConnection)

Accounts this partner can access, with the roles granting that access.

Arguments

after (String)

before (String)

first (Int)

last (Int)

offset (Int)

scope (AccessScope)

Whether to return only directly assigned accounts (DIRECT) or all accessible accounts including inherited access (ALL, default).

accessibleBusinesses(EntityAccessConnectionTypeConnection)

Businesses this partner can access, with the roles granting that access.

Arguments

after (String)

before (String)

first (Int)

last (Int)

offset (Int)

allowAlternativePaymentMethods(Boolean)

Is this partner allowed to specify payment methods other than Direct Debit in the import csv or API.

canRegisterBusinessMeterPoints(Boolean)

Are meter point registrations limited for profile classes 1 and 2 for registrations from csv or API.

canRegisterCustomersWithoutEmailAddress(Boolean)

Allow registration requests with customers without an email address.

canRegisterPortfolioAccounts(Boolean)

Allow registration requests with exiting account user emails to add to the portfolio belonging to the account user.

canRenewTariffs(Boolean)

Allow performing tariff renewals via API.

canUseIvrSupportApi(Boolean)

Allow this partner access to the IVR support API (modify their own IVR handling through third party 'IVR Flow Editor').

contactEmail(String!)

The primary contact email for the organisation.

defaultAccountType(AccountTypeChoices)

Default Account Type.

id(ID!)

The ID of the affiliate organisation.

isFieldSalesOnlyProduct(Boolean)

Restrict to field-sales-only products? This is only allowed for the 'field-sales' and 'events' sales channels.

name(String!)

The name of the affiliate organisation.

number(String!)

Unique identifier for the organisation in the format O-XXXXXXXX.

references([OrganisationReferenceType])

External references attached to the organisation, keyed by namespace.

salesChannel(SalesChannelChoices)

Sales Channel.

Deprecated

The 'salesChannel' field is deprecated.

Please use salesChannelCode instead.

- Marked as deprecated on 2025-07-17.
- Scheduled for removal on or after 2025-10-17.

salesChannelCode(String)

Sales Channel Code.

skipMeterPointAddressValidation(Boolean)

Allow this partner to skip validation that ensures all meter points belong to the same address.

Example

{
  "id": "abc123",
  "number": "abc123",
  "name": "abc123",
  "contactEmail": "abc123",
  "salesChannel": "DIRECT",
  "salesChannelCode": "abc123",
  "defaultAccountType": "BUSINESS",
  "canRegisterBusinessMeterPoints": true,
  "canRegisterPortfolioAccounts": true,
  "canRegisterCustomersWithoutEmailAddress": true,
  "skipMeterPointAddressValidation": true,
  "allowAlternativePaymentMethods": true,
  "canRenewTariffs": true,
  "canUseIvrSupportApi": true,
  "isFieldSalesOnlyProduct": true,
  "accessibleAccounts": EntityAccessConnectionTypeConnection,
  "accessibleBusinesses": EntityAccessConnectionTypeConnection
}

AffiliateSessionType

A tracked session for the affiliate link.

Fields

NameDescription
id(ID!)

ipAddress(String)

link(AffiliateLinkType)

Affiliate Link.

queryParams(JSONString!)

userAgent(String!)

Example

{
  "id": "abc123",
  "ipAddress": "abc123",
  "userAgent": "abc123",
  "queryParams": {"key": "value"}
}

Fields

NameDescription
id(ID)

The ID of the agent auxiliary status.

status(String)

The current auxiliary status of the agent.

updatedAt(DateTime)

The timestamp when the status was last updated.

Example

{
  "id": "abc123",
  "status": "abc123",
  "updatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
id(ID)

The ID of the agent call center status.

mostRecentCallId(Int)

The ID of the most recent call handled by the agent. If the agent status is BUSY then this will be the ID of the current call.

status(String)

The current status of the agent in the call center.

updatedAt(DateTime)

The timestamp when the status was last updated.

Example

{
  "id": "abc123",
  "status": "abc123",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "mostRecentCallId": 1
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AgreementEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AgreementEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AgreementEdge

A Relay edge containing a Agreement and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(CommonAgreementType)

The item at the end of the edge

Example

{
  "node": CommonAgreementType,
  "cursor": "abc123"
}

AgreementRescissionType

Details of an agreement rescission

Fields

NameDescription
agreement(UnmeteredElectricityAgreementType!)

createdAt(DateTime!)

failureReason(String!)

flowReference(String)

id(ID!)

status(AgreementRescissionStatus)

The current status of the agreement rescission.

updatedAt(DateTime!)

Example

{
  "id": "abc123",
  "status": "IN_PROGRESS",
  "failureReason": "abc123",
  "flowReference": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "agreement": UnmeteredElectricityAgreementType
}

Fields

NameDescription
actualSendDate(Date)

agreement(UnmeteredElectricityAgreementType!)

createdAt(DateTime!)

expectedSendDate(Date!)

failureReason(String!)

id(ID!)

number(String!)

params(JSONString!)

quoteRequests([QuoteRequestType!]!)

rolledOnTo(UnmeteredElectricityAgreementType)

rolloverType(AgreementRolloverRolloverType!)

status(AgreementRolloverStatus!)

suppressComms(Boolean!)

tags([String])

List of tag names associated with this agreement rollover.

updatedAt(DateTime!)

Example

{
  "id": "abc123",
  "number": "abc123",
  "rolloverType": "DEFAULT",
  "expectedSendDate": "2020-01-01",
  "status": "PENDING",
  "params": {"key": "value"},
  "failureReason": "abc123",
  "actualSendDate": "2020-01-01",
  "suppressComms": true,
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "tags": ["abc123"],
  "agreement": UnmeteredElectricityAgreementType,
  "rolledOnTo": UnmeteredElectricityAgreementType
}

Fields

NameDescription
allocationAmount(Int!)

The amount of the transaction that has been allocated to the billing document. A positive amount indicates money received from the customer (payments, credits). A negative amount indicates money paid to the customer (repayments).

allocationReason(String)

Reason for the allocation intention.

transactionAmount(Int!)

The amount of the transaction. A positive amount indicates money received from the customer (payments, credits). A negative amount indicates money paid to the customer (repayments).

transactionId(Int!)

ID of the allocated transaction.

transactionType(TransactionTypes!)

The type of the transaction.

Example

{
  "transactionId": 1,
  "transactionType": "CREDIT",
  "transactionAmount": 1,
  "allocationAmount": 1,
  "allocationReason": "abc123"
}

AllocationType

Represents an allocation of a fulfilment to an obligation.

Fields

NameDescription
amount(Int!)

The amount of the allocation (in minor currency units), unsigned.

fulfilment(FulfilmentType!)

The fulfilment that is allocated.

Example

{
  "amount": 1,
  "fulfilment": FulfilmentType
}

AllowRepaymentSubmission

Allow a repayment to be submitted.

The possible errors that can be raised are:

  • KT-CT-3944: Account repayment does not exist.
  • KT-CT-3945: Unable to allow a repayment to be submitted.
  • KT-CT-3950: The provided reason text is too long.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
repaymentId(ID)

The repayment ID.

repaymentIntervention(RepaymentInterventionType)

Resulting Repayment Intervention details.

Example

{
  "repaymentId": "abc123"
}

AlreadyLinkedError

Returned when an account already has a LINE account linked to it.

Fields

NameDescription
type(LineLinkErrorType!)

The type of error that occurred.

Example

{
  "type": "NO_MATCHING_LINE_LINK"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
contract(Contract)

The contract after the subject amendments have been applied.

Example

{
  "contract": Contract
}

AmendPayment

Amend an existing payment.

The possible errors that can be raised are:

  • KT-CT-3924: Unauthorized.
  • KT-CT-4123: Unauthorized.
  • KT-CT-3970: The account cannot amend payments.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
payment(AccountPaymentType)

Example

{
  "payment": AccountPaymentType
}

AnimationType

A media element containing an animation, such as a Lottie.

Fields

NameDescription
accessibilityHidden(Boolean)

Whether the element is hidden from view.

accessibilityLabel(String)

Accessible description of the element.

horizontalAlignment(Alignment)

The horizontal alignment of the media.

id(ID)

Unique identifier of the object.

mediaUrl(String!)

The resource URL of the media.

typename(String)

The name of the object's type.

width(ItemSizeType)

The measurement of the element.

Example

{
  "width": FractionSizeType,
  "mediaUrl": "abc123",
  "horizontalAlignment": "START",
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123",
  "id": "abc123",
  "typename": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AnnualStatementConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AnnualStatementConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AnnualStatementConnectionTypeEdge

A Relay edge containing a AnnualStatementConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AnnualStatementType)

The item at the end of the edge

Example

{
  "node": AnnualStatementType,
  "cursor": "abc123"
}

AnnualStatementType

Annual statements that are sent to the account. They summarize important information about usage and tariffs.

Fields

NameDescription
id(ID)

pdfUrl(String)

periodEndsAt(DateTime!)

periodStartsAt(DateTime!)

Example

{
  "periodStartsAt": "2020-01-01T00:00:00.000Z",
  "periodEndsAt": "2020-01-01T00:00:00.000Z",
  "id": "abc123",
  "pdfUrl": "abc123"
}

AnnulmentBillingDocumentType

An annulment is a billing document that annuls another billing document.

Fields

NameDescription
annulledBillingDocumentId(Int!)

ID of the billing document annulled by this annulment.

firstIssued(DateTime)

First time the annulment was issued.

id(Int!)

ID for the annulment billing document.

pdfUrl(String)

URL to the PDF of the annulment.

Example

{
  "id": 1,
  "annulledBillingDocumentId": 1,
  "firstIssued": "2020-01-01T00:00:00.000Z",
  "pdfUrl": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([AppSessionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": AppSessionConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

AppSessionConnectionTypeEdge

A Relay edge containing a AppSessionConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(AppSessionType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
account(AccountType)

addressLine1(String!)

addressLine2(String!)

addressLine3(String!)

addressLine4(String!)

Post town

addressLine5(String!)

County

createdAt(DateTime!)

id(UUID!)

isArchived(Boolean)

link(AffiliateLinkType!)

locationAt(DateTime)

locationHorizontalAccuracy(Int)

The location accuracy level in meters

locationLatitude(Decimal)

locationLongitude(Decimal)

outcomes([OutcomeType])

A list of outcomes associated with the app session.

postcode(String!)

salesMode(AppSessionSalesMode)

startedAt(DateTime!)

stoppedAt(DateTime!)

type(AppSessionType)

updatedAt(DateTime!)

Example

{
  "startedAt": "2020-01-01T00:00:00.000Z",
  "stoppedAt": "2020-01-01T00:00:00.000Z",
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "addressLine3": "abc123",
  "addressLine4": "abc123",
  "addressLine5": "abc123",
  "id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "isArchived": true,
  "postcode": "abc123",
  "locationAt": "2020-01-01T00:00:00.000Z",
  "locationHorizontalAccuracy": 1,
  "locationLatitude": "1.0",
  "locationLongitude": "1.0",
  "salesMode": "DOOR",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "account": AccountType
}

ApplicableRateConnection

Used by territory plugins (e.g. NLD) for agreement-level applicable_rates fields.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ApplicableRateEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ApplicableRateEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ApplicableRateEdge

A Relay edge containing a ApplicableRate and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ApplicableRateType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
category(String)

The category of the rate, e.g. 'CONSUMPTIONCHARGE' or 'STANDINGCHARGE'.

currency(String)

The currency the rate is priced in.

isSalesTax(Boolean!)

Whether the rate represents a sales tax.

name(String!)

The display name of the rate.

overridePrice(Decimal)

Override price for the applicable rate.

pricePerUnit(Decimal!)

Price per unit.

rateId(Int)

Technical identifier of the applicable rate.

sourceSystem(String!)

The system the rate was sourced from.

unit(String!)

Unit of the applicable rate.

unitDisplay(String!)

A human-readable display of the unit, e.g. 'p/kWh'.

validityPeriod(ApplicableRateValidityPeriodType!)

The period during which the rate is valid.

variantProfile(VariantProfile!)

The variant profile for the applicable rate.

Example

{
  "sourceSystem": "abc123",
  "name": "abc123",
  "pricePerUnit": "1.0",
  "unit": "abc123",
  "unitDisplay": "abc123",
  "variantProfile": VariantProfile,
  "rateId": 1,
  "overridePrice": "1.0",
  "currency": "abc123",
  "category": "abc123",
  "isSalesTax": true
}

ApplicableRateValidityPeriodType

Represents the period during which a rate is valid.

Fields

NameDescription
end(DateTime)

The date and time until which the rate is valid. Null indicates the rate has no end date.

start(DateTime)

The date and time from which the rate is valid.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z"
}

ApproveRepayment

Approve a repayment.

The possible errors that can be raised are:

  • KT-CT-3934: Repayment request already approved.
  • KT-CT-3935: Repayment request cannot be paid.
  • KT-CT-3959: Unauthorized.
  • KT-CT-3973: Repayment request is not in a state to be approved.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
repayment(AccountRepaymentType)

The approved repayment.

Example

{
  "repayment": AccountRepaymentType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

AssessCollectionProcessRecordForPause

Assess a collection process record for pause and pause or unpause it based on the assessment.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessProcessed(AssessCollectionProcessRecordForPauseOutputType)

Details of collection process after running the pause assessment.

Example

{
  
}

AssessCollectionProcessRecordForPauseOutputType

Output for assessing a Collection process for pause.

Fields

NameDescription
isPaused(Boolean)

The pause status of the collection process.

number(String)

The number of the collection process record.

Example

{
  "number": "abc123",
  "isPaused": true
}

AssignInkBucket

The possible errors that can be raised are:

  • KT-CT-7612: The Ink conversation was not found.
  • KT-CT-7613: The Ink bucket was not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
bucket(InkBucket!)

The bucket that the conversation will be assigned to.

conversation(InkConversation!)

The conversation that will be assigned to the bucket.

Example

{
  "conversation": InkConversation
}

AssignSupplyPointToEstimationGroup

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-13601: Estimation Group does not exist.
  • KT-CT-13602: Supply Point already has an Estimation Group.
  • KT-CT-13603: Supply Point does not exist.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
supplyPointEstimationGroup(AssignedSupplyPointEstimationGroupType)

The created supply point estimation group mapping.

Example

{
  
}

Fields

NameDescription
estimationGroupCode(String!)

The code of the estimation group.

supplyPointExternalId(String!)

The external identifier of the assigned supply point.

Example

{
  "estimationGroupCode": "abc123",
  "supplyPointExternalId": "abc123"
}

Fields

NameDescription
id(ID!)

The ID of the assigned user.

username(String!)

The username of the assigned user.

Example

{
  "id": "abc123",
  "username": "abc123"
}

AssistanceAgreementType

A single Assistance Agreement.

Fields

NameDescription
activeFrom(Date)

The start datetime of the agreement.

activeTo(Date)

The end datetime of the agreement, if any.

assistanceType(String)

The type of assistance provided by the agreement.

Example

{
  "assistanceType": "abc123",
  "activeFrom": "2020-01-01",
  "activeTo": "2020-01-01"
}

AssociateArchivedCallRecordingsWithCalls

The possible errors that can be raised are:

  • KT-CT-11818: Invalid archived call recordings input.
  • KT-CT-11820: Too many recordings to associate in a single request.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
results([AssociateArchivedRecordingResultType])

Per-recording processing results.

summary(AssociateArchivedRecordingsSummaryType)

Summary counts of the processing results.

Example

{
  
}

Fields

NameDescription
reason(String)

If skipped or errored, the reason why.

recordingId(Int)

The ID of the recording, if one exists.

status(AssociateArchivedRecordingResultStatus!)

The processing status: success, skipped, or error.

vendorCallLegId(String!)

The vendor call leg ID from the input.

Example

{
  "vendorCallLegId": "abc123",
  "recordingId": 1,
  "status": "SUCCESS",
  "reason": "abc123"
}

Fields

NameDescription
failed(Int!)

Number of recordings that failed to process.

successful(Int!)

Number of recordings that were successfully archived or skipped.

total(Int!)

Total number of recordings processed.

Example

{
  "total": 1,
  "successful": 1,
  "failed": 1
}

AssociateCallWithAccount

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11802: Call not found.
  • KT-CT-11808: Unable to associate account to call.
  • KT-CT-11817: Invalid call ID.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
call(InboundCallType)

The call.

Example

{
  
}

AssociateItemToCollectionProcess

Associate an item to a collection process record.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-11205: Item already associated to collection process.
  • KT-CT-11216: Invalid extra_details for associated item type.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessAssociatedItem(AssociateItemToCollectionProcessOutputType)

Item associated to the collection process.

Example

{
  
}

Fields

NameDescription
itemId(ID)

Associated item identifier.

number(String)

The number of the collection process record.

Example

{
  "number": "abc123",
  "itemId": "abc123"
}

Fields

NameDescription
ok(Boolean!)

True if the agreements were successfully attached.

Example

{
  "ok": true
}

AttachmentType

Represents a file to attach to a communication

Fields

NameDescription
filename(String!)

id(ID!)

temporaryUrl(String)

Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page).

Example

{
  "id": "abc123",
  "filename": "abc123",
  "temporaryUrl": "abc123"
}

Fields

NameDescription
appSession(AppSessionType)

The app session associated with this audio recording.

contentType(String!)

createdAt(DateTime!)

duration(Float!)

fileSize(Int!)

id(UUID!)

s3Bucket(String!)

s3Key(String!)

startedAt(DateTime!)

stoppedAt(DateTime!)

updatedAt(DateTime!)

Example

{
  "id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "contentType": "abc123",
  "duration": 1.0,
  "fileSize": 1,
  "startedAt": "2020-01-01T00:00:00.000Z",
  "stoppedAt": "2020-01-01T00:00:00.000Z",
  "s3Bucket": "abc123",
  "s3Key": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
clientId(String)

The client ID of the application.

name(String)

The name of the application.

Example

{
  "name": "abc123",
  "clientId": "abc123"
}

AwardLoyaltyPoints

Award the specified number of Loyalty Points to the account.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9202: Loyalty Points adapter not configured.
  • KT-CT-9204: Negative or zero points set.
  • KT-CT-9208: Invalid posted at datetime.
  • KT-CT-9210: Unhandled Loyalty Points exception.
  • KT-CT-9211: Invalid reason for loyalty points award.
  • KT-CT-9212: Points exceed maximum limit.
  • KT-CT-9219: Loyalty points user not found.
  • KT-CT-9221: Idempotency key already used on ledger entry.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
ledgerEntry(LoyaltyPointLedgerEntryType)

The ledger entry for the awarded loyalty points.

pointsAwarded(Int)

The number of loyalty points that were awarded.

Example

{
  "pointsAwarded": 1,
  "ledgerEntry": LoyaltyPointLedgerEntryType
}

BackendScreenEvent

Returns an Action to perform, e.g. a screen to load.

BackendScreenEvents are specific types of Action which trigger a mutation in the Kraken backend. They return an action (any type), such as a ScreenActionType (which is then used to load the next screen). Any action registered in the registry should really be an "event" with some side-effect in the backend.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-8002: No event found.
  • KT-CT-8003: Event has no execute function.
  • KT-CT-8004: Error executing event in the backend.
  • KT-CT-8007: Incorrect or missing parameters for backend screen event.
  • KT-GB-9310: Account ineligible for joining Octoplus.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
action(ActionType)

An action to perform.

Example

{
  "action": DeeplinkActionType
}

BackendScreenEventActionType

An action which triggers some event in the Kraken backend.

Fields

NameDescription
eventId(String!)

The ID of the event to trigger.

id(ID)

Unique identifier of the object.

params([BackendScreenParam]!)

List of key-value pairs to pass as parameters to the event.

typeName(String)

The name of the action object's type.

typename(String)

The name of the object's type.

Example

{
  "typeName": "abc123",
  "id": "abc123",
  "typename": "abc123",
  "eventId": "abc123",
  "params": BackendScreenParam
}

BackendScreenParam

A key-value pair (both Strings) which is passed as a parameter to a screen.

Fields

NameDescription
key(String!)

value(String!)

Example

{
  "key": "abc123",
  "value": "abc123"
}

Fields

NameDescription
balanceThreshold(Int)

The ledger balance (in minor currency unit) which when passed will trigger a payment.

targetBalance(Int)

The target balance (in minor currency unit) for the ledger.

Example

{
  "balanceThreshold": 1,
  "targetBalance": 1
}

Fields

NameDescription
areValid(Boolean!)

Indicates whether the provided bank details are valid.

message(String)

Provides additional information about validation result.

Example

{
  "areValid": true,
  "message": "abc123"
}

Fields

NameDescription
concessionDiscount(Int!)

Estimated concession (GST excluded).

exportEarning(Int)

Estimated export cost in cents (GST excluded).

exportEnergy(Float)

Estimated export amount.

totalCost(Int!)

Estimated total cost in cents (GST excluded).

usageCost(Int!)

Estimated cost in cents (GST excluded).

usageEnergy(Float!)

Estimated usage amount.

Example

{
  "usageEnergy": 1.0,
  "usageCost": 1,
  "exportEnergy": 1.0,
  "exportEarning": 1,
  "concessionDiscount": 1,
  "totalCost": 1
}

BespokeRateConfigurationType

The BespokeRateConfiguration term.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

schedules([BespokeRateScheduleType])

The schedules for the bespoke rate configuration.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "schedules": [BespokeRateScheduleType]
}

BespokeRateItemType

Item for the BespokeRateConfiguration term.

Fields

NameDescription
pricePerUnit(Decimal)

The price per unit for the bespoke rate item.

rateSpecificationCode(String)

The rate specification code for the bespoke rate item.

rateSpecificationType(BespokeRateItemTypeEnum)

The rate specification type for the bespoke rate item.

variantProfile(VariantProfile)

The variant profile for the bespoke rate item.

Example

{
  "pricePerUnit": "1.0",
  "rateSpecificationCode": "abc123",
  "rateSpecificationType": "PRODUCT_RATE",
  "variantProfile": VariantProfile
}

BespokeRateScheduleType

Schedule for the BespokeRateConfiguration term.

Fields

NameDescription
items([BespokeRateItemType])

The items for the bespoke rate schedule.

productCode(String)

The product code for the bespoke rate schedule.

supplyPointIdentifier(String)

The external identifier of the supply point this schedule targets.

validFrom(DateTime)

The datetime the schedule of bespoke rates is valid from.

validTo(DateTime)

The datetime the schedule of bespoke rates is valid to.

Example

{
  "items": [BespokeRateItemType],
  "productCode": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "supplyPointIdentifier": "abc123"
}

BestOfferForAgreement

This represents the Best Offer Details for an Agreement.

Fields

NameDescription
allProductsChecked([BestOfferProductEstimate])

All products checked for the agreement.

bestOfferDifference(Int)

The cost difference between the current product and best offer.

bestOfferProduct(Product)

The best offer product for the agreement.

estimatedBestOfferProductCost(Int)

The estimated best offer product cost.

estimatedCurrentProductCost(Int)

The estimated cost for the current product.

includesSolarExport(Boolean)

Whether or not solar export is included.

usage(BestOfferReportUsage)

The best offer report usage.

Example

{
  "estimatedCurrentProductCost": 1,
  "allProductsChecked": [BestOfferProductEstimate],
  "usage": BestOfferReportUsage,
  "bestOfferProduct": Product,
  "estimatedBestOfferProductCost": 1,
  "bestOfferDifference": 1,
  "includesSolarExport": true
}

Fields

NameDescription
estimatedCost(Int)

The estimated cost for the best offer product.

product(Product)

The product for the best offer product estimate.

Example

{
  "product": Product,
  "estimatedCost": 1
}

Fields

NameDescription
controlledLoadUsage(Decimal)

The controlled load for the best offer report usage.

endAt(DateTime)

The end at date time for the best offer report usage.

offPeakUsage(Decimal)

The off peak for the best offer report usage.

peakUsage(Decimal)

The peak for the best offer report usage.

shoulderUsage(Decimal)

The shoulder for the best offer report usage.

startAt(DateTime)

The start at date time for the best offer report usage.

totalUsage(Decimal)

The total for the best offer report usage.

Example

{
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "totalUsage": "1.0",
  "peakUsage": "1.0",
  "offPeakUsage": "1.0",
  "shoulderUsage": "1.0",
  "controlledLoadUsage": "1.0"
}

BillCharge

A charge to the customer from the energy retailer.

Fields

NameDescription
amounts(TransactionAmountType)

The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.

consumption(Consumption)

If this charge is for consumption of a good or service, this field will contain details of how much was consumed. Omitted in cases where the charge is not for consumption, or where consumption information is not available (e.g. for some older records).

createdAt(DateTime)

The date time when the transaction is created.

detail(ChargeDetail)

Supporting information about this charge (if any is available).

id(ID)

The unique identifier for the transaction.

note(String)

Returns the note field value for the transaction, which contains additional info.

postedDate(Date)

The date the transaction was posted.

reasonCode(String)

Returns the reason.

title(String)

A user readable string that indicates what this transaction relates to.

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "amounts": TransactionAmountType,
  "title": "abc123",
  "note": "abc123",
  "reasonCode": "abc123",
  "consumption": Consumption,
  "detail": SupplyOrServiceCharge
}

BillConnectionTypeConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([BillConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": BillConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

BillConnectionTypeEdge

A Relay edge containing a BillConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(BillInterface)

The item at the end of the edge

Example

{
  "node": BillInterface,
  "cursor": "abc123"
}

BillCredit

A credit to the customer from the energy retailer.

Fields

NameDescription
amounts(TransactionAmountType)

The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.

createdAt(DateTime)

The date time when the transaction is created.

id(ID)

The unique identifier for the transaction.

note(String)

Returns the note field value for the transaction, which contains additional info.

postedDate(Date)

The date the transaction was posted.

reasonCode(String)

Returns the reason.

title(String)

A user readable string that indicates what this transaction relates to.

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "amounts": TransactionAmountType,
  "title": "abc123",
  "note": "abc123",
  "reasonCode": "abc123"
}

BillDueDateType

Represents bill due dates to be applied in a contract.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

numberOfDays(Int)

The number of days to pay a bill from issue date, after which the debt becomes delinquent.

type(NonEmptyString)

The type of the term.

typeOfDays(DayType)

The type of day to consider (WORKING or CALENDAR).

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "numberOfDays": 1,
  "typeOfDays": "WORKING"
}

BillPayment

A payment from the customer to the energy supplier.

Fields

NameDescription
amounts(TransactionAmountType)

The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.

createdAt(DateTime)

The date time when the transaction is created.

id(ID)

The unique identifier for the transaction.

note(String)

Returns the note field value for the transaction, which contains additional info.

postedDate(Date)

The date the transaction was posted.

reasonCode(String)

Returns the reason.

title(String)

A user readable string that indicates what this transaction relates to.

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "amounts": TransactionAmountType,
  "title": "abc123",
  "note": "abc123",
  "reasonCode": "abc123"
}

BillRefund

A refund to the customer from the energy supplier.

Fields

NameDescription
amounts(TransactionAmountType)

The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.

createdAt(DateTime)

The date time when the transaction is created.

id(ID)

The unique identifier for the transaction.

note(String)

Returns the note field value for the transaction, which contains additional info.

postedDate(Date)

The date the transaction was posted.

reasonCode(String)

Returns the reason.

title(String)

A user readable string that indicates what this transaction relates to.

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "amounts": TransactionAmountType,
  "title": "abc123",
  "note": "abc123",
  "reasonCode": "abc123"
}

BillRepresentationConnectionTypeConnection

A connection that can provide links to the representations of a bill.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([BillRepresentationConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": BillRepresentationConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

BillRepresentationConnectionTypeEdge

A Relay edge containing a BillRepresentationConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(BillRepresentationType)

The item at the end of the edge

Example

{
  "node": BillRepresentationType,
  "cursor": "abc123"
}

BillRepresentationContextType

Provides the rendering context data used to generate a bill representation, along with its associated JSON Schema metadata.

Fields

NameDescription
data(GenericScalar)

The raw template context used to render the bill representation. Returns null if the context data is unavailable.

schema(GenericScalar)

The schema defining the expected structure of the data field. This is populated when the schema type is 'STRICT', and empty when the schema type is 'NONE'.

schemaType(String)

The level of explicit structural typing applied to the context data. 'STRICT' indicates that the data conforms to a defined, typed schema; 'NONE' indicates that the data is untyped and no schema is enforced.

templateCode(String)

The unique code of the template associated with this context.

Example

{
  "data": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "schema": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "schemaType": "abc123",
  "templateCode": "abc123"
}

BillRepresentationType

representations are associated with a bill files and can be used to provide additional information to the customer.

Fields

NameDescription
code(String)

The type of representation.

context(BillRepresentationContextType)

The rendering context data and schema associated with this bill representation. Returns null if no context record exists.

filename(String)

The name of the file.

temporaryUrl(String)

The TemporaryURL type represents a temporary URL at which the file is available. It is intended for redirection purposes, NOT persistence in any form. (e.g. inclusion in emails or the body of a web page).

temporaryUrlExpiresAt(DateTime)

The expiry datetime field of the temporary URL.

version(Int)

The version of the representation.

Example

{
  "code": "abc123",
  "version": 1,
  "temporaryUrl": "abc123",
  "temporaryUrlExpiresAt": "2020-01-01T00:00:00.000Z",
  "filename": "abc123",
  "context": BillRepresentationContextType
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([BillTransactionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": BillTransactionConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

BillTransactionConnectionTypeEdge

A Relay edge containing a BillTransactionConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(BillTransactionType)

The item at the end of the edge

Example

{
  "node": BillTransactionType,
  "cursor": "abc123"
}

Fields

NameDescription
targetBalance(Int)

The target balance (in minor currency unit) for the ledger.

Example

{
  "targetBalance": 1
}

Fields

NameDescription
frequencyMultiplier(Int)

The multiple of months at which payments are taken, if specified.

paymentDay(Int)

The day of the month at which to take payment, if specified.

Example

{
  "paymentDay": 1,
  "frequencyMultiplier": 1
}

BillingAttachmentConnectionTypeConnection

A connection that can provide links to the attachments of the bill.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([BillingAttachmentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": BillingAttachmentConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

BillingAttachmentConnectionTypeEdge

A Relay edge containing a BillingAttachmentConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(BillingAttachmentType)

The item at the end of the edge

Example

{
  "node": BillingAttachmentType,
  "cursor": "abc123"
}

BillingAttachmentType

Attachments are associated with a bill files and can be used to provide additional information to the customer.

Fields

NameDescription
filename(String)

The name of the file.

temporaryUrl(String)

The TemporaryURL type represents a temporary URL at which the file is available. It is intended for redirection purposes, NOT persistence in any form. (e.g. inclusion in emails or the body of a web page).

temporaryUrlExpiresAt(DateTime)

The expiry datetime field of the temporary URL.

Example

{
  "temporaryUrl": "abc123",
  "temporaryUrlExpiresAt": "2020-01-01T00:00:00.000Z",
  "filename": "abc123"
}

Fields

NameDescription
allocationIntentions([AllocationIntentionType]!)

Allocation intentions for the billing document.

allocations([AllocationType]!)

Allocations for the billing document.

dueDate(Date!)

The date when the payment is due for the billing document.

expectedAmount(Int!)

The expected amount for the billing document (in minor currency units).

remainingAmount(Int!)

The amount that remains to be paid for the billing document (in minor currency units).

Example

{
  "dueDate": "2020-01-01",
  "expectedAmount": 1,
  "remainingAmount": 1,
  "allocationIntentions": AllocationIntentionType,
  "allocations": AllocationType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

BillingOperationFrequency

A billing operation frequency definition.

Fields

NameDescription
frequency(BillingTriggerFrequency!)

The billing frequency.

multiplier(Int!)

The frequency multiplier (e.g., 2 for bi-monthly).

operationType(BillingTriggerOperationType!)

The type of billing operation.

targetType(BillingTriggerTargetType!)

The type of target this definition applies to.

temporalParams([BillingOperationTemporalParamsType!]!)

Temporal parameters for operation parameters.

triggerAtStartDay(Int!)

Day of the month when billing is triggered (1-31).

triggerAtStartMonth(Int!)

Month of the year when billing starts (1-12).

Example

{
  "operationType": "CHARGE_TARGET",
  "targetType": "CHARGING_LEDGER",
  "frequency": "DAILY",
  "multiplier": 1,
  "triggerAtStartDay": 1,
  "triggerAtStartMonth": 1,
  "temporalParams": BillingOperationTemporalParamsType
}

BillingOperationTemporalParamsType

Temporal parameters for billing frequency operations.

Fields

NameDescription
paramKey(String!)

The key of the parameter (e.g., charge_to).

startDay(Int!)

Day of the month (1-31).

startMonth(Int!)

Month of the year (1-12).

Example

{
  "paramKey": "abc123",
  "startDay": 1,
  "startMonth": 1
}

BillingOptionsType

Information about an account's billing schedule.

Fields

NameDescription
currentBillingPeriodEndDate(Date)

The date on which the current billing cycle will end. Null if the account is on flexible billing.

currentBillingPeriodStartDate(Date)

The date on which the current billing cycle started.

isFixed(Boolean!)

If true, this account is billed on specific day of a regular cycle. If false, the billing schedule is flexible, depending on when meter readings are submitted.

nextBillingDate(Date)

The next date on which this account will next be billed. This is the same as the start date for their next bill cycle. Null if the account is on flexible billing.

periodLength(AccountBillingOptionsPeriodLength)

periodLengthMultiplier(Int)

periodStartDay(Int)

The day of the month on which the account's billing period should start.

Example

{
  "periodStartDay": 1,
  "periodLength": "MONTHLY",
  "periodLengthMultiplier": 1,
  "isFixed": true,
  "currentBillingPeriodStartDate": "2020-01-01",
  "currentBillingPeriodEndDate": "2020-01-01",
  "nextBillingDate": "2020-01-01"
}

BillingTriggerConfiguration

A billing trigger configuration with its effective period and operation frequencies.

This represents a complete billing configuration for a target, including effective period and what operations should be performed at what frequencies.

Fields

NameDescription
effectiveFrom(DateTime!)

When this configuration becomes effective.

effectiveTo(DateTime)

When this configuration stops being effective (null if no end date).

isActive(Boolean!)

Whether this configuration is currently active.

nextIssueDate(Date)

Next date when a billing document will be issued (null if not calculable).

operationFrequencies([BillingOperationFrequency!]!)

List of billing operation frequencies in this configuration.

targetType(BillingTriggerTargetType!)

The type of target this configuration applies to.

Example

{
  "effectiveFrom": "2020-01-01T00:00:00.000Z",
  "effectiveTo": "2020-01-01T00:00:00.000Z",
  "isActive": true,
  "targetType": "CHARGING_LEDGER",
  "operationFrequencies": BillingOperationFrequency,
  "nextIssueDate": "2020-01-01"
}

BillingTriggerConfigurationsConnection

Pagination object for billing trigger configurations.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([BillingTriggerConfigurationsEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": BillingTriggerConfigurationsEdge,
  "totalCount": 1,
  "edgeCount": 1
}

BillingTriggerConfigurationsEdge

A Relay edge containing a BillingTriggerConfigurations and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(BillingTriggerConfigurationsForTarget)

The item at the end of the edge

Example

{
  "node": BillingTriggerConfigurationsForTarget,
  "cursor": "abc123"
}

BillingTriggerConfigurationsForTarget

Billing trigger configurations for a single target.

Fields

NameDescription
configurations([BillingTriggerConfiguration!]!)

List of billing trigger configurations for this target.

target(BillingTriggerTargetReference!)

Reference to the target entity for these billing configurations.

Example


BillingTriggerTargetReference

A reference to a billing trigger target.

Fields

NameDescription
id(ID!)

The database ID of the target.

number(String)

The account or portfolio number (null for ledgers).

targetType(BillingTriggerTargetType!)

The type of target (ACCOUNT, PORTFOLIO, or CHARGING_LEDGER).

Example

{
  "targetType": "CHARGING_LEDGER",
  "number": "abc123",
  "id": "abc123"
}

BlockRepaymentSubmission

Block a repayment from being submitted.

The possible errors that can be raised are:

  • KT-CT-3944: Account repayment does not exist.
  • KT-CT-3946: Unable to block a repayment from being submitted.
  • KT-CT-3950: The provided reason text is too long.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
repaymentId(ID)

The repayment ID.

repaymentIntervention(RepaymentInterventionType)

Resulting Repayment Intervention details.

Example

{
  "repaymentId": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

BreakPaymentPlan

Break an active payment plan for a Customer.

The possible errors that can be raised are:

  • KT-AU-3933: The payment plan was not found.
  • KT-AU-3938: The payment plan could not be broken.
  • KT-AU-3939: Support User ID not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentPlan(PaymentPlanType)

The payment plan that has been broken.

Example

{
  "paymentPlan": PaymentPlanType
}

BulkAwardLoyaltyPoints

Award Loyalty Points to multiple accounts in a single request.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9202: Loyalty Points adapter not configured.
  • KT-CT-9212: Points exceed maximum limit.
  • KT-CT-9221: Idempotency key already used on ledger entry.
  • KT-CT-9224: Duplicate idempotency keys provided in requested awards.
  • KT-CT-9225: Bulk award batch size exceeds the maximum limit.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
failed([BulkAwardLoyaltyPointsFailedItemResult])

Failed loyalty point awards.

inserted([BulkAwardLoyaltyPointsInsertedItemResult])

Successfully inserted loyalty point awards.


Fields

NameDescription
accountNumber(String)

The account number for this failed item.

errorCode(String)

Error code for failed items.

errorMessage(String)

Error message for failed items.

idempotencyKey(UUID)

The idempotency key for this failed item.

Example

{
  "accountNumber": "abc123",
  "idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "errorCode": "abc123",
  "errorMessage": "abc123"
}

Fields

NameDescription
accountNumber(String)

The account number for this item.

ledgerEntry(LoyaltyPointLedgerEntryType)

The created loyalty point ledger entry when successful.

pointsAwarded(Int)

The number of points awarded for this item when successful.

Example

{
  "accountNumber": "abc123",
  "pointsAwarded": 1,
  "ledgerEntry": LoyaltyPointLedgerEntryType
}

BusinessConnectionTypeConnection

Paginator of Businesses

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([BusinessConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": BusinessConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

BusinessConnectionTypeEdge

A Relay edge containing a BusinessConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(BusinessType)

The item at the end of the edge

Example

{
  "node": BusinessType,
  "cursor": "abc123"
}

Fields

NameDescription
key(String!)

The key of the business detail.

value(String)

The value of the business detail.

Example

{
  "key": "abc123",
  "value": "abc123"
}

Fields

NameDescription
code(String!)

The unique code of the role.

description(String!)

The description of the role.

name(String!)

The unique displayable name of the role.

permissionCodes([String]!)

The permissions associated with the role.

Example

{
  "code": "abc123",
  "name": "abc123",
  "description": "abc123",
  "permissionCodes": "abc123"
}

Fields

NameDescription
endAt(DateTime)

The end date and time of the segment period.

id(ID!)

The ID of the business segment period.

segment(SegmentType!)

The segment associated with this period.

startAt(DateTime)

The start date and time of the segment period.

Example

{
  "id": "abc123",
  "segment": SegmentType,
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
billingAddress(RichAddressType)

The billing address of the business.

businessType(BusinessTypeOptions)

The company type of a business account.

details([BusinessDetailType])

The details of the business.

displayableNumber(String)

Kraken-generated, human-readable number for display purposes.

id(ID!)

The business ID.

legalAddress(RichAddressType)

The legal address of the business.

linkedAccountNumber(ID!)

Account number linked to this business.

The possible errors that can be raised are:

  • KT-CT-11102: Business without related account.
  • KT-CT-1113: Disabled GraphQL field requested.

Deprecated

The 'linkedAccountNumber' field is deprecated.

Please use 'linkedAccountNumbers' instead, businesses can be related to multiple Accounts now.

- Marked as deprecated on 2025-02-05.
- Scheduled for removal on or after 2025-08-01.

linkedAccountNumbers([ID]!)

Account numbers linked to this business.

name(String!)

The business' name.

number(String!)

The business' number.

numberType(BusinessNumberTypeEnum)

Which kind of business type the number field refers to. Returns MISSING if the number field is empty, and UNKNOWN if the value cannot be parsed as either ABN or ACN.

paymentMethods(PaymentInstructionConnectionTypeConnection)

List payment instructions owned by this business.

Arguments

after (String)

before (String)

first (Int)

last (Int)

statuses ([PaymentInstructionStatus])

Optionally filter the payment instructions by status.

validAt (DateTime)

Optionally return only payment instructions valid at the given datetime.

sectors([BusinessSectorString!]!)

The sectors the business operates in.

segmentName(String)

The segment this business is assigned to.

Example

{
  "id": "abc123",
  "name": "abc123",
  "number": "abc123",
  "displayableNumber": "abc123",
  "businessType": "SOLE_TRADER",
  "sectors": BusinessSectorString,
  "details": [BusinessDetailType],
  "billingAddress": RichAddressType,
  "legalAddress": RichAddressType,
  "linkedAccountNumber": "abc123",
  "linkedAccountNumbers": "abc123",
  "segmentName": "abc123",
  "paymentMethods": PaymentInstructionConnectionTypeConnection,
  "numberType": "ABN"
}

CIMeteringAgreementType

Represents a C&I metering agreement term in a contract.

Note: This type is a stub, and will be fleshed out in the future.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([CallConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": CallConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

CallConnectionTypeEdge

A Relay edge containing a CallConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(CallInterface)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
key(String!)

The key of the call metadata item.

value(String!)

The value of the call metadata item.

Example

{
  "key": "abc123",
  "value": "abc123"
}

Fields

NameDescription
data(JSONString)

Data containing context of the event.

eventType(String)

The type of event.

occurredAt(DateTime)

Timestamp for when the event occurred.

relativeOccurredAt(Int)

Time in milliseconds, relative to the start of the recording.

Example

{
  "data": {"key": "value"},
  "eventType": "abc123",
  "relativeOccurredAt": 1,
  "occurredAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
callDirection(String)

The direction the call was initiated.

callId(ID)

ID of the associated call.

endTime(DateTime)

End time of the call recording.

events([CallRecordingDetailEventType])

A list of recording events.

fromPhoneNumber(String)

Phone number of the caller.

primaryAgentEmail(String)

Email of the call's main agent.

startTime(DateTime)

Start time of the call recording.

toPhoneNumber(String)

Phone number of the callee.

Example

{
  "callId": "abc123",
  "callDirection": "abc123",
  "primaryAgentEmail": "abc123",
  "toPhoneNumber": "abc123",
  "fromPhoneNumber": "abc123",
  "startTime": "2020-01-01T00:00:00.000Z",
  "endTime": "2020-01-01T00:00:00.000Z"
}

CallTagConnectionTypeConnection

Paginator of Call Tags

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([CallTagConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": CallTagConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

CallTagConnectionTypeEdge

A Relay edge containing a CallTagConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(CallTagType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
id(ID)

ID of the call tag.

isActive(Boolean)

Whether the tag can currently be used to tag calls.

name(String)

Name of the tag that will be used to identify it.

Example

{
  "id": "abc123",
  "name": "abc123",
  "isActive": true
}

CallTranscriptConnectionTypeConnection

Paginator of Call Transcripts

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([CallTranscriptConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": CallTranscriptConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

CallTranscriptConnectionTypeEdge

A Relay edge containing a CallTranscriptConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(CallTranscriptType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
expiresAt(DateTime!)

The time at which the presigned url stops working.

type(CallTranscriptionType!)

Whether url points to the REDACTED or UNREDACTED transcript file. REDACTED is preferred and returned whenever a redacted file exists. UNREDACTED is only returned to callers that hold an additional permission for unredacted access.

url(String!)

Presigned S3 URL for the transcript file. Valid for one hour from the time the response is generated.

Example

{
  "url": "abc123",
  "type": "REDACTED",
  "expiresAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
call(CallInterface)

The call this transcription is for. May be null when the underlying recording is a participant-level recording whose participant is not associated with a call.

createdAt(DateTime!)

The time at which this transcription record was created.

download(CallTranscriptDownloadType)

A presigned download for the transcript file, or null when the transcription is not COMPLETED, no eligible file exists, or the caller lacks permission for the only available file.

id(ID!)

The ID of the transcription record.

status(CallTranscriptionStatus!)

The processing status of this transcription. A non-COMPLETED status means no download is available.

transcribedAt(DateTime)

The time the vendor reported the transcription complete. Null until the transcription reaches COMPLETED status.

vendor(String!)

The transcription vendor that produced this record.

Example

{
  "id": "abc123",
  "status": "CREATED",
  "vendor": "abc123",
  "transcribedAt": "2020-01-01T00:00:00.000Z",
  "createdAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

CancelCentrepayDeduction

Initiate a request to cancel an existing Centrepay Deduction.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-AU-3923: Centrepay Deduction with provided ID does not exist.
  • KT-AU-3924: You do not have permission to administer this Centrepay Deduction.
  • KT-AU-3925: Cannot cancel this Centrepay Deduction.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
centrepayDeduction(CentrepayDeductionType!)

Details of Centrepay Deduction to be cancelled.

Example

{
  "centrepayDeduction": CentrepayDeductionType
}

CancelHouseMoveIn

Mutation to cancel a triggered move in process for a given account

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

error(CancelHouseMoveInErrorUnion)

Example


CancelHouseMoveOut

Mutation to cancel a triggered move out process for a given account

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

error(CancelHouseMoveErrorUnion)

Example

{
  "account": AccountType,
  "error": DoesNotExistErrorType
}

CancelPayment

Cancel an in-flight payment.

The possible errors that can be raised are:

  • KT-CT-3924: Unauthorized.
  • KT-CT-3954: Payment cancellation failed.
  • KT-CT-3955: Payment cannot be cancelled.
  • KT-CT-3956: Temporary error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
payment(AccountPaymentType)

The cancelled payment.

Example

{
  "payment": AccountPaymentType
}

CancelPaymentPlan

Cancel an active payment plan for a Customer.

The possible errors that can be raised are:

  • KT-AU-3933: The payment plan was not found.
  • KT-AU-3937: The payment plan could not be cancelled.
  • KT-AU-3939: Support User ID not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentPlan(PaymentPlanType)

The payment plan that has been cancelled.

Example

{
  "paymentPlan": PaymentPlanType
}

CancelRepaymentRequest

Cancel a repayment or refund request.

The possible errors that can be raised are:

  • KT-CT-4231: Unauthorized.
  • KT-CT-3930: The repayment or refund request does not exist.
  • KT-CT-3931: This repayment or refund request cannot be cancelled.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
repaymentRequest(CancelRepaymentRequestOutputType)

The cancelled repayment/refund request.

Example

{
  "repaymentRequest": CancelRepaymentRequestOutputType
}

CancelRepaymentRequestOutputType

Output from cancelling a repayment or refund request.

Fields

NameDescription
requestId(String)

The ID of the cancelled request.

status(RepaymentRequestStatus)

The current status of the cancelled request.

Example

{
  "requestId": "abc123",
  "status": "REQUESTED"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

CardComponentType

A card containing a list of items

Fields

NameDescription
accessibilityHidden(Boolean)

Whether the element is hidden from view.

accessibilityLabel(String)

Accessible description of the element.

id(ID)

Unique identifier of the object.

items([CardItemType]!)

The list of components.

typename(String)

The name of the object's type.

Example

{
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123",
  "id": "abc123",
  "typename": "abc123",
  "items": TextType
}

Fields

NameDescription
cards([CardComponentType]!)

The list of cards.

id(ID)

Unique identifier of the object.

typename(String)

The name of the object's type.

Example

{
  "id": "abc123",
  "typename": "abc123",
  "cards": CardComponentType
}

CatalogProductType

Represents a product in the catalog.

Fields

NameDescription
code(String!)

Unique identifier of the component.

customerDescription(String!)

Customer-facing description of the product.

customerName(String!)

Customer-facing name of the product.

identifier(ID!)

Unique identifier of the product.

internalName(String!)

Internal name of the product.

marketName(String!)

The market the product is associated with.

sourceProductType(CatalogProductTypeEnum)

The type of product.

specificationIdentifier(ID)

Identifier of the product specification associated with this product.

tags([TagType])

Tags associated with this product for classification.

Example

{
  "identifier": "abc123",
  "internalName": "abc123",
  "customerName": "abc123",
  "customerDescription": "abc123",
  "code": "abc123",
  "marketName": "abc123",
  "sourceProductType": "SUPPLY",
  "specificationIdentifier": "abc123"
}

Fields

NameDescription
accountNumber(String!)

Kraken account number that the Deduction is associated with.

amount(Int!)

Deduction payment amount (in cents).

benefitGroup(CentrepayBenefitGroupEnum!)

3-letter code indicating the type of social security payment.

changeStatus(CentrepayChangeStatusEnum)

Status for if this Deduction has a pending create, change or cancel request.

customerDateOfBirth(String)

Date of birth of customer that the Deduction is associated with.

customerFamilyName(String)

Family name of customer that the Deduction is associated with.

customerGivenName(String)

Given name of customer that the Deduction is associated with.

customerReferenceNumber(String!)

Customer Centrelink CRN.

id(ID)

ID of Centrepay Deduction (empty for pending Create requests).

serviceReason(CentrepayServiceReasonEnum!)

3-letter code indicating the product or service the Deduction is for.

targetAmount(Int)

An optional target total payment amount after which Centrelink will end the deduction (in cents).

validFrom(Date!)

Date this Deduction Instruction is valid from.

validTo(Date)

Date this Deduction Instruction is valid to.

Example

{
  "accountNumber": "abc123",
  "benefitGroup": "ABY",
  "serviceReason": "ELE",
  "customerReferenceNumber": "abc123",
  "amount": 1,
  "targetAmount": 1,
  "validTo": "2020-01-01",
  "id": "abc123",
  "validFrom": "2020-01-01",
  "customerGivenName": "abc123",
  "customerFamilyName": "abc123",
  "customerDateOfBirth": "abc123",
  "changeStatus": "CREATING"
}

ChangeCentrepayDeduction

Initiate a request to change the details of an existing Centrepay Deduction.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-AU-3923: Centrepay Deduction with provided ID does not exist.
  • KT-AU-3924: You do not have permission to administer this Centrepay Deduction.
  • KT-AU-3928: Cannot Cannot change validFrom date of Deduction that is already active.
  • KT-AU-3920: Cannot provide both validTo and targetAmount values.
  • KT-AU-3927: No change data provided.
  • KT-AU-3926: Cannot change this Centrepay Deduction.
  • KT-AU-3930: Centrepay Deduction amount cannot be greater than Target Amount.
  • KT-AU-3916: Centrepay Deduction amount must be greater than $10.00.
  • KT-AU-3914: Centrepay Deduction valid_to date must be later than today.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
centrepayDeduction(CentrepayDeductionType!)

Details of Centrepay Deduction to be changed.

Example

{
  "centrepayDeduction": CentrepayDeductionType
}

Fields

NameDescription
actualChangeDate(Date)

actualEndDate(Date)

changeReason(String!)

direction(DirectionChoices)

id(ID!)

identifier(String!)

meterPoint(MeterPointType)

proposedDate(Date)

status(ChangeRequestStatus!)

Example

{
  "id": "abc123",
  "identifier": "abc123",
  "status": "INITIATED",
  "changeReason": "abc123",
  "proposedDate": "2020-01-01",
  "actualChangeDate": "2020-01-01",
  "actualEndDate": "2020-01-01",
  "meterPoint": MeterPointType,
  "direction": "INBOUND"
}

CharacteristicType

A characteristic associated with a product.

Fields

NameDescription
code(String!)

The code of the characteristic.

description(String!)

The description of the characteristic.

name(String!)

The name of the characteristic.

values([CharacteristicValueUnion]!)

The possible values for the characteristic (can be strings or integers).

Example

{
  "code": "abc123",
  "name": "abc123",
  "description": "abc123",
  "values": StringCharacteristicValueType
}

Charge

A charge to the customer.

Fields

NameDescription
accountNumber(String)

Unique identifier of the account the transaction belongs to.

amount(Int)

Gross amount including tax (when payable). Refer to the amounts field for a breakdown of this information.

amounts(TransactionAmountType)

The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.

balanceCarriedForward(Int)

The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.

basedOnEstimatedReadings(EstimatedReadingsStatus)

Represents the basis used for calculating the charge, indicating whether it relies on estimated readings, actual readings, otherwise either Kraken doesn't support it yet, or falls into not applicable category.

billingDocumentIdentifier(ID)

The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.

breakdownItems([ChargeBreakdownItemType])

Components of the charge, itemised by rate.

consumption(Consumption)

If this charge is for consumption of a good or service, this field will contain details of how much was consumed. Omitted in cases where the charge is not for consumption, or where consumption information is not available (e.g. for some older records).

createdAt(DateTime)

The date time when the transaction is created.

detail(ChargeDetail)

Supporting information about this charge (if any is available).

hasStatement(Boolean)

Returns True if the transaction is linked with a statement.

id(ID)

Unique identifier for the transaction.

isAccountCharge(Boolean)

Deprecated.

Deprecated

The 'isAccountCharge' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isAccountPayment(Boolean)

Deprecated.

Deprecated

The 'isAccountPayment' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isBasedOnEstimatedReadings(Boolean)

Whether the charge is based on one or more estimated readings.

Deprecated

The 'isBasedOnEstimatedReadings' field is deprecated.

There are non-energy charges e.g. card payment fees, that are irrelevant to estimated readings. Use `basedOnEstimatedReadings` instead.

- Marked as deprecated on 2023-06-14.
- Scheduled for removal on or after 2024-06-14.

isCredit(Boolean)

Deprecated.

Deprecated

The 'isCredit' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isHeld(Boolean)

Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.

isIssued(Boolean)

Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.

isReversed(Boolean!)

lineItems([LineItemType])

The line items that make up the charge.

note(String)

Returns the note field value for the transaction, which contains additional info.

postedDate(Date)

Date when the transaction was posted to the account.

reasonCode(String)

Returns the reason.

statementId(ID)

Returns None if a statement is not linked with the transaction.

Deprecated

The 'statementId' field is deprecated.

Use `billingDocumentIdentifier` instead.

- Marked as deprecated on 2023-11-30.
- Scheduled for removal on or after 2024-06-01.

taxItems([TaxItemType])

The tax information about this charge.

title(String)

Human-readable title describing the transaction.

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123",
  "amount": 1,
  "amounts": TransactionAmountType,
  "balanceCarriedForward": 1,
  "isCredit": true,
  "isAccountCharge": true,
  "isAccountPayment": true,
  "isHeld": true,
  "isIssued": true,
  "title": "abc123",
  "billingDocumentIdentifier": "abc123",
  "statementId": "abc123",
  "isReversed": true,
  "hasStatement": true,
  "note": "abc123",
  "reasonCode": "abc123",
  "consumption": Consumption,
  "detail": SupplyOrServiceCharge,
  "isBasedOnEstimatedReadings": true,
  "basedOnEstimatedReadings": "BASED_ON_ESTIMATED_READINGS",
  "breakdownItems": [ChargeBreakdownItemType],
  "lineItems": [LineItemType],
  "taxItems": [TaxItemType]
}

ChargeBreakdownItemType

A component of a charge representing consumption for a single rate/tariff.

Fields

NameDescription
consumptionIsEstimated(Boolean)

Whether the item is based on estimated readings.

grossAmount(Decimal)

The amount charged for this item in cents (incl GST).

netAmount(Decimal)

The amount charged for this item in cents (excl GST).

numberOfUnits(Decimal)

The number of units consumed.

periodEndAt(DateTime)

When the consumption ends.

periodStartAt(DateTime)

When the consumption starts.

rate(RateInterface)

The associated rate for the item.

salesTaxAmount(Decimal)

The GST component of this item.

supplyPointIdentifier(String)

Identifier for the supply point, e.g. the NMI for electricity or MIRN for gas.

Example

{
  "rate": RateInterface,
  "periodStartAt": "2020-01-01T00:00:00.000Z",
  "periodEndAt": "2020-01-01T00:00:00.000Z",
  "numberOfUnits": "1.0",
  "grossAmount": "1.0",
  "netAmount": "1.0",
  "salesTaxAmount": "1.0",
  "supplyPointIdentifier": "abc123",
  "consumptionIsEstimated": true
}

Fields

NameDescription
code(String)

The charge reason code.

display(String)

The charge reason display text.

group(String)

The group the charge reason belongs to (if applicable).

isDeprecated(Boolean)

Whether the charge reason is deprecated.

isHidden(Boolean)

Whether the charge reason is hidden.

isTaxExempt(Boolean)

Whether the charge reason is sales tax exempt.

Example

{
  "code": "abc123",
  "display": "abc123",
  "isDeprecated": true,
  "isTaxExempt": true,
  "isHidden": true,
  "group": "abc123"
}

ChargesBreakdownConnectionTypeConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ChargesBreakdownConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ChargesBreakdownConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ChargesBreakdownConnectionTypeEdge

A Relay edge containing a ChargesBreakdownConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ChargesBreakdownType)

The item at the end of the edge

Example

{
  "node": ChargesBreakdownType,
  "cursor": "abc123"
}

Fields

NameDescription
charge(Int)

Charge in minor currency.

periodEnd(Date)

The end date of the period the charge is for (exclusive).

periodStart(Date)

The start date of the period the charge is for (inclusive).

Example

{
  "periodStart": "2020-01-01",
  "periodEnd": "2020-01-01",
  "charge": 1
}

CheckResultType

GraphQL type for check result.

Fields

NameDescription
context(String)

Additional context about the check.

name(String)

Name of the check.

status(CheckResultStatus)

Status of the check.

Example

{
  "name": "abc123",
  "status": "PASSED",
  "context": "abc123"
}

ChromaTransactionType

Object representing a Chroma transaction.

Fields

NameDescription
createdAt(DateTime)

Datetime that the message was created at.

id(ID!)

The Kraken ID of the message.

initiatingTransactionId(ID)

The industry ID of the transaction that this message was in response to (if applicable).

messageId(ID)

The industry ID of the message.

messageRevision(String)

The version of the message specification.

priority(String)

Priority of the message.

transactionId(ID)

The industry ID of the transaction.

transactionType(String)

The type of transaction.

xmlFile(String)

Path to the raw XML file.

Example

{
  "id": "abc123",
  "messageId": "abc123",
  "transactionId": "abc123",
  "initiatingTransactionId": "abc123",
  "transactionType": "abc123",
  "messageRevision": "abc123",
  "xmlFile": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "priority": "abc123"
}

CloseActionType

Closes the screen.

Fields

NameDescription
accessibilityHidden(Boolean)

Whether the element is hidden from view.

accessibilityLabel(String)

Accessible description of the element.

id(ID)

Unique identifier of the object.

typeName(String)

The name of the action object's type.

typename(String)

The name of the object's type.

Example

{
  "typeName": "abc123",
  "id": "abc123",
  "typename": "abc123",
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123"
}

CloseDCAProceeding

Close the DCA proceeding for an account.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11602: Could not find DCA with that name.
  • KT-CT-11603: Could not stop debt collection proceeding.
  • KT-CT-11604: Active debt collection proceeding does not exist for account.
  • KT-CT-11605: Multiple active Proceeding's found for same agency and campaign on account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
dcaProceedingClosureStatus(DCAProceedingClosureStatus)

Whether the closure could be applied.

Example

{
  
}

CloseInkConversation

The possible errors that can be raised are:

  • KT-CT-7612: The Ink conversation was not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
conversation(InkConversation)

The conversation that was closed.

Example

{
  "conversation": InkConversation
}

CloseInkLiveChatConversation

The possible errors that can be raised are:

  • KT-CT-7616: Not yet implemented.
  • KT-CT-7643: The Live Chat was not found.
  • KT-CT-7644: Ink Live Chat conversation not found.
  • KT-CT-7652: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
liveChatConversation(InkLiveChatConversation)

The live chat conversation.

Example

{
  "liveChatConversation": InkLiveChatConversation
}

CloseOpenPrintBatch

Close the Open Print Batch if any.

The possible errors that can be raised are:

  • KT-CT-9010: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
printBatch(PrintBatchType)

Example

{
  
}

CollectDeposit

Collect deposit for the given account.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-CT-5711: No collection is required.
  • KT-CT-5712: Deposit agreement does not exist or has not been accepted.
  • KT-CT-5713: Payment instruction is not usable.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
payment(CollectDepositOutput)

Example

{
  
}

Fields

NameDescription
paymentDate(Date)

status(CollectDepositStatusChoices)

Example

{
  "status": "APPROVED",
  "paymentDate": "2020-01-01"
}

CollectPayment

Attempt to collect a one-off payment. If an instruction type is provided and there is an existing payment instruction, the payment can be collected immediately. A request to collect a payment at a future date can also be made, in which case the instruction input type is not necessary, but an instruction must exist at the specified collection date for the payment to be collected successfully.

The possible errors that can be raised are:

  • KT-CT-3932: Invalid data.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
payment(AccountPaymentType)

Details about the collected payment. Note that we might not be able to collect the payment (e.g. if there is no usable payment instruction), in which case the status of the returned payment might be failed or cancelled.

Example

{
  "payment": AccountPaymentType
}

Fields

NameDescription
code(String)

The code of the collection.

description(String)

The description of the collection.

fields([FunnelField])

The fields of the collection.

name(String)

The name of the collection.

order(Int)

The order of the collection.

Example

{
  "code": "abc123",
  "name": "abc123",
  "description": "abc123",
  "order": 1
}

CollectionProcessDetailsType

Collection process details type

Fields

NameDescription
associatedItems([CollectionProcessRecordAssociatedItemType])

Items associated to the collection process.

collectionProcessRecordNumber(String)

The collection process record number.

collectionProcessType(CollectionProcessTypes)

The type of the collection process (ACCOUNT, LEDGER, or BILLING_DOCUMENT).

completionType(String)

What kind of completion happened.

isActive(Boolean)

The active status of the collection process.

isComplete(Boolean)

The completion status of the collection process.

isPaused(Boolean)

The pause status of the collection process.

pausedDays(Int)

Total number of days collection process were on pause.

targetObjectIdentifier(String)

The identifier of the target object (account number, ledger number, or billing document ID) based on the collection process type.

Example

{
  "collectionProcessRecordNumber": "abc123",
  "isPaused": true,
  "isComplete": true,
  "isActive": true,
  "completionType": "abc123",
  "pausedDays": 1,
  "collectionProcessType": "ACCOUNT",
  "targetObjectIdentifier": "abc123"
}

CollectionProcessEventOutputType

Output for creating a collection process event.

Fields

NameDescription
number(String)

The number of the collection process record this event belongs to.

Example

{
  "number": "abc123"
}

CollectionProcessPauseStatusRecord

Collection process pause record

Fields

NameDescription
name(String)

Collection process pause name.

pausedAt(DateTime)

Start of pause period.

reason(String)

Reason for pausing.

resumedAt(DateTime)

End of pause period.

resumedReason(String)

Reason for ending pause period.

Example

{
  "name": "abc123",
  "reason": "abc123",
  "pausedAt": "2020-01-01T00:00:00.000Z",
  "resumedAt": "2020-01-01T00:00:00.000Z",
  "resumedReason": "abc123"
}

CollectionProcessRecordAssociatedItemType

Item associated to collection process

Fields

NameDescription
extraDetails(JSONString)

Additional details of the item.

itemReference(String!)

Unique reference of item.

itemType(String!)

Type of item.

occurredAt(DateTime!)

Datetime of when action that resulted in item happened.

Example

{
  "itemType": "abc123",
  "itemReference": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "extraDetails": {"key": "value"}
}

CollectionProcessStepType

Collection process step type

Fields

NameDescription
status(CollectionProcessStepStatus)

The status of the step.

stepIdentifier(String)

The step identifier.

Example

{
  "stepIdentifier": "abc123",
  "status": "COMPLETED"
}

Fields

NameDescription
attachments(BillingAttachmentConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

billType(BillTypeEnum)

The type of the bill.

constituents(ConstituentConnection)

Constituents of the bill.

Arguments

after (String)

before (String)

first (Int)

last (Int)

fromDate(Date)

The date of the bill is covered from.

id(ID)

The ID of the bill.

identifier(String)

The unique identifier of a bill. It will usually be present on the billing document itself.

Note: a bill that hasn't been issued yet will not have an identifier; and not all issued bills will have an identifier assigned to them, in which case this will be null.

issuedDate(Date)

The date the bill was sent to the customer.

reversalsAfterClose(StatementReversalsAfterClose!)

How many charges have been reversed after the close date.

temporaryUrl(String)

Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead.

Deprecated

The 'temporaryUrl' field is deprecated.

This field is deprecated. Use the 'attachments' field instead.

- Marked as deprecated on 2024-09-16.
- Scheduled for removal on or after 2025-09-01.

toDate(Date)

The date of the bill is covered to.

Example

{
  "id": "abc123",
  "billType": "STATEMENT",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01",
  "temporaryUrl": "abc123",
  "issuedDate": "2020-01-01",
  "attachments": BillingAttachmentConnectionTypeConnection,
  "reversalsAfterClose": "ALL",
  "constituents": ConstituentConnection,
  "identifier": "abc123"
}

Fields

NameDescription
fieldSpecificRateLimits(FieldSpecificRateLimitInformationConnectionTypeConnection!)

Information about the current state of the rate limiting for rate limited fields at the time of the request.

Arguments

after (String)

before (String)

fields ([String])

A list of fields to return rate-limiting information for. If not provided, all fields with rate limits will be included.

first (Int)

last (Int)

pointsAllowanceRateLimit(PointsAllowanceRateLimitInformation)

Information about points-allowance rate limit for viewer.

Example


CommenceDCAProceeding

Add commencement to an account.

The possible errors that can be raised are:

  • KT-CT-11606: Debt Collection Agency cannot use campaign.
  • KT-CT-11601: Cannot start collection proceeding, proceeding for this account already exists.
  • KT-CT-11602: Could not find DCA with that name.
  • KT-CT-11607: Invalid ledger number for debt collection proceeding.
  • KT-CT-11608: Ledger does not belong to account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
dcaProceedingCommencementStatus(DCAProceedingCommencementStatus)

Whether the commencement could be applied.

Example

{
  
}

Fields

NameDescription
account(AccountType!)

The account associated with the agreement.

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

characteristicValues([CharacteristicValueInterface])

The characteristic values associated with the agreement.

Arguments

at (DateTime)

The datetime to check the characteristic value at.

id(ID!)

isActive(Boolean)

Whether the agreement is currently active.

isRevoked(Boolean)

Whether the agreement is revoked.

params(JSONString)

General parameters providing additional information about the agreement.

product(SupplyProductType)

The product associated with the agreement.

ratesAgreedAt(DateTime!)

rescissionDeadlineAt(DateTime)

The deadline until which the customer is allowed to rescind this agreement. If it is null, rescission is not permitted.

supplyPoint(SupplyPointType!)

The agreement's supply point.

terminatedAt(DateTime)

validFrom(DateTime!)

validTo(DateTime)

Example

{
  "id": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "account": AccountType,
  "supplyPoint": SupplyPointType,
  "product": SupplyProductType,
  "isActive": true,
  "characteristicValues": CharacteristicValueInterface,
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "params": {"key": "value"}
}

ComplaintConnectionTypeConnection

Paginator of Complaint type.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ComplaintConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ComplaintConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ComplaintConnectionTypeEdge

A Relay edge containing a ComplaintConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ComplaintType)

The item at the end of the edge

Example

{
  "node": ComplaintType,
  "cursor": "abc123"
}

ComplaintContactConnectionTypeConnection

Paginator of Complaint contact type.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ComplaintContactConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ComplaintContactConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ComplaintContactConnectionTypeEdge

A Relay edge containing a ComplaintContactConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ComplaintContactType)

The item at the end of the edge

Example

{
  "node": ComplaintContactType,
  "cursor": "abc123"
}

Fields

NameDescription
actionTaken(String!)

Description of action taken.

createdAt(DateTime!)

Created at for contact.

email(String)

Complaint email.

landline(String)

Complaint landline.

mobile(String)

Complaint phone.

name(String!)

Complainant name.

preferredCommunicationMethod(String)

Complaint preferred method.

status(String!)

Status of complaint.

summary(String)

Complaint summary.

Example

{
  "name": "abc123",
  "actionTaken": "abc123",
  "status": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "mobile": "abc123",
  "email": "abc123",
  "landline": "abc123",
  "preferredCommunicationMethod": "abc123",
  "summary": "abc123"
}

Fields

NameDescription
assigneeId(ID)

Complaint Assignee.

contacts(ComplaintContactConnectionTypeConnection)

Complaint contacts.

Arguments

after (String)

before (String)

first (Int)

last (Int)

creationDate(Date)

Complaint creation date.

id(ID!)

isOfficial(Boolean)

Whether this is an official complaint.

resolutionDate(Date)

Complaint resolution date.

subtype(String)

Complaint subtype.

type(String)

Complaint type.

Example

{
  "id": "abc123",
  "contacts": ComplaintContactConnectionTypeConnection,
  "type": "abc123",
  "subtype": "abc123",
  "creationDate": "2020-01-01",
  "resolutionDate": "2020-01-01",
  "assigneeId": "abc123",
  "isOfficial": true
}

CompleteApproval

Complete an approval by marking it as approved or rejected.

The possible errors that can be raised are:

  • KT-CT-14802: Invalid input for completing approval.
  • KT-CT-14801: Approval not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
completedApproval(CompletedApproval)

The result of completing the approval.

Example

{
  
}

CompleteReminder

Complete a reminder.

The possible errors that can be raised are:

  • KT-CT-1406: Invalid data.
  • KT-CT-1407: Unable to complete reminder.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
reminderId(Int)

ID of the completed reminder.

Example

{
  "reminderId": 1
}

CompleteStandalonePayment

Complete an initiated standalone payment.

The possible errors that can be raised are:

  • KT-CT-3822: Unauthorized.
  • KT-CT-3823: Unauthorized.
  • KT-CT-3974: Unauthorized.
  • KT-CT-3975: Unable to complete standalone payment.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
payment(CompleteStandalonePaymentOutput)

The completed standalone payment.

Example


CompleteStandalonePaymentOutput

Result of the complete standalone payment operation.

Fields

NameDescription
status(PaymentIntentCompletionStatus!)

The status of the standalone payment.

Example

{
  "status": "CLEARED"
}

Fields

NameDescription
approvalUuid(UUID!)

The UUID of the completed approval.

Example

{
  "approvalUuid": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}

ComponentListType

A list of components which comprise a screen.

This is a legacy type; GenericBackendScreen should be preferred. This is because API clients should not need to explicitly query for screen attributes like items - these fields are embedded in the screenData field.

Fields

NameDescription
accessibilityHidden(Boolean)

Whether the element is hidden from view.

accessibilityLabel(String)

Accessible description of the element.

id(ID)

Unique identifier of the object.

items([ItemType]!)

The list of components.

Deprecated

The 'items' field is deprecated.

Access `items` via `screenData` instead.

- Marked as deprecated on 2024-07-02.
- Scheduled for removal on or after 2024-08-01.

name(String!)

The name of the screen.

refreshFrequency(Int)

The refresh / polling frequency in milliseconds.

screenData(String)

Serialized JSON representation of the screen.

typename(String)

The name of the object's type.

Example

{
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123",
  "id": "abc123",
  "typename": "abc123",
  "name": "abc123",
  "refreshFrequency": 1,
  "screenData": "abc123",
  "items": TextType
}

Fields

NameDescription
existingCardNumber(String)

The number of the existing concession card.

existingCardType(ConcessionCardType)

The type of the existing concession card.

message(String!)

Example

{
  "message": "abc123",
  "existingCardNumber": "abc123",
  "existingCardType": "CENTRELINK_PENSIONER"
}

Fields

NameDescription
fromDate(Date!)

id(ID!)

toDate(Date)

Example

{
  "id": "abc123",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01"
}

Fields

NameDescription
cardLabel(String)

Readable description for the card type.

cardType(ConcessionCardType)

The card type.

Example

{
  "cardType": "CENTRELINK_PENSIONER",
  "cardLabel": "abc123"
}

Fields

NameDescription
failureCode(String)

failureReason(String)

id(ID!)

isCardValid(Boolean!)

method(String)

notes(String)

validatedAt(Date!)

validationDt(DateTime)

Example

{
  "id": "abc123",
  "validatedAt": "2020-01-01",
  "isCardValid": true,
  "validationDt": "2020-01-01T00:00:00.000Z",
  "failureCode": "abc123",
  "failureReason": "abc123",
  "notes": "abc123",
  "method": "abc123"
}

Fields

NameDescription
applicablePeriods([ConcessionCardApplicablePeriodType])

cardExpiryDate(Date)

cardIssueDate(Date)

cardLabel(String)

Readable description for the card type. NOTE: Do not rely on this field for string matching.

cardType(ConcessionCardType)

concessionValidations([ConcessionCardValidationType])

id(ID!)

isCardValid(Boolean)

isCurrent(Boolean)

nextValidationDate(Date)

number(String)

removalDate(Date)

Example

{
  "id": "abc123",
  "number": "abc123",
  "cardIssueDate": "2020-01-01",
  "cardExpiryDate": "2020-01-01",
  "isCurrent": true,
  "removalDate": "2020-01-01",
  "nextValidationDate": "2020-01-01",
  "applicablePeriods": [ConcessionCardApplicablePeriodType],
  "cardType": "CENTRELINK_PENSIONER",
  "cardLabel": "abc123",
  "concessionValidations": [ConcessionCardValidationType],
  "isCardValid": true
}

ConfirmDoubleOptIn

Confirm a requested consent.

This mutation will update the value of the consent associated with the provided token to ACCEPTED.

The possible errors that can be raised are:

  • KT-CT-9016: Consent management not enabled.
  • KT-CT-9020: Invalid consent expiring token.
  • KT-CT-9021: Consent expiring token not found.
  • KT-CT-9022: Consent for given token already accepted.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
consent(ConsentType)

The consent that was created or updated.

Example

{
  "consent": ConsentType
}

ConnectAiAgentToCall

The possible errors that can be raised are:

  • KT-CT-11802: Call not found.
  • KT-CT-11815: Unable to connect a call to an AI agent.
  • KT-CT-11817: Invalid call ID.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
call(InboundCallType)

The call the AI agent was connected to.

Example

{
  
}

Fields

NameDescription
code(String)

The code of the consent type.

value(String)

The value to update the consent to.

Example

{
  "code": "abc123",
  "value": "abc123"
}

ConsentType

A consent given by a signing identity for a consent type.

Fields

NameDescription
code(String!)

Unique code given to this consent type.

id(BigInt!)

id of the consent.

type(ConsentTypeType)

The type of the consent.

value(ConsentValue!)

Value of the consent.

Example

{
  "id": 1,
  "code": "abc123",
  "value": "ACCEPTED",
  "type": ConsentTypeType
}

ConsentTypeType

A type of consent that a signing identity can accept or reject to.

Fields

NameDescription
code(String!)

Unique code given to this consent type.

defaultValue(ConsentValue!)

Default value of the consent type.

description(String!)

Description of the consent type.

name(String!)

Name of the consent type.

Example

{
  "code": "abc123",
  "description": "abc123",
  "name": "abc123",
  "defaultValue": "ACCEPTED"
}

ConstituentConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ConstituentEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ConstituentEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ConstituentEdge

A Relay edge containing a Constituent and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ConstituentInterface)

The item at the end of the edge

Example

{
  "node": ConstituentInterface,
  "cursor": "abc123"
}

Fields

NameDescription
endDate(Date)

End date of the consumption period.

quantity(Decimal)

Amount of energy or resource consumed.

startDate(Date)

Start date of the consumption period.

supplyCharge(Int)

Supply charge amount in minor currency units.

unit(ConsumptionUnit)

usageCost(Int)

Cost for the consumption usage in minor currency units.

Example

{
  "startDate": "2020-01-01",
  "endDate": "2020-01-01",
  "quantity": "1.0",
  "unit": "kWh",
  "usageCost": 1,
  "supplyCharge": 1
}

ConsumptionBreakdownConnectionTypeConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ConsumptionBreakdownConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ConsumptionBreakdownConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ConsumptionBreakdownConnectionTypeEdge

A Relay edge containing a ConsumptionBreakdownConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ConsumptionBreakdownType)

The item at the end of the edge

Example

{
  "node": ConsumptionBreakdownType,
  "cursor": "abc123"
}

Fields

NameDescription
charges(ChargesBreakdownConnectionTypeConnection)

Charges grouped per displayed period.

Arguments

after (String)

before (String)

first (Int)

last (Int)

marketName(String)

Name of the market the charges are for.

Example

{
  "marketName": "abc123",
  "charges": ChargesBreakdownConnectionTypeConnection
}

ConsumptionConnection

Pagination for energy consumption readings.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ConsumptionEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ConsumptionEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ConsumptionEdge

A Relay edge containing a Consumption and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ConsumptionType)

The item at the end of the edge

Example

{
  "node": ConsumptionType,
  "cursor": "abc123"
}

Fields

NameDescription
splitPercentage(Decimal)

Percentage split for this TOU time slot.

timeSlot(String)

Specific time slot within the TOU scheme (e.g. PEAK, OFFPEAK, SHOULDER).

Example

{
  "timeSlot": "abc123",
  "splitPercentage": "1.0"
}

ConsumptionType

Energy consumption between two points in time.

Fields

NameDescription
endAt(DateTime)

startAt(DateTime)

value(Decimal)

Example

{
  "value": "1.0",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z"
}

Contract

A legally binding relationship agreed with a subject (e.g. an account).

Fields

NameDescription
cancelledAt(DateTime)

Date when the contract was cancelled, null if not cancelled.

identifier(NonEmptyString)

Unique identifier for the contract.

lifecycle(ContractVersion)

The current version information for this contract.

notes([ContractNoteType])

Notes associated with this contract.

party(ContractParty)

The party (Account or Business) that entered into this contract.

rescindedAt(DateTime)

Date when the contract was rescinded, null if not rescinded.

signedAt(DateTime)

Date when the contract was signed.

status(ContractStatus)

The status of the contract.

subject([AccountType])

The accounts impacted by this contract.

terms([TermInterface])

The terms of the contract.

title(String)

Title of the contract.

validFrom(DateTime)

Date from which the contract is valid.

validTo(DateTime)

Date until which the contract is valid, null if the contract is rolling.

Example

{
  "identifier": NonEmptyString,
  "title": "abc123",
  "party": AccountType,
  "subject": [AccountType],
  "status": "REVOKED",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "signedAt": "2020-01-01T00:00:00.000Z",
  "cancelledAt": "2020-01-01T00:00:00.000Z",
  "rescindedAt": "2020-01-01T00:00:00.000Z",
  "lifecycle": ContractVersion,
  "terms": TermInterface
}

ContractCreationContext

Represents a version of a contract with its effective date.

Fields

NameDescription
confirmedValidityPeriod(ValidityPeriod)

The confirmed validity period for the associated contract.

requestedValidityPeriod(ValidityPeriod)

The requested validity period for the associated contract.

Example

{
  
}

ContractCreationJourneyType

Represents a Contract Creation Journey.

Fields

NameDescription
context(ContractCreationContext)

The context data for the contract creation journey.

contractDetails(ContractDetails)

The details of the associated contract.

journeyType(ContractJourneyType)

The type of the contract journey.

notes([ContractNoteType])

Notes associated with this contract journey.

number(NonEmptyString!)

The number of the contract journey.

orderReference(String)

The order reference associated with the contract journey.

requestedAt(DateTime)

The date and time when the contract journey was requested.

status(ContractJourneyStatus)

The status of the contract journey.

Example

{
  "number": NonEmptyString,
  "status": "IN_PROGRESS",
  "contractDetails": ContractDetails,
  "journeyType": "CONTRACT_CREATION",
  "requestedAt": "2020-01-01T00:00:00.000Z",
  "orderReference": "abc123"
}

ContractDetails

Details of a contract excluding terms.

Fields

NameDescription
cancelledAt(DateTime)

Date when the contract was cancelled, null if not cancelled.

identifier(NonEmptyString)

Unique identifier for the contract.

lifecycle(ContractVersion)

The current version information for this contract.

notes([ContractNoteType])

Notes associated with this contract.

party(ContractParty)

The party (Account or Business) that entered into this contract.

rescindedAt(DateTime)

Date when the contract was rescinded, null if not rescinded.

signedAt(DateTime)

Date when the contract was signed.

status(ContractStatus)

The status of the contract.

subject([AccountType])

The accounts impacted by this contract.

title(String)

Title of the contract.

validFrom(DateTime)

Date from which the contract is valid.

validTo(DateTime)

Date until which the contract is valid, null if the contract is rolling.

Example

{
  "identifier": NonEmptyString,
  "title": "abc123",
  "party": AccountType,
  "subject": [AccountType],
  "status": "REVOKED",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "signedAt": "2020-01-01T00:00:00.000Z",
  "cancelledAt": "2020-01-01T00:00:00.000Z",
  "rescindedAt": "2020-01-01T00:00:00.000Z",
  "lifecycle": ContractVersion
}

ContractMetaDataType

Represents additional metadata for a contract term.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

metadata(JSONString)

The additional metadata of the contract.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "metadata": {"key": "value"}
}

ContractNoteReasonType

A reason that can be associated with a contract note.

Fields

NameDescription
activityTypes([ContractActivityTypeOptions])

The contract activity types this reason applies to.

description(String)

Human-readable description of this reason.

slug(String)

Unique slug identifier for this reason.

Example

{
  "slug": "abc123",
  "description": "abc123",
  "activityTypes": "ALL_ACTIVITY_TYPES"
}

ContractNoteType

A note associated with a contract or contract journey.

Fields

NameDescription
activityType(ContractActivityTypeOptions)

The contract activity type this note is associated with.

createdAt(DateTime)

When the note was created.

note(String)

The content of the note.

reason(ContractNoteReasonType)

The reason associated with this note.

Example

{
  "note": "abc123",
  "activityType": "ALL_ACTIVITY_TYPES",
  "createdAt": "2020-01-01T00:00:00.000Z"
}

ContractVersion

Represents a version of a contract with its effective date.

Fields

NameDescription
effectiveFrom(DateTime)

The date from which this version of the contract becomes effective.

versionReference(Int)

The reference number for this contract version.

Example

{
  "versionReference": 1,
  "effectiveFrom": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

periods([ContractedVolumePeriodType])

The periods for the contracted volume configuration.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "periods": [ContractedVolumePeriodType]
}

Fields

NameDescription
marketName(String)

The market name the contracted volume applies to.

unit(String)

The unit for the commodity provided by the contracted volume.

validFrom(DateTime)

The datetime the period the contracted volume is valid from.

validTo(DateTime)

The datetime the period the contracted volume is valid to.

value(Decimal)

The decimal value of the quantity provided by the contracted volume.

Example

{
  "value": "1.0",
  "unit": "abc123",
  "marketName": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z"
}

ContributionAgreementType

A single Contribution Agreement.

Fields

NameDescription
activeFrom(DateTime)

The start datetime of the agreement.

activeTo(DateTime)

The end datetime of the agreement, if any.

amount(Int)

The amount contributed per interval. Note, this is in the smallest domination that the currecy support. e.g. Pence, Cents, Yen, etc.

contributionScheme(ContributionSchemeType)

The scheme to which the agreement contributes.

id(ID!)

interval(Interval)

The frequency of contributions.

periods(ContributionPeriodConnection)

The periods over which contributions have been made.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "id": "abc123",
  "contributionScheme": ContributionSchemeType,
  "interval": "MONTHLY",
  "activeFrom": "2020-01-01T00:00:00.000Z",
  "activeTo": "2020-01-01T00:00:00.000Z",
  "amount": 1,
  "periods": ContributionPeriodConnection
}

ContributionItemType

A component representing contribution items.

Fields

NameDescription
grossAmount(BigInt!)

The amount charged for this item in cents (incl. tax).

netAmount(BigInt!)

The amount charged for this item in cents (excl. tax).

salesTaxAmount(BigInt)

The amount charged for the tax component of this item.

scheme(String!)

The scheme name of the contribution.

Example

{
  "scheme": "abc123",
  "grossAmount": 1,
  "netAmount": 1,
  "salesTaxAmount": 1
}

ContributionPeriodConnection

Pagination for contribution periods.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ContributionPeriodEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ContributionPeriodEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ContributionPeriodEdge

A Relay edge containing a ContributionPeriod and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ContributionPeriodType)

The item at the end of the edge

Example

{
  "node": ContributionPeriodType,
  "cursor": "abc123"
}

ContributionPeriodType

A single Contribution Period.

Fields

NameDescription
agreement(ContributionAgreementType!)

fulfilledAt(DateTime)

When the contribution was fulfilled

id(ID!)

periodFrom(DateTime)

The datetime the marks the beginning of the period.

periodTo(DateTime)

The datetime the marks the end of the period.

Example

{
  "id": "abc123",
  "fulfilledAt": "2020-01-01T00:00:00.000Z",
  "agreement": ContributionAgreementType,
  "periodFrom": "2020-01-01T00:00:00.000Z",
  "periodTo": "2020-01-01T00:00:00.000Z"
}

ContributionSchemeType

A single Contribution Scheme.

Fields

NameDescription
acceptingContributions(Boolean!)

Is this scheme currently accepting contributions?

code(String!)

displayName(String!)

id(ID!)

taxable(Boolean!)

Are contributions to this scheme taxable?

Example

{
  "id": "abc123",
  "code": "abc123",
  "displayName": "abc123",
  "taxable": true,
  "acceptingContributions": true
}

Fields

NameDescription
latitude(Float)

longitude(Float)

Example

{
  "latitude": 1.0,
  "longitude": 1.0
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([CoreSiteworksRequestConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": CoreSiteworksRequestConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

CoreSiteworksRequestConnectionTypeEdge

A Relay edge containing a CoreSiteworksRequestConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(CoreSiteworksRequestType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

CoreSiteworksRequestType

A Siteworks Request

Fields

NameDescription
createdAt(DateTime!)

id(UUID!)

lastStatusUpdateAt(DateTime!)

When the request status was last updated.

marketSupplyPoints(SupplyPointConnectionTypeConnection)

List of supply points on request.

Arguments

after (String)

before (String)

first (Int)

last (Int)

reason(String!)

status(String!)

Example

{
  "id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "status": "abc123",
  "reason": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "lastStatusUpdateAt": "2020-01-01T00:00:00.000Z",
  "marketSupplyPoints": SupplyPointConnectionTypeConnection
}

CorrectivePeriodMarketConfigType

GraphQL output type for a per-market CorrectivePeriod configuration.

Fields

NameDescription
length(Int)

The length of the corrective period window.

lengthUnit(String)

The unit of time for the corrective period length.

marketName(String)

The market this corrective period configuration applies to.

supplyPointIds([BigInt])

Supply point IDs this config applies to. NULL means all supply points in this market.

Example

{
  "marketName": "abc123",
  "supplyPointIds": [1],
  "length": 1,
  "lengthUnit": "abc123"
}

CorrectivePeriodType

GraphQL output type for the CorrectivePeriod term.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

marketConfigs([CorrectivePeriodMarketConfigType])

Per-market corrective period configurations.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "marketConfigs": [CorrectivePeriodMarketConfigType]
}

Fields

NameDescription
estimatedControlledLoad1Cost(Int)

Estimated Controlled Load 1 cost. Null when the CL1/CL2 split is unavailable - e.g. when the request supplies a combined usage summary rather than deriving usage from the meter's registers.

estimatedControlledLoad1StandingCharge(Int)

Estimated Controlled Load 1 standing charge. Null when the CL1/CL2 split is unavailable - e.g. when the request supplies a combined usage summary rather than deriving usage from the meter's registers.

estimatedControlledLoad2Cost(Int)

Estimated Controlled Load 2 cost. Null when the CL1/CL2 split is unavailable - e.g. when the request supplies a combined usage summary rather than deriving usage from the meter's registers.

estimatedControlledLoad2StandingCharge(Int)

Estimated Controlled Load 2 standing charge. Null when the CL1/CL2 split is unavailable - e.g. when the request supplies a combined usage summary rather than deriving usage from the meter's registers.

estimatedControlledLoadCost(Int)

Estimated controlled load cost (CL1 + CL2 combined). When the CL1/CL2 split is available this equals the sum of the split cost fields, each of which is GST-rounded independently.

estimatedControlledLoadStandingCharge(Int)

Estimated controlled load standing charge (CL1 + CL2 combined). When the CL1/CL2 split is available this equals the sum of the split standing charge fields, each of which is GST-rounded independently.

estimatedExportCost(Int)

Export cost estimate for a new plan.

estimatedExportStandingCharge(Int)

Export standing charge for a new plan.

estimatedNewPlanCost(Int)

Total cost estimate for a new plan.

estimatedNewPlanWithExportCost(Int)

Estimated new plan with export costs.

estimatedStandardCost(Int)

Standard usage cost estimate for a new plan.

estimatedStandingCharge(Int)

Standard standing charge for a new plan.

standingCharge(Decimal)

Total standing charge cost.

Example

{
  "standingCharge": "1.0",
  "estimatedControlledLoadCost": 1,
  "estimatedControlledLoadStandingCharge": 1,
  "estimatedControlledLoad1Cost": 1,
  "estimatedControlledLoad1StandingCharge": 1,
  "estimatedControlledLoad2Cost": 1,
  "estimatedControlledLoad2StandingCharge": 1,
  "estimatedNewPlanWithExportCost": 1,
  "estimatedNewPlanCost": 1,
  "estimatedStandardCost": 1,
  "estimatedStandingCharge": 1,
  "estimatedExportCost": 1,
  "estimatedExportStandingCharge": 1
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

CreateAPICall

Mutation to create a new APICall instance.

The possible errors that can be raised are:

  • KT-CT-7803: Received an invalid apiExceptionId.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
apiCall(APICallType)

The created APICall.

Example

{
  
}

CreateAPIException

Mutation to create a new APIException instance.

The possible errors that can be raised are:

  • KT-CT-7801: Received an invalid operationsTeamId.
  • KT-CT-7802: The external identifier already exists.
  • KT-CT-7805: Too many tags associated with this API Exception.
  • KT-CT-7806: Cannot create duplicate tags for the same API exception.
  • KT-CT-7811: Received an invalid assignedUserId.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
apiException(APIExceptionType)

The created APIException.

Example

{
  
}

CreateAPIExceptionEvent

Mutation to create a new APIExceptionEvent instance.

The possible errors that can be raised are:

  • KT-CT-7803: Received an invalid apiExceptionId.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
apiExceptionEvent(APIExceptionEventType)

The created APIExceptionEvent.

Example

{
  
}

CreateAPIExceptionNote

Mutation to create a new APIExceptionNote instance.

The possible errors that can be raised are:

  • KT-CT-7803: Received an invalid apiExceptionId.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
apiException(APIExceptionType)

The created APIExceptionNote.

Example

{
  
}

CreateAccountCharge

Add charges to an account.

The possible errors that can be raised are:

  • KT-CT-5211: The charge reason with the requested code is deprecated.
  • KT-CT-5212: The charge reason with the requested code does not exist.
  • KT-CT-5213: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountCharge(AccountChargeType)

Example

{
  "accountCharge": AccountChargeType
}

CreateAccountNote

Add a note to an account, identified by account number or supply point.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-4180: Account note must be a valid string.
  • KT-AU-4110: Either accountNumber or both supplyPointIdentifier and marketName must be provided.
  • KT-AU-4111: No account found for the given supply point.
  • KT-CT-4196: Unpin at date provided is in the past.
  • KT-CT-4195: Unpin at date provided for an unpinned note.
  • KT-CT-4719: No supply point found for identifier provided.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

Account, which has the added note.

note(AccountNoteType)

The created account note.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "account": AccountType,
  "possibleErrors": [PossibleErrorType]
}

CreateAccountPaymentSchedule

Replace an existing payment schedule with a new one that updates either the payment amount or payment day.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3815: No active payment schedule found for this account.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3923: Unauthorized.
  • KT-CT-3941: Invalid data.
  • KT-CT-3942: An unexpected error occurred.
  • KT-CT-3947: An unexpected error occurred.
  • KT-CT-3960: Invalid value for payment day.
  • KT-CT-3961: Cannot update plan-associated payment schedule.
  • KT-CT-3962: No new value provided to update payment schedule.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
schedule(PaymentScheduleType!)

New payment schedule.

Example

{
  "schedule": PaymentScheduleType
}

CreateAccountReference

Create an account reference.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-8310: Invalid data.
  • KT-CT-8311: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountReference(AccountReferenceType)

Example

{
  "accountReference": AccountReferenceType
}

CreateAccountReminder

Create an account reminder.

The possible errors that can be raised are:

  • KT-CT-1401: Invalid data.
  • KT-CT-1402: Unable to create account reminder.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountReminder(AccountReminder)

Account reminder.

Example

{
  
}

CreateAccountUser

Create a new account user.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountUser(AccountUserType)

The account user.

Example

{
  "accountUser": AccountUserType
}

Create an affiliate link for a new sales agent.

The possible errors that can be raised are:

  • KT-CT-7711: Invalid data.
  • KT-CT-7713: Invalid data.
  • KT-CT-7714: Invalid data.
  • KT-CT-7715: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
affiliateLink(AffiliateLinkType)

The created affiliate link.

Example

{
  
}

CreateAffiliateOrganisation

Create an affiliate organisation.

The possible errors that can be raised are:

  • KT-CT-7716: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
affiliateOrganisation(AffiliateOrganisationType)

The created affiliate organisation.

Example

{
  
}

CreateAffiliateSession

Create a session for an affiliate link.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
affiliateSession(AffiliateSessionType)

The created affiliate session.

Example

{
  
}

CreateAgreement

Create a new agreement.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-4719: No supply point found for identifier provided.
  • KT-CT-4910: No product exists with the given input.
  • KT-CT-1503: Agreement validto date must be later than validfrom date.
  • KT-CT-1509: Unable to create agreement.
  • KT-CT-1511: Cannot create overlapping agreement.
  • KT-CT-1512: Account type does not support agreements.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreement(CommonAgreementType)

The created agreement.

Example

{
  "agreement": CommonAgreementType
}

CreateAgreementRollover

Create an agreement rollover for a specific account and agreement.

The possible errors that can be raised are:

  • KT-CT-1501: Agreement not found.
  • KT-CT-4910: No product exists with the given input.
  • KT-CT-4924: Unauthorized.
  • KT-CT-13701: An active agreement rollover already exists for this agreement.
  • KT-CT-13702: Expected send date cannot be in the past.
  • KT-CT-13703: Rollover date cannot be in the past.
  • KT-CT-13704: Unable to create agreement rollover.
  • KT-CT-13708: Agreement rollover validation error.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreementRollover(AgreementRolloverType)

The new agreement rollover.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "agreementRollover": AgreementRolloverType,
  "possibleErrors": [PossibleErrorType]
}

CreateAudioRecording

Create an audio recording for an affiliate session.

The possible errors that can be raised are:

  • KT-CT-7720: Invalid S3 key format.
  • KT-CT-7721: Link not found.
  • KT-CT-7722: Invalid input for audio recording upload.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
audioRecording(AudioRecordingType)

The created audio recording.

Example

{
  
}

CreateBusiness

Create a business.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11108: Invalid data.
  • KT-CT-11109: Invalid data.
  • KT-CT-11110: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
business(BusinessType)

The created business.

Example

{
  "business": BusinessType
}

CreateCallMetadata

The possible errors that can be raised are:

  • KT-CT-11802: Call not found.
  • KT-CT-11806: Call metadata item key cannot be an empty string.
  • KT-CT-11807: A call metadata item with this key already exists for this call.
  • KT-CT-11817: Invalid call ID.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
call(CallInterface)

The call metadata was attached to.

Example

{
  
}

CreateCampaignItems

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11501: Voice campaign not found.
  • KT-CT-11503: One or more campaign items are invalid and cannot be created.
  • KT-CT-11504: The batch of campaign items is too large.
  • KT-CT-11506: Invalid campaign ID.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
batchIdentifier(String)

The identifier for this batch of items to assist in tracking and logging.

campaignItems([VoiceCampaignItemType])

Example

{
  "batchIdentifier": "abc123"
}

CreateCentrepayDeduction

Initiate a request to create a new Centrepay Deduction for an account.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-3923: Unauthorized.
  • KT-AU-3913: Centrepay Deduction valid_from date cannot be before today.
  • KT-AU-3914: Centrepay Deduction valid_to date must be later than today.
  • KT-AU-3915: Centrepay Deduction validto date must be later than validfrom date.
  • KT-AU-3916: Centrepay Deduction amount must be greater than $10.00.
  • KT-AU-3920: Cannot provide both validTo and targetAmount values.
  • KT-AU-3912: Cannot create a Centrepay Deduction with these details.
  • KT-AU-3930: Centrepay Deduction amount cannot be greater than Target Amount.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
centrepayDeduction(CentrepayDeductionType!)

Details of resulting request to add a Centrepay Deduction.

Example

{
  "centrepayDeduction": CentrepayDeductionType
}

CreateCollectionProcessEvent

Create a collection process event to track significant events such as reactivations and errors.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-1605: Invalid input.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessEvent(CollectionProcessEventOutputType)

The created collection process event.

Example

{
  
}

CreateComplaint

Create a complaint.

The possible errors that can be raised are:

  • KT-CT-10801: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
complaint(ComplaintType)

The complaint that has been created.

Example

{
  "complaint": ComplaintType
}

CreateConcession

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
concession(ConcessionType)

error(ConcessionCreationErrorUnion)

Example


CreateContractGroupOutput

Output type for creating a contract group.

Fields

NameDescription
contractGroupIdentifier(NonEmptyString!)

Unique identifier for the created or matched contract group.

Example

{
  "contractGroupIdentifier": NonEmptyString
}

CreateContractOutput

Output type for creating a contract.

Fields

NameDescription
identifier(NonEmptyString)

Unique identifier for the created contract.

wasCreated(Boolean!)

Indicates whether a new contract was created (True) or an existing contract was matched (False). When False, the mutation is idempotent and returns the existing contract that matches the provided parameters.

Example

{
  "identifier": NonEmptyString,
  "wasCreated": true
}

CreateContributionAgreement

Create a contribution agreement for an account.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-9601: Invalid data.
  • KT-CT-9602: Unable to create contribution agreement.
  • KT-CT-9605: Contribution amount cannot be 0 or negative.
  • KT-CT-9606: Scheme is not accepting contributions at this time.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
contributionAgreement(ContributionAgreementType)

The created contribution agreement.

Example

{
  "contributionAgreement": ContributionAgreementType
}

CreateCreditTransferPermission

Create a credit transfer permission.

The possible errors that can be raised are:

  • KT-CT-3822: Unauthorized.
  • KT-CT-3827: The ledger is not valid.
  • KT-CT-3828: At least one of the provided ledgers must be a credit storage ledger.
  • KT-CT-3829: The credit transfer permission already exists.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
validFrom(DateTime)

Datetime when the credit transfer permission is valid.

Example

{
  "validFrom": "2020-01-01T00:00:00.000Z"
}

CreateCustomerFeedback

Create unsubmitted customer feedback object.

The possible errors that can be raised are:

  • KT-CT-5516: Invalid data.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
customerFeedback(CustomerFeedbackType)

The created customer feedback object.

Example

{
  "customerFeedback": CustomerFeedbackType
}

CreateCustomerSelfMeterReads

Create electricity self meter reads.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
error(ReadingValidationSaveErrorUnion)

Error types associated to handled errors during electricity reading generation.

readings([ElectricityAccumulationMeterReadingType])

Electricity readings generated from input.


CreateDepositAgreement

Create a new deposit agreement for the account if it needs one.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
depositAgreement(CreateDepositAgreementOutput)

Example

{
  
}

Fields

NameDescription
depositAmount(Int)

depositRequired(Boolean)

Example

{
  "depositRequired": true,
  "depositAmount": 1
}

CreateDirectDebitInstruction

Create new direct debit instruction

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-3940: Invalid data.
  • KT-CT-3923: Unauthorized.
  • KT-CT-3979: Invalid ledger.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
directDebitInstruction(DirectDebitInstructionType)

Example

{
  "directDebitInstruction": DirectDebitInstructionType
}

CreateElectricityQuote

Mutation to create an electricity quote for a different nmi for a related account.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
meterPoint(MeterPointType)

The meter point created (if the nmi is available).

quote(QuoteType)

The quote created.

Example

{
  "meterPoint": MeterPointType
}

CreateExternalAccountEvent

Create an external account event.

The possible errors that can be raised are:

  • KT-CT-7123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
event(ExternalAccountEvent)

The new event data.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType]
}

CreateExternalAccountUserEvent

Create an external account user event.

The possible errors that can be raised are:

  • KT-CT-7123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
event(ExternalAccountUserEvent)

The new event data.

Example

{
  
}

CreateExternalMessage

Create an external message to record communications sent by external vendors. This allows you to import messages, such as emails, sent using other tools into Kraken.

The possible errors that can be raised are:

  • KT-CT-14201: Vendor is empty.
  • KT-CT-14202: Vendor message ID is empty.
  • KT-CT-14203: Account number is empty.
  • KT-CT-14204: Message already exists.
  • KT-CT-14205: Unable to create the external message.
  • KT-CT-14206: An email body is missing.
  • KT-CT-14207: To email is empty.
  • KT-CT-14208: To email is not a valid email address.
  • KT-CT-14209: From email is empty.
  • KT-CT-14210: From email is an invalid format.
  • KT-CT-14211: A reply to email address is empty.
  • KT-CT-14212: A reply to email address is not a valid email address.
  • KT-CT-14214: An account number was provided, but no corresponding account could be found.
  • KT-CT-14215: Sent at datetime is in the future.
  • KT-CT-14216: Sent at datetime is missing timezone.
  • KT-CT-14219: Exactly one of emailContent or smsContent must be provided.
  • KT-CT-14220: SMS body is empty.
  • KT-CT-14221: To phone number is empty.
  • KT-CT-14222: From phone number is empty.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
externalMessage(ExternalMessageType)

The external message that was created.

Example

{
  
}

CreateExternalMessageEvent

Create a message event for an external message.

This records a lifecycle event, such as a delivery confirmation, failure, or recipient interaction, for a message previously created via createExternalMessage.

The possible errors that can be raised are:

  • KT-CT-14217: Message not found.
  • KT-CT-14218: Invalid event data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
externalMessageEvent(ExternalMessageEventType)

The external message event that was created.

Example

{
  
}

CreateFamilyIssuesSuppressedCommAccountEvent

Creates an account event if the account has users with family issues and the trigger's audit trail confirms a life support comm was suppressed due to family issues. Returns the created event, or null if conditions were not met.

The possible errors that can be raised are:

  • KT-CT-9904: Trigger not found.
  • KT-CT-1605: Invalid input.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
event(CustomEventType)

The account event created if conditions were met, otherwise null.

Example

{
  "event": CustomEventType
}

CreateFixedPaymentSchedule

Create a fixed payment schedule for the authenticated user.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(FixedPaymentScheduleErrorUnion)

paymentSchedule(PaymentScheduleType)

The payment schedule created.

Example

{
  "paymentSchedule": PaymentScheduleType,
  "error": OutOfBoundsPaymentDayErrorType
}

CreateGasQuote

Mutation to create a gas quote for a property.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(CreateGasQuoteErrorUnion)

quoteRequest(QuoteRequestType)


CreateGasSelfMeterReads

Create gas self meter reads.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
error(GasReadingValidationSaveErrorUnion)

Error types associated to handled errors during gas reading generation.

readings([GasMeterReadingType])

Gas readings generated from input.

Example

{
  "readings": [GasMeterReadingType],
  "error": ReadingCreationErrorType
}

CreateGasSupplyPoint

Create a new supply point along with a property and a gas meter point.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(CreateGasSupplyPointErrorUnion)

gasSupplyPoint(GasSupplyPointType)

Example

{
  "gasSupplyPoint": GasSupplyPointType,
  "error": MirnAlreadyExistsErrorType
}

CreateGoodsPurchase

Create a goods purchase.

The possible errors that can be raised are:

  • KT-CT-8206: Invalid data.
  • KT-CT-1131: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
goodsPurchase(GoodsPurchase)

Goods purchase created.

Example

{
  "goodsPurchase": GoodsPurchase
}

CreateGoodsQuote

Create a goods quote.

The possible errors that can be raised are:

  • KT-CT-8202: Invalid data.
  • KT-CT-8205: Unable to create quote.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
goodsQuote(GoodsQuote)

Goods quote created for the customer.

Example

{
  "goodsQuote": GoodsQuote
}

CreateGoodsQuoteWithoutAccount

Create a goods quote without an account.

The possible errors that can be raised are:

  • KT-CT-8202: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
goodsQuote(GoodsQuote)

Goods quote created for the customer.

Example

{
  "goodsQuote": GoodsQuote
}

CreateHardshipAgreement

Create a new hardship agreement for an account.

The possible errors that can be raised are:

  • KT-CT-11612: Overlapping hardship agreement exists.
  • KT-CT-12901: Account not found.
  • KT-CT-10950: Invalid date range.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
newHardshipAgreement(HardshipAgreementType)

The created hardship agreement ID.

Example

{
  "newHardshipAgreement": HardshipAgreementType
}

CreateInboundCall

The possible errors that can be raised are:

  • KT-CT-11805: Invalid input for creating an inbound call.
  • KT-CT-11810: Caller is blocked.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
call(InboundCallType)

The call that was created.

Example

{
  
}

CreateInkInboundMessage

Register an Ink inbound message.

The possible errors that can be raised are:

  • KT-CT-7622: Attachment bucket is invalid.
  • KT-CT-7623: Attachment path is invalid.
  • KT-CT-7621: Attachment not found.
  • KT-CT-7618: Unable to process message.
  • KT-CT-7625: Invalid email address.
  • KT-CT-7630: Message with this message ID has already been processed.
  • KT-CT-7632: The text content of the Ink Inbound Generic Message is too long.
  • KT-CT-7620: Channel not supported.
  • KT-CT-7627: The 'email' object is missing from the payload.
  • KT-CT-7628: The 'generic' object is missing from the payload.
  • KT-CT-7629: The 'post' object is missing from the payload.
  • KT-CT-7653: Account numbers on the message and message type must match if both are supplied.
  • KT-CT-7654: An account number was provided, but no corresponding account could be found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
message(InkMessage!)

The Ink message that was created.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "message": InkEmail,
  "possibleErrors": [PossibleErrorType]
}

CreateInkLiveChatMessage

The possible errors that can be raised are:

  • KT-CT-7616: Not yet implemented.
  • KT-CT-1111: Unauthorized.
  • KT-CT-4123: Unauthorized.
  • KT-CT-7642: No account user was found for the given fromHandle.
  • KT-CT-7641: Live Chat message with this message ID has already been processed.
  • KT-CT-7645: The user is not authorized to access this Live Chat.
  • KT-CT-7622: Attachment bucket is invalid.
  • KT-CT-7623: Attachment path is invalid.
  • KT-CT-7621: Attachment not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
liveChatConversation(InkLiveChatConversation)

The live chat conversation.

messageRelayId(String!)

The ID of the Ink Live Chat message that was created.

Example

{
  "liveChatConversation": InkLiveChatConversation,
  "messageRelayId": "abc123"
}

CreateInternalCompany

Create a new internal company.

The possible errors that can be raised are:

  • KT-CT-14402: Duplicated internal company.
  • KT-CT-14403: Invalid address.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
internalCompany(CreateInternalCompanyResultType)

The result of the create internal company operation.

Example

{
  
}

CreateInternalCompanyResultType

The result of the create internal company mutation.

Fields

NameDescription
id(ID!)

The ID of the internal company that was created.

Example

{
  "id": "abc123"
}

CreateLead

Create a lead with the provided details.

The possible errors that can be raised are:

  • KT-CT-8912: Funnel not found.
  • KT-CT-8930: Unable to parse address.
  • KT-CT-8928: The funnel is not active and cannot be used to create this entity.
  • KT-CT-8902: Unable to create lead.
  • KT-CT-8919: Funnel initial stage not set.
  • KT-CT-8931: Extra detail value is invalid.
  • KT-CT-8939: Extra detail value is required.
  • KT-CT-9017: Consent type not found.
  • KT-CT-8932: Lead contact details missing account holder.
  • KT-CT-8934: Lead contact details missing account representative.
  • KT-CT-8940: Lead contact role already exists.
  • KT-CT-8941: Invalid language preference code.
  • KT-CT-8935: National ID bad input.
  • KT-CT-4121: Invalid phone number.
  • KT-CT-8956: Conflicting address inputs.
  • KT-CT-8958: A lead contact must have at least one role.
  • KT-CT-8960: A lead already exists for this contact.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
leadNumber(String)

The unique number of the lead.

Example

{
  "leadNumber": "abc123"
}

CreateMetadata

Create metadata on an object.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-CT-4124: Unauthorized.
  • KT-CT-6622: Unauthorized.
  • KT-CT-6637: Unauthorized.
  • KT-CT-8411: Invalid data.
  • KT-CT-4323: Unauthorized.
  • KT-CT-8412: Invalid data.
  • KT-CT-8414: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
metadata(Metadata)

Example

{
  "metadata": Metadata
}

CreateMeterDataIssueFlow

Create a Meter Data Issue Flow for a given Issue ID and Flow ID.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-13801: A meter data issue flow already exists for this issue and flow.
  • KT-CT-13802: Meter data issue not found.
  • KT-CT-13803: An active flow already exists for this issue.
  • KT-CT-13806: Invalid market name provided.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
meterDataIssueFlowCreated(CreateMeterDataIssueFlowOutputType)

Whether the meter data issue flow was successfully created.

Example

{
  
}

CreateMeterDataIssueFlowOutputType

Output for creating a MeterDataIssueFlow.

Fields

NameDescription
issueId(Int)

The ID of the MeterDataIssue.

status(MeterDataIssueFlowStatus)

The current status of the flow.

Example

{
  "issueId": 1,
  "status": "PROCESSING"
}

CreateMfaDevice

Create a multi-factor authentication (MFA) device for a user.

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-1151: MFA device not found.
  • KT-CT-1153: Unable to create MFA device.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
deviceEmail(String)

Email address to send the MFA code by default.

devicePhone(String)

Phone number to send the MFA code by default.

totpSecret(String)

Secret to setup Time-based One-Time Passwords (TOTP) in your authenticator or password manager manually.

Example

{
  "deviceEmail": "abc123",
  "devicePhone": "abc123",
  "totpSecret": "abc123"
}

CreateNewAgreementFromProductSwitchProcess

Create a new agreement from an existing product switch process.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4924: Unauthorized.
  • KT-CT-1509: Unable to create agreement.
  • KT-CT-1516: Requested product switch is not valid.
  • KT-CT-1507: Agreement product switch date is not within the acceptable range.
  • KT-CT-4626: No product selected for the given quote code.
  • KT-CT-1510: Product switch process not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreement(CommonAgreementType)

The new agreement created.

Example

{
  "agreement": CommonAgreementType
}

CreateOfferGroupForQuoting

Create a quoting offer group.

The possible errors that can be raised are:

  • KT-CT-12401: Unable to create offer group.
  • KT-CT-12405: Missing rates for quoting.
  • KT-CT-12406: Product not configured correctly for quoting.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
offerGroup(CreateOfferGroupType)

Quoting Offer Group.

Example

{
  "offerGroup": CreateOfferGroupType
}

Fields

NameDescription
identifier(ID)

Identifier of the Offer Group.

offers([OfferType])

One or more Offers contained in the Offer Group.

Example

{
  "identifier": "abc123",
  "offers": [OfferType]
}

CreateOnSiteJobsRequest

Create a Request.

The possible errors that can be raised are:

  • KT-CT-13002: Supply point not found.
  • KT-CT-13003: Supply points must belong to the same account.
  • KT-CT-13004: No account found for the given supply points.
  • KT-CT-13006: No properties found for the given supply points.
  • KT-CT-13028: Agent not found.
  • KT-CT-13010: No booking adapter found for agent.
  • KT-CT-13007: At least one of the request checks failed.
  • KT-CT-13008: At least one of the request checks has warnings.
  • KT-CT-13009: On site jobs Request already exists.
  • KT-CT-13012: Viewer is not allowed to create a request.
  • KT-CT-13013: Reporter post init error.
  • KT-CT-13014: Request reason is not supported.
  • KT-CT-13015: Request sub_reason is not supported.
  • KT-CT-13041: User is not allowed to override request/appointment checks.
  • KT-CT-13042: Multiple supply points not supported by this booking adapter.
  • KT-CT-13045: Failed to update appointment assets.
  • KT-CT-13047: Multiple supply points found.
  • KT-CT-13048: Cannot provide both supplypointidentifiertomarketnamemapping and supplypointinternal_ids.
  • KT-CT-13049: Neither supplypointidentifiertomarketnamemapping nor supplypointinternal_ids provided.
  • KT-CT-13050: Cannot provide both supplypointidentifiertomarketnamemapping and supplypointinternal_id when creating assets.
  • KT-CT-13051: Supply point not found when creating assets.
  • KT-CT-13052: Multiple supply points found when creating assets.
  • KT-CT-13063: Failed to derive property for the given supply points.
  • KT-CT-13064: Provided supply point(s) not supported by the On-Site Jobs market manager.
  • KT-CT-13066: Request reason is deprecated.
  • KT-CT-13067: Provided sub-reason for request is invalid.
  • KT-CT-13068: Property required for this request.
  • KT-CT-13069: Account required for this request.
  • KT-CT-13070: Provided status for request is invalid.
  • KT-CT-13071: Provided reason for request is invalid.
  • KT-CT-13078: Account users cannot set external references on requests.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
onSiteJobsRequest(OnSiteJobsRequestType)

The created request.

Example

{
  
}

CreateOpportunityAndLead

Create an opportunity and lead with the provided details.

The possible errors that can be raised are:

  • KT-CT-8912: Funnel not found.
  • KT-CT-8919: Funnel initial stage not set.
  • KT-CT-8930: Unable to parse address.
  • KT-CT-8907: Lead not found.
  • KT-CT-8901: Unable to create lead.
  • KT-CT-8902: Unable to create lead.
  • KT-CT-8935: National ID bad input.
  • KT-CT-4121: Invalid phone number.
  • KT-CT-8931: Extra detail value is invalid.
  • KT-CT-9017: Consent type not found.
  • KT-CT-8913: Organisation is not valid to be assigned.
  • KT-CT-8936: Only one address is required to create an opportunity.
  • KT-CT-8937: One or more Supply Points cannot be validated.
  • KT-CT-8946: A team must also be provided when assigning a user.
  • KT-CT-8947: The team you specified was not found.
  • KT-CT-8948: The user you specified was not found.
  • KT-CT-8949: The selected team does not belong to the specified partner.
  • KT-CT-8950: The selected user does not belong to the specified partner.
  • KT-CT-8951: The selected user is not a member of the specified team.
  • KT-CT-8956: Conflicting address inputs.
  • KT-CT-8958: A lead contact must have at least one role.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
dateOfCreation(DateTime)

The date the opportunity was created.

funnelCode(String)

The code of the funnel.

opportunityNumber(String)

The unique number of the opportunity.

stage(String)

The stage of the opportunity.

Example

{
  "opportunityNumber": "abc123",
  "dateOfCreation": "2020-01-01T00:00:00.000Z",
  "stage": "abc123",
  "funnelCode": "abc123"
}

CreateOpportunityFileAttachment

Creates an Opportunity File Attachment.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
result(String)

Whether the operation was successful.

Example

{
  "result": "abc123"
}

CreateOpportunityForLead

Create an opportunity for a lead with the provided details.

The possible errors that can be raised are:

  • KT-CT-8912: Funnel not found.
  • KT-CT-8919: Funnel initial stage not set.
  • KT-CT-8907: Lead not found.
  • KT-CT-8913: Organisation is not valid to be assigned.
  • KT-CT-8924: Unable to create opportunity.
  • KT-CT-8925: Unable to create opportunity.
  • KT-CT-8926: Unable to create opportunity.
  • KT-CT-8928: The funnel is not active and cannot be used to create this entity.
  • KT-CT-8930: Unable to parse address.
  • KT-CT-8936: Only one address is required to create an opportunity.
  • KT-CT-8931: Extra detail value is invalid.
  • KT-CT-8937: One or more Supply Points cannot be validated.
  • KT-CT-8946: A team must also be provided when assigning a user.
  • KT-CT-8947: The team you specified was not found.
  • KT-CT-8948: The user you specified was not found.
  • KT-CT-8949: The selected team does not belong to the specified partner.
  • KT-CT-8950: The selected user does not belong to the specified partner.
  • KT-CT-8951: The selected user is not a member of the specified team.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
dateOfCreation(DateTime)

The date the opportunity was created.

opportunityNumber(String)

The unique number of the opportunity.

Example

{
  "opportunityNumber": "abc123",
  "dateOfCreation": "2020-01-01T00:00:00.000Z"
}

CreateOrUpdateLoyaltyCardMutation

Create a Loyalty Card for the given account user.

The possible errors that can be raised are:

  • KT-CT-5412: No account user exists with the given id.
  • KT-CT-8610: Invalid data.
  • KT-CT-8611: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
loyaltyCard(LoyaltyCardType)

Created or updated loyalty card.

Example

{
  
}

CreateOrUpdateTimeSeriesEntries

Summary information on the time series and associated variants once the creation and update operations have been completed.

Fields

NameDescription
code(String!)

The time series code.

description(String)

The time series description.

meta(JSONString)

The time series meta information.

name(String!)

The time series display name.

periodSize(String!)

The time series period size value.

productCode(String)

The product code associated to the time series.

unit(String!)

The time series unit value.

variants([VariantProfile!]!)

The existing time series variants based on the prices created.

Example

{
  "code": "abc123",
  "productCode": "abc123",
  "name": "abc123",
  "description": "abc123",
  "unit": "abc123",
  "periodSize": "abc123",
  "meta": {"key": "value"},
  "variants": VariantProfile
}

CreatePartnerUser

Create a partner user and assign them to a partner team.

The possible errors that can be raised are:

  • KT-CT-7725: Unauthorized.
  • KT-CT-7726: Unauthorized.
  • KT-CT-7727: Invalid email address.
  • KT-CT-7728: Unable to create partner user.
  • KT-CT-13501: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
partnerUser(PartnerUserType)

The created partner user.

Example

{
  
}

CreatePaymentActionIntent

Create a new payment action intent.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3980: Invalid ledger identifier.
  • KT-CT-3981: Unauthorized.
  • KT-CT-3982: Unauthorized.
  • KT-CT-3995: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
token(ID!)

The action intent token.

Example

{
  "token": "abc123"
}

CreatePaymentExtension

Creates payment extension according to the received options.

Taken action would be one of the following:

  • if payment instruction is NOT supplied and the account is on a manual payment, sets up one or two payment promise(s)
  • if payment instruction is NOT supplied and the account is on an scheduled payment (direct debit/card), creates payment holiday
  • if payment instruction is supplied, sets up payment schedules for one or two instalment(s)

A payment promise applies to an account that does not have automatic payments. It records that a customer has told us they'll pay an amount by an agreed-upon date.

Payment Holiday means that when a customer is on a scheduled payment, the payments will not come out from customer's bank account for the period indicated.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
paymentExtension(PaymentExtensionUnionType)

Example

{
  "paymentExtension": PaymentPromiseType
}

CreatePaymentMethodActionIntent

Create a new payment method action intent.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3971: Instruction owners are not valid.
  • KT-CT-3980: Invalid ledger identifier.
  • KT-CT-3981: Unauthorized.
  • KT-CT-3982: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
token(ID!)

The action intent token.

Example

{
  "token": "abc123"
}

CreatePaymentSchedule

Creates a new payment schedule

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentSchedule(PaymentScheduleType)

The payment schedule created.

Example

{
  "paymentSchedule": PaymentScheduleType
}

CreatePortfolio

Create a new portfolio.

The possible errors that can be raised are:

  • KT-CT-9402: Received an invalid brandCode.
  • KT-CT-9401: Received an invalid operationsTeamId.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
portfolio(PortfolioType)

The created portfolio.

Example

{
  "portfolio": PortfolioType
}

CreatePortfolioUserRole

Mutation to create a new portfolio user role. This will effectively link the user to the portfolio giving them all the permissions enabled for the specific role.

The possible errors that can be raised are:

  • KT-CT-9403: Received an invalid portfolioId.
  • KT-CT-9404: Received an invalid accountUserId.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
portfolioUserRole(PortfolioUserRoleType)

The created role for a user in association with a portfolio.

Example

{
  "portfolioUserRole": PortfolioUserRoleType
}

CreatePostEvents

Create post delivery events from external vendors.

The possible errors that can be raised are:

  • KT-CT-9907: Post events batch size exceeded.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
createdEventsCount(Int)

Number of events successfully created.

Example

{
  "createdEventsCount": 1
}

CreatePrimaryResidence

Create a new primary residence for the given user and property.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(CreatePrimaryResidenceErrorUnion)

primaryResidence(PrimaryResidenceType)

Example

{
  "primaryResidence": PrimaryResidenceType,
  "error": AccountUserCanNotFoundErrorType
}

CreateProductOutput

Output type for creating a product.

Fields

NameDescription
product(SupplyProductType)

The created product.

Example

{
  "product": SupplyProductType
}

CreateProfileEventAndPublish

If the event is an update, and it is a "forced sync", then its isOverride flag should be set to True.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(CreateUserProfileEventAndPublishErrorUnion)

syncEvent(SyncEventType)


CreateQuoteForAccount

Create a quote for switching product.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.
  • KT-CT-4616: Unable to create a quote.
  • KT-CT-4631: Unable to quote for the chosen market.
  • KT-CT-4645: No supply point found belonging to the account for the provided identifier.
  • KT-CT-4924: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
quoteRequest(MarketSupplyQuoteRequestType)

Returns a quote request.

Example

{
  
}

CreateQuoteForProperty

Mutation to create a quote for a property.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(CreateQuoteForPropertyErrorUnion)

The error preventing a quote from being produced.

quoteRequest(QuoteRequestType)

The QuoteRequest type field.

Example


CreateReferral

Use a referral code to create a referral and trigger a referral reward. This is for customers to refer other customers so it only works with friend referrals and not partner referrals. This will try to find a user with given referral code as their personal referral code. If found, it will create an AccountReferral instance for the given account number.

The possible errors that can be raised are:

  • KT-CT-6723: Unauthorized.
  • KT-CT-6710: Unable to create referral.
  • KT-CT-6711: Accounts may not self-refer.
  • KT-CT-6713: Referring and referred account brands do not match.
  • KT-CT-6712: Invalid reference.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
referredAccountRewardAmount(Int)

The reward amount to be issued to the referred account, in smallest currency subunits.

Example

{
  "referredAccountRewardAmount": 1
}

CreateRegisterNTCOverride

Creates a new NTC override for the register under Meter point.

The possible errors that can be raised are:

  • KT-AU-5613: Cannot find meter point with the provided ID.
  • KT-AU-5611: Cannot find register with the provided ID.
  • KT-AU-5612: Error in creating the override.
  • KT-AU-5617: Override period falls outside the register's active period.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
meterPoint(MeterPointType)

The target meter point.

Example

{
  "meterPoint": MeterPointType
}

CreateReminder

Create an account reminder.

The possible errors that can be raised are:

  • KT-CT-1401: Invalid data.
  • KT-CT-1402: Unable to create account reminder.
  • KT-CT-1403: Missing user or team assignee.
  • KT-CT-1404: This reminder type is deprecated.
  • KT-CT-1405: Both user and team assignee provided.
  • KT-CT-1408: Missing account id.
  • KT-CT-1409: Missing business id.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

reminder(Reminder)

Account reminder.

Example

{
  "reminder": Reminder,
  "possibleErrors": [PossibleErrorType]
}

CreateScheduledTransactions

Create scheduled transactions.

The possible errors that can be raised are:

  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-3830: Invalid action.
  • KT-CT-3831: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
scheduledTransactions([ScheduledTransactionType])

Example

{
  "scheduledTransactions": [ScheduledTransactionType]
}

CreateShellAccountPayload

Create a shell account (a billable account with no property/energy supply).

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountInterface)

billingAddressLine1(String)

billingAddressLine2(String)

billingAddressLine3(String)

billingAddressLine4(String)

billingAddressLine5(String)

billingName(String)

billingPeriodDay(Int)

Day to fixed bill on if billingperiodlength set.

billingPeriodLength(String)

For fixed billing accounts only, the length of their billing period. Can be MONTHLY or QUARTERLY.

billingPeriodMonth(Int)

Month to start billing from if billingperiodlength set to QUARTERLY or the multiplier is > 1.

billingPeriodMultiplier(Int)

For fixed billing accounts only, the number the period length is to be multiplied by to get the total period length, i.e. for billing every second month, select 2 combined with a billing period length MONTHLY. Can't be > 1 for quarterly billing.

billingPostcode(String)

billingRichAddress(String)

This must be a string-ified version of the JSON representation of RichAddressInput type.

brand(String)

businessType(String)

clientMutationId(String)

companyName(String)

companyNumber(String)

dateOfBirth(Date)

email(String!)

errors([ErrorType])

familyName(String!)

givenName(String!)

isBusinessAccount(Boolean)

landline(String)

mobile(String)

password(String)

passwordUpdateToken(String)

portfolioNumber(String)

taxNumber(String)

urn(String)

Example

{
  "portfolioNumber": "abc123",
  "givenName": "abc123",
  "familyName": "abc123",
  "billingName": "abc123",
  "email": "abc123",
  "mobile": "abc123",
  "landline": "abc123",
  "brand": "abc123",
  "dateOfBirth": "2020-01-01",
  "billingAddressLine1": "abc123",
  "billingAddressLine2": "abc123",
  "billingAddressLine3": "abc123",
  "billingAddressLine4": "abc123",
  "billingAddressLine5": "abc123",
  "billingPostcode": "abc123",
  "billingRichAddress": "abc123",
  "billingPeriodLength": "abc123",
  "billingPeriodMultiplier": 1,
  "billingPeriodDay": 1,
  "billingPeriodMonth": 1,
  "isBusinessAccount": true,
  "companyName": "abc123",
  "companyNumber": "abc123",
  "businessType": "abc123",
  "taxNumber": "abc123",
  "password": "abc123",
  "passwordUpdateToken": "abc123",
  "urn": "abc123",
  "errors": [ErrorType],
  "account": AccountInterface,
  "clientMutationId": "abc123"
}

CreateTimeSeriesPrices

Time series information and existing variants based on the prices created.

Fields

NameDescription
code(String!)

The time series code.

description(String)

The time series description.

meta(JSONString)

The time series meta information.

name(String!)

The time series display name.

periodSize(String!)

The time series period size value.

productCode(String)

The product code associated to the time series.

unit(String!)

The time series unit value.

variants([VariantProfile!]!)

The existing time series variants based on the prices created.

Example

{
  "code": "abc123",
  "productCode": "abc123",
  "name": "abc123",
  "description": "abc123",
  "unit": "abc123",
  "periodSize": "abc123",
  "meta": {"key": "value"},
  "variants": VariantProfile
}

CreateUserAlternativeNumber

Create a new alternative phone number for the user.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
alternativePhoneNumbers([String])

List of alternative phone numbers for the account user.

error(AlternativeNumberErrorUnion)

Potential error message for the mutation.

Example

{
  "alternativePhoneNumbers": ["abc123"],
  "error": AlternativeNumberValidationErrorType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Credit

A credit to the customer from the energy retailer.

Fields

NameDescription
accountNumber(String)

Unique identifier of the account the transaction belongs to.

amount(Int)

Gross amount including tax (when payable). Refer to the amounts field for a breakdown of this information.

amounts(TransactionAmountType)

The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.

balanceCarriedForward(Int)

The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.

billingDocumentIdentifier(ID)

The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.

createdAt(DateTime)

The date time when the transaction is created.

hasStatement(Boolean)

Returns True if the transaction is linked with a statement.

id(ID)

Unique identifier for the transaction.

isAccountCharge(Boolean)

Deprecated.

Deprecated

The 'isAccountCharge' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isAccountPayment(Boolean)

Deprecated.

Deprecated

The 'isAccountPayment' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isCredit(Boolean)

Deprecated.

Deprecated

The 'isCredit' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isHeld(Boolean)

Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.

isIssued(Boolean)

Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.

isReversed(Boolean!)

note(String)

Returns the note field value for the transaction, which contains additional info.

postedDate(Date)

Date when the transaction was posted to the account.

reasonCode(String)

Returns the reason.

statementId(ID)

Returns None if a statement is not linked with the transaction.

Deprecated

The 'statementId' field is deprecated.

Use `billingDocumentIdentifier` instead.

- Marked as deprecated on 2023-11-30.
- Scheduled for removal on or after 2024-06-01.

title(String)

Human-readable title describing the transaction.

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123",
  "amount": 1,
  "amounts": TransactionAmountType,
  "balanceCarriedForward": 1,
  "isCredit": true,
  "isAccountCharge": true,
  "isAccountPayment": true,
  "isHeld": true,
  "isIssued": true,
  "title": "abc123",
  "billingDocumentIdentifier": "abc123",
  "statementId": "abc123",
  "isReversed": true,
  "hasStatement": true,
  "note": "abc123",
  "reasonCode": "abc123"
}

Fields

NameDescription
code(String)

The credit reason code.

display(String)

The credit reason display text.

group(String)

The group the credit reason belongs to (if applicable).

isDeprecated(Boolean)

Whether the credit reason is deprecated.

isHidden(Boolean)

Whether the credit reason is hidden.

isTaxExempt(Boolean)

Whether the credit reason is sales tax exempt.

Example

{
  "code": "abc123",
  "display": "abc123",
  "isDeprecated": true,
  "isTaxExempt": true,
  "isHidden": true,
  "group": "abc123"
}

Fields

NameDescription
accountNumber(String)

The number of the account linked to this permission.

ledgerNumber(String)

The number of the ledger linked to this permission.

validFrom(DateTime)

The datetime from which the permission is valid.

validTo(DateTime)

The datetime to which the permission is valid.

Example

{
  "ledgerNumber": "abc123",
  "accountNumber": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
accountNumber(String)

The number of the account linked to this permission.

ledgerNumber(String)

The number of the ledger linked to this permission.

validFrom(DateTime)

The datetime from which the permission is valid.

validTo(DateTime)

The datetime to which the permission is valid.

Example

{
  "ledgerNumber": "abc123",
  "accountNumber": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
fromSourceLedgers([CreditTransferPermissionFromSourceLedgerType])

Permissions for credit transfers when the ledger is the target.

toTargetLedgers([CreditTransferPermissionToTargetLedgerType])

Permissions for credit transfers when the ledger is the source.


Fields

NameDescription
isEligible(Boolean)

The current eligibility status for a deposit return.

reasonsForIneligibility([String])

The reasons why the account is currently ineligible for a deposit return.

Example

{
  "isEligible": true,
  "reasonsForIneligibility": ["abc123"]
}

Fields

NameDescription
account(String)

category(String!)

content(JSONString)

occurredAt(DateTime!)

subcategory(String!)

Example

{
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "category": "abc123",
  "subcategory": "abc123",
  "content": {"key": "value"},
  "account": "abc123"
}

CustomerAssetType

Customer asset type for GraphQL

Fields

NameDescription
accountNumber(String)

Account number.

activeFrom(DateTime)

When the customer asset became active.

activeTo(DateTime)

When device became inactive (null if active).

id(ID)

Customer asset ID.

name(String)

Asset name.

physicalId(String)

Physical device ID (e.g., VIN for a vehicle).

type(String)

Asset type.

Example

{
  "id": "abc123",
  "physicalId": "abc123",
  "name": "abc123",
  "type": "abc123",
  "activeFrom": "2020-01-01T00:00:00.000Z",
  "activeTo": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123"
}

CustomerFeedbackFormConnectionTypeConnection

Paginator of Customer Feedback Form.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([CustomerFeedbackFormConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": CustomerFeedbackFormConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

CustomerFeedbackFormConnectionTypeEdge

A Relay edge containing a CustomerFeedbackFormConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(CustomerFeedbackFormType)

The item at the end of the edge

Example

{
  "node": CustomerFeedbackFormType,
  "cursor": "abc123"
}

Fields

NameDescription
id(ID)

The unique identifier for the customer feedback form.

name(String)

The name of the customer feedback form.

Example

{
  "id": "abc123",
  "name": "abc123"
}

Fields

NameDescription
id(ID!)

rawScore(Int)

The value attached to the source

submittedAt(DateTime)

The datetime the feedback was submitted

Example

{
  "id": "abc123",
  "rawScore": 1,
  "submittedAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
accountNumber(String!)

The account number.

ledgerNumber(String)

The ledger identifier.

Example

{
  "accountNumber": "abc123",
  "ledgerNumber": "abc123"
}

Fields

NameDescription
accountNumber(String!)

The account number.

agency(String!)

The agency.

campaign(String!)

The campaign.

commencementStatus(Boolean!)

Whether the commencement could be applied.

ledgerNumber(String)

The ledger identifier.

Example

{
  "commencementStatus": true,
  "accountNumber": "abc123",
  "ledgerNumber": "abc123",
  "agency": "abc123",
  "campaign": "abc123"
}

Fields

NameDescription
accountNumber(String!)

The account number.

commencementStatus(Boolean!)

Whether the update has been applied.

Example

{
  "commencementStatus": true,
  "accountNumber": "abc123"
}

DailyElectricityMeterReadingType

Meter readings grouped by the date on which they occurred.

Interval readings which occur on the same date are summed.

Accumulation readings do not occur the same date.

Fields

NameDescription
date(Date!)

The date of the meter reading.

registerId(String!)

The register_id associated with the reading.

value(Decimal!)

The value of the meter reading.

Example

{
  "date": "2020-01-01",
  "registerId": "abc123",
  "value": "1.0"
}

Dashboard

A list of components which comprise a dashboard screen.

Fields

NameDescription
dashboardItems([SectionType]!)

The list of sections for a dashboard.

id(ID)

Unique identifier of the object.

serialisedDashboardItems(String!)

The serialised dashboard items.

typename(String)

The name of the object's type.

Example

{
  "id": "abc123",
  "typename": "abc123",
  "dashboardItems": SectionType,
  "serialisedDashboardItems": "abc123"
}

Fields

NameDescription
code(String!)

isActive(Boolean!)

name(String!)

Example

{
  "name": "abc123",
  "code": "abc123",
  "isActive": true
}

Fields

NameDescription
code(String!)

deprecatedAt(DateTime)

displayName(String!)

requiresFieldVisit(Boolean!)

Example

{
  "code": "abc123",
  "displayName": "abc123",
  "deprecatedAt": "2020-01-01T00:00:00.000Z",
  "requiresFieldVisit": true
}

Fields

NameDescription
agency(DebtCollectionAgencyType)

The agency responsible for the collection proceedings.

amount(Int)

campaign(CollectionCampaignType)

The campaign type of the collection proceedings.

Deprecated

The 'campaign' field is deprecated.

Use `collectionCampaign` instead

- Marked as deprecated on 2025-03-20.
- Scheduled for removal on or after 2025-04-30.

collectionCampaign(DebtCollectionCampaignType)

The campaign type of the collection proceedings.

startedAt(DateTime!)

stopReason(DebtCollectionProceedingStopReason)

stoppedAt(DateTime)

Example

{
  "campaign": "CREDIT_DEFAULT_LISTING",
  "amount": 1,
  "startedAt": "2020-01-01T00:00:00.000Z",
  "stoppedAt": "2020-01-01T00:00:00.000Z",
  "stopReason": "BANKRUPT"
}

DecimalType

Graphene type object to represent float values

Fields

NameDescription
decimalValue(Decimal!)

Value of this field.

Example

{
  "decimalValue": "1.0"
}

DeductLoyaltyPoints

Deduct the specified number of Loyalty Points from the account.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-5420: Unauthorized.
  • KT-CT-9211: Invalid reason for loyalty points award.
  • KT-CT-9219: Loyalty points user not found.
  • KT-CT-9204: Negative or zero points set.
  • KT-CT-9205: Insufficient Loyalty Points.
  • KT-CT-9208: Invalid posted at datetime.
  • KT-CT-9221: Idempotency key already used on ledger entry.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
ledgerEntry(LoyaltyPointLedgerEntryType)

The ledger entry for the deducted loyalty points.

pointsDeducted(Int)

The number of loyalty points that were deducted.

Example

{
  "pointsDeducted": 1,
  "ledgerEntry": LoyaltyPointLedgerEntryType
}

DeeplinkActionType

An action which navigates to the URL of another backend screen.

Fields

NameDescription
id(ID)

Unique identifier of the object.

typeName(String)

The name of the action object's type.

typename(String)

The name of the object's type.

url(String!)

The URL to navigate to.

Example

{
  "typeName": "abc123",
  "id": "abc123",
  "typename": "abc123",
  "url": "abc123"
}

DeleteAccountReference

Delete a reference for a particular account and namespace.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-8310: Invalid data.
  • KT-CT-8312: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountReference(DeleteAccountReferenceType)

Example

{
  
}

Fields

NameDescription
namespace(String!)

The namespace associated with the removed AccountReference.

Example

{
  "namespace": "abc123"
}

DeleteMfaDevice

Delete a multi-factor authentication (MFA) device for the authenticated user.

The possible errors that can be raised are:

  • KT-CT-1150: MFA device not found.
  • KT-CT-1154: Unable to delete MFA device.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
deviceDeleted(Boolean)

Flag to indicate if the MFA device has been successfully deleted.

Example

{
  "deviceDeleted": true
}

DeletePaymentSchedule

Delete payment schedule for an account.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

Account related to payment schedule.

error(DeletePaymentScheduleErrorUnion)

Handled errors related to payment schedule deletion.

Example

{
  "account": AccountType,
  "error": DoesNotExistErrorType
}

DeletePropertyDescendants

Delete all descendants of a property in a hierarchy.

This permanently deletes all descendant nodes (children, grandchildren, etc.) but keeps the property node itself in the hierarchy. This operation is idempotent - if the property is not in the hierarchy or has no descendants, it will succeed without error.

The possible errors that can be raised are:

  • KT-CT-6622: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
property(PropertyType)

The property whose descendants were deleted.

Example

{
  "property": PropertyType
}

DeletePushNotificationBinding

Delete a device token used for push notifications.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-5411: Invalid token or no push notification binding found for the given account user.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
status(DeletePushNotificationBindingOutput)

Example

{
  "status": "SUCCESSFUL"
}

DeleteUserAlternativeNumber

Delete an existing alternative phone number for the user.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
alternativePhoneNumbers([String])

List of alternative phone numbers for the account user.

error(AlternativeNumberErrorUnion)

Potential error message for the mutation.

Example

{
  "alternativePhoneNumbers": ["abc123"],
  "error": AlternativeNumberValidationErrorType
}

Fields

NameDescription
supplyPointExternalId(String!)

The external identifier of the detached supply point.

Example

{
  "supplyPointExternalId": "abc123"
}

Fields

NameDescription
acceptedAt(DateTime)

The timestamp at which the customer accepted the deposit agreement.

collectionDate(Date)

The date on which a payment is requested for deposit collection (defaults to current date, if not specified in the deposit policy).

currentEligibilityStatus(CurrentEligibilityStatusOutput)

The current eligibility status for a deposit return.

depositAmount(Int)

The deposit agreement amount.

depositKey(String)

The deposit agreement key (unique).

dueDate(Date)

The date by which the deposit agreement must be fulfilled (defaults to 31-12-9999 i.e. deposit is never late, if not specified in the deposit policy).

fulfilledAt(DateTime)

The timestamp at which the deposit agreement was fulfilled.

returnStrategy(String)

The return strategy used to return the deposit.

Example

{
  "depositKey": "abc123",
  "depositAmount": 1,
  "acceptedAt": "2020-01-01T00:00:00.000Z",
  "fulfilledAt": "2020-01-01T00:00:00.000Z",
  "collectionDate": "2020-01-01",
  "dueDate": "2020-01-01",
  "returnStrategy": "abc123"
}

Fields

NameDescription
amount(Int)

The amount to be returned in this installment.

dueDate(Date)

The date by which the deposit return installment is due.

status(String)

The status of this return installment.

Example

{
  "dueDate": "2020-01-01",
  "amount": 1,
  "status": "abc123"
}

Fields

NameDescription
ok(Boolean!)

True if the agreements were successfully detached.

Example

{
  "ok": true
}

DetachSupplyPointFromEstimationGroup

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-13603: Supply Point does not exist.
  • KT-CT-13604: Supply point has no estimation group assigned.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
supplyPoint(DeletedSupplyPointEstimationGroupType)

The deleted supply point.

Example

{
  
}

Fields

NameDescription
deviceIdentifier(String)

The id of the device. This field can only be provided in the output if device level readings are also requested.

readings(Readings)

Get readings from a readable device e.g., a supply point, device, or register.

Arguments

endAt (DateTime!)

The exclusive end of the time period as an isoformatted string.

readingType (ReadingTypes!)

Get readings of only this type.

startAt (DateTime!)

The inclusive start of the time period as an isoformatted string.

timeGranularity (TimeGranularities)

Time buckets to group readings into.

timezone (String)

The timezone in which to return readings.

units ([Units])

Optional filter to return readings only for specific list of units or unit (e.g., KILOWATTHOURS, METERSCUBED, LITER, etc.).

registers(RegistersConnection)

The registers associated with this device.

Arguments

after (String)

before (String)

first (Int)

last (Int)

registerIdentifiers ([String])

The ids of the registers to get. If not provided, all registers for device will be returned.

Example

{
  "readings": Readings,
  "deviceIdentifier": "abc123",
  "registers": RegistersConnection
}

Fields

NameDescription
nmiSuffix(NmiSuffix)

The NMI suffix for this register data stream. This field is only provided when the operation includes the standard readings variables (startAt, endAt, readingType, timezone).

readings(Readings)

Get readings from a readable device e.g., a supply point, device, or register.

Arguments

endAt (DateTime!)

The exclusive end of the time period as an isoformatted string.

readingType (ReadingTypes!)

Get readings of only this type.

startAt (DateTime!)

The inclusive start of the time period as an isoformatted string.

timeGranularity (TimeGranularities)

Time buckets to group readings into.

timezone (String)

The timezone in which to return readings.

units ([Units])

Optional filter to return readings only for specific list of units or unit (e.g., KILOWATTHOURS, METERSCUBED, LITER, etc.).

registerIdentifier(String)

The id of the register. This field can only be provided in the output if register level readings are also requested.

Example

{
  "readings": Readings,
  "registerIdentifier": "abc123",
  "nmiSuffix": NmiSuffix
}

DevicesConnection

Pagination for devices.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([DevicesEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": DevicesEdge,
  "totalCount": 1,
  "edgeCount": 1
}

DevicesEdge

A Relay edge containing a Devices and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(Device)

The item at the end of the edge

Example

{
  "node": Device,
  "cursor": "abc123"
}

Fields

NameDescription
isEligible(Boolean)

Whether the NMI is eligible for a digital meter request.

nmi(String)

NMI the request is for.

reason(String)

Additional information about result.

Example

{
  "nmi": "abc123",
  "isEligible": true,
  "reason": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([DirectDebitInstructionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": DirectDebitInstructionConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

DirectDebitInstructionConnectionTypeEdge

A Relay edge containing a DirectDebitInstructionConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(DirectDebitInstructionType)

The item at the end of the edge

Example

{
  "node": DirectDebitInstructionType,
  "cursor": "abc123"
}

DirectDebitInstructionType

Direct Debit Instructions

Fields

NameDescription
accountHolder(String!)

cardExpiryMonth(Int)

cardExpiryYear(Int)

cardPaymentNetwork(String)

iban(String!)

id(ID!)

instructionType(String!)

lastFourDigitsOfAccountNumber(String)

The last four digits of the account number.

Deprecated

The 'lastFourDigitsOfAccountNumber' field is deprecated.

Use 'maskedAccountIdentifier' for a masked reference to the instruction.

- Marked as deprecated on 2021-12-23.
- Scheduled for removal on or after 2024-01-01.

maskedAccountIdentifier(String)

A masked reference to a recurring payment method.

maskedIban(String)

A masked version of the IBAN.

owners([PaymentInstructionOwnerType])

The owners of the financial account this instruction represents.

sortCode(String!)

status(String!)

Example

{
  "id": "abc123",
  "status": "abc123",
  "accountHolder": "abc123",
  "instructionType": "abc123",
  "cardPaymentNetwork": "abc123",
  "cardExpiryMonth": 1,
  "cardExpiryYear": 1,
  "iban": "abc123",
  "sortCode": "abc123",
  "lastFourDigitsOfAccountNumber": "abc123",
  "maskedAccountIdentifier": "abc123",
  "maskedIban": "abc123",
  "owners": [PaymentInstructionOwnerType]
}

DirectMeteringType

Represents a direct metering term in a contract.

Note: This type is a stub, and will be fleshed out in the future.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true
}

DistributionAgreementType

An agreement for an electricity distribution supply point. Returns rates that are active at the time the GraphQL query was made if the agreement is active. If not return rates that are active at the time the agreement ended.

Fields

NameDescription
account(AccountType)

The accounts for this agreement.

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

bestOffer(BestOfferForAgreement)

Get the best offer for an agreement.

Arguments

asOf (DateTime)

The date time to calculate the best offer. Defaults to now.

pricesAsOf (DateTime)

The date time to calculate cost details.

eligibleRebates([RebateType])

Data about concession rebates that users associated with the agreement are eligible for.

Arguments

endAt (DateTime)

Include eligibility data ending at this datetime. If this isn't provided, an open-ended range will be used.

rebateAmountEffectiveAt (DateTime)

The effective time for rebateCents and percentageDiscount data (defaults to now).

startAt (DateTime)

Include eligibility data starting at this datetime. If this isn't provided, an open-ended range will be used.

id(Int)

The ID of the agreement.

isActive(String)

isRevoked(Boolean)

Whether the agreement is revoked.

meterPoint(MeterPointType)

The meter point for this agreement.

product(Product)

The product for this agreement.

ratesAgreedAt(DateTime)

The datetime the rates were agreed.

rescissionDeadlineAt(DateTime)

The deadline datetime for rescinding the agreement.

supplyPoint(SupplyPointInterface!)

supplyType(String)

terminatedAt(DateTime)

validFrom(DateTime)

The start datetime of the agreement.

validTo(DateTime)

The end datetime of the agreement.

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "product": Product,
  "supplyType": "abc123",
  "isActive": "abc123",
  "meterPoint": MeterPointType,
  "supplyPoint": SupplyPointInterface,
  "eligibleRebates": [RebateType],
  "bestOffer": BestOfferForAgreement,
  "account": AccountType
}

Fields

NameDescription
displayName(String)

Customer facing display name.

emergencyPhone(String)

Emergency Contact number.

error(String)

An Error was encountered determining the distributor.

id(ID)

A unique code to identify the distributor eg ENERGYAP, AGLGNNWO.

longName(String)

Long form distributor name.

shortName(String)

Short form distributor name.

Example

{
  "longName": "abc123",
  "shortName": "abc123",
  "displayName": "abc123",
  "emergencyPhone": "abc123",
  "id": "abc123",
  "error": "abc123"
}

Fields

NameDescription
annualCost(Decimal!)

controlledUsage(Int)

effectiveFrom(Date!)

The date on which the DMO first becomes effective

effectiveTo(Date)

The final date on which the DMO is effective

generalUsage(Int!)

id(ID!)

notRequired(Boolean)

ntcCombination([String!]!)

Network Tariff Codes that applies to the DMO separate by comma

tariffName(String!)

totalUsage(Int)

Total usage derived from controlled and general usage.

Example

{
  "id": "abc123",
  "effectiveFrom": "2020-01-01",
  "effectiveTo": "2020-01-01",
  "ntcCombination": "abc123",
  "tariffName": "abc123",
  "generalUsage": 1,
  "controlledUsage": 1,
  "annualCost": "1.0",
  "notRequired": true,
  "totalUsage": 1
}

Fields

NameDescription
field(String!)

The input field that failed database lookup.

Example

{
  "field": "abc123"
}

Fields

NameDescription
amount(Int!)

Number of cents that the customer still needs to pay.

billingDocument(PeriodBasedDocumentType)

The billing document that contained these charges. Note this value may be null.

dueDate(Date!)

Date that the customer is expected to pay by.

statement(StatementType)

The statement that contained these charges. Note this value may be null.

Example

{
  "amount": 1,
  "statement": StatementType,
  "billingDocument": PeriodBasedDocumentType,
  "dueDate": "2020-01-01"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

EEPAExportContractedVolumePeriodType

A date-bounded volume cap period for an EEPA export contracted volume term.

Fields

NameDescription
supplyPointIds([ID])

Supply point IDs this period applies to. Null means it applies to all supply points not covered by a specific config.

unit(String!)

The unit of the volume cap (e.g. kilowatt_hour).

validFrom(DateTime!)

The start of the period (inclusive).

validTo(DateTime!)

The end of the period (exclusive).

value(Decimal!)

The contracted volume cap value.

Example

{
  "value": "1.0",
  "unit": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "supplyPointIds": ["abc123"]
}

EEPAExportContractedVolumeType

EEPA export contracted volume term.

Defines contracted export volume caps across multiple time periods, optionally scoped to specific supply points.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

periods([EEPAExportContractedVolumePeriodType])

The volume cap periods for this term.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "periods": [EEPAExportContractedVolumePeriodType]
}

Fields

NameDescription
dailyEstimation(BaseUsageAndCostType!)

Daily usage and cost estimation.

failureReasons(String)

Failure reasons.

fortnightlyEstimation(BaseUsageAndCostType!)

Fortnightly usage and cost estimation.

monthlyEstimation(BaseUsageAndCostType!)

Monthly usage and cost estimation.

weeklyEstimation(BaseUsageAndCostType!)

Weekly usage and cost estimation.

yearlyEstimation(BaseUsageAndCostType!)

Yearly usage and cost estimation.

Example

{
  "failureReasons": "abc123",
  "dailyEstimation": BaseUsageAndCostType,
  "weeklyEstimation": BaseUsageAndCostType,
  "fortnightlyEstimation": BaseUsageAndCostType,
  "monthlyEstimation": BaseUsageAndCostType,
  "yearlyEstimation": BaseUsageAndCostType
}

ElectricityAccumulationMeterReadingType

An electricity meter reading. Accumulated usage.

Fields

NameDescription
direction(ElectricityAccumulationMeterReadingDirection!)

The direction of the reading.

id(ID!)

isQuarantined(Boolean!)

Indicates whether the reading is quarantined.

qualityFlag(QualityFlag)

Possible values: A: ACTUALMETERINGDATA E: FORWARDESTIMATEDDATA F: FINALSUBSTITUTEDDATA N: NULLDATA S: SUBSTITUTEDDATA V: VARIABLE_DATA

qualityMethod(String)

Reading quality method.

readAt(DateTime)

The datetime when the meter was read.

registers([RegisterReading])

List of register readings.

source(source!)

The source of the meter reading.

units(String!)

value(Decimal!)

Example

{
  "id": "abc123",
  "qualityMethod": "abc123",
  "units": "abc123",
  "value": "1.0",
  "readAt": "2020-01-01T00:00:00.000Z",
  "registers": [RegisterReading],
  "source": "OPS_READING_UPDATE",
  "isQuarantined": true,
  "direction": "I",
  "qualityFlag": "A"
}

ElectricityAgreementType

An agreement for an electricity supply point. Returns rates that are active at the time the GraphQL query was made if the agreement is active. If not return rates that are active at the time the agreement ended.

Fields

NameDescription
account(AccountType)

The accounts for this agreement.

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

bestOffer(BestOfferForAgreement)

Get the best offer for an agreement.

Arguments

asOf (DateTime)

The date time to calculate the best offer. Defaults to now.

pricesAsOf (DateTime)

The date time to calculate cost details.

eligibleRebates([RebateType])

Data about concession rebates that users associated with the agreement are eligible for.

Arguments

endAt (DateTime)

Include eligibility data ending at this datetime. If this isn't provided, an open-ended range will be used.

rebateAmountEffectiveAt (DateTime)

The effective time for rebateCents and percentageDiscount data (defaults to now).

startAt (DateTime)

Include eligibility data starting at this datetime. If this isn't provided, an open-ended range will be used.

id(Int)

The ID of the agreement.

isActive(String)

isRevoked(Boolean)

Whether the agreement is revoked.

meterPoint(MeterPointType)

The meter point for this agreement.

product(Product)

The product for this agreement.

ratesAgreedAt(DateTime)

The datetime the rates were agreed.

rescissionDeadlineAt(DateTime)

The deadline datetime for rescinding the agreement.

supplyPoint(ElectricitySupplyPointType!)

supplyType(String)

terminatedAt(DateTime)

validFrom(DateTime)

The start datetime of the agreement.

validTo(DateTime)

The end datetime of the agreement.

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "product": Product,
  "supplyType": "abc123",
  "isActive": "abc123",
  "meterPoint": MeterPointType,
  "supplyPoint": ElectricitySupplyPointType,
  "eligibleRebates": [RebateType],
  "bestOffer": BestOfferForAgreement,
  "account": AccountType
}

ElectricityAmphioIntervalMeterReadingType

An electricity meter reading. Usage within a time window.

Fields

NameDescription
deviceId(String!)

direction(String!)

indexRead(Decimal)

indexReadAt(DateTime)

intervalEndAt(DateTime!)

intervalStartAt(DateTime!)

isDeleted(Boolean!)

isValid(Boolean!)

localDate(Date)

nmiSuffix(String!)

qualityFlag(QualityFlag)

Possible values: A: ACTUALMETERINGDATA E: FORWARDESTIMATEDDATA F: FINALSUBSTITUTEDDATA N: NULLDATA S: SUBSTITUTEDDATA V: VARIABLE_DATA

qualityMethod(String)

Reading quality method.

reasonCode(AmphioIntervalReadingReasonCode)

registerIdentifier(String)

units(String!)

value(Decimal!)

Usage value of energy.

Example

{
  "intervalStartAt": "2020-01-01T00:00:00.000Z",
  "intervalEndAt": "2020-01-01T00:00:00.000Z",
  "units": "abc123",
  "direction": "abc123",
  "localDate": "2020-01-01",
  "deviceId": "abc123",
  "registerIdentifier": "abc123",
  "nmiSuffix": "abc123",
  "reasonCode": "A_0",
  "indexRead": "1.0",
  "indexReadAt": "2020-01-01T00:00:00.000Z",
  "isValid": true,
  "isDeleted": true,
  "qualityMethod": "abc123",
  "value": "1.0",
  "qualityFlag": "A"
}

Fields

NameDescription
registers([ElectricityRegisterType])

Registers associated with this consumption.

summarizedConsumption([SummarizedConsumptionType])

Summarized costed consumption data.

Example

{
  "summarizedConsumption": [SummarizedConsumptionType],
  "registers": [ElectricityRegisterType]
}

ElectricityDataStreamType

A data stream for one or more meter registers.

Fields

NameDescription
averageDailyLoad(Float!)

Estimated energy used by the data stream for this register (kWh/day).

Example

{
  "averageDailyLoad": 1.0
}

Fields

NameDescription
deviceId(String)

The identifier of the device associated to this reading.

marketSupplyPointId(String)

The identifier of the market supply point associated to this reading.

readingDirection(ReadingDirectionType)

Reading direction is based on the utility generated or consumed by the customer.

readingFrequencyType(ReadingFrequencyType)

The frequency of the reading.

readingQuality(ReadingQualityType)

registerId(String)

The identifier of the register associated to this reading.

Example

{
  "readingDirection": "CONSUMPTION",
  "registerId": "abc123",
  "readingQuality": "ACTUAL",
  "readingFrequencyType": "RAW_INTERVAL",
  "marketSupplyPointId": "abc123",
  "deviceId": "abc123"
}

ElectricityIntervalMeterReadingType

An electricity meter reading. Usage within a time window.

Fields

NameDescription
endAt(DateTime)

The end datetime of the interval reading.

registers([RegisterReading])

List of register readings.

startAt(DateTime)

The start datetime of the interval reading.

Example

{
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "registers": [RegisterReading]
}

ElectricityMeterReadingConnectionTypeConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ElectricityMeterReadingConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ElectricityMeterReadingConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ElectricityMeterReadingConnectionTypeEdge

A Relay edge containing a ElectricityMeterReadingConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ElectricityMeterReadingType)

The item at the end of the edge

Example

{
  "node": ElectricityAccumulationMeterReadingType,
  "cursor": "abc123"
}

ElectricityMeterType

An electricity meter is a collection of registers which store readings. Eco7 meters are an example of a meter with multiple registers (for day and night).

Fields

NameDescription
activeFrom(DateTime)

activeTo(DateTime)

consumption(ConsumptionConnection)

Energy consumption recorded by the meter.

Arguments

after (String)

before (String)

first (Int)

grouping (ConsumptionGroupings!)

Aggregate consumption according to this grouping.

last (Int)

startAt (DateTime!)

Earliest consumption reading to return. Must specify a timezone.

timezone (String!)

Timezone to use for grouping.

consumptionUnits(String)

The units of consumption for a smart meter.

controlEquipmentType(String)

Describes the type of control equipment that has been installed on behalf of the LNSP.

fuelType(String)

The type of fuel this meter uses.

id(ID!)

installationType(MeterInstallationTypeCodeType)

The meter installation type code.

isManuallyRead(Boolean)

Whether this meter requires manual reading.

isManuallyReadMrim(Boolean)

Whether this meter is a manually read Manually Read Interval Meter (MRIM).

isRemotelyRead(Boolean)

Whether this meter supports remote reading.

isRemotelyReadMrim(Boolean)

Whether this meter is a remotely read Manually Read Interval Meter (MRIM).

isSmart(Boolean)

Whether this is a smart (interval) meter.

isUnmetered(Boolean)

Whether this is an unmetered supply point (e.g. street lighting).

location(String)

Describes the relationship between the location of the metering point and the connection point.

meterPoint(MeterPointType!)

model(String)

The model of the meter.

nextScheduledReadDate(Date)

readTypeFrequency(MeterReadTypeFrequency)

readTypeMethod(MeterReadTypeMethod)

readTypeMode(MeterReadTypeMode)

readings(ElectricityMeterReadingConnectionTypeConnection)

Meter readings recorded by this meter.

Arguments

after (String)

before (String)

first (Int)

includeQuarantined (Boolean)

Include readings that have been quarantined.

last (Int)

registers([ElectricityRegisterType])

The registers on this meter that record consumption.

requiresCotFinalReading(Boolean)

Whether this meter requires a final change of tenancy (COT) reading.

roundNumber(String)

The round number of the meter.

sequenceNumber(String)

The sequence number of the meter.

serialNumber(String!)

status(MeterStatus!)

transmissionNodeIdentifier(String)

The Transmission Node Identifier (TNI) code from the AEMO CATSTNICODES table.

Example

{
  "id": "abc123",
  "serialNumber": "abc123",
  "activeFrom": "2020-01-01T00:00:00.000Z",
  "activeTo": "2020-01-01T00:00:00.000Z",
  "status": "C",
  "installationType": "BASIC",
  "nextScheduledReadDate": "2020-01-01",
  "readTypeMethod": "M",
  "readTypeMode": "T",
  "readTypeFrequency": "A_1",
  "consumptionUnits": "abc123",
  "requiresCotFinalReading": true,
  "fuelType": "abc123",
  "consumption": ConsumptionConnection,
  "meterPoint": MeterPointType,
  "isSmart": true,
  "isRemotelyRead": true,
  "isManuallyRead": true,
  "isRemotelyReadMrim": true,
  "isManuallyReadMrim": true,
  "isUnmetered": true,
  "readings": ElectricityMeterReadingConnectionTypeConnection,
  "registers": [ElectricityRegisterType],
  "roundNumber": "abc123",
  "sequenceNumber": "abc123",
  "controlEquipmentType": "abc123",
  "location": "abc123",
  "model": "abc123",
  "transmissionNodeIdentifier": "abc123"
}

Fields

NameDescription
error(ElectricityMoveInDatesErrorUnion)

moveInDates([Date])

Example

{
  "moveInDates": ["2020-01-01"],
  "error": DoesNotExistErrorType
}

Fields

NameDescription
annualCost(Decimal!)

The calculated annual cost, in $.

effectiveFrom(Date!)

The date the reference became effective.

effectiveTo(Date)

The last date on which the reference is effective.

hasControlledLoad(Boolean)

Whether this tariff has a controlled load component. Null when the NTC combination cannot be classified.

isRegulated(Boolean!)

Whether this tariff is regulated under the AER Default Market Offer. Non-regulated tariffs include demand tariffs and SME controlled load tariffs.

planId(String)

Plan Id.

savingPercentage(Int!)

The savings percentage, relative to the Usage Reference annual cost.

tariffType(String)

The tariff structure type for this product: flat, tou, sso, or non_regulated. Used to determine the appropriate AER comparison wording per product. Null when the NTC combination cannot be classified (e.g. demand tariffs or malformed NTC data).

Example

{
  "planId": "abc123",
  "effectiveFrom": "2020-01-01",
  "effectiveTo": "2020-01-01",
  "annualCost": "1.0",
  "savingPercentage": 1,
  "isRegulated": true,
  "tariffType": "abc123",
  "hasControlledLoad": true
}

ElectricityRateType

Product rates for electricity may be matched to registers using the network tariff code and time of day.

Fields

NameDescription
bandCategory(BandCategory)

Category of band associated with a product rate.

bandSubcategory(String)

Subcategory of band associated with a product rate.

chargeDescription(String)

Description for the network tariff code.

currency(String)

id(ID)

ID associated with electricity product rate.

isControlledLoad(Boolean)

Whether the rate is for controlled load.

isForExcessDemand(Boolean)

Whether the rate is for excess demand.

isSolar(Boolean)

Whether the rate is for solar export.

networkTariffCode(String)

Matches the Network Tariff Codes published by each LNSP.

pricePerUnit(Decimal!)

Price in cents per unit.

rateDescription(String)

Description that will show up on the customer's bill.

rateExcludingTax(Float)

Unit cost before tax.

rateIncludingTax(Float)

Unit cost including tax.

stepEnd(Float)

End of the step the rate applies to (Exclusive).

stepStart(Float)

Start of the step the rate applies to.

tariffPeriods([LNSPTariffPeriodType])

Tariff periods for this rate, grouped by LNSP.

timeOfDay(String)

Accumulation meters use the ALLDAY product rates.

unbundledRateType(String)

Unbundled rate type.

unitType(UnitType!)

What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.

validFrom(DateTime)

validTo(DateTime)

Example

{
  "currency": "abc123",
  "pricePerUnit": "1.0",
  "bandCategory": "STANDING_CHARGE",
  "bandSubcategory": "abc123",
  "rateExcludingTax": 1.0,
  "rateIncludingTax": 1.0,
  "rateDescription": "abc123",
  "unitType": "DAYS_ON_SUPPLY",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "stepStart": 1.0,
  "stepEnd": 1.0,
  "id": "abc123",
  "timeOfDay": "abc123",
  "networkTariffCode": "abc123",
  "chargeDescription": "abc123",
  "unbundledRateType": "abc123",
  "isControlledLoad": true,
  "isForExcessDemand": true,
  "isSolar": true,
  "tariffPeriods": [LNSPTariffPeriodType]
}

ElectricityRegisterType

A register on a meter. See standing data for MSATS for more information.

Fields

NameDescription
activeFrom(DateTime)

billableTariffCode(String)

Effective network tariff code. May be sourced from a global override if network_tariff_code_override is not set.

consumptionSummary([SummarizedConsumptionType!]!)

NOTE: This consumptionSummary field is deprecated. Use the consumptionSummary field on the MeterPointType instead.

Fetch consumption on this register, bucketed into time slices of a variable granularity.

Unlike readingsSummary, this endpoint returns consumption; in particular, for accumulation meters, the returned value represents the absolute amount of energy consumed, rather than reading values.

When the readings we have are less granular than the requested granularity (e.g. half-hourly or even monthly consumption requested on an interval meter), the consumption is divided evenly.

Note that, because the way that humans measure time is weird, so too are the results of this endpoint. For instance, a day may not have exactly 48 half-hour periods (because a DST transition happened), and a three-month interval of meter readings may not appear to be spread evenly between months (because months have different numbers of days).

The result will only include periods that are wholly between start_at and end_at; so, for instance, if you have a start_at of midday and a granularity of DAILY, you'll get results starting at midnight the following day.

This field requires the Authorization header to be set.

Deprecated

The 'consumptionSummary' field is deprecated.

Use MeterPointType > consumptionSummary instead.

- Marked as deprecated on 2023-11-27.
- Scheduled for removal on or after 2024-02-27.

Arguments

endAt (DateTime!)

Include data ending at this datetime. If a datetime-naïve value (without a UTC offset) is passed, this will be assumed to be in the timezone specified in timezone; if the UTC offset is absent and it is a time that occurs more than once in the given timezone (e.g. 2am on a transition out of DST) the behaviour is undefined.

granularity (ConsumptionGranularity!)

How granular the returned results should be

includeEstimates (Boolean)

Include estimated readings

includeQuarantined (Boolean)

Include readings that have been quarantined in Kraken

startAt (DateTime!)

Include data starting at this datetime.

If a datetime-naïve value (without a UTC offset) is passed, this will be assumed to be in the timezone specified in timezone; if the UTC offset is absent and it is a time that occurs more than once in the given timezone (e.g. 2am on a transition out of DST) the behaviour is undefined.

timezone (String!)

Olson timezone identifier to use (e.g. Australia/Melbourne). This is used to determine what time of day to split days and months.

controlledLoad(String!)

dataStream(ElectricityDataStreamType)

dialFormatDecimals(Int)

dialFormatDigits(Int)

id(ID!)

identifier(String!)

MSATS RegisterId.

isActive(Boolean!)

isExportRegister(Boolean!)

Arguments

asAt (DateTime)

Timezone specified date time at which register is considered exported. Defaults to the current date/timezone when not included.

isReactive(Boolean!)

Whether the register measures reactive power.

multiplier(Decimal)

Multiplier to apply to the meter readings.

networkTariffCode(String!)

From the Network Tariff Codes supplied and published by each LNSP.

networkTariffCodeOverride([RegisterNTCOverrideType])

Overrides to the current network tariff code for this register.

readingsSummary([DailyElectricityMeterReadingType])

Fetch summaries of electricity meter readings. You need to pass in the readings granularity desired for the results (e.g. DAILY or MONTHLY). Optionally include readings that have been quarantined (these are excluded by default). Also optionally include/exclude estimated readings (included by default). Days where no meter readings occurred will be omitted.

The summarised readings returned have the same semantic meaning as raw readings for this register; interval meters will return a consumption figure for this interval, and accumulation meters will return a raw read (that must be subtracted from the previous read to determine consumption).

If this isn't what you want, use consumptionSummary instead.

This field requires the Authorization header to be set.

Deprecated

The 'readingsSummary' field is deprecated.

This will not resolve for Amphio meterpoints.

- Marked as deprecated on 2023-03-17.
- Scheduled for removal on or after 2024-03-17.

Arguments

endDate (Date!)

Readings which happened after the end of this day will be excluded.

includeEstimates (Boolean)

Include estimated readings

includeQuarantined (Boolean)

Include readings that have been quarantined in Kraken

readingsGranularity (ReadingsGranularity!)

Data granularity desired for the summary results

startDate (Date!)

Readings which happened before the start of this day will be excluded.

status(RegisterStatus!)

suffix(String)

timeOfDay(String!)

Code to identify the time validity of register contents, as published by each LNSP.

unitOfMeasure(UnitOfMeasure!)

Example

{
  "id": "abc123",
  "identifier": "abc123",
  "activeFrom": "2020-01-01T00:00:00.000Z",
  "timeOfDay": "abc123",
  "multiplier": "1.0",
  "status": "C",
  "networkTariffCode": "abc123",
  "dialFormatDigits": 1,
  "dialFormatDecimals": 1,
  "suffix": "abc123",
  "controlledLoad": "abc123",
  "unitOfMeasure": "MWH",
  "networkTariffCodeOverride": [RegisterNTCOverrideType],
  "isExportRegister": true,
  "dataStream": ElectricityDataStreamType,
  "isActive": true,
  "isReactive": true,
  "readingsSummary": [DailyElectricityMeterReadingType],
  "consumptionSummary": SummarizedConsumptionType,
  "billableTariffCode": "abc123"
}

Fields

NameDescription
chargeRecords(ServiceOrderChargeRecordConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

deEnergisationReason(ServiceOrderDeEnergisationReasonChoices)

If applicable, the service order reason for de-energisation.

meterPoint(MeterPointType)

orderNumber(String)

responseCode(String)

scheduledDate(Date)

serviceOrder(Int)

status(ServiceOrderStatus)

subtype(ServiceOrderSubTypeChoices)

The service order subtype.

type(ServiceOrderTypeChoices)

The service order type.

Example

{
  "orderNumber": "abc123",
  "type": "SUPPLY_SERVICE_WORKS",
  "status": "PENDING",
  "meterPoint": MeterPointType,
  "serviceOrder": 1,
  "responseCode": "abc123",
  "scheduledDate": "2020-01-01",
  "chargeRecords": ServiceOrderChargeRecordConnectionTypeConnection,
  "subtype": "AFTER_DISCONNECTION_FOR_NON_PAYMENT",
  "deEnergisationReason": "CUSTOMER_REQUESTED"
}

Fields

NameDescription
id(ID)

The unique identifier of the supply point.

marketName(String)

The market this supply point belongs to.

meterPoint(MeterPointType)

The electricity meter point for this supply point.

property(PropertyType)

The property associated with this supply point.

Example

{
  "id": "abc123",
  "marketName": "abc123",
  "property": PropertyType,
  "meterPoint": MeterPointType
}

Fields

NameDescription
annualCost(Decimal!)

The reference annual cost, in $.

controlledUsage(Int)

Amount of controlled usage included in the total.

effectiveFrom(Date!)

The date the reference became effective.

effectiveTo(Date)

The last date on which the reference is effective.

generalUsage(Int!)

Amount of general usage included in the total.

notRequired(Boolean!)

Whether the reference is required or not.

ntcCombination([String]!)

Relevant NTCs used for this reference.

tariffName(String)

The name of the tariff.

totalUsage(Int!)

Total amount of usage used for the reference.

Example

{
  "effectiveFrom": "2020-01-01",
  "effectiveTo": "2020-01-01",
  "totalUsage": 1,
  "ntcCombination": "abc123",
  "annualCost": "1.0",
  "tariffName": "abc123",
  "generalUsage": 1,
  "controlledUsage": 1,
  "notRequired": true
}

EmailAttachmentType

Represents a file to attach to a email message.

Fields

NameDescription
filename(String!)

The filename of the attachment.

id(ID!)

The ID of the attachment.

temporaryUrl(String)

Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page).

Example

{
  "id": "abc123",
  "filename": "abc123",
  "temporaryUrl": "abc123"
}

Fields

NameDescription
eventType(String!)

id(ID!)

The ID of the object

message(EmailType)

Email message of the email event. Returns null for message's sent/received by other user's on the account.

occurredAt(DateTime!)

Example

{
  "id": "abc123",
  "eventType": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "message": EmailType
}

EmailType

Represents an email communication

Fields

NameDescription
attachments([EmailAttachmentType])

Attachments of the email message.

channel(String!)

createdAt(DateTime!)

The date and time the email was created.

fromEmail(String!)

The address the email was sent from.

fromNumber(String!)

htmlBody(String)

HTML body of the email message.

id(ID!)

The ID of the email.

recipient(String)

Email recipient.

sender(String)

Email sender.

sentAt(DateTime)

The date and time the email was sent.

subject(String)

Subject line of the email message.

supportSiteUrl(String)

URL to view the email in the support site.

templateCode(String!)

The email template code.

textBody(String)

Text body of the email message.

toAddress(String!)

The email address of the recipient.

toNumber(String!)

Example

{
  "id": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "sentAt": "2020-01-01T00:00:00.000Z",
  "templateCode": "abc123",
  "toAddress": "abc123",
  "fromEmail": "abc123",
  "subject": "abc123",
  "attachments": [EmailAttachmentType],
  "textBody": "abc123",
  "htmlBody": "abc123",
  "supportSiteUrl": "abc123",
  "toNumber": "abc123",
  "fromNumber": "abc123",
  "channel": "abc123",
  "sender": "abc123",
  "recipient": "abc123"
}

Fields

NameDescription
email(String!)

The email address to be checked.

status(VerificationRequestStatus)

The status of verification for associated email.

Example

{
  "email": "abc123",
  "status": "NOT_SENT"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([EmbeddedElectricityAccumulationReadingConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": EmbeddedElectricityAccumulationReadingConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

EmbeddedElectricityAccumulationReadingConnectionTypeEdge

A Relay edge containing a EmbeddedElectricityAccumulationReadingConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(EmbeddedElectricityAccumulationReadingType)

The item at the end of the edge

Example

{
  "node": EmbeddedElectricityAccumulationReadingType,
  "cursor": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([EmbeddedElectricityAccumulationReadingEventConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": EmbeddedElectricityAccumulationReadingEventConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

EmbeddedElectricityAccumulationReadingEventConnectionTypeEdge

A Relay edge containing a EmbeddedElectricityAccumulationReadingEventConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(EmbeddedElectricityAccumulationReadingEventType)

The item at the end of the edge

Example

{
  "node": EmbeddedElectricityAccumulationReadingEventType,
  "cursor": "abc123"
}

Fields

NameDescription
eventType(AccumulationReadingEventType!)

id(ID!)

Example

{
  "id": "abc123",
  "eventType": "OPS_READING"
}

Fields

NameDescription
events(EmbeddedElectricityAccumulationReadingEventConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

id(ID!)

marketTransactionId(String)

qualityFlag(EmbeddedElectricityReadQuality!)

qualityMethod(EmbeddedElectricityReadMethod!)

readAt(DateTime!)

readingsNmiMdpKey(String)

reasonCode(EmbeddedElectricityReadReason)

Reason code.

reasonDescription(String!)

units(String!)

value(Decimal!)

Example

{
  "id": "abc123",
  "units": "abc123",
  "reasonDescription": "abc123",
  "value": "1.0",
  "marketTransactionId": "abc123",
  "readingsNmiMdpKey": "abc123",
  "readAt": "2020-01-01T00:00:00.000Z",
  "events": EmbeddedElectricityAccumulationReadingEventConnectionTypeConnection,
  "qualityFlag": "A",
  "qualityMethod": "CHECK",
  "reasonCode": "FREE_TEXT_DESCRIPTION"
}

Fields

NameDescription
account(AccountType!)

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

bestOffer(BestOfferForAgreement)

Get the best offer for an agreement.

Arguments

asOf (DateTime)

The date time to calculate the best offer. Defaults to now.

pricesAsOf (DateTime)

The date time to calculate cost details.

eligibleRebates([RebateType])

Data about concession rebates that users associated with the agreement are eligible for.

Arguments

endAt (DateTime)

Include eligibility data ending at this datetime. If this isn't provided, an open-ended range will be used.

rebateAmountEffectiveAt (DateTime)

The effective time for rebateCents and percentageDiscount data (defaults to now).

startAt (DateTime)

Include eligibility data starting at this datetime. If this isn't provided, an open-ended range will be used.

id(Int)

The ID of the agreement.

isActive(String)

isRevoked(Boolean)

Whether the agreement is revoked.

meterPoint(MeterPointInterface)

The meter point for this agreement.

product(Product)

The product for this agreement.

ratesAgreedAt(DateTime)

The datetime the rates were agreed.

rescissionDeadlineAt(DateTime)

The deadline datetime for rescinding the agreement.

supplyPoint(SupplyPointInterface!)

supplyType(String)

terminatedAt(DateTime)

validFrom(DateTime)

The start datetime of the agreement.

validTo(DateTime)

The end datetime of the agreement.

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "product": Product,
  "supplyType": "abc123",
  "isActive": "abc123",
  "meterPoint": MeterPointInterface,
  "supplyPoint": SupplyPointInterface,
  "eligibleRebates": [RebateType],
  "bestOffer": BestOfferForAgreement,
  "account": AccountType
}

Fields

NameDescription
deviceId(String)

The identifier of the device associated to this reading.

marketSupplyPointId(String)

The identifier of the market supply point associated to this reading.

readingDirection(ReadingDirectionType)

Reading direction is based on the utility generated or consumed by the customer.

readingFrequencyType(ReadingFrequencyType)

The frequency of the reading.

readingQuality(ReadingQualityType)

registerId(String)

The identifier of the register associated to this reading.

Example

{
  "readingDirection": "CONSUMPTION",
  "registerId": "abc123",
  "readingQuality": "ACTUAL",
  "readingFrequencyType": "RAW_INTERVAL",
  "marketSupplyPointId": "abc123",
  "deviceId": "abc123"
}

Fields

NameDescription
accessDetails(String)

agreements([AusAgreementInterface])

A list of agreements belonging to an account that is linked to the logged in user.

Arguments

includeInactive (Boolean)

Include inactive agreements.

customerClassification(MeterPointCustomerClassification!)

customerClassificationThreshold(MeterPointCustomerClassificationThreshold!)

distributionLossFactorCode(String!)

hasManuallySetSensitiveLoad(Boolean!)

hazards([String!])

id(Int)

The database identifier of the meter point.

identifier(String)

The external identifier for the meter point (NMI for electricity, MIRN for gas).

jurisdictionCode(MeterPointJurisdictionCode)

krakenStatus(MeterPointKrakenStatus)

lnspId(MeterPointLnspId!)

marketSupplyPoint(SupplyPointInterface!)

meters([Meter])

Returns all meters by default, but can be filtered by meter id.

Arguments

id (Int)

Filter meters by database ID.

nmi(String!)

nmiClassification(MeterPointNmiClassification!)

outageContactEmail(String)

outageContactPhone(String)

parentNmi(String!)

property(PropertyType!)

sharedIsolationPointFlag(MeterPointSharedIsolationPointFlag)

siteAddress(RichAddressType)

Site address.

status(String)

supplyDetails(SupplyDetailsType)

Supply details including agreed capacity and connection units.

supplyType(String)

The fuel/service type for this meter point.

Example

{
  "nmi": "abc123",
  "krakenStatus": "OFF_SUPPLY",
  "parentNmi": "abc123",
  "nmiClassification": "SMALL",
  "customerClassification": "BUSINESS",
  "customerClassificationThreshold": "LOW",
  "distributionLossFactorCode": "abc123",
  "jurisdictionCode": "ALL",
  "sharedIsolationPointFlag": "Y",
  "lnspId": "ACTEWP",
  "accessDetails": "abc123",
  "hazards": ["abc123"],
  "outageContactEmail": "abc123",
  "outageContactPhone": "abc123",
  "hasManuallySetSensitiveLoad": true,
  "status": "abc123",
  "agreements": AusAgreementInterface,
  "id": 1,
  "identifier": "abc123",
  "meters": Meter,
  "supplyType": "abc123",
  "supplyDetails": SupplyDetailsType,
  "property": PropertyType,
  "marketSupplyPoint": SupplyPointInterface,
  "siteAddress": RichAddressType
}

Fields

NameDescription
activeFrom(DateTime)

activeTo(DateTime)

consumption(ConsumptionConnection)

Energy consumption recorded by the meter.

Arguments

after (String)

before (String)

first (Int)

grouping (ConsumptionGroupings!)

Aggregate consumption according to this grouping.

last (Int)

startAt (DateTime!)

Earliest consumption reading to return. Must specify a timezone.

timezone (String!)

Timezone to use for grouping.

consumptionUnits(String)

The units of consumption for a smart meter.

fuelType(String)

The type of fuel this meter uses.

hazard(String!)

id(ID!)

installationType(MeterInstallationType!)

location(String!)

manufacturer(String!)

meterPoint(EmbeddedElectricityMeterPointType!)

model(String!)

nextScheduledReadDate(Date)

readTypeFrequency(ReadTypeFrequency)

Read type frequency.

readTypeMethod(ReadTypeMethod)

Read type method.

readTypeMode(ReadTypeMode)

Read type mode.

registers([EmbeddedElectricityRegisterType])

Registers.

requiresCotFinalReading(Boolean)

Whether this meter requires a final change of tenancy (COT) reading.

serialNumber(String!)

status(MeterStatus!)

Example

{
  "activeFrom": "2020-01-01T00:00:00.000Z",
  "activeTo": "2020-01-01T00:00:00.000Z",
  "manufacturer": "abc123",
  "model": "abc123",
  "location": "abc123",
  "hazard": "abc123",
  "status": "C",
  "installationType": "BASIC",
  "nextScheduledReadDate": "2020-01-01",
  "id": "abc123",
  "serialNumber": "abc123",
  "consumptionUnits": "abc123",
  "requiresCotFinalReading": true,
  "fuelType": "abc123",
  "consumption": ConsumptionConnection,
  "meterPoint": EmbeddedElectricityMeterPointType,
  "readTypeMethod": "M",
  "readTypeMode": "T",
  "readTypeFrequency": "MONTHLY",
  "registers": [EmbeddedElectricityRegisterType]
}

EmbeddedElectricityRateType

Product rates for embedded electricity.

Fields

NameDescription
bandCategory(BandCategory)

Category of band associated with a product rate.

bandSubcategory(String)

Subcategory of band associated with a product rate.

currency(String)

id(ID)

ID associated with embedded electricity product rate.

pricePerUnit(Decimal!)

Price in cents per unit.

rateDescription(String)

Description that will show up on the customer's bill.

rateExcludingTax(Float)

Unit cost before tax.

rateIncludingTax(Float)

Unit cost including tax.

stepEnd(Float)

End of the step the rate applies to (Exclusive).

stepStart(Float)

Start of the step the rate applies to.

unitType(UnitType!)

What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.

validFrom(DateTime)

validTo(DateTime)

Example

{
  "id": "abc123",
  "currency": "abc123",
  "pricePerUnit": "1.0",
  "bandCategory": "STANDING_CHARGE",
  "bandSubcategory": "abc123",
  "rateExcludingTax": 1.0,
  "rateIncludingTax": 1.0,
  "rateDescription": "abc123",
  "unitType": "DAYS_ON_SUPPLY",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "stepStart": 1.0,
  "stepEnd": 1.0
}

Fields

NameDescription
accumulationReadings(EmbeddedElectricityAccumulationReadingConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

activeTo(DateTime)

dialFormatDecimals(Int!)

dialFormatDigits(Int!)

id(ID!)

identifier(String!)

meter(EmbeddedElectricityMeterType!)

multiplier(Decimal!)

status(RegisterStatus!)

suffix(String!)

unitOfMeasure(RegisterUnitOfMeasure!)

Example

{
  "id": "abc123",
  "identifier": "abc123",
  "activeTo": "2020-01-01T00:00:00.000Z",
  "unitOfMeasure": "MWH",
  "multiplier": "1.0",
  "dialFormatDigits": 1,
  "dialFormatDecimals": 1,
  "suffix": "abc123",
  "meter": EmbeddedElectricityMeterType,
  "status": "C",
  "accumulationReadings": EmbeddedElectricityAccumulationReadingConnectionTypeConnection
}

Fields

NameDescription
chargeRecords(ServiceOrderChargeRecordConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

deEnergisationReason(EmbeddedElectricityServiceOrderDeEnergisationReasonChoices)

If applicable, the service order reason for de-energisation.

meterPoint(MeterPointType)

The embedded electricity meter point.

orderNumber(String)

The embedded electricity service order number.

responseCode(String)

The service order response code.

scheduledDate(Date)

The service order schedule date.

serviceOrder(Int)

The service order pk.

status(String)

The service order status.

subtype(EmbeddedElectricityServiceOrderSubTypeChoices)

The embedded electricity service subtype.

type(EmbeddedElectricityServiceOrderTypeChoices)

The embedded electricity service type.

Example

{
  "orderNumber": "abc123",
  "type": "RE_ENERGISATION",
  "status": "abc123",
  "meterPoint": MeterPointType,
  "serviceOrder": 1,
  "responseCode": "abc123",
  "scheduledDate": "2020-01-01",
  "chargeRecords": ServiceOrderChargeRecordConnectionTypeConnection,
  "subtype": "AFTER_DISCONNECTION_FOR_NON_PAYMENT",
  "deEnergisationReason": "CUSTOMER_REQUESTED"
}

Fields

NameDescription
id(ID)

The unique identifier of the supply point.

marketName(String)

The market this supply point belongs to.

meterPoint(EmbeddedElectricityMeterPointType)

The associated meter point.

property(PropertyType)

The property associated with this supply point.

Example

{
  "id": "abc123",
  "marketName": "abc123",
  "property": PropertyType,
  "meterPoint": EmbeddedElectricityMeterPointType
}

EmbeddedGasRateType

Product rates for embedded gas.

Fields

NameDescription
bandCategory(BandCategory)

Category of band associated with a product rate.

bandSubcategory(String)

Subcategory of band associated with a product rate.

currency(String)

id(ID)

ID associated with embedded gas product rate.

pricePerUnit(Decimal!)

Price in cents per unit.

rateDescription(String)

Description that will show up on the customer's bill.

rateExcludingTax(Float)

Unit cost before tax.

rateIncludingTax(Float)

Unit cost including tax.

stepEnd(Float)

End of the step the rate applies to (Exclusive).

stepStart(Float)

Start of the step the rate applies to.

unitType(UnitType!)

What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.

validFrom(DateTime)

validTo(DateTime)

Example

{
  "id": "abc123",
  "currency": "abc123",
  "pricePerUnit": "1.0",
  "bandCategory": "STANDING_CHARGE",
  "bandSubcategory": "abc123",
  "rateExcludingTax": 1.0,
  "rateIncludingTax": 1.0,
  "rateDescription": "abc123",
  "unitType": "DAYS_ON_SUPPLY",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "stepStart": 1.0,
  "stepEnd": 1.0
}

EmbeddedNetworkType

Represents an embedded network that holds multiple embedded properties.

Fields

NameDescription
embeddedProperties([EmbeddedPropertyType])

Get details about properties in an embedded network.

id(ID!)

name(String!)

A unique name/code for the network

Example

{
  "id": "abc123",
  "name": "abc123"
}

EmbeddedPropertyType

Represents an embedded property in an embedded network.

Fields

NameDescription
embeddedNetwork(EmbeddedNetworkType!)

id(ID!)

propertyId(ID)

The id of the physical property related to this embedded property type.

Example

{
  "id": "abc123",
  "propertyId": "abc123",
  "embeddedNetwork": EmbeddedNetworkType
}

Fields

NameDescription
events(EmbeddedWaterAccumulationReadingEventConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

id(ID!)

readAt(DateTime!)

value(Decimal!)

Example

{
  "id": "abc123",
  "value": "1.0",
  "readAt": "2020-01-01T00:00:00.000Z",
  "events": EmbeddedWaterAccumulationReadingEventConnectionTypeConnection
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([EmbeddedWaterAccumulationReadingConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": EmbeddedWaterAccumulationReadingConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

EmbeddedWaterAccumulationReadingConnectionTypeEdge

A Relay edge containing a EmbeddedWaterAccumulationReadingConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(EmbeddedWaterAccumulationReading)

The item at the end of the edge

Example

{
  "node": EmbeddedWaterAccumulationReading,
  "cursor": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([EmbeddedWaterAccumulationReadingEventConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": EmbeddedWaterAccumulationReadingEventConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

EmbeddedWaterAccumulationReadingEventConnectionTypeEdge

A Relay edge containing a EmbeddedWaterAccumulationReadingEventConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(EmbeddedWaterAccumulationReadingEventType)

The item at the end of the edge

Example

{
  "node": EmbeddedWaterAccumulationReadingEventType,
  "cursor": "abc123"
}

Fields

NameDescription
eventType(ReadingEventType!)

id(ID!)

quality(ReadingQuality!)

value(Decimal!)

Example

{
  "id": "abc123",
  "value": "1.0",
  "quality": "ACTUAL",
  "eventType": "ADDED_FROM_DATA_IMPORT"
}

Fields

NameDescription
account(AccountType!)

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

bestOffer(BestOfferForAgreement)

Get the best offer for an agreement.

Arguments

asOf (DateTime)

The date time to calculate the best offer. Defaults to now.

pricesAsOf (DateTime)

The date time to calculate cost details.

eligibleRebates([RebateType])

Data about concession rebates that users associated with the agreement are eligible for.

Arguments

endAt (DateTime)

Include eligibility data ending at this datetime. If this isn't provided, an open-ended range will be used.

rebateAmountEffectiveAt (DateTime)

The effective time for rebateCents and percentageDiscount data (defaults to now).

startAt (DateTime)

Include eligibility data starting at this datetime. If this isn't provided, an open-ended range will be used.

id(Int)

The ID of the agreement.

isActive(String)

isRevoked(Boolean)

Whether the agreement is revoked.

meterPoint(MeterPointInterface)

The meter point for this agreement.

product(Product)

The product for this agreement.

ratesAgreedAt(DateTime)

The datetime the rates were agreed.

rescissionDeadlineAt(DateTime)

The deadline datetime for rescinding the agreement.

supplyPoint(SupplyPointInterface!)

supplyType(String)

terminatedAt(DateTime)

validFrom(DateTime)

The start datetime of the agreement.

validTo(DateTime)

The end datetime of the agreement.

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "product": Product,
  "supplyType": "abc123",
  "isActive": "abc123",
  "meterPoint": MeterPointInterface,
  "supplyPoint": SupplyPointInterface,
  "eligibleRebates": [RebateType],
  "bestOffer": BestOfferForAgreement,
  "account": AccountType
}

EmbeddedWaterRateType

Product rates for embedded water.

Fields

NameDescription
bandCategory(BandCategory)

Category of band associated with a product rate.

bandSubcategory(String)

Subcategory of band associated with a product rate.

currency(String)

id(ID)

ID associated with embedded water product rate.

pricePerUnit(Decimal!)

Price in cents per unit.

rateDescription(String)

Description that will show up on the customer's bill.

rateExcludingTax(Float)

Unit cost before tax.

rateIncludingTax(Float)

Unit cost including tax.

stepEnd(Float)

End of the step the rate applies to (Exclusive).

stepStart(Float)

Start of the step the rate applies to.

unitType(UnitType!)

What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.

validFrom(DateTime)

validTo(DateTime)

Example

{
  "id": "abc123",
  "currency": "abc123",
  "pricePerUnit": "1.0",
  "bandCategory": "STANDING_CHARGE",
  "bandSubcategory": "abc123",
  "rateExcludingTax": 1.0,
  "rateIncludingTax": 1.0,
  "rateDescription": "abc123",
  "unitType": "DAYS_ON_SUPPLY",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "stepStart": 1.0,
  "stepEnd": 1.0
}

Fields

NameDescription
chargeRecords(ServiceOrderChargeRecordConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

meterPoint(MeterPointType)

The embedded water meter point.

orderNumber(String)

The embedded water service order number.

responseCode(String)

The service order response code.

scheduledDate(Date)

The service order scheduled date.

serviceOrder(Int)

The service order pk.

status(String)

The service order status.

subtype(EmbeddedWaterServiceOrderSubTypeChoices)

The embedded water service subtype.

type(EmbeddedWaterServiceOrderTypeChoices)

The embedded water service type.

Example

{
  "orderNumber": "abc123",
  "type": "SPECIAL_READ",
  "status": "abc123",
  "meterPoint": MeterPointType,
  "serviceOrder": 1,
  "responseCode": "abc123",
  "scheduledDate": "2020-01-01",
  "chargeRecords": ServiceOrderChargeRecordConnectionTypeConnection,
  "subtype": "SCHEDULED"
}

EndContributionAgreement

End a contribution agreement for an account.

The possible errors that can be raised are:

  • KT-CT-9603: Unable to find contribution agreement.
  • KT-CT-4123: Unauthorized.
  • KT-CT-9604: Unable to end contribution agreement.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
contributionAgreement(ContributionAgreementType)

The created contribution agreement.

Example

{
  "contributionAgreement": ContributionAgreementType
}

EndMeterDataIssueFlow

End a Meter Data Issue Flow by updating its status.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-13804: Meter data issue flow not found.
  • KT-CT-13807: Invalid flow end status.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
meterDataIssueFlowEnded(EndMeterDataIssueFlowOutputType)

Whether the meter data issue flow was successfully ended.

Example

{
  
}

EndMeterDataIssueFlowOutputType

Output for ending a MeterDataIssueFlow.

Fields

NameDescription
flowRunIdentifier(String)

The flow run identifier.

status(MeterDataIssueFlowStatus)

The current status of the meter data issue flow.

Example

{
  "flowRunIdentifier": "abc123",
  "status": "PROCESSING"
}

EnqueueInboundCall

The possible errors that can be raised are:

  • KT-CT-11802: Call not found.
  • KT-CT-11803: Unable to enqueue the call.
  • KT-CT-11817: Invalid call ID.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
call(InboundCallType)

The call that was enqueued.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "possibleErrors": [PossibleErrorType]
}

EnrollAccountInLoyaltyProgram

Enroll an account into the loyalty program.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9213: ineligible loyalty points enrollment.
  • KT-CT-9210: Unhandled Loyalty Points exception.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
outcome(EnrollAccountInLoyaltyProgramOutcome)

Outcome of the loyalty points campaign enrollment.


Fields

NameDescription
hasEnrolled(Boolean)

Whether or not this account has been enrolled in the loyalty points campaign.

Example

{
  "hasEnrolled": true
}

EnrollmentCancelled

Enrollment was successfully cancelled.

Fields

NameDescription
enrollmentProcess(EnrollmentProcess!)

The Enrollment process that was cancelled.

message(String!)

The message to display to the user on Enrollment initiation.

Example

{
  "message": "abc123",
  "enrollmentProcess": JoinSupplierProcessType
}

EnrollmentInitiated

Enrollment was successfully initiated.

Fields

NameDescription
enrollmentProcesses([EnrollmentProcess]!)

The Enrollment processes that were initiated.

message(String!)

The message to display to the user on Enrollment initiation.

Example

{
  "enrollmentProcesses": JoinSupplierProcessType,
  "message": "abc123"
}

EnrollmentReversed

Enrollment was successfully reversed.

Fields

NameDescription
enrollmentProcess(EnrollmentProcess!)

The Enrollment process that was reversed.

message(String!)

The message to display to the user on reversal.

Example

{
  "message": "abc123",
  "enrollmentProcess": JoinSupplierProcessType
}

EnrolmentType

Details of an ongoing enrolment process.

Fields

NameDescription
status(ChangeOfSupplierStatusOptions)

PRE_REGISTRATION can transition to the following statuses:️ INITIATED.

INITIATED can transition to the following statuses:️ REJECTED, PENDING_VALIDATION, CANCELLED, REQUESTED.

PENDINGVALIDATION can transition to the following statuses:️ REQUESTED, REJECTED, CANCELLED, PENDINGCANCELLATION, OBJECTED, PENDING.

REQUESTED can transition to the following statuses:️ PENDING, COMPLETED, OBJECTED, REJECTED, CANCELLED, PENDINGCANCELLATION, PENDINGVALIDATION.

OBJECTED can transition to the following statuses:️ REQUESTED, CANCELLED, PENDINGCANCELLATION, OBJECTIONWITHDRAWN.

REJECTED can transition to the following statuses:️ REJECTED.

WITHDRAWN is a terminal status.

PENDING can transition to the following statuses:️ COMPLETED, CANCELLED, PENDING_CANCELLATION, OBJECTED, REJECTED.

COMPLETED is a terminal status.

CANCELLED is a terminal status.

PENDING_CANCELLATION can transition to the following statuses:️ CANCELLED.

OBJECTION_WITHDRAWN can transition to the following statuses:️ REQUESTED, OBJECTED.

supplyStartDate(Date)

Target date for supply to start.

switchStartDate(Date)

Date the switch started.

Example

{
  "switchStartDate": "2020-01-01",
  "supplyStartDate": "2020-01-01",
  "status": "INITIATED"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([EntityAccessConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": EntityAccessConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

EntityAccessConnectionTypeEdge

A Relay edge containing a EntityAccessConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(EntityAccessType)

The item at the end of the edge

Example

{
  "node": EntityAccessType,
  "cursor": "abc123"
}

EntityAccessType

Represents the accessible entity and access information of an accessor.

Fields

NameDescription
entity(AccessibleEntityUnion!)

The entity that the accessor has access to.

roleAssignments([RoleAssignment]!)

The role assignments that the accessor has for the entity.

Example

{
  "entity": AccountType,
  "roleAssignments": RoleAssignment
}

Fields

NameDescription
abbreviation(String!)

The abbreviation of the enum.

fullString(String!)

The full string of the enum.

Example

{
  "abbreviation": "abc123",
  "fullString": "abc123"
}

Fields

NameDescription
field(String!)

The name of the field that caused the error.

messages([String!]!)

A list of error messages for the field.

Example

{
  "field": "abc123",
  "messages": "abc123"
}

EscalateInkConversation

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-7659: The Ink conversation could not be escalated.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
conversationRelayId(ID!)

The ID of the conversation that was escalated.

Example

{
  "conversationRelayId": "abc123"
}

Fields

NameDescription
costEstimation(CostEstimation)

The estimated costs calculated.

error(ElectricityCostEstimateErrorUnion)

Error that occurred during estimation.

usageSummary(UsageSummaryType)

Usage summary used to generate this estimate.

Example

{
  "error": ProductDoesNotExist
}

Fields

NameDescription
costCurrency(String!)

Monetary currency of the statistic in ISO-4217 format.

estimatedAmount(Decimal!)

        Monetary cost of the statistic. This is the smallest unit of currency,
        e.g. cents for USD or yen for JPY. Because electricity is priced as a commodity, we must
        account for fractional cents and this field must be a Decimal. Values from this field should
        likely not be used for accounting purposes.

pricePerUnit(PricePerUnit)

Net price per unit of the statistic if applicable.

Example

{
  "estimatedAmount": "1.0",
  "costCurrency": "abc123",
  "pricePerUnit": PricePerUnit
}

EstimatedSupplyPointReadingType

A single reading interval for a supply point, either actual or estimated.

Fields

NameDescription
intervalEnd(DateTime!)

The exclusive end of this reading interval.

intervalStart(DateTime!)

The inclusive start of this reading interval.

isEstimated(Boolean!)

True if this reading was produced by the estimation engine rather than measured.

quality(String)

The data quality of this reading (e.g. ACTUAL, ESTIMATE, CALCULATED).

value(Decimal!)

The consumption value for this interval.

Example

{
  "intervalStart": "2020-01-01T00:00:00.000Z",
  "intervalEnd": "2020-01-01T00:00:00.000Z",
  "value": "1.0",
  "quality": "abc123",
  "isEstimated": true
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

ExportReadingsConnection

Pagination for readings representing outgoing utility flow e.g., solar generation.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ExportReadingsEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ExportReadingsEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ExportReadingsEdge

A Relay edge containing a ExportReadings and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(Reading)

The item at the end of the edge

Example

{
  "node": Reading,
  "cursor": "abc123"
}

ExportRepaymentDetailsType

Solar export payment details for a customer account. Solar customers who export electricity to the grid can receive payments for their accumulated export credits. This shows when the next payment will be processed.

Fields

NameDescription
accountNumber(String!)

Account number.

isConfigured(Boolean!)

Whether export repayment details have been configured for this account. If false, the customer needs to set up their payment method first.

lastRepaymentDate(Date)

Date when the last solar export payment was processed. Returns null if no payment has been made yet.

nextRepaymentDate(Date)

Date when the next solar export payment will be processed. Returns null if not yet scheduled or no payment is due.

paymentMethod(String)

Method of payment for solar export repayments. Can be 'CHEQUE' or 'DIRECT_DEBIT'. Returns null if not configured.

Example

{
  "accountNumber": "abc123",
  "isConfigured": true,
  "nextRepaymentDate": "2020-01-01",
  "lastRepaymentDate": "2020-01-01",
  "paymentMethod": "abc123"
}

ExtendAgreementPeriod

Extend the period of an agreement.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-1501: Agreement not found.
  • KT-CT-1504: Account does not match with the agreement.
  • KT-CT-1505: Unable to edit agreement.
  • KT-CT-1506: Agreement period is not within the supply and property period.
  • KT-CT-1514: Extension validto date must be later than the current validto date.
  • KT-CT-1515: Agreement must have an end date to be extensible.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreement(CommonAgreementType)

Agreement that we are going to extend.

Example

{
  "agreement": CommonAgreementType
}

Fields

NameDescription
category(String!)

content(JSONString)

description(String)

eventType(String!)

id(ID!)

occurredAt(DateTime!)

subcategory(String!)

Example

{
  "id": "abc123",
  "eventType": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "category": "abc123",
  "subcategory": "abc123",
  "description": "abc123",
  "content": {"key": "value"}
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ExternalAccountEventConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ExternalAccountEventConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ExternalAccountEventConnectionTypeEdge

A Relay edge containing a ExternalAccountEventConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ExternalAccountEvent)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
category(String!)

content(JSONString)

description(String)

eventType(String!)

id(ID!)

occurredAt(DateTime!)

subcategory(String!)

Example

{
  "id": "abc123",
  "eventType": "abc123",
  "category": "abc123",
  "subcategory": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "description": "abc123",
  "content": {"key": "value"}
}

ExternalMessageEventType

A status update for an external message, such as delivery confirmation, a bounce, or an open.

Fields

NameDescription
eventType(MessageEventType!)

The type of message event.

id(ID!)

The ID of the message event.

occurredAt(DateTime!)

The date and time this event occurred.

Example

{
  "id": "abc123",
  "eventType": "DELIVERED",
  "occurredAt": "2020-01-01T00:00:00.000Z"
}

ExternalMessageType

An external message, which is a record of a communication such as an email, sent by an external messaging vendor.

Fields

NameDescription
id(ID!)

The ID in Kraken of the external message.

sentAt(DateTime!)

The date and time this message was sent.

vendor(String!)

The name of the external messaging vendor that sent this message.

vendorMessageId(String!)

The unique ID of the message in the external vendor's system.

Example

{
  "id": "abc123",
  "vendor": "abc123",
  "vendorMessageId": "abc123",
  "sentAt": "2020-01-01T00:00:00.000Z"
}

ExternalSalesInfoType

GraphQL type representing external sales information.

This type is used to represent sales records that originate from external systems or processes outside of Kraken's direct tracking mechanisms.

Fields

NameDescription
salesRecordIdentifier(String)

The unique identifier for the sales record.

Example

{
  "salesRecordIdentifier": "abc123"
}

Fields

NameDescription
field(FunnelField)

The extra detail metadata associated with the opportunity.

key(String)

The key of the extra detail item.

value(GenericScalar)

The value of the extra detail item.

Example

{
  "key": "abc123",
  "value": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType
}

Fields

NameDescription
forecastConsumption([ForecastConsumptionEntryType!])

Forecast consumption entries for this quote configuration.

Example

{
  
}

Fields

NameDescription
description(String)

Description of the extra for the parent node.

label(String)

Display label of the extra for the parent node.

value(String)

Value of the extra.

Example

{
  "label": "abc123",
  "description": "abc123",
  "value": "abc123"
}

Fields

NameDescription
endDate(Date)

The end date of the date range.

reason(String)

The reason the PMD request failed for this date range.

startDate(Date)

The start date of the date range.

Example

{
  "startDate": "2020-01-01",
  "endDate": "2020-01-01",
  "reason": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

FetchGeneratePaymentFingerprint

Fetch or generate payment fingerprint from vendor.

The possible errors that can be raised are:

  • KT-CT-12101: Payment instruction not found.
  • KT-CT-12102: Payment vendor not supported.
  • KT-CT-12103: Missing payment metadata from vendor.
  • KT-CT-12104: Unable to fetch or generate payment fingerprint.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
fingerprint(String)

Fetched or generated fingerprint from vendor.

vendor(String)

Vendor name.

Example

{
  "fingerprint": "abc123",
  "vendor": "abc123"
}

FetchPreSignedLinkForOpportunityAttachment

Fetch a pre-signed link for an opportunity file attachment.

The possible errors that can be raised are:

  • KT-CT-8933: Opportunity file attachment not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
opportunityFileAttachment(OpportunityFileAttachment)

The opportunity file attachment with pre-signed URL.

Example

{
  
}

Fields

NameDescription
field(String)

The name of the GraphQL field for which the rate is limited.

isBlocked(Boolean)

Whether the viewer is currently blocked from making requests to this field due to exceeding the allowed request rate.

rate(String)

Indicates the rate limit allowed for this field (e.g. 10/m).

ttl(Int)

Time to live: The time remaining before the user is unblocked from making requests to this field.

Example

{
  "field": "abc123",
  "rate": "abc123",
  "ttl": 1,
  "isBlocked": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([FieldSpecificRateLimitInformationConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": FieldSpecificRateLimitInformationConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

FieldSpecificRateLimitInformationConnectionTypeEdge

A Relay edge containing a FieldSpecificRateLimitInformationConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(FieldSpecificRateLimitInformation)

The item at the end of the edge

Example

{
  "node": FieldSpecificRateLimitInformation,
  "cursor": "abc123"
}

Fields

NameDescription
identifierType(String)

The ID type. Currently only 'meter_point' is supported.

identifierValue(ID)

The ID to be checked.

isInRiskList(Boolean)

Returns True if the risk identifier is in the risk list.

riskLevel(Decimal)

Returns the level of risk for the supplied object between 0.0 and 1.0. Higher is worse.

Example

{
  "identifierValue": "abc123",
  "identifierType": "abc123",
  "riskLevel": "1.0",
  "isInRiskList": true
}

FloatType

Graphene type object to represent float values

Fields

NameDescription
floatValue(Float!)

Value of this field.

Example

{
  "floatValue": 1.0
}

ForceReauthentication

Force users of Kraken Tokens and refresh tokens issued to the viewer to reauthenticate.

Calling this mutation will cause all Kraken Tokens and refresh tokens issued to the authenticated viewer before the mutation was called to become invalid.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
effectiveAt(DateTime!)

The time at which forced reauthentication is effective. Kraken and refresh tokens issued before this time will be invalid.

tokensInvalidated(Boolean!)

Reports whether the mutation applied successfully. Should always be 'true'.

Example

{
  "tokensInvalidated": true,
  "effectiveAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
consumptionSplit([ConsumptionSplitType])

Optional TOU split breakdown for this entry.

identifier(String)

Unique identifier for this forecast consumption entry.

touName(String)

Unique identifier of the time-of-use scheme for this entry.

unit(String)

Unit of the consumption value.

validFrom(DateTime)

Start of the period this entry covers.

validTo(DateTime)

End of the period this entry covers.

value(Decimal)

Forecast consumption value.

Example

{
  "identifier": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "unit": "abc123",
  "value": "1.0",
  "touName": "abc123"
}

FormScreenType

A screen type for forms with input fields.

Combines display items with input fields (TextField, Checkbox, Toggle), and provides primary/secondary buttons for form submission.

Note: header and footer are embedded in screenData and not exposed as separate GraphQL fields, following the pattern of ComponentListType.

Fields

NameDescription
accessibilityHidden(Boolean)

Whether the element is hidden from view.

accessibilityLabel(String)

Accessible description of the element.

id(ID)

Unique identifier of the object.

name(String!)

The name of the screen.

refreshFrequency(Int)

The refresh / polling frequency in milliseconds.

screenData(String)

Serialized JSON representation of the screen.

typename(String)

The name of the object's type.

Example

{
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123",
  "id": "abc123",
  "typename": "abc123",
  "name": "abc123",
  "refreshFrequency": 1,
  "screenData": "abc123"
}

Fields

NameDescription
content(JSONString)

errors([SerializerFieldErrorsType])

id(Int)

Example

{
  "id": 1,
  "content": {"key": "value"},
  "errors": [SerializerFieldErrorsType]
}

FractionSizeType

A fractional measurement.

Fields

NameDescription
fraction(Decimal!)

The fractional value.

id(ID)

Unique identifier of the object.

typename(String)

The name of the object's type.

Example

{
  "id": "abc123",
  "typename": "abc123",
  "fraction": "1.0"
}

Fields

NameDescription
isInSuspiciousList(Boolean)

Returns True if the meter point ID is in the list of suspicious meter point IDs.

meterPointId(String)

The meter point ID.

Example

{
  "meterPointId": "abc123",
  "isInSuspiciousList": true
}

FulfilmentType

Represents an amount of money that can be used to fulfil an obligation.

Fields

NameDescription
amount(Int!)

The amount of the fulfilment (in minor currency units), unsigned.

sourceIdentifier(String)

The database ID of the fulfilment source, e.g. the database ID of the payment.

sourceType(FulfilmentSourceType)

The type of the fulfilment source, e.g. PAYMENT.

Example

{
  "sourceType": "UNKNOWN",
  "sourceIdentifier": "abc123",
  "amount": 1
}

FundingSourceAmountConnectionTypeConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([FundingSourceAmountConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": FundingSourceAmountConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

FundingSourceAmountConnectionTypeEdge

A Relay edge containing a FundingSourceAmountConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(FundingSourceAmountType)

The item at the end of the edge

Example

{
  "node": FundingSourceAmountType,
  "cursor": "abc123"
}

Fields

NameDescription
amount(Int)

Amount used from a funding source in minor currency.

reason(String)

Reason why the funding source was used.

Example

{
  "reason": "abc123",
  "amount": 1
}

Fields

NameDescription
code(String!)

The code of the field.

deprecated(Boolean!)

Whether the field is deprecated.

Deprecated

The 'deprecated' field is deprecated.

Fields are not being deprecated

- Marked as deprecated on 2026-04-20.
- Scheduled for removal on or after 2026-05-20.

fieldType(FieldTypeChoices!)

The type of the field.

name(String!)

The name of the field.

orderInCollection(Int)

The order of the field in the collection.

required(Boolean)

Whether the field is required.

textChoices([String])

The choices for the field if applicable.

textRegex(String)

A regular expression that a field value must match, if populated.

Example

{
  "code": "abc123",
  "name": "abc123",
  "fieldType": "STR",
  "textChoices": ["abc123"],
  "textRegex": "abc123",
  "deprecated": true,
  "orderInCollection": 1,
  "required": true
}

GasAgreementType

An agreement for gas supply point. Returns rates that are active at the time the GraphQL query was made if the agreement is active. If not return rates that are active at the time the agreement ended.

Fields

NameDescription
account(AccountType)

The accounts for this agreement.

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

bestOffer(BestOfferForAgreement)

Get the best offer for an agreement.

Arguments

asOf (DateTime)

The date time to calculate the best offer. Defaults to now.

pricesAsOf (DateTime)

The date time to calculate cost details.

eligibleRebates([RebateType])

Data about concession rebates that users associated with the agreement are eligible for.

Arguments

endAt (DateTime)

Include eligibility data ending at this datetime. If this isn't provided, an open-ended range will be used.

rebateAmountEffectiveAt (DateTime)

The effective time for rebateCents and percentageDiscount data (defaults to now).

startAt (DateTime)

Include eligibility data starting at this datetime. If this isn't provided, an open-ended range will be used.

id(Int)

The ID of the agreement.

isActive(String)

isRevoked(Boolean)

Whether the agreement is revoked.

meterPoint(GasMeterPointType)

The meter point for this agreement.

product(Product)

The product for this agreement.

ratesAgreedAt(DateTime)

The datetime the rates were agreed.

rescissionDeadlineAt(DateTime)

The deadline datetime for rescinding the agreement.

supplyPoint(GasSupplyPointType!)

supplyType(String)

terminatedAt(DateTime)

validFrom(DateTime)

The start datetime of the agreement.

validTo(DateTime)

The end datetime of the agreement.

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "product": Product,
  "supplyType": "abc123",
  "isActive": "abc123",
  "meterPoint": GasMeterPointType,
  "supplyPoint": GasSupplyPointType,
  "eligibleRebates": [RebateType],
  "bestOffer": BestOfferForAgreement,
  "account": AccountType
}

Fields

NameDescription
dailyEstimation(BaseUsageAndCostType!)

Daily usage and cost estimation.

failureReasons(String)

Failure reasons.

fortnightlyEstimation(BaseUsageAndCostType!)

Fortnightly usage and cost estimation.

monthlyEstimation(BaseUsageAndCostType!)

Monthly usage and cost estimation.

weeklyEstimation(BaseUsageAndCostType!)

Weekly usage and cost estimation.

yearlyEstimation(BaseUsageAndCostType!)

Yearly usage and cost estimation.

Example

{
  "failureReasons": "abc123",
  "dailyEstimation": BaseUsageAndCostType,
  "weeklyEstimation": BaseUsageAndCostType,
  "fortnightlyEstimation": BaseUsageAndCostType,
  "monthlyEstimation": BaseUsageAndCostType,
  "yearlyEstimation": BaseUsageAndCostType
}

GasFiltersOutput

Filter measurements by gas parameters.

Fields

NameDescription
deviceId(String)

The identifier of the device associated to this reading.

marketSupplyPointId(String)

The identifier of the market supply point associated to this reading.

readingFrequencyType(ReadingFrequencyType)

The frequency of the reading.

registerId(String)

The identifier of the register associated to this reading.

Example

{
  "registerId": "abc123",
  "readingFrequencyType": "RAW_INTERVAL",
  "marketSupplyPointId": "abc123",
  "deviceId": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
address(MeterPointAddressType)

agreements([AusAgreementInterface])

A list of agreements belonging to an account that is linked to the logged in user.

Arguments

includeInactive (Boolean)

Include inactive agreements.

distributor(ProviderType)

energizationStatus(GasEnergizationStatus)

The physical state of the meter point.

enrolment(EnrolmentType)

Details about an enrolment of this meter point. Will be null if no enrolment is taking place.

id(Int)

The database identifier of the meter point.

identifier(String)

The external identifier for the meter point (NMI for electricity, MIRN for gas).

isOnSupply(Boolean)

Whether the meter point is on supply.

meters([GasMeterType])

Arguments

id (Int)

includeInactive (Boolean)

status(String)

supplyDetails(SupplyDetailsType)

Supply details including agreed capacity and connection units.

supplyEndDate(DateTime)

supplyStartDate(DateTime)

supplyStatus(KrakenStatus)

The Financially Responsible Organisation status.

supplyType(String)

The fuel/service type for this meter point.

Example

{
  "id": 1,
  "status": "abc123",
  "agreements": AusAgreementInterface,
  "identifier": "abc123",
  "meters": [GasMeterType],
  "supplyType": "abc123",
  "supplyDetails": SupplyDetailsType,
  "enrolment": EnrolmentType,
  "supplyStatus": "OFF_SUPPLY",
  "supplyStartDate": "2020-01-01T00:00:00.000Z",
  "supplyEndDate": "2020-01-01T00:00:00.000Z",
  "isOnSupply": true,
  "energizationStatus": "Registered",
  "distributor": ProviderType,
  "address": MeterPointAddressType
}

GasMeterReadingConnectionTypeConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([GasMeterReadingConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": GasMeterReadingConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

GasMeterReadingConnectionTypeEdge

A Relay edge containing a GasMeterReadingConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(GasMeterReadingType)

The item at the end of the edge

Example

{
  "node": GasMeterReadingType,
  "cursor": "abc123"
}

GasMeterReadingType

A reading from an Australian gas meter, as Kraken receives it from industry.

Fields

NameDescription
averageHeatingValue(Decimal)

consumedEnergy(Decimal)

gasMeterUnits(ReadingGasMeterUnits)

id(ID!)

meter(GasMeterType!)

pressureCorrectionFactor(Decimal)

readAt(DateTime!)

reasonForRead(ReadingReasonForRead)

typeOfRead(ReadingTypeOfRead)

value(Decimal!)

volumeFlow(Decimal)

Example

{
  "id": "abc123",
  "value": "1.0",
  "readAt": "2020-01-01T00:00:00.000Z",
  "typeOfRead": "A",
  "reasonForRead": "SRF",
  "volumeFlow": "1.0",
  "gasMeterUnits": "M",
  "averageHeatingValue": "1.0",
  "pressureCorrectionFactor": "1.0",
  "consumedEnergy": "1.0",
  "meter": GasMeterType
}

Fields

NameDescription
activeFrom(DateTime)

activeTo(DateTime)

consumption(ConsumptionConnection)

Energy consumption recorded by the meter.

Arguments

after (String)

before (String)

first (Int)

grouping (ConsumptionGroupings!)

Aggregate consumption according to this grouping.

last (Int)

startAt (DateTime!)

Earliest consumption reading to return. Must specify a timezone.

timezone (String!)

Timezone to use for grouping.

consumptionUnits(String)

The units of consumption for a smart meter.

currentReadDate(Date)

currentReadPressureCorrectionFactor(Decimal)

fuelType(String)

The type of fuel this meter uses.

id(ID!)

installationType(GasMeterInstallationType)

kpaValue(Decimal)

meterMeasurementUnit(GasMeterMeasurementUnit)

meterMultiplier(Decimal)

meterReadFrequency(GasMeterReadFrequency)

meterType(AusGasMeterType)

meterTypeSizeCode(String)

nextScheduledReadDate(Date)

nextScheduledSpecialRead(Date)

numberOfDials(Int)

readings(GasMeterReadingConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

includeQuarantined (Boolean)

last (Int)

requiresCotFinalReading(Boolean)

Whether this meter requires a final change of tenancy (COT) reading.

serialNumber(String!)

status(GasMeterStatus)

supplyPointIdentifier(String)

Example

{
  "id": "abc123",
  "serialNumber": "abc123",
  "meterTypeSizeCode": "abc123",
  "kpaValue": "1.0",
  "supplyPointIdentifier": "abc123",
  "numberOfDials": 1,
  "currentReadDate": "2020-01-01",
  "currentReadPressureCorrectionFactor": "1.0",
  "nextScheduledReadDate": "2020-01-01",
  "nextScheduledSpecialRead": "2020-01-01",
  "meterMultiplier": "1.0",
  "activeFrom": "2020-01-01T00:00:00.000Z",
  "activeTo": "2020-01-01T00:00:00.000Z",
  "consumptionUnits": "abc123",
  "requiresCotFinalReading": true,
  "fuelType": "abc123",
  "consumption": ConsumptionConnection,
  "status": "TURNED_ON",
  "meterType": "GAS",
  "installationType": "MASTER_METER",
  "meterMeasurementUnit": "METRIC",
  "meterReadFrequency": "BI_MONTHLY",
  "readings": GasMeterReadingConnectionTypeConnection
}

Fields

NameDescription
error(GasMoveInDatesErrorUnion)

moveInDates([Date])

Example

{
  "moveInDates": ["2020-01-01"],
  "error": DoesNotExistErrorType
}

GasRateType

Product rates for gas.

Fields

NameDescription
bandCategory(BandCategory)

Category of band associated with a product rate.

bandSubcategory(String)

Subcategory of band associated with a product rate.

currency(String)

id(ID)

ID associated with gas product rate.

pricePerUnit(Decimal!)

Price in cents per unit.

pricingZone(PricingZoneType)

Gas pricing zone.

rateDescription(String)

Description that will show up on the customer's bill.

rateExcludingTax(Float)

Unit cost before tax.

rateIncludingTax(Float)

Unit cost including tax.

stepEnd(Float)

End of the step the rate applies to (Exclusive).

stepStart(Float)

Start of the step the rate applies to.

unitType(UnitType!)

What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.

validFrom(DateTime)

validTo(DateTime)

Example

{
  "currency": "abc123",
  "pricePerUnit": "1.0",
  "bandCategory": "STANDING_CHARGE",
  "bandSubcategory": "abc123",
  "rateExcludingTax": 1.0,
  "rateIncludingTax": 1.0,
  "rateDescription": "abc123",
  "unitType": "DAYS_ON_SUPPLY",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "stepStart": 1.0,
  "stepEnd": 1.0,
  "id": "abc123",
  "pricingZone": PricingZoneType
}

Fields

NameDescription
chargeRecords(ServiceOrderChargeRecordConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

meterPoint(MeterPointType)

orderNumber(String)

responseCode(String)

scheduledDate(Date)

serviceOrder(Int)

status(ServiceOrderStatus)

type(JobEnquiryCodeChoices)

Example

{
  "orderNumber": "abc123",
  "status": "PENDING",
  "meterPoint": MeterPointType,
  "serviceOrder": 1,
  "responseCode": "abc123",
  "scheduledDate": "2020-01-01",
  "chargeRecords": ServiceOrderChargeRecordConnectionTypeConnection,
  "type": "ATTACH_LOCKS_OR_PLUGS_TO_METER_FOR_DEBT"
}

Fields

NameDescription
chargeRecords(ServiceOrderChargeRecordConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

meterPoint(MeterPointType)

orderNumber(String)

responseCode(String)

scheduledDate(Date)

serviceOrder(Int)

status(ServiceOrderStatus)

type(SpecialReadReasonCodeChoices)

Example

{
  "orderNumber": "abc123",
  "status": "PENDING",
  "meterPoint": MeterPointType,
  "serviceOrder": 1,
  "responseCode": "abc123",
  "scheduledDate": "2020-01-01",
  "chargeRecords": ServiceOrderChargeRecordConnectionTypeConnection,
  "type": "FINAL_READ"
}

Fields

NameDescription
id(ID)

The unique identifier of the supply point.

marketName(String)

The market this supply point belongs to.

meterPoint(MeterPointInterface)

The meter point associated with this supply point.

property(PropertyType)

The property associated with this supply point.

Example

{
  "id": "abc123",
  "marketName": "abc123",
  "property": PropertyType,
  "meterPoint": MeterPointInterface
}

GenerateAffiliatesAudioRecordingPreSignedUrl

Generate a pre-signed URL for uploading an audio file for use with affiliates.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
affiliatesAudioRecordingPreSignedUrl(AffiliateAudioRecordingPresignedPostType)

Input fields required to generate a presigned S3 post for affiliates audio recording.

Example

{
  
}

GenerateInkPresignedUrl

The possible errors that can be raised are:

  • KT-CT-7620: Channel not supported.
  • KT-CT-7618: Unable to process message.
  • KT-CT-7624: Error when generating the presigned URL.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
fields(JSONString!)

Presigned post fields required to upload the file.

key(String!)

The key for the item.

uploadUrl(String!)

A presigned URL for the user to upload to the quarantine bucket.

Example

{
  "uploadUrl": "abc123",
  "key": "abc123",
  "fields": {"key": "value"}
}

GenerateLeadsFileAttachmentDownloadPreSignedUrl

Generate a pre-signed URL for downloading a leads attachment file.

The possible errors that can be raised are:

  • KT-CT-8933: Opportunity file attachment not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
leadsFileAttachmentDownloadPreSignedUrl(LeadsFileAttachmentDownloadPresignedUrlType)

Pre-signed S3 URL for downloading the leads file attachment.

Example

{
  
}

GenerateLeadsFileAttachmentsPreSignedUrl

Generate a pre-signed URL for uploading a leads attachment file.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
leadsFileAttachmentPreSignedUrl(LeadsFileAttachmentPresignedPostType)

Input fields required to generate a presigned S3 post for leads file attachment.

Example

{
  
}

GeneratePreSignedToken

Mutation to generate a pre-signed token.

The pre-signed, expiring and opaque tokens will be swapped for a limited scope JWT (Kraken Token).

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-1120: The Kraken Token has expired.
  • KT-CT-1131: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
scope(PreSignedTokenScope)

token(String)

tokenExpiryDatetime(DateTime)

Example

{
  "token": "abc123",
  "tokenExpiryDatetime": "2020-01-01T00:00:00.000Z",
  "scope": "SUBMIT_METER_READINGS"
}

GenericBackendScreen

A generic backend screen that can be used to define any type of screen.

Fields

NameDescription
name(String!)

The name of the screen.

refreshFrequency(Int)

The refresh / polling frequency in milliseconds.

screenData(String)

Serialized JSON representation of the screen.

Example

{
  "name": "abc123",
  "refreshFrequency": 1,
  "screenData": "abc123"
}

GetEmbeddedSecretForNewPaymentInstruction

Get the client secret needed to create a new payment instruction using an embedded form.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
secretKey(String)

Example

{
  "secretKey": "abc123"
}

GetEmbeddedSecretForNewPaymentInstructionWithoutAccount

Get the client secret needed to create a new stored payment instruction using an embedded form.

This mutation is specifically for saving payment methods for future use, without immediately creating a payment instruction tied to a specific ledger or account.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
secretKey(String)

The client secret needed to create a new stored payment instruction.

Example

{
  "secretKey": "abc123"
}

GetHostedUrlForNewPaymentInstruction

Get the external URL where the user can set up a payment instruction.

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3979: Invalid ledger.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
url(String)

URL at which payment instruction can be set up.

Example

{
  "url": "abc123"
}

GetOrCreateAgreement

Get an existing agreement or create a new one if it doesn't exist.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-4719: No supply point found for identifier provided.
  • KT-CT-4910: No product exists with the given input.
  • KT-CT-1503: Agreement validto date must be later than validfrom date.
  • KT-CT-1509: Unable to create agreement.
  • KT-CT-1511: Cannot create overlapping agreement.
  • KT-CT-1512: Account type does not support agreements.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreement(CommonAgreementType)

The agreement that was retrieved or created.

created(Boolean)

Indicates whether a new agreement was created (true) or an existing agreement was returned (false).

Example

{
  "created": true,
  "agreement": CommonAgreementType
}

Fields

NameDescription
currency(String)

Currency.

grossAmount(Float)

Gross amount.

netAmount(Float)

Net amount.

type(String)

Grant type.

Example

{
  "type": "abc123",
  "netAmount": 1.0,
  "grossAmount": 1.0,
  "currency": "abc123"
}

Fields

NameDescription
availableFrom(Date)

Product available from.

availableTo(Date)

Product available to.

code(String)

Product code.

currency(String)

Currency.

customerName(String)

Product customer name.

description(String)

Product description.

grossPricePerUnit(Float)

Gross price per unit.

id(Int)

Product ID.

internalName(String)

Product internal name.

marketName(String)

Market of the product.

notes(String)

Product notes.

pricePerUnit(Float)

Price per unit.

productType(GoodsProductType)

Type of the product.

Example

{
  "id": 1,
  "marketName": "abc123",
  "productType": GoodsProductType,
  "code": "abc123",
  "internalName": "abc123",
  "customerName": "abc123",
  "notes": "abc123",
  "description": "abc123",
  "availableFrom": "2020-01-01",
  "availableTo": "2020-01-01",
  "pricePerUnit": 1.0,
  "grossPricePerUnit": 1.0,
  "currency": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([GoodsProductConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": GoodsProductConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

GoodsProductConnectionTypeEdge

A Relay edge containing a GoodsProductConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(GoodsProduct)

The item at the end of the edge

Example

{
  "node": GoodsProduct,
  "cursor": "abc123"
}

Fields

NameDescription
code(String)

Product type code.

internalName(String)

Product type name.

Example

{
  "code": "abc123",
  "internalName": "abc123"
}

Fields

NameDescription
clientParams(JSONString)

Client parameters of the purchase.

code(String)

Purchase code.

goodsGrants([GoodsGrant])

Grants that apply in this purchase.

goodsSaleItems([GoodsSaleItem])

Sale items in this purchase.

ledgerId(ID)

Ledger ID associated to the purchase.

Deprecated

The 'ledgerId' field is deprecated.

Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

- Marked as deprecated on 2024-10-22.
- Scheduled for removal on or after 2025-06-25.

ledgerNumber(String)

The ledger number associated to the purchase.

marketName(String!)

Market name of the purchase.

marketParams(JSONString)

Market parameters of the purchase.

Example

{
  "code": "abc123",
  "ledgerId": "abc123",
  "ledgerNumber": "abc123",
  "goodsSaleItems": [GoodsSaleItem],
  "goodsGrants": [GoodsGrant],
  "marketName": "abc123",
  "marketParams": {"key": "value"},
  "clientParams": {"key": "value"}
}

Fields

NameDescription
code(String)

Code of the quote.

goodsQuotedProducts([GoodsQuotedProduct])

Products of this quote.

hasQuoteExpired(Boolean)

Indicates whether or not the quote is expired.

id(ID)

ID of the quote.

quotedAt(DateTime)

Date and time when the quote was created.

totalNetAmount(Int)

Total net amount of the quote in cents.

Example

{
  "id": "abc123",
  "code": "abc123",
  "totalNetAmount": 1,
  "quotedAt": "2020-01-01T00:00:00.000Z",
  "goodsQuotedProducts": [GoodsQuotedProduct],
  "hasQuoteExpired": true
}

Fields

NameDescription
id(ID)

The ID of the quote share.

Example

{
  "id": "abc123"
}

Fields

NameDescription
currency(String)

Currency.

netAmount(Int)

Net amount.

numberOfUnits(Int)

Number of units.

pricePerUnit(Int)

Price per unit.

product(String)

Product code.

Example

{
  "product": "abc123",
  "numberOfUnits": 1,
  "pricePerUnit": 1,
  "netAmount": 1,
  "currency": "abc123"
}

Fields

NameDescription
currency(String)

Currency.

grossAmount(Float)

Gross amount.

netAmount(Float)

Net amount.

numberOfUnits(Int)

Number of units.

pricePerUnit(Float)

Price per unit.

product(String)

Product code.

Example

{
  "product": "abc123",
  "numberOfUnits": 1,
  "pricePerUnit": 1.0,
  "netAmount": 1.0,
  "grossAmount": 1.0,
  "currency": "abc123"
}

GrantUserAccessToBusiness

Grant user access to the business using the provided role.

The possible errors that can be raised are:

  • KT-CT-5463: Unauthorized.
  • KT-CT-11107: Unauthorized.
  • KT-CT-13501: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
roleCode(String)

The code of the role granted to the user.

Example

{
  "roleCode": "abc123"
}

GroupType

Represents a group of components presented as a choice.

Fields

NameDescription
customerDescription(String!)

Customer-facing description of the group.

customerName(String!)

Customer-facing name for the group.

identifier(ID!)

Unique identifier of the group.

internalName(String!)

Internal name for the group.

maxCardinality(Int!)

Maximum number of components that can be selected from this group.

minCardinality(Int!)

Minimum number of components that must be selected from this group.

offeringComponents([OfferingComponentType])

Nested offering components within this group.

productComponents([ProductComponentType])

Product components within this group.

Example

{
  "identifier": "abc123",
  "internalName": "abc123",
  "customerName": "abc123",
  "customerDescription": "abc123",
  "minCardinality": 1,
  "maxCardinality": 1
}

HardshipAgreementType

Represents a Hardship Agreement for a particular Account.

Fields

NameDescription
createdAt(DateTime!)

endDate(Date)

exitReason(HardshipAgreementExitReason)

exitReasonDetails(String)

Extra details for the exit reason

hardshipDetails(String!)

These are internal notes detailing the hardship.

hardshipEntryReason(HardshipAgreementHardshipEntryReason)

hardshipType(HardshipAgreementHardshipType!)

id(ID!)

paymentPlanDetails(String!)

startDate(Date!)

Example

{
  "id": "abc123",
  "hardshipType": "DEATH_IN_FAMILY",
  "hardshipDetails": "abc123",
  "hardshipEntryReason": "SELF_IDENTIFIED",
  "paymentPlanDetails": "abc123",
  "startDate": "2020-01-01",
  "endDate": "2020-01-01",
  "exitReason": "INITIAL_PAYMENT_PLAN_NOT_ESTABLISHED",
  "exitReasonDetails": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z"
}

HasFamilyIssues

Flag a user for Family Domestic Violence (FDV) / family issues. Note: The family issues flag can only be enabled (not disabled) through this mutation.

The possible errors that can be raised are:

  • KT-AU-5418: Invalid input for family issues mutation.
  • KT-AU-5416: Family issues flag cannot be removed through this mutation.
  • KT-AU-5417: Account not found for user.
  • KT-AU-5419: Cannot set delivery preference 'EMAIL' for user without an email specified.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountUser(AccountUserType)

The updated account user.

Example

{
  "accountUser": AccountUserType
}

Fields

NameDescription
isHeld(Boolean)

Whether a statement is currently held.

reason(String)

Reason for statement being held.

Example

{
  "isHeld": true,
  "reason": "abc123"
}

Fields

NameDescription
embeddedNetwork(EmbeddedNetworkType!)

fuelType(PlantFuelType!)

id(ID!)

installationType(InstallationType!)

temperature(PlantTemperature!)

Example

{
  "id": "abc123",
  "installationType": "SERVICED_HOT_WATER",
  "fuelType": "NATURAL_GAS",
  "temperature": "FIFTY_DEGREES_CELCIUS",
  "embeddedNetwork": EmbeddedNetworkType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

problems([AcquisitionProblemType]!)

A list of problems that blocked the move in.

Example

{
  "message": "abc123",
  "problems": AcquisitionProblemType
}

Fields

NameDescription
discoveryStatus(Status)

Current status of discovery.

marketIdentifier(String)

The market identifier discovered.

reference(String)

The discovery process reference.

Example

{
  "reference": "abc123",
  "marketIdentifier": "abc123",
  "discoveryStatus": "SKIPPED"
}

ImageType

A media element containing an image.

Fields

NameDescription
accessibilityHidden(Boolean)

Whether the element is hidden from view.

accessibilityLabel(String)

Accessible description of the element.

horizontalAlignment(Alignment)

The horizontal alignment of the media.

id(ID)

Unique identifier of the object.

mediaUrl(String!)

The resource URL of the media.

typename(String)

The name of the object's type.

width(ItemSizeType)

The measurement of the element.

Example

{
  "width": FractionSizeType,
  "mediaUrl": "abc123",
  "horizontalAlignment": "START",
  "accessibilityHidden": true,
  "accessibilityLabel": "abc123",
  "id": "abc123",
  "typename": "abc123"
}

ImportReadingsConnection

Pagination for readings representing incoming utility flow e.g., usage or consumption..

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ImportReadingsEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ImportReadingsEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ImportReadingsEdge

A Relay edge containing a ImportReadings and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(Reading)

The item at the end of the edge

Example

{
  "node": Reading,
  "cursor": "abc123"
}

ImportTrancheRate

Import a tranche rate for a given contract and market.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-15111: Tranche target not found.
  • KT-CT-15112: A tranche rate already exists for this target and calculation period.
  • KT-CT-15113: Invalid tranche rate input.
  • KT-CT-15114: The provided calculation period does not line up with the calculation period frequency for this tranche target.
  • KT-CT-15115: Contract not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
rateIdentifier(ID)

Unique identifier that references the new tranche rate.

Example

{
  "rateIdentifier": "abc123"
}

Fields

NameDescription
recent(Int)

The average number of seconds passed before an inbound call with the given routing attributes is answered.

This value represents the calls received in the last 30 minutes.

The possible errors that can be raised are:

  • KT-CT-11821: No calls found matching the given routing attributes.
  • KT-CT-1113: Disabled GraphQL field requested.

yesterday(Int)

The average number of seconds passed before an inbound call with the given routing attributes is answered.

This value represents the calls received on the previous day.

The possible errors that can be raised are:

  • KT-CT-11821: No calls found matching the given routing attributes.
  • KT-CT-1113: Disabled GraphQL field requested.

Example

{
  "yesterday": 1,
  "recent": 1
}

Fields

NameDescription
recent(Int)

The average number of seconds passed before an inbound call is answered.

This value represents the calls received in the last 30 minutes.

yesterday(Int)

The average number of seconds passed before an inbound call is answered.

This value represents the calls received on the previous day.

Example

{
  "yesterday": 1,
  "recent": 1
}

Fields

NameDescription
account(AccountType)

If known, this is the account that a call is about. For inbound calls, we attempt to identify the account based on the phone number of the incoming call. For outbound calls, the account will be automatically set if the call was initiated from an account page. For all call types, the account can be updated, for example to correct a misidentification of an incoming call.

id(ID!)

The ID of the call.

initialCallerIdentification(PhoneNumberIdentificationType!)

When an inbound call is received, we identify all entities linked to the phone number of the caller.

metadata([CallMetadataItemType]!)

Metadata related to the call, for example metrics or data passed via an interactive voice response (IVR).

tags([CallTagType]!)

Tags that have been applied to the call, for example during call wrap-up.

Example

{
  "id": "abc123",
  "account": AccountType
}

Fields

NameDescription
escalationStartAt(DateTime)

The escalation start date for the product rate override configuration.

indexCode(String)

The index code for the product rate override configuration.

Example

{
  "indexCode": "abc123",
  "escalationStartAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
accountNumber(String)

The account number of the newly created account or the existing account to be re-used.

isNewAccount(Boolean)

Was a new account created.

Example

{
  "isNewAccount": true,
  "accountNumber": "abc123"
}

Fields

NameDescription
isNewUser(Boolean)

Was a new user created.

userNumber(String)

The user number of the newly created user or the existing user to be re-used.

Example

{
  "isNewUser": true,
  "userNumber": "abc123"
}

InitiateHostedStandalonePayment

Initiate a standalone payment and return the url where the customer can complete it.

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3943: Invalid ledger.
  • KT-CT-3957: No collection method provided.
  • KT-CT-3958: Provide either ledger ID or ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
payment(InitiateHostedStandalonePaymentOutput)

The details required to refer to and complete a hosted payment.


InitiateHostedStandalonePaymentOutput

Tokens required to collect and retrieve a standalone payment.

Fields

NameDescription
retrievalToken(String!)

The retrieval token for this standalone payment.

url(String!)

The url for the customer to complete the payment.

Example

{
  "retrievalToken": "abc123",
  "url": "abc123"
}

InitiateProductSwitch

Do a product switch for a user.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4624: Unable to accept the given product code.
  • KT-CT-4924: Unauthorized.
  • KT-CT-4626: No product selected for the given quote code.
  • KT-CT-4719: No supply point found for identifier provided.
  • KT-CT-1509: Unable to create agreement.
  • KT-CT-1507: Agreement product switch date is not within the acceptable range.
  • KT-CT-1516: Requested product switch is not valid.
  • KT-CT-4640: Unable to get market or client params from quoted product.
  • KT-CT-4627: No products are available for this quote.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
productCode(String!)

The selected product for a specific product switch.

switchDate(Date!)

The date at which the product switch becomes effective.

Example

{
  "productCode": "abc123",
  "switchDate": "2020-01-01"
}

InitiateStandalonePayment

Initiate a standalone payment and return the client secret required to complete it.

The possible errors that can be raised are:

  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-4177: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3943: Invalid ledger.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
payment(InitiateStandalonePaymentOutput)

Example


InitiateStandalonePaymentOutput

Tokens required to collect and retrieve a standalone payment.

Fields

NameDescription
retrievalToken(String!)

The retrieval token for this standalone payment.

secretToken(String!)

The secret used to collect the payment.

Example

{
  "retrievalToken": "abc123",
  "secretToken": "abc123"
}

Fields

NameDescription
icon(String)

The icon code point.

id(ID!)

The ID of the object

name(String!)

The ink bucket name.

Example

{
  "id": "abc123",
  "name": "abc123",
  "icon": "abc123"
}

Fields

NameDescription
all([InkContactChannelIdentity!]!)

All contacts for this conversation.

default(InkContactChannelIdentity)

The default contact for this conversation.


Fields

NameDescription
channel(InkCommunicationChannel!)

The channel of the contact.

displayName(String!)

The name to display to the user.

handle(String!)

The handle.

Example

{
  "channel": "EMAIL",
  "handle": "abc123",
  "displayName": "abc123"
}

Fields

NameDescription
accountNumber(String)

The number of the Kraken account that the conversation is from.

accountUsers([AccountUserType!])

The account users on the conversation.

buckets([InkBucket!])

The buckets the conversation is currently in.

contactChannelIdentities(InkContactChannelIdentities!)

The contact channel identities associated with this conversation.

events(InkConversationEventsConnection!)

Conversation events.

Arguments

after (String)

before (String)

first (Int)

last (Int)

id(ID!)

lastMessageAt(DateTime)

The timestamp of the most recent message in the conversation.

status(InkConversationStatus!)

The status of the conversation.

tags([InkTag!])

The tags on the conversation.

Example

{
  "id": "abc123",
  "status": "OPEN",
  "contactChannelIdentities": InkContactChannelIdentities,
  "accountUsers": [AccountUserType],
  "accountNumber": "abc123",
  "events": InkConversationEventsConnection,
  "lastMessageAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
edges([InkConversationEventsEdge!]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

Example

{
  "pageInfo": PageInfo,
  "edges": InkConversationEventsEdge
}

InkConversationEventsEdge

A Relay edge containing a InkConversationEvents and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(InkConversationEvent!)

The item at the end of the edge

Example

{
  "node": InkNewMessage,
  "cursor": "abc123"
}

Fields

NameDescription
edges([InkConversationsEdge!]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

Example

{
  "pageInfo": PageInfo,
  "edges": InkConversationsEdge
}

InkConversationsEdge

A Relay edge containing a InkConversations and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(InkConversation!)

The item at the end of the edge

Example

{
  "node": InkConversation,
  "cursor": "abc123"
}

InkEmail

This type wraps around the Message type for emails.

Fields

NameDescription
attachments([InkMessageAttachment!]!)

Attachments on the message.

cc([String!]!)

CC recipients on the message.

contactChannelIdentity(InkContactChannelIdentity!)

The contact channel identity.

conversationId(Int!)

The integer ID of the conversation this message belongs to.

conversationRelayId(String!)

The relay ID of the conversation this message belongs to.

delivery(InkMessageDelivery!)

The delivery status of the message.

direction(InkMessageDirection!)

The direction of the email.

displayContent(String!)

The content of the current email (without previous emails from the email thread).

fromHandle(String!)

From email address.

fullContentHtml(String!)

The full email, including previous emails from the email thread if available, in HTML.

fullContentPlainText(String!)

The full email, including previous emails from the email thread if available, in plain text format.

isChannelEmail(Boolean!)

Is this an message an email.

occurredAt(DateTime!)

The time the message was sent/received.

subject(String!)

The email subject.

tags([InkTag!]!)

All Tags associated with a message.

toHandles([String!])

The addresses that the message was sent to.

Example

{
  "direction": "INBOUND",
  "toHandles": ["abc123"],
  "fromHandle": "abc123",
  "delivery": InkMessageDelivery,
  "contactChannelIdentity": InkContactChannelIdentity,
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "subject": "abc123",
  "displayContent": "abc123",
  "attachments": InkMessageAttachment,
  "cc": "abc123",
  "isChannelEmail": true,
  "conversationId": 1,
  "conversationRelayId": "abc123",
  "fullContentPlainText": "abc123",
  "fullContentHtml": "abc123"
}

InkGenericMessage

This message type is used for messages that belong to contact channels without a more granular message type.

Fields

NameDescription
contactChannelIdentity(InkContactChannelIdentity!)

The contact channel identity.

conversationId(Int!)

The integer ID of the conversation this message belongs to.

conversationRelayId(String!)

The relay ID of the conversation this message belongs to.

delivery(InkMessageDelivery!)

The delivery status.

direction(InkMessageDirection!)

The direction of the message.

displayContent(String!)

The content of the message.

fromHandle(String!)

The identity the message was sent from.

id(ID!)

The ID of the object

occurredAt(DateTime!)

The time the message was sent/received at.

toHandle(String!)

The identity the message was sent to.

Example

{
  "id": "abc123",
  "direction": "INBOUND",
  "fromHandle": "abc123",
  "toHandle": "abc123",
  "delivery": InkMessageDelivery,
  "contactChannelIdentity": InkContactChannelIdentity,
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "displayContent": "abc123",
  "conversationId": 1,
  "conversationRelayId": "abc123"
}

InkLine

This type wraps around the Message type for LINE message.

Fields

NameDescription
attachments([InkMessageAttachment!]!)

Attachments on the LINE message.

contactChannelIdentity(InkContactChannelIdentity!)

The contact channel identity.

delivery(InkMessageDelivery!)

The delivery status of the message.

direction(InkMessageDirection!)

The direction of the message.

fromHandle(String!)

From LINE id.

isChannelLine(Boolean!)

Is this a LINE message.

lineMessage(LineMessage!)

The line message content.

occurredAt(DateTime!)

The time the message was sent/received.

tags([InkTag!]!)

All Tags associated with a message.

toHandle(String!)

To LINE id.

Example

{
  "direction": "INBOUND",
  "fromHandle": "abc123",
  "toHandle": "abc123",
  "delivery": InkMessageDelivery,
  "contactChannelIdentity": InkContactChannelIdentity,
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "lineMessage": LineTextMessage,
  "isChannelLine": true,
  "attachments": InkMessageAttachment
}

Fields

NameDescription
relayId(ID!)

The relay ID of the live chat conversation.

Example

{
  "relayId": "abc123"
}

InkLiveChatMessage

This type wraps around the Message type for a Live Chat message.

Fields

NameDescription
contactChannelIdentity(InkContactChannelIdentity!)

The contact channel identity.

delivery(InkMessageDelivery!)

The delivery status.

direction(InkMessageDirection!)

The direction of the message.

displayContent(String!)

The content of the message.

fromHandle(String!)

The identity the message was sent from.

id(ID!)

The ID of the object

occurredAt(DateTime!)

The time the message was sent/received at.

toHandle(String!)

The identity the message was sent to.

Example

{
  "id": "abc123",
  "direction": "INBOUND",
  "fromHandle": "abc123",
  "toHandle": "abc123",
  "delivery": InkMessageDelivery,
  "contactChannelIdentity": InkContactChannelIdentity,
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "displayContent": "abc123"
}

Fields

NameDescription
fetchUrl(String)

The url for fetching the attachment.

filename(String!)

The filename.

sizeInBytes(Int)

The size in bytes.

Example

{
  "filename": "abc123",
  "fetchUrl": "abc123",
  "sizeInBytes": 1
}

Fields

NameDescription
accountType(String)

The type of the account linked to the conversation of the message.

accounts([String!]!)

The list of accounts related to the message.

buckets([String!])

The list of the buckets the message is in.

conversationId(Int!)

The ID of the conversation this message belongs to.

hourOccurredAt(Int!)

The hour at which the message arrived in Ink.

hoursWaiting(Int!)

The number of hours the customer has been waiting for a response to their previous message.

isAssignedToUserBucket(Boolean!)

Whether the conversation that the message belongs to is assigned to a user bucket.

isFirstFromContact(Boolean!)

Whether the message is the first one sent by the contact.

isNewThread(Boolean!)

Whether the message starts a new thread in its conversation.

opsTeam(String)

The operation team that handles the message.

recentlyReceivedAutoReplies([String!]!)

The codes of the auto replies that have been sent to the contact in the last 6 months.

replyToCommsSms(String)

The body of the latest comms SMS message sent to the customer, if the message is an sms.

weekDayOccurredAt(Int!)

The week day at which the message arrived in Ink.

Example

{
  "accounts": "abc123",
  "accountType": "abc123",
  "buckets": ["abc123"],
  "conversationId": 1,
  "hourOccurredAt": 1,
  "hoursWaiting": 1,
  "isAssignedToUserBucket": true,
  "isFirstFromContact": true,
  "isNewThread": true,
  "opsTeam": "abc123",
  "recentlyReceivedAutoReplies": "abc123",
  "replyToCommsSms": "abc123",
  "weekDayOccurredAt": 1
}

Fields

NameDescription
status(InkMessageDeliveryStatus!)

Message delivery status.

Example

{
  "status": "PENDING"
}

InkNewMessage

This types is used for both the message-received and message-sent conversation events.

Fields

NameDescription
message(InkMessage!)

The message.

occurredAt(DateTime!)

The time the conversation event occurred.

Example

{
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "message": InkEmail
}

Fields

NameDescription
content(String!)

The content of the ink note.

id(ID!)

The ID of the object

isPinned(Boolean!)

The note is pinned, so that it's always visible in the conversation.

occurredAt(DateTime!)

The datetime at which the conversation note occurred.

Example

{
  "id": "abc123",
  "content": "abc123",
  "isPinned": true,
  "occurredAt": "2020-01-01T00:00:00.000Z"
}

InkPost

This type wraps around the Message type for Post.

Fields

NameDescription
contactChannelIdentity(InkContactChannelIdentity!)

The contact channel identity.

conversationId(Int!)

The integer ID of the conversation this message belongs to.

conversationRelayId(String!)

The relay ID of the conversation this message belongs to.

displayContent(String!)

The notes left when a message was uploaded.

fromHandle(String!)

The from property id.

isChannelPost(Boolean!)

Determine if the message is a post message.

rawPlainTextContent(String!)

The content of the message.

toHandle(String!)

The to property id.

Example

{
  "fromHandle": "abc123",
  "toHandle": "abc123",
  "displayContent": "abc123",
  "rawPlainTextContent": "abc123",
  "isChannelPost": true,
  "contactChannelIdentity": InkContactChannelIdentity,
  "conversationId": 1,
  "conversationRelayId": "abc123"
}

InkSMS

This type wraps around the Message type for SMS.

Fields

NameDescription
contactChannelIdentity(InkContactChannelIdentity!)

The contact channel identity.

delivery(InkMessageDelivery!)

The delivery status.

direction(InkMessageDirection!)

The direction of the message.

displayContent(String!)

The content of the message.

fromHandle(String!)

The phone number the message was sent from.

isChannelSms(Boolean!)

Is this an SMS message.

occurredAt(DateTime!)

The time the message was sent/received at.

tags([InkTag!]!)

All Tags associated with a message.

toHandle(String!)

The phone number the message was sent to.

Example

{
  "direction": "INBOUND",
  "fromHandle": "abc123",
  "toHandle": "abc123",
  "delivery": InkMessageDelivery,
  "contactChannelIdentity": InkContactChannelIdentity,
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "displayContent": "abc123",
  "isChannelSms": true
}

Fields

NameDescription
analyzerResults([InkStorylineAnalyzerResult!]!)

The analyzer results for this storyline.

createdAt(DateTime!)

entries([InkStorylineEntry!]!)

The entries in the storyline.

generatedAt(DateTime!)

When the storyline was generated.

id(ID!)

The ID of the object

knowledgeArticleIds([BigInt!])

neuralinkRequestId(UUID!)

summary(String!)

topic(String!)

triggerId(String)

updatedAt(DateTime!)

Example

{
  "id": "abc123",
  "topic": "abc123",
  "summary": "abc123",
  "generatedAt": "2020-01-01T00:00:00.000Z",
  "neuralinkRequestId": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "knowledgeArticleIds": [1],
  "triggerId": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
analyzerType(String!)

createdAt(DateTime!)

data(JSONString!)

id(ID!)

The ID of the object

schemaVersion(String!)

updatedAt(DateTime!)

Example

{
  "id": "abc123",
  "analyzerType": "abc123",
  "schemaVersion": "abc123",
  "data": {"key": "value"},
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
content(String!)

The content of the storyline entry.

contentId(BigInt)

The optional related object ID of the entry.

entryType(String!)

The type of the storyline entry.

id(ID!)

The ID of the object

isRootCause(Boolean)

Whether this entry is identified as the root cause of the issue.

occurredAt(DateTime!)

The time the storyline entry occurred.

url(String)

Optional URL related to the storyline entry.

Example

{
  "id": "abc123",
  "entryType": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "content": "abc123",
  "url": "abc123",
  "contentId": 1,
  "isRootCause": true
}

Fields

NameDescription
id(ID!)

The ID of the object

name(String!)

Tag for a message.

Example

{
  "id": "abc123",
  "name": "abc123"
}

InkTwilioWhatsApp

This type wraps around the Message type for a Twilio WhatsApp message.

Fields

NameDescription
contactChannelIdentity(InkContactChannelIdentity!)

Twilio WhatsApp message contact channel identity.

delivery(InkMessageDelivery!)

Message delivery status.

direction(InkMessageDirection!)

The direction of the message.

fromHandle(String!)

From WhatsApp number.

occurredAt(DateTime!)

Date when the conversation event was created.

tags([InkTag!]!)

All Tags associated with a message.

toHandle(String!)

To WhatsApp number.

vendorId(String)

The vendor id.

whatsappContent(WhatsAppTextMessage!)

Whatsapp message content.

Example

{
  "direction": "INBOUND",
  "fromHandle": "abc123",
  "toHandle": "abc123",
  "delivery": InkMessageDelivery,
  "contactChannelIdentity": InkContactChannelIdentity,
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "vendorId": "abc123",
  "whatsappContent": WhatsAppTextMessage
}

InkWhatsApp

This type wraps around the Message type for WhatsApp message.

Fields

NameDescription
contactChannelIdentity(InkContactChannelIdentity!)

Whatsapp message contact channel identity.

delivery(InkMessageDelivery!)

Whatsapp message delivery status.

direction(InkMessageDirection!)

The direction of the message.

fromHandle(String!)

From WhatsApp phone number.

isChannelWhatsapp(Boolean!)

Whether or not the message is a whatsapp message.

occurredAt(DateTime!)

Date when the conversation event was created.

tags([InkTag!]!)

All Tags associated with a message.

toHandle(String!)

Whatsapp contact phone number.

vendorId(String)

The vendor id.

whatsappContent(WhatsAppTextMessage!)

Whatsapp message content.

Example

{
  "direction": "INBOUND",
  "fromHandle": "abc123",
  "toHandle": "abc123",
  "delivery": InkMessageDelivery,
  "contactChannelIdentity": InkContactChannelIdentity,
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "vendorId": "abc123",
  "whatsappContent": WhatsAppTextMessage,
  "isChannelWhatsapp": true
}

InputFieldErrorType

Represents a validation error for a specific input field.

Fields

NameDescription
errorMessage(String!)

The error message to display for this field.

inputFieldKey(String!)

The key of the input field with the error.

inputFieldValue(String!)

The value that was submitted for the field.

Example

{
  "inputFieldKey": "abc123",
  "inputFieldValue": "abc123",
  "errorMessage": "abc123"
}

Fields

NameDescription
endDate(Date)

The date on which the instalment schedule will end.

frequency(String)

The base unit of frequency at which payments are to be taken.

frequencyMultiplier(Int)

The multiple of the frequency at which payments are taken.

monthlyGrossAmount(Int)

The monthly amount to be paid as part of the instalment schedule.

paymentDay(Int)

The day of the month/week at which to take payment.

Example

{
  "paymentDay": 1,
  "frequency": "abc123",
  "frequencyMultiplier": 1,
  "endDate": "2020-01-01",
  "monthlyGrossAmount": 1
}

Fields

NameDescription
endDate(Date)

The date on which the instalment schedule will end.

frequency(String)

The base unit of frequency at which payments are to be taken.

frequencyMultiplier(Int)

The multiple of the frequency at which payments are taken.

paymentDay(Int)

The day of the month/week at which to take payment.

totalGrossAmount(Int)

The total amount to be paid as part of the instalment schedule.

Example

{
  "paymentDay": 1,
  "frequency": "abc123",
  "frequencyMultiplier": 1,
  "endDate": "2020-01-01",
  "totalGrossAmount": 1
}

Fields

NameDescription
characteristic(CharacteristicType)

The product characteristic.

integerValue(Int!)

The integer value of the characteristic.

value(String)

A string representation of a characteristic value, for convenience.

Example

{
  "value": "abc123",
  "characteristic": CharacteristicType,
  "integerValue": 1
}

IntegerType

Graphene type object to represent integer values

Fields

NameDescription
integerValue(Int!)

Value of this field.

Example

{
  "integerValue": 1
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([InternalCompanyConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": InternalCompanyConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

InternalCompanyConnectionTypeEdge

A Relay edge containing a InternalCompanyConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(InternalCompanyType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

InternalCompanyType

Represents an internal company.

Fields

NameDescription
displayableNumber(String!)

The internal company's displayable number, which is a human-friendly identifier.

id(ID!)

The internal company's ID.

legalAddress(RichAddressType)

The legal address of the internal company.

name(String!)

The internal company's name.

primaryRegistrationNumber(String)

The primary registration number of the internal company.

primaryTaxIdentifierNumber(String)

The primary tax identifier number of the internal company.

secondaryRegistrationNumber(String)

The secondary registration number of the internal company.

Example

{
  "id": "abc123",
  "displayableNumber": "abc123",
  "name": "abc123",
  "primaryRegistrationNumber": "abc123",
  "secondaryRegistrationNumber": "abc123",
  "primaryTaxIdentifierNumber": "abc123",
  "legalAddress": RichAddressType
}

Fields

NameDescription
accumulation(Decimal)

Deprecated

The 'accumulation' field is deprecated.

This field is no longer required.

- Marked as deprecated on 2024-10-15.
- Scheduled for removal on or after 2024-11-01.

durationInSeconds(Int!)

The duration of the measurement.

endAt(DateTime!)

The end datetime of the measurement.

metaData(MeasurementsMetadataOutput)

This type will return more granular data about the measurement.

readAt(DateTime!)

The datetime the measurement was taken.

source(String!)

The data source of the measurement.

startAt(DateTime!)

The start datetime of the measurement.

unit(String!)

The unit of the measurement.

value(Decimal!)

The value of the measurement.

Example

{
  "source": "abc123",
  "metaData": MeasurementsMetadataOutput,
  "value": "1.0",
  "unit": "abc123",
  "readAt": "2020-01-01T00:00:00.000Z",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "durationInSeconds": 1,
  "accumulation": "1.0"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

InvalidatePaymentInstruction

Invalidates a payment instruction.

The possible errors that can be raised are:

  • KT-CT-3926: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
instruction(InvalidatePaymentInstructionOutput)

Example


InvalidatePaymentInstructionOutput

Output for invalidating an arbitrary payment instruction.

Fields

NameDescription
id(Int)

Example

{
  "id": 1
}

InvalidatePreSignedToken

Invalidate a previously issued expiring/pre-signed token.

To invalidate tokens issued to a particular user, use InvalidatePreSignedTokensForUser mutation.

The possible errors that can be raised are:

  • KT-CT-1129: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
token(PreSignedToken)

Example

{
  "token": PreSignedToken
}

InvalidatePreSignedTokensForUser

Invalidate pre-signed tokens previously issued to a particular user.

This mutation can invalidate all pre-signed tokens issued to a customer, or only tokens of a given scope.

The possible errors that can be raised are:

  • KT-CT-1129: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
tokens([PreSignedToken])

Example

{
  "tokens": [PreSignedToken]
}

InvalidateRefreshToken

Invalidate a previously issued refresh token.

To invalidate tokens issued to a particular user, use InvalidateRefreshTokensForUser.

The possible errors that can be raised are:

  • KT-CT-1130: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
token(RefreshToken)

Example

{
  
}

InvalidateRefreshTokensForUser

Invalidate all refresh tokens previously issued to a particular user.

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
tokens([RefreshToken])

Example

{
  
}

InvoiceBillingDocumentConnectionTypeConnection

An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([InvoiceBillingDocumentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": InvoiceBillingDocumentConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

InvoiceBillingDocumentConnectionTypeEdge

A Relay edge containing a InvoiceBillingDocumentConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(InvoiceBillingDocumentType)

The item at the end of the edge

Example

{
  "node": InvoiceBillingDocumentType,
  "cursor": "abc123"
}

InvoiceBillingDocumentType

An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.

Fields

NameDescription
annulledBy(AnnulmentBillingDocumentType)

Billing document that annuls this invoice.

documentDebtPosition(BillingDocumentPositionType)

Position of the billing document in the delinquent debt tracking system.

dueDate(Date)

The final date before missing payment is considered overdue.

firstIssued(DateTime)

First time the invoice was issued.

id(Int)

Unique identifier for the invoice billing document.

invoicedAmount(Int)

The invoiced amount of the billing document.

isHeld(Boolean)

Whether the billing document is currently held.

number(String)

The unique billing document's reference that can be used for identifying it externally.

paymentDueDate(Date)

The date due for payment for the invoice.

Deprecated

The 'paymentDueDate' field is deprecated.

This field name is ambiguous and inconsistently populated. Use `paymentDate` for the date on which payment will be collected. Use `dueDate` for the last date any payment can be made before the bill is considered overdue.

- Marked as deprecated on 2026-06-15.
- Scheduled for removal on or after 2027-08-15.

pdfUrl(String)

URL to the PDF of the Invoice.

scheduledPaymentDate(Date)

The planned date for payment (may be before the due_date).

totalCharges(InvoiceTotalType)

The total amounts for all charges on the invoice.

totalCredits(InvoiceTotalType)

The total amounts for all credits on the invoice.

transactions(BillTransactionConnectionTypeConnection)

Transactions on the invoice

Arguments

after (String)

before (String)

first (Int)

last (Int)

orderBy (TransactionsOrderBy)

The order in which to return the transactions.

Example

{
  "id": 1,
  "firstIssued": "2020-01-01T00:00:00.000Z",
  "pdfUrl": "abc123",
  "annulledBy": AnnulmentBillingDocumentType,
  "isHeld": true,
  "number": "abc123",
  "invoicedAmount": 1,
  "totalCharges": InvoiceTotalType,
  "totalCredits": InvoiceTotalType,
  "transactions": BillTransactionConnectionTypeConnection,
  "documentDebtPosition": BillingDocumentPositionType,
  "dueDate": "2020-01-01",
  "scheduledPaymentDate": "2020-01-01",
  "paymentDueDate": "2020-01-01"
}

Fields

NameDescription
grossTotal(Int)

The gross total amount for the statement (in minor currency units).

netTotal(Int)

The net total amount for the statement (in minor currency units).

taxTotal(Int)

The total amount of tax on the statement (in minor currency units).

Example

{
  "netTotal": 1,
  "taxTotal": 1,
  "grossTotal": 1
}

Fields

NameDescription
attachments(BillingAttachmentConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

billType(BillTypeEnum)

The type of the bill.

fromDate(Date)

The date of the bill is covered from.

grossAmount(Int)

This field returns the total gross amount of the bill in pence.

id(ID)

The ID of the bill.

identifier(String)

The unique identifier of a bill. It will usually be present on the billing document itself.

Note: a bill that hasn't been issued yet will not have an identifier; and not all issued bills will have an identifier assigned to them, in which case this will be null.

isAnnulled(Boolean!)

Whether the billing document has been annulled.

isHeld(Boolean)

Whether the billing document is currently held.

issuedDate(Date)

The date the bill was sent to the customer.

representations(BillRepresentationConnectionTypeConnection)

Arguments

after (String)

before (String)

code (String)

The code of a representation. Used to identify different types of representations.

first (Int)

last (Int)

reversalsAfterClose(StatementReversalsAfterClose!)

How many charges have been reversed after the close date.

temporaryUrl(String)

Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead.

Deprecated

The 'temporaryUrl' field is deprecated.

This field is deprecated. Use the 'attachments' field instead.

- Marked as deprecated on 2024-09-16.
- Scheduled for removal on or after 2025-09-01.

toDate(Date)

The date of the bill is covered to.

totalCharges(InvoiceTotalType)

The total amounts for all charges on the invoice.

totalCredits(InvoiceTotalType)

The total amounts for all credits on the invoice.

totalPayments(Int)

The sum of all previous payments made that are included towards this invoice.

transactions(BillTransactionConnectionTypeConnection)

Transactions on the given billing document.

Arguments

after (String)

before (String)

first (Int)

last (Int)

ledgerNumber (String)

When provided, only entries that are linked to that ledger are returned.

orderBy (TransactionsOrderBy)

The order in which to return the transactions.

transactionTypes ([TransactionTypeFilter])

Include only these specific transaction types in the result.

Example

{
  "id": "abc123",
  "billType": "STATEMENT",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01",
  "temporaryUrl": "abc123",
  "issuedDate": "2020-01-01",
  "attachments": BillingAttachmentConnectionTypeConnection,
  "reversalsAfterClose": "ALL",
  "identifier": "abc123",
  "grossAmount": 1,
  "isAnnulled": true,
  "isHeld": true,
  "totalCharges": InvoiceTotalType,
  "totalCredits": InvoiceTotalType,
  "totalPayments": 1,
  "transactions": BillTransactionConnectionTypeConnection,
  "representations": BillRepresentationConnectionTypeConnection
}

JoinSupplierAcceptTermsAndConditions

Accept terms and conditions for a join supplier process.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4501: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
success(Boolean)

Indicator that the mutation has completed successfully.

Example

{
  "success": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([JoinSupplierLedgerAssignmentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": JoinSupplierLedgerAssignmentConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

JoinSupplierLedgerAssignmentConnectionTypeEdge

A Relay edge containing a JoinSupplierLedgerAssignmentConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(JoinSupplierLedgerAssignmentType)

The item at the end of the edge

Example

{
  "node": JoinSupplierLedgerAssignmentType,
  "cursor": "abc123"
}

JoinSupplierLedgerAssignmentType

A ledger with its associated supply points.

Multiple supply points may be assigned to the same ledger. This type groups them for convenient querying.

Fields

NameDescription
ledgerName(String)

The ledger name.

ledgerNumber(String)

The ledger number.

ledgerSupplyPoints([LedgerSupplyPointType])

The supply points associated with the ledger.

ledgerType(String)

The ledger type.

Example

{
  "ledgerNumber": "abc123",
  "ledgerType": "abc123",
  "ledgerName": "abc123",
  "ledgerSupplyPoints": [LedgerSupplyPointType]
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([JoinSupplierProcessConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": JoinSupplierProcessConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

JoinSupplierProcessConnectionTypeEdge

A Relay edge containing a JoinSupplierProcessConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(JoinSupplierProcessType)

The item at the end of the edge

Example

{
  "node": JoinSupplierProcessType,
  "cursor": "abc123"
}

Fields

NameDescription
affiliateLink(AffiliateLinkType)

Affiliate link for the join supplier journey.

note(String)

The note associated with this join supplier process data.

offerGroupIdentifier(NonEmptyString)

Unique identifier for the offer group.

paymentScheduleData(PaymentScheduleDataType)

The payment schedule details chosen for this join supplier journey.

requestedAt(DateTime!)

When the journey was requested.

salesChannel(String)

Sales channel.

salesSubchannel(String)

Sales subchannel.

storedPaymentMethodDetailsReference(String)

Reference to the stored payment method details.

supplyPointContexts([SupplyPointContextDataInterface])

The supply point context data.

Example

{
  "requestedAt": "2020-01-01T00:00:00.000Z",
  "salesChannel": "abc123",
  "salesSubchannel": "abc123",
  "offerGroupIdentifier": NonEmptyString,
  "supplyPointContexts": SupplyPointContextDataInterface,
  "note": "abc123",
  "storedPaymentMethodDetailsReference": "abc123",
  "paymentScheduleData": PaymentScheduleDataType
}

JoinSupplierProcessType

Represents a Join Supplier process.

Fields

NameDescription
contractIdentifiers([String])

Contract identifiers associated with this join supplier process.

currentProcessData(JoinSupplierProcessDataType)

The current process data associated with the Join Supplier process.

id(ID)

The ID or the primary key of the lifecycle process.

ledgerAssignments(JoinSupplierLedgerAssignmentConnectionTypeConnection)

The ledgers associated with the supply points in the process.

Arguments

after (String)

before (String)

first (Int)

last (Int)

number(String)

The unique identifier of the process.

stage(String)

Current stage of the join supplier journey.

status(LifecycleSupplyPointProcessStatus)

The status of the process.

subtype(String)

The subtype of the process.

supplyPoints(SupplyPointConnectionTypeConnection!)

The supply points associated with the process.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "id": "abc123",
  "status": "PENDING",
  "supplyPoints": SupplyPointConnectionTypeConnection,
  "number": "abc123",
  "subtype": "abc123",
  "contractIdentifiers": ["abc123"],
  "currentProcessData": JoinSupplierProcessDataType,
  "ledgerAssignments": JoinSupplierLedgerAssignmentConnectionTypeConnection,
  "stage": "abc123"
}

Fields

NameDescription
identifier(String)

The unique identifier for the sales record.

opportunityNumber(String)

The opportunity code associated with the sales record.

Example

{
  "identifier": "abc123",
  "opportunityNumber": "abc123"
}

Fields

NameDescription
affiliateOrganisationName(String)

The name of the affiliate organisation associated with the sales record.

identifier(String)

The unique identifier for the sales record.

salesChannel(String)

The sales channel associated with the sales record.

Example

{
  "identifier": "abc123",
  "salesChannel": "abc123",
  "affiliateOrganisationName": "abc123"
}

KrakenVersionType

Information about what version of Kraken is being executed by this service.

Fields

NameDescription
SHA(String)

The git commit SHA that is being executed.

isPinned(Boolean)

Whether this version is pinned to a specific version.

number(String)

The version number that is being executed.

Example

{
  "number": "abc123",
  "SHA": "abc123",
  "isPinned": true
}

Fields

NameDescription
lnspId(String)

The LNSP id (Local Network Service Provider).

tariffPeriods([TariffPeriodType])

Tariff periods for this rate and LNSP.

Example

{
  "lnspId": "abc123",
  "tariffPeriods": [TariffPeriodType]
}

Fields

NameDescription
displayName(String!)

The customer-facing display name of the provider.

emergencyPhoneNumber(String!)

The emergency contact phone number for the provider.

id(String!)

The AEMO participant identifier code for this provider.

longName(String!)

The full registered name of the provider.

outagePhoneNumber(String)

The outage reporting phone number for the provider.

shortName(String!)

The abbreviated name of the provider.

Example

{
  "id": "abc123",
  "shortName": "abc123",
  "longName": "abc123",
  "displayName": "abc123",
  "emergencyPhoneNumber": "abc123",
  "outagePhoneNumber": "abc123"
}

LatePaymentFeesType

Represents later payment fees to be applied in a contract.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

flatFeeAmount(Int)

The flat fee amount for late payment.

identifier(NonEmptyString)

The identifier of the term.

interestPolicyName(String)

The interest policy to use for late payment fee calculations.

isVariable(Boolean)

Whether the term is variable.

percentageFee(Decimal)

The percentage fee for late payment.

percentageIntervalDays(Int)

The interval in days for the percentage fee (1=daily, 7=weekly, 30=monthly, 365=yearly).

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "flatFeeAmount": 1,
  "percentageFee": "1.0",
  "percentageIntervalDays": 1,
  "interestPolicyName": "abc123"
}

Fields

NameDescription
assignedToOrganization(AffiliateOrganisationType)

Affiliate organization assigned to this lead.

Deprecated

The 'assignedToOrganization' field is deprecated.

Please use 'assignedToTeamIdentifier' instead.

- Marked as deprecated on 2026-05-07.
- Scheduled for removal on or after 2026-07-07.

assignedToTeamIdentifier(String)

The identifier of the team the lead is assigned to.

Deprecated

The 'assignedToTeamIdentifier' field is deprecated.

Lead-level assignment is being removed. Assignment is managed at Opportunity level.

- Marked as deprecated on 2026-05-19.
- Scheduled for removal on or after 2026-07-19.

assignedToUserIdentifier(String)

The identifier of the user the lead is assigned to.

Deprecated

The 'assignedToUserIdentifier' field is deprecated.

Lead-level assignment is being removed. Assignment is managed at Opportunity level.

- Marked as deprecated on 2026-05-19.
- Scheduled for removal on or after 2026-07-19.

assignedToUsername(String)

The username of the user the lead is assigned to.

Deprecated

The 'assignedToUsername' field is deprecated.

Please use 'assignedToUserIdentifier' instead.

- Marked as deprecated on 2026-04-22.
- Scheduled for removal on or after 2026-06-22.

contacts([LeadContactDetailsType])

The contacts for the lead.

Arguments

input (LeadContactDetailsFiltersInput)

Input fields for retrieving contacts.

leadType(String)

The type of the lead.

nationalId(String)

National Identifier of the lead.

number(String!)

Lead number.

opportunities([OpportunityOutput])

List of opportunities for the lead.

Arguments

input (OpportunitiesQueryInput)

Input fields for retrieving opportunities.

salesChannel(SalesChannelType)

The sales channel that this lead was captured by.

Deprecated

The 'salesChannel' field is deprecated.

Sales channel information is being removed from the Lead model. This is information is saved in the Opportunity.

- Marked as deprecated on 2025-06-17.
- Scheduled for removal on or after 2025-10-17.

salesFunnel(SalesFunnel)

The sales funnel this lead is in.

stage(SalesFunnelStage)

The current stage of the sales funnel that this lead is in.

Example

{
  "number": "abc123",
  "nationalId": "abc123",
  "leadType": "abc123",
  "assignedToUsername": "abc123",
  "assignedToUserIdentifier": "abc123",
  "assignedToTeamIdentifier": "abc123"
}

Fields

NameDescription
blockListHits([String])

List of block list hits found.

valid(Boolean)

Indicates if the block list validation passed.

Example

{
  "valid": true,
  "blockListHits": ["abc123"]
}

Fields

NameDescription
consents([ConsentOutput])

List of consents for the contact.

contactAddress(RichAddressType)

The address of the contact.

email(String)

The email address of the contact.

familyName(String)

The family name of the contact.

givenName(String)

The given name of the contact.

phoneNumber(String)

The phone number of the contact.

preferredLanguage(String)

The preferred language of the contact as an ISO code (e.g. 'es-es').

roles([LeadContactRoles])

The roles of the contact.

Example

{
  "givenName": "abc123",
  "familyName": "abc123",
  "email": "abc123",
  "phoneNumber": "abc123",
  "roles": "LEGAL_CONTACT",
  "preferredLanguage": "abc123",
  "contactAddress": RichAddressType,
  "consents": [ConsentOutput]
}

Fields

NameDescription
leadId(ID!)

The ID of the lead.

Deprecated

The 'leadId' field is deprecated.

Use `number` instead.

- Marked as deprecated on 2025-11-24.
- Scheduled for removal on or after 2026-02-01.

number(String!)

The number of the lead.

Example

{
  "leadId": "abc123",
  "number": "abc123"
}

Fields

NameDescription
accountNumber(String)

Lead's linked account number.

assignedToAffiliateNumber(String)

The affiliate's name this opportunity is assigned to.

Deprecated

The 'assignedToAffiliateNumber' field is deprecated.

Lead-level assignment is being removed. Assignment is managed at Opportunity level.

- Marked as deprecated on 2026-05-19.
- Scheduled for removal on or after 2026-07-19.

assignedToTeam(String)

Team assigned to this lead.

Deprecated

The 'assignedToTeam' field is deprecated.

Please use 'assignedToTeamIdentifier' instead.

- Marked as deprecated on 2026-04-22.
- Scheduled for removal on or after 2026-06-22.

assignedToTeamIdentifier(String)

The identifier of the team assigned to this lead.

Deprecated

The 'assignedToTeamIdentifier' field is deprecated.

Lead-level assignment is being removed. Assignment is managed at Opportunity level.

- Marked as deprecated on 2026-05-19.
- Scheduled for removal on or after 2026-07-19.

assignedToUser(String)

User assigned to this lead.

Deprecated

The 'assignedToUser' field is deprecated.

Please use 'assignedToUserIdentifier' instead.

- Marked as deprecated on 2026-04-22.
- Scheduled for removal on or after 2026-06-22.

assignedToUserIdentifier(String)

The identifier of the user assigned to this lead.

Deprecated

The 'assignedToUserIdentifier' field is deprecated.

Lead-level assignment is being removed. Assignment is managed at Opportunity level.

- Marked as deprecated on 2026-05-19.
- Scheduled for removal on or after 2026-07-19.

billingAddress(AddressOutput)

Lead billing address.

Deprecated

The 'billingAddress' field is deprecated.

Please use 'contactAddress' on the lead contact with the ACCOUNT_HOLDER role instead.

- Marked as deprecated on 2026-06-18.
- Scheduled for removal on or after 2026-09-18.

billingName(String)

Lead billing name.

Deprecated

The 'billingName' field is deprecated.

Please use 'givenName' and 'familyName' on the lead contact with the ACCOUNT_HOLDER role instead.

- Marked as deprecated on 2026-06-18.
- Scheduled for removal on or after 2026-09-18.

billingRichAddress(RichAddressType)

Lead billing rich address.

Deprecated

The 'billingRichAddress' field is deprecated.

Please use 'contactAddress' on the lead contact with the ACCOUNT_HOLDER role instead.

- Marked as deprecated on 2026-06-18.
- Scheduled for removal on or after 2026-09-18.

brand(String)

Lead brand.

contacts([LeadContactDetailsType])

The contacts for the lead.

Arguments

input (LeadContactDetailsFiltersInput)

Input fields for filtering contacts.

email(String)

Lead account holder email.

extraDetailItems([ExtraDetail])

Extra details about the lead as key/value pairs.

extraDetails(JSONString)

Extra details about the lead.

Deprecated

The 'extraDetails' field is deprecated.

Use `extraDetailsItems` instead, which provides a structured key/value format.

- Marked as deprecated on 2026-01-14.
- Scheduled for removal on or after 2026-07-14.

familyName(String)

Lead legal family name.

funnel(SalesFunnel)

The lead funnel this lead is in.

givenName(String)

Lead legal given name.

leadId(ID)

Lead ID.

leadType(String)

The type of the lead.

nationalId(String)

National Identifier of the lead.

number(String)

Lead number.

phoneNumber(String)

Lead account holder phone number.

salesChannel(String)

Lead sales channel.

Deprecated

The 'salesChannel' field is deprecated.

Sales channel information is being removed from the Lead model. This is information is saved in the Opportunity.

- Marked as deprecated on 2025-06-17.
- Scheduled for removal on or after 2025-10-17.

stage(String)

Current stage in a funnel.

Example

{
  "leadId": "abc123",
  "accountNumber": "abc123",
  "givenName": "abc123",
  "familyName": "abc123",
  "billingName": "abc123",
  "billingRichAddress": RichAddressType,
  "email": "abc123",
  "phoneNumber": "abc123",
  "number": "abc123",
  "stage": "abc123",
  "extraDetails": {"key": "value"},
  "brand": "abc123",
  "salesChannel": "abc123",
  "assignedToTeam": "abc123",
  "assignedToUser": "abc123",
  "assignedToUserIdentifier": "abc123",
  "assignedToTeamIdentifier": "abc123",
  "nationalId": "abc123",
  "leadType": "abc123",
  "assignedToAffiliateNumber": "abc123"
}

Fields

NameDescription
externalIdentifier(String)

Supply point identifier.

marketName(String)

Market code of the supply point.

Example

{
  "externalIdentifier": "abc123",
  "marketName": "abc123"
}

Fields

NameDescription
number(String!)

The lead number.

Example

{
  "number": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([LeadsEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": LeadsEdge,
  "totalCount": 1,
  "edgeCount": 1
}

LeadsEdge

A Relay edge containing a Leads and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(Lead)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

LeadsFileAttachmentDownloadPresignedUrlType

Metadata returned when generating a pre-signed download URL for a leads file attachment.

Fields

NameDescription
preSignedUrl(String!)

The pre-signed S3 download URL.

Example

{
  "preSignedUrl": "abc123"
}

LeadsFileAttachmentPresignedPostType

Metadata returned when generating a pre-signed post URL for a leads file attachment.

Fields

NameDescription
bucket(String!)

The S3 bucket.

fields(JSONString!)

The fields to be included in the pre-signed post.

key(String!)

The S3 bucket key.

preSignedUrl(String!)

The pre-signed S3 URL.

Example

{
  "key": "abc123",
  "bucket": "abc123",
  "preSignedUrl": "abc123",
  "fields": {"key": "value"}
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([LeavePropertyProcessConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": LeavePropertyProcessConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

LeavePropertyProcessConnectionTypeEdge

A Relay edge containing a LeavePropertyProcessConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(LeavePropertyProcessType)

The item at the end of the edge

Example

{
  "node": LeavePropertyProcessType,
  "cursor": "abc123"
}

LeavePropertyProcessType

Represents a Leave Property process.

Fields

NameDescription
id(ID)

The ID or the primary key of the lifecycle process.

status(LifecycleSupplyPointProcessStatus)

The status of the process.

supplyPoints(SupplyPointConnectionTypeConnection!)

The supply points associated with the process.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "id": "abc123",
  "status": "PENDING",
  "supplyPoints": SupplyPointConnectionTypeConnection
}

LeaveSupplierCancelled

Output of a LeaveSupplier journey cancellation.

Fields

NameDescription
message(String!)

The message to display to the user on cancellation.

Example

{
  "message": "abc123"
}

LeaveSupplierInstigated

Termination was successfully initiated.

Fields

NameDescription
leaveSupplierProcessId(ID)

The ID of the newly created or existing leave supplier process.

Deprecated

The 'leaveSupplierProcessId' field is deprecated.

Process IDs are deprecated, please use 'number' instead.

- Marked as deprecated on 2025-08-06.
- Scheduled for removal on or after 2025-09-30.

message(String!)

The message to display to the user on termination initiation.

number(ID!)

The number of the newly created or existing leave supplier process.

Example

{
  "number": "abc123",
  "leaveSupplierProcessId": "abc123",
  "message": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([LeaveSupplierProcessConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": LeaveSupplierProcessConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

LeaveSupplierProcessConnectionTypeEdge

A Relay edge containing a LeaveSupplierProcessConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(LeaveSupplierProcessType)

The item at the end of the edge

Example

{
  "node": LeaveSupplierProcessType,
  "cursor": "abc123"
}

LeaveSupplierProcessType

Represents a Leave Supplier process. Conceptually, it contains information related to supply points that are associated with a Leave Supplier journey.

Fields

NameDescription
id(ID)

The ID or the primary key of the lifecycle process.

number(String)

The unique identifier of the process.

stage(String)

Current stage of the leave supplier journey.

status(LifecycleSupplyPointProcessStatus)

The status of the process.

subtype(String)

The subtype of the process.

supplyPoints(SupplyPointConnectionTypeConnection!)

The supply points associated with the process.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "id": "abc123",
  "status": "PENDING",
  "number": "abc123",
  "supplyPoints": SupplyPointConnectionTypeConnection,
  "subtype": "abc123",
  "stage": "abc123"
}

LeaveSupplierReversed

Output of a LeaveSupplier journey reversal.

Fields

NameDescription
message(String!)

The message to display to the user on reversal.

Example

{
  "message": "abc123"
}

LeaveSupplierUpdated

Leave supplier was successfully updated.

Fields

NameDescription
message(String!)

The message to display to the user on leave supplier update.

Example

{
  "message": "abc123"
}

Fields

NameDescription
delinquentDebtAmount(Int)

The total amount of delinquent debt for this ledger (in minor currency units, e.g. pence/cents). A value of 0 means the ledger has no delinquent debt. Null if the status is not OK.

ledgerNumber(String!)

The ledger number.

status(LedgerDebtPositionStatus!)

The status of the debt position for this ledger. OK means the delinquentdebtamount is available and accurate. UNAVAILABLE means the position could not be determined.

Example

{
  "ledgerNumber": "abc123",
  "delinquentDebtAmount": 1,
  "status": "OK"
}

Fields

NameDescription
externalIdentifier(String)

Supply point external identifier. Empty string if not set.

marketName(String)

Market name for the supply point.

Example

{
  "externalIdentifier": "abc123",
  "marketName": "abc123"
}

LedgerType

Ledgers provide the foundation of Kraken’s bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular Kraken account.

Fields

NameDescription
acceptsPayments(Boolean)

Whether payments can be posted onto this ledger.

affectsAccountBalance(Boolean)

Whether this ledger's balance contributes to the account's balance.

agreements(AgreementConnection)

The charged supply agreements of the ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

amountOwedByCustomer(Int)

The amount owed from the customer perspective. A positive value implies the customer owes the business, while a negative amount implies the customer is in credit.

balance(Int)

The current balance on the ledger in minor units of currency.

billingTriggerConfiguration(BillingTriggerConfiguration)

The active billing trigger configuration for the ledger.

The possible errors that can be raised are:

  • KT-CT-9709: Billing trigger configuration only supports SupplementaryLedger type.
  • KT-CT-1113: Disabled GraphQL field requested.

creditTransferPermissionsData(CreditTransferPermissionsDataType)

Permissions data for credit transfers involving the given ledger.

currentDirectDebitInstructionInvalidatedWithVendor(Boolean)

True if the current direct debit instruction has been invalidated by vendor. False otherwise.

debtLedger(LedgerType)

The debt ledger assigned to this ledger.

id(ID)

Deprecated

The 'ledgerId' field is deprecated.

Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

- Marked as deprecated on 2024-10-22.
- Scheduled for removal on or after 2025-06-25.

invoices(InvoiceBillingDocumentConnectionTypeConnection)

An invoice is a bill that contains individual transactions (i.e. charges, credits, payments, and repayments). These may come from any period of time.

Arguments

after (String)

before (String)

excludeExternallyIssued (Boolean)

Exclude invoices that were issued by external systems. Does not apply to legacy bills.

first (Int)

invoiceId (Int)

The id of the invoice.

last (Int)

orderBy (_BillingDocumentsOrderBy)

The order the invoices should be returned in.

ledgerType(String)

The ledger type code.

name(String)

The display name of the ledger.

number(String)

The canonical name of the ledger.

paymentAdequacy(PaymentAdequacyDetailsType)

paymentPreferenceAtTime(PaymentPreferenceUnion)

The customer's preferred payment method at a point in time.

The possible errors that can be raised are:

  • KT-CT-3976: The ledger has no configured payment preference.
  • KT-CT-3977: Ledger was not accepting payments at this time.
  • KT-CT-1113: Disabled GraphQL field requested.

Arguments

atTime (DateTime!)

The time at which to know the payment preference.

paymentPreferences(PaymentPreferenceConnectionTypeConnection)

The customer's preferred payment methods.

Arguments

after (String)

before (String)

first (Int)

last (Int)

paymentsWithNonConcludedRePresentation(PaymentWithNonConcludedRePresentationConnectionTypeConnection)

Payments with non-concluded re-presentation.

Arguments

after (String)

before (String)

first (Int)

last (Int)

refundRequests(RefundRequestConnectionTypeConnection)

Refund requests for a given ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

repaymentRequests(RepaymentRequestConnectionTypeConnection)

Repayment requests for a given ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

statements(StatementBillingDocumentConnectionTypeConnection)

A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.

Arguments

after (String)

before (String)

first (Int)

last (Int)

orderBy (_BillingDocumentsOrderBy)

The order the statements should be returned in.

statementId (Int)

The id of billing document.

supportsInvoices(Boolean)

Is it possible for this ledger to contain invoices.

supportsStatements(Boolean)

Is it possible for this ledger to contain statements.

transactions(TransactionConnectionTypeConnection)

Transactions on the given ledger.

Arguments

after (String)

before (String)

first (Int)

fromDate (Date)

Optional date representing the beginning of the postedDate range filter. This date value is inclusive.

last (Int)

orderBy (TransactionsOrderBy)

The order in which to return the transactions.

toDate (Date)

Optional date representing the end of the postedDate range filter. This date value is exclusive.

transactionTypes ([TransactionTypeFilter])

Include only these specific transaction types in the result.

usablePaymentInstructions(PaymentInstructionConnectionTypeConnection)

The usable payment instructions for this ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

usableAt (DateTime)

The time at which the payment instructions should be usable.

Example

{
  "id": "abc123",
  "name": "abc123",
  "number": "abc123",
  "ledgerType": "abc123",
  "balance": 1,
  "amountOwedByCustomer": 1,
  "affectsAccountBalance": true,
  "statements": StatementBillingDocumentConnectionTypeConnection,
  "invoices": InvoiceBillingDocumentConnectionTypeConnection,
  "transactions": TransactionConnectionTypeConnection,
  "repaymentRequests": RepaymentRequestConnectionTypeConnection,
  "refundRequests": RefundRequestConnectionTypeConnection,
  "acceptsPayments": true,
  "paymentAdequacy": PaymentAdequacyDetailsType,
  "creditTransferPermissionsData": CreditTransferPermissionsDataType,
  "paymentPreferences": PaymentPreferenceConnectionTypeConnection,
  "paymentPreferenceAtTime": PreferredInstruction,
  "debtLedger": LedgerType,
  "agreements": AgreementConnection,
  "usablePaymentInstructions": PaymentInstructionConnectionTypeConnection,
  "billingTriggerConfiguration": BillingTriggerConfiguration,
  "supportsStatements": true,
  "supportsInvoices": true,
  "currentDirectDebitInstructionInvalidatedWithVendor": true,
  "paymentsWithNonConcludedRePresentation": PaymentWithNonConcludedRePresentationConnectionTypeConnection
}

LegacyItemProfileType

Represents the characteristics and configuration of an ordered item.

Fields

NameDescription
characteristics(JSONString)

The characteristic values for this item profile.

Example

{
  "characteristics": {"key": "value"}
}

LegacyOrderDetailsType

Represents the details of an Order.

Fields

NameDescription
order(LegacyOrderType)

The order details.

The possible errors that can be raised are:

  • KT-CT-13101: Order not found.
  • KT-CT-1113: Disabled GraphQL field requested.

resources([LegacyOrderResource])

The resources associated with the order.

The possible errors that can be raised are:

  • KT-CT-13101: Order not found.
  • KT-CT-1113: Disabled GraphQL field requested.

status(OrderStatus)

The current status of the order.

The possible errors that can be raised are:

  • KT-CT-13101: Order not found.
  • KT-CT-1113: Disabled GraphQL field requested.

Example

{
  "status": "PENDING"
}

LegacyOrderItemType

Represents an item being ordered.

Fields

NameDescription
code(NonEmptyString)

The code identifying the item.

marketData(JSONString)

Market-specific data for the item.

profile(LegacyItemProfileType)

The profile containing characteristics of the item.

Example

{
  "profile": LegacyItemProfileType,
  "marketData": {"key": "value"},
  "code": NonEmptyString
}

LegacyOrderLineDateRangeType

Represents a period defined by specific start and end dates.

Fields

NameDescription
end(DateTime)

The end date and time of the period. Null indicates an infinite/rolling period.

start(DateTime!)

The start date and time of the period.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z"
}

LegacyOrderLineDurationType

Represents a period defined by duration in seconds.

Fields

NameDescription
duration(Float!)

The duration in seconds.

Example

{
  "duration": 1.0
}

LegacyOrderLineType

Represents a line item in an order.

Fields

NameDescription
item(LegacyOrderItemType)

The item being ordered.

period(LegacyOrderLinePeriodType)

The period for which this order line is valid. Can be a range or a duration.

target(AccountType)

The target customer for this order line.

terms([TermInterface])

The terms applicable to this order line.

Example


LegacyOrderResource

Represents a resource associated with an order.

Fields

NameDescription
resourceIdentifier(NonEmptyString)

The unique identifier of the resource.

resourceType(NonEmptyString)

The type of the resource.

Example

{
  "resourceType": NonEmptyString,
  "resourceIdentifier": NonEmptyString
}

LegacyOrderType

Represents an order in the system.

Fields

NameDescription
customer(LegacyOrderCustomerType)

The customer who placed the order.

identifier(NonEmptyString)

Unique identifier for the order.

lines([LegacyOrderLineType])

The order lines in this order.

orderedAt(DateTime)

The date and time when the order was placed.

sale(SalesRecordType)

The sales record associated with this order, if any.

source(String)

The source offering that generated this order.

terms([TermInterface])

The terms applicable to this order.

Example

{
  "identifier": NonEmptyString,
  "customer": AccountType,
  "lines": [LegacyOrderLineType],
  "orderedAt": "2020-01-01T00:00:00.000Z",
  "terms": TermInterface,
  "sale": KrakenDrivenSalesInfoType,
  "source": "abc123"
}

LegacyProcessOrderOutput

Output type for the result of processing an order.

Fields

NameDescription
identifier(NonEmptyString)

The unique identifier of the processed order.

resources([LegacyOrderResource!])

The resources associated with the processed order.

status(OrderStatus)

The status of the order processing.

Example

{
  "status": "PENDING",
  "identifier": NonEmptyString
}

Fields

NameDescription
code(String)

createdAt(DateTime)

id(ID)

includesElectricity(Boolean)

includesExport(Boolean)

includesGas(Boolean)

postcode(String)

products([QuotedProduct])

Deprecated

The 'products' field is deprecated.

Use quotedProducts instead.

- Marked as deprecated on 2022-09-02.
- Scheduled for removal on or after 2022-10-02.

quotedProducts([QuotedProduct])

Arguments

filterHeroProducts (Boolean)

Return only the top hero products relating to the quote.

quotedSupplyPoints([QuotedSupplyPointType])

Quoted Supply Point.

referenceUsage(DmoReferenceType)

Return the DMO Reference Data for the quoted NMI.

Deprecated

The 'dmoReference' field is deprecated.

Replace with `QuotedProductType.priceReference` which works across markets.

- Marked as deprecated on 2023-11-28.
- Scheduled for removal on or after 2024-05-28.

Example

{
  "id": "abc123",
  "code": "abc123",
  "postcode": "abc123",
  "includesElectricity": true,
  "includesGas": true,
  "includesExport": true,
  "createdAt": "2020-01-01T00:00:00.000Z",
  "referenceUsage": DmoReferenceType
}

Fields

NameDescription
annualAmount(String)

Deprecated

The 'annualAmount' field is deprecated.

Replaced with new estimate field.

- Marked as deprecated on 2023-07-10.
- Scheduled for removal on or after 2023-08-10.

code(String)

description(String)

elecAnnualAmount(String)

Deprecated

The 'elecAnnualAmount' field is deprecated.

Replaced with new estimate field.

- Marked as deprecated on 2023-07-10.
- Scheduled for removal on or after 2023-08-10.

estimate(Estimate)

Cost and usage estimation.

gasAnnualAmount(String)

Deprecated

The 'gasAnnualAmount' field is deprecated.

Replaced with new estimate field.

- Marked as deprecated on 2023-07-10.
- Scheduled for removal on or after 2023-08-10.

id(ID)

isRecommended(Boolean)

marketSupplyProduct(Product)

Arguments

filteredRatesByQuoteNmi (String)

Return only the marketSupplyProduct rates associated with the associated quote/meter point.

Deprecated in favour of relativeToMeterPointNmi.

Scheduled for removal on 2022-9-22

relativeToMeterPointNmi (String)

Return the product in relation to the associated meter point nmi.

monthlyAmount(String)

Deprecated

The 'monthlyAmount' field is deprecated.

Replaced with new estimate field.

- Marked as deprecated on 2023-07-10.
- Scheduled for removal on or after 2023-08-10.

name(String)

priceReference(PriceReferenceInterface)

usageReference(UsageReferenceInterface)

Return the Usage Reference for the quoted product.

Example

{
  "id": "abc123",
  "name": "abc123",
  "code": "abc123",
  "description": "abc123",
  "monthlyAmount": "abc123",
  "annualAmount": "abc123",
  "elecAnnualAmount": "abc123",
  "gasAnnualAmount": "abc123",
  "isRecommended": true,
  "marketSupplyProduct": Product
}

Fields

NameDescription
details(String)

id(ID!)

isOwnedByKraken(Boolean)

lifeSupportDate(Date)

lifeSupportEquipment(LifeSupportEquipment)

lifeSupportStatus(LifeSupportStatus)

preferredContactMethod(LifeSupportPreferredContactMethod)

Example

{
  "id": "abc123",
  "lifeSupportDate": "2020-01-01",
  "details": "abc123",
  "lifeSupportStatus": "REGISTERED_NO_MEDICAL_CONFIRMATION",
  "lifeSupportEquipment": "OXYGEN_CONCENTRATOR",
  "isOwnedByKraken": true,
  "preferredContactMethod": "POSTAL_ADDRESS"
}

Fields

NameDescription
hasLifeSupportRecord(Boolean)

If the account has a current or past life support record, takes a conservative approach on this unless we have explicit confirmation that they are NOT on life support.

records([LifeSupportRecordType])

Example

{
  "hasLifeSupportRecord": true,
  "records": [LifeSupportRecordType]
}

Fields

NameDescription
joinSupplierProcesses(JoinSupplierProcessConnectionTypeConnection)

List of JoinSupplierProcess for an account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

leavePropertyProcesses(LeavePropertyProcessConnectionTypeConnection)

List of LeavePropertyProcess for an account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

leaveSupplierProcesses(LeaveSupplierProcessConnectionTypeConnection)

List of LeaveSupplierProcess for an account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

occupyPropertyProcesses(OccupyPropertyProcessConnectionTypeConnection)

List of OccupyPropertyProcess for an account.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example


LifecycleType

Represents the lifecycle of an offering.

Fields

NameDescription
activatedAt(DateTime)

DateTime when the offering was activated.

code(String!)

Unique lifecycle code.

maxVersion(Int!)

Maximum version number reached.

previousOffering(ID)

Identifier of the previous version of this offering.

status(CatalogComponentStatus!)

Current status of the offering.

version(Int!)

Current version of the offering.

Example

{
  "code": "abc123",
  "version": 1,
  "maxVersion": 1,
  "previousOffering": "abc123",
  "status": "DRAFT",
  "activatedAt": "2020-01-01T00:00:00.000Z"
}

LineCommonError

A base error type. Should be used for general application or lower level errors.

Fields

NameDescription
field(String)

The field that for which this error should be associated.

message(String!)

The error message to display to the user.

Example

{
  "message": "abc123",
  "field": "abc123"
}

LineEmoji

A LINE specific emoji object. refs: https://developers.line.biz/en/reference/messaging-api/#text-message

Fields

NameDescription
emojiId(String!)

The emoji id.

index(Int!)

The location of the emoji in the message.

length(Int)

The length of the emoji string placeholder.

productId(String!)

The product id.

Example

{
  "index": 1,
  "length": 1,
  "productId": "abc123",
  "emojiId": "abc123"
}

Fields

NameDescription
id(ID!)

Example

{
  "id": "abc123"
}

LineItemType

The smallest component of a charge on the bill.

Fields

NameDescription
charge(AccountChargeType)

The charge.

chargeTarget(String!)

consumptionIsEstimated(Boolean)

Whether the consumption for this line item was estimated. Note that if the value returned is null, it means that the data is not available.

currency(LineItemCurrency!)

netAmount(Decimal!)

numberOfUnits(Decimal!)

periodEndAt(DateTime!)

periodStartAt(DateTime!)

pricePerUnit(Decimal!)

rate(RateInterface)

The associated rate for the item.

supplyType(String!)

Example

{
  "supplyType": "abc123",
  "periodStartAt": "2020-01-01T00:00:00.000Z",
  "periodEndAt": "2020-01-01T00:00:00.000Z",
  "numberOfUnits": "1.0",
  "pricePerUnit": "1.0",
  "netAmount": "1.0",
  "chargeTarget": "abc123",
  "rate": RateInterface,
  "charge": AccountChargeType,
  "consumptionIsEstimated": true,
  "currency": "AUD_CENTS"
}

LineLinkRedirectResponse

Link Successful. Complete link process with LINE.

Fields

NameDescription
redirectUrl(String!)

Example

{
  "redirectUrl": "abc123"
}

Fields

NameDescription
keywords([String!]!)

Keywords describing the sticker.

packageId(String!)

Sticker package id.

resourceType(String!)

Sticker resource type.

stickerId(String!)

Sticker id.

text(String!)

Text used to customize some stickers.

Example

{
  "packageId": "abc123",
  "stickerId": "abc123",
  "resourceType": "abc123",
  "keywords": "abc123",
  "text": "abc123"
}

Fields

NameDescription
displayContent(String!)

The display content.

emojis([LineEmoji!])

The emojis in the message.

Example

{
  "displayContent": "abc123",
  "emojis": [LineEmoji]
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

LinkAccountToBusiness

Link an account to a business.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11104: Business role already allocated.
  • KT-CT-11105: Business role already allocated.
  • KT-CT-11106: Unauthorized.
  • KT-CT-11107: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
business(BusinessType)

The business the account was linked to.

Example

{
  "business": BusinessType
}

LinkActionType

An action which navigates to any URL.

Fields

NameDescription
id(ID)

Unique identifier of the object.

typeName(String)

The name of the action object's type.

typename(String)

The name of the object's type.

url(String!)

The URL to navigate to.

Example

{
  "typeName": "abc123",
  "id": "abc123",
  "typename": "abc123",
  "url": "abc123"
}

LinkTokenNotFound

Returned when no LineAccountLink record matching the parameters exists.

Fields

NameDescription
type(LineLinkErrorType!)

The type of error that occurred.

Example

{
  "type": "NO_MATCHING_LINE_LINK"
}

Fields

NameDescription
averageMonthlyCharge(Int)

The combined average montly cost for all markets based on usage.

balanceAdjustment(Int)

Suggested temporary adjustment to ongoing usage amount to cover debt or overpayment.

consumption(ConsumptionBreakdownConnectionTypeConnection)

Breakdown of customer's estimated or real usage per market and per month.

Arguments

after (String)

before (String)

first (Int)

last (Int)

currentBalance(Int)

The balance the ledger has at the time of review.

existingMonthlyAmount(Int)

The amount the customer is paying monthly at the time of the review.

reviewedOn(Date)

The date that we used to calculate the review of the ledger.

suggestedNewMonthlyAmount(Int)

The suggested monthly payment amount in minor currency following the payment adequacy review.

targetBalance(Int)

The balance we expect the ledger to have at the end period of the review.

Example

{
  "suggestedNewMonthlyAmount": 1,
  "consumption": ConsumptionBreakdownConnectionTypeConnection,
  "averageMonthlyCharge": 1,
  "existingMonthlyAmount": 1,
  "balanceAdjustment": 1,
  "currentBalance": 1,
  "targetBalance": 1,
  "reviewedOn": "2020-01-01"
}

LoyaltyCardType

A loyalty card.

Fields

NameDescription
id(ID!)

number(String)

The number of the loyalty card.

scheme(String)

The scheme of the loyalty card.

status(String)

The status of the loyalty card.

Example

{
  "id": "abc123",
  "scheme": "abc123",
  "number": "abc123",
  "status": "abc123"
}

LoyaltyPointLedgerEntryType

A Loyalty Point ledger entry.

Fields

NameDescription
accountNumber(String)

The account number associated with the entry.

balanceBroughtForward(String)

Equal to the balance_carried_forward from the previous ledger entry or zero if this is the first one.

balanceCarriedForward(String)

Equal to the balance_brought_forward plus or minus the value depending on the ledger_type.

id(ID!)

idempotencyKey(UUID)

A unique idempotency key for the operation.

ledgerType(String)

The LedgerEntryType. Either CHARGE or CREDIT.

postedAt(DateTime)

The date the points were added to the ledger.

reasonCode(String)

The reason the entry was being added.

value(String)

The value of the charge or credit.

Example

{
  "id": "abc123",
  "ledgerType": "abc123",
  "value": "abc123",
  "balanceBroughtForward": "abc123",
  "balanceCarriedForward": "abc123",
  "reasonCode": "abc123",
  "idempotencyKey": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "postedAt": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123"
}

Fields

NameDescription
isEligible(Boolean)

Whether the account is eligible to join the loyalty points program.

primaryIneligibilityReason(String)

The primary reason for ineligibility, if any.

Example

{
  "isEligible": true,
  "primaryIneligibilityReason": "abc123"
}

Fields

NameDescription
scheme(String)

The loyalty scheme in use.

Example

{
  "scheme": "abc123"
}

Fields

NameDescription
correlationId(String!)

currentStatus(MDHXStatusReason)

id(ID!)

processType(MDHXProcessType)

statusReason(String)

Example

{
  "id": "abc123",
  "correlationId": "abc123",
  "processType": "MIRN_DISCOVERY",
  "currentStatus": "REQUEST_RECEIVED",
  "statusReason": "abc123"
}

Fields

NameDescription
account(AccountType)

The account associated with the MIRN. This will be null if there is no linked account.

accountNumber(String)

The account number associated with the MIRN. This will be null if there is no linked account.

Deprecated

The 'accountNumber' field is deprecated.

Use account to access the account.number instead.

- Marked as deprecated on 2024-01-19.
- Scheduled for removal on or after 2024-06-01.

isOccupier(Boolean)

Whether the account associated with MIRN is an occupier account. This will be null if there is no linked account.

isOnSupply(Boolean)

Whether the MIRN searched for is currently on supply.

krakenStatus(KrakenStatus)

Meter point Status for the MIRN in Kraken. It will be null if the MIRN is not on supply.

supplyStartDate(Date)

Date since when the MIRN is on supply. It will be null if the MIRN is not on supply.

Example

{
  "isOnSupply": true,
  "krakenStatus": "OFF_SUPPLY",
  "supplyStartDate": "2020-01-01",
  "isOccupier": true,
  "accountNumber": "abc123",
  "account": AccountType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

MakePaymentWithNewCard

Make Payment with a new card and save the card.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
accountPayment(AccountPaymentType)

The new payment.

creditCardInstruction(DirectDebitInstructionType)

The credit card instruction used.

Example

{
  "accountPayment": AccountPaymentType,
  "creditCardInstruction": DirectDebitInstructionType
}

MakePaymentWithSavedCard

Make a payment with a saved credit card instruction.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountPayment(AccountPaymentType)

Example

{
  "accountPayment": AccountPaymentType
}

ManualReviewMeterDataIssue

Mark a Meter Data Issue as manually reviewed by setting its status to IN_REVIEW.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-13802: Meter data issue not found.
  • KT-CT-13806: Invalid market name provided.
  • KT-CT-13808: No active flow exists for this issue.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
meterDataIssueManualReviewed(ManualReviewMeterDataIssueOutputType)

The manually reviewed meter data issue.

Example

{
  
}

ManualReviewMeterDataIssueOutputType

Output for marking a MeterDataIssue as manually reviewed.

Fields

NameDescription
issueId(Int)

The ID of the MeterDataIssue.

status(MeterDataIssueStatus)

The new status of the meter data issue.

Example

{
  "issueId": 1,
  "status": "OPEN"
}

MarkPrintBatchAsProcessed

Mark a closed print batch as processed.

The possible errors that can be raised are:

  • KT-CT-9011: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
printBatch(PrintBatchType)

Example

{
  
}

Fields

NameDescription
field(String!)

The input field that failed database lookup.

message(String!)

Example

{
  "message": "abc123",
  "field": "abc123"
}

Fields

NameDescription
marketType(String)

The market type.

participantId(String)

The participant ID.

participantName(String)

The participant name.

participantType(String)

The participant type.

Example

{
  "participantId": "abc123",
  "participantName": "abc123",
  "participantType": "abc123",
  "marketType": "abc123"
}

Fields

NameDescription
code(String)

createdAt(DateTime)

id(ID)

includesElectricity(Boolean)

includesExport(Boolean)

includesGas(Boolean)

postcode(String)

products([QuotedProduct])

Deprecated

The 'products' field is deprecated.

Use quotedProducts instead.

- Marked as deprecated on 2022-09-02.
- Scheduled for removal on or after 2022-10-02.

quotedProducts([QuotedProduct])

Arguments

filterHeroProducts (Boolean)

Return only the top hero products relating to the quote.

quotedSupplyPoints([QuotedSupplyPointType])

The quoted supply point.

referenceUsage(DmoReferenceType)

Return the DMO Reference Data for the quoted NMI.

Deprecated

The 'dmoReference' field is deprecated.

Replace with `QuotedProductType.priceReference` which works across markets.

- Marked as deprecated on 2023-11-28.
- Scheduled for removal on or after 2024-05-28.

Example

{
  "id": "abc123",
  "code": "abc123",
  "postcode": "abc123",
  "includesElectricity": true,
  "includesGas": true,
  "includesExport": true,
  "createdAt": "2020-01-01T00:00:00.000Z",
  "referenceUsage": DmoReferenceType
}

Fields

NameDescription
acceptedAt(DateTime)

code(String)

The code of the created quote.

quotedSupplyPoints(MarketSupplyQuotedSupplyPointConnectionTypeConnection)

List of quoted supply points.

Arguments

after (String)

before (String)

first (Int)

last (Int)

requestedAt(DateTime)

termsAndConditions(TermsAndConditionsConnectionTypeConnection)

List of terms and conditions applicable to the quote.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "acceptedAt": "2020-01-01T00:00:00.000Z",
  "requestedAt": "2020-01-01T00:00:00.000Z",
  "code": "abc123",
  "quotedSupplyPoints": MarketSupplyQuotedSupplyPointConnectionTypeConnection,
  "termsAndConditions": TermsAndConditionsConnectionTypeConnection
}

Fields

NameDescription
annualAmount(String)

Deprecated

The 'annualAmount' field is deprecated.

Replaced with new estimate field.

- Marked as deprecated on 2023-07-10.
- Scheduled for removal on or after 2023-08-10.

code(String)

description(String)

elecAnnualAmount(String)

Deprecated

The 'elecAnnualAmount' field is deprecated.

Replaced with new estimate field.

- Marked as deprecated on 2023-07-10.
- Scheduled for removal on or after 2023-08-10.

estimate(Estimate)

Cost and usage estimation.

gasAnnualAmount(String)

Deprecated

The 'gasAnnualAmount' field is deprecated.

Replaced with new estimate field.

- Marked as deprecated on 2023-07-10.
- Scheduled for removal on or after 2023-08-10.

id(ID)

isRecommended(Boolean)

marketSupplyProduct(Product)

Arguments

filteredRatesByQuoteNmi (String)

Return only the marketSupplyProduct rates associated with the associated quote/meter point.

Deprecated in favour of relativeToMeterPointNmi.

Scheduled for removal on 2022-9-22

relativeToMeterPointNmi (String)

Return the product in relation to the associated meter point nmi.

monthlyAmount(String)

Deprecated

The 'monthlyAmount' field is deprecated.

Replaced with new estimate field.

- Marked as deprecated on 2023-07-10.
- Scheduled for removal on or after 2023-08-10.

name(String)

priceReference(PriceReferenceInterface)

usageReference(UsageReferenceInterface)

Return the Usage Reference for the quoted product.

Example

{
  "id": "abc123",
  "name": "abc123",
  "code": "abc123",
  "description": "abc123",
  "monthlyAmount": "abc123",
  "annualAmount": "abc123",
  "elecAnnualAmount": "abc123",
  "gasAnnualAmount": "abc123",
  "isRecommended": true,
  "marketSupplyProduct": Product
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([MarketSupplyQuotedProductConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": MarketSupplyQuotedProductConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

MarketSupplyQuotedProductConnectionTypeEdge

A Relay edge containing a MarketSupplyQuotedProductConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(MarketSupplyQuotedProductType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

MarketSupplyQuotedProductType

A product quoted for a supply point.

Fields

NameDescription
clientParams(JSONString)

A JSON object containing client parameters on the quoted product.

id(ID!)

product(SupplyProductType)

The product associated with the quoted product.

wasSelected(Boolean!)

Example

{
  "id": "abc123",
  "wasSelected": true,
  "product": SupplyProductType,
  "clientParams": {"key": "value"}
}

MarketSupplyQuotedSupplyPointConnectionTypeConnection

Pagination for quoted supply points.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([MarketSupplyQuotedSupplyPointConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": MarketSupplyQuotedSupplyPointConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

MarketSupplyQuotedSupplyPointConnectionTypeEdge

A Relay edge containing a MarketSupplyQuotedSupplyPointConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(MarketSupplyQuotedSupplyPointType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

MarketSupplyQuotedSupplyPointType

A supply point quoted as part of a quote request.

Fields

NameDescription
clientParams(JSONString)

A JSON object containing client parameters on the quoted product.

id(ID)

The ID of the quoted supply point.

identifier(String)

The identifier of the quoted supply point, if one exists.

marketName(String)

The market this supply point belongs to.

quotedProducts(MarketSupplyQuotedProductConnectionTypeConnection)

Details of all products quoted for this supply point.

Arguments

after (String)

before (String)

first (Int)

last (Int)

supplyPoint(SupplyPointType)

The supply point being quoted.

Example

{
  "marketName": "abc123",
  "id": "abc123",
  "identifier": "abc123",
  "quotedProducts": MarketSupplyQuotedProductConnectionTypeConnection,
  "supplyPoint": SupplyPointType,
  "clientParams": {"key": "value"}
}

MasqueradeAuthentication

Provide a temporary token to get an auth token. This is intended to allow support users to view customer data through the brand interface.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
errors([ErrorType])

A list of any errors that occurred while running this mutation.

token(String)

A Kraken Token that can be used to authenticate to the API, masquerading as the desired user.

Example

{
  "token": "abc123",
  "errors": [ErrorType]
}

Fields

NameDescription
amount(Int)

The maximum amount available to be requested as a refund.

reasonToRecommendAmount(MaximumRefundReasonChoices)

The reason why a specific amount is the maximum available to be requested as a refund.

recommendedBalance(Int)

The recommended minimum balance an account should have when asking for a refund.

Example

{
  "amount": 1,
  "reasonToRecommendAmount": "MAX_AVAILABLE_AMOUNT",
  "recommendedBalance": 1
}

MeasurementConnection

Pagination for measurements.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([MeasurementEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": MeasurementEdge,
  "totalCount": 1,
  "edgeCount": 1
}

MeasurementEdge

A Relay edge containing a Measurement and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(MeasurementInterface)

The item at the end of the edge

Example

{
  "node": MeasurementInterface,
  "cursor": "abc123"
}

Fields

NameDescription
metaData(MeasurementsMetadataOutput)

This type will return more granular data about the measurement.

readAt(DateTime!)

The datetime the measurement was taken.

source(String!)

The data source of the measurement.

unit(String!)

The unit of the measurement.

value(Decimal!)

The value of the measurement.

Example

{
  "source": "abc123",
  "metaData": MeasurementsMetadataOutput,
  "value": "1.0",
  "unit": "abc123",
  "readAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
extras([ExtrasOutput])

Extras relating to the parent measurement node.

statistics([StatisticOutput])

Statistics relating to the parent measurement node.

utilityFilters(UtilityFiltersOutput)

The source information relating to the parent measurement node.

Example

{
  "utilityFilters": ElectricityFiltersOutput,
  "statistics": [StatisticOutput],
  "extras": [ExtrasOutput]
}

Fields

NameDescription
account(AccountType)

The account associated with this transactional message.

accountUser(AccountUserType)

The account user associated with this transactional message.

channel(Channel!)

The channel that the message was sent through.

dispatchedAt(DateTime)

The date/time that Kraken dispatched the message to the vendor.

failedAt(DateTime)

The date/time that the message was confirmed as having failed to send.

id(String!)

The ID of the transactional message.

Example

{
  "channel": "EMAIL",
  "dispatchedAt": "2020-01-01T00:00:00.000Z",
  "failedAt": "2020-01-01T00:00:00.000Z",
  "id": "abc123",
  "account": AccountType,
  "accountUser": AccountUserType
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([MessageEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": MessageEdge,
  "totalCount": 1,
  "edgeCount": 1
}

MessageEdge

A Relay edge containing a Message and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(Message)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

MessageType

Represents a communication.

Fields

NameDescription
attachments([AttachmentType])

Attachments of the message.

channel(MessageChannel!)

createdAt(DateTime!)

fromEmail(String!)

fromNumber(String!)

id(ID!)

sentAt(DateTime)

templateCode(String!)

toAddress(String!)

toNumber(String!)

Example

{
  "id": "abc123",
  "channel": "EMAIL",
  "toAddress": "abc123",
  "fromEmail": "abc123",
  "toNumber": "abc123",
  "fromNumber": "abc123",
  "templateCode": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "sentAt": "2020-01-01T00:00:00.000Z",
  "attachments": [AttachmentType]
}

Fields

NameDescription
key(String!)

The key for the metadata.

value(JSONString)

The metadata value.

Example

{
  "key": "abc123",
  "value": {"key": "value"}
}

MeterDetails

Meter Details. Can be sourced from within Kraken or elsewhere

Fields

NameDescription
address(MirnSearchResultMeterAddress)

The Australian address of the meter.

existingSupplyPoint(Boolean)

Indicates whether or not these meter details/MIRN are already known.

mirn(String)

The meter identific of the search result address.

Example

{
  "mirn": "abc123",
  "existingSupplyPoint": true
}

Fields

NameDescription
buildingName(String)

dpid(Int)

flatNumber(String)

flatType(String)

floorNumber(String)

floorType(String)

houseNumber(Int)

houseNumberSuffix(String)

locality(String)

locationDescriptor(String)

lotNumber(String)

postcode(String)

state(String)

streetName(String)

streetSuffix(String)

streetType(String)

Example

{
  "dpid": 1,
  "buildingName": "abc123",
  "flatNumber": "abc123",
  "flatType": "abc123",
  "floorNumber": "abc123",
  "floorType": "abc123",
  "houseNumber": 1,
  "houseNumberSuffix": "abc123",
  "locationDescriptor": "abc123",
  "lotNumber": "abc123",
  "streetName": "abc123",
  "streetSuffix": "abc123",
  "streetType": "abc123",
  "locality": "abc123",
  "state": "abc123",
  "postcode": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

MeterPointType

Note that this is electricity specific. Use GasMeterPointType for gas meter points.

Fields

NameDescription
accessDetails(String)

Instructions for physical access to the meter point site.

address(MeterPointAddressType)

We recommend you use siteAddress instead of this field.

Deprecated

The 'address' field is deprecated.

Use siteAddress instead.

- Marked as deprecated on 2022-08-22.
- Scheduled for removal on or after 2022-09-30.

agreements([AusAgreementInterface])

A list of agreements belonging to an account that is linked to the logged in user.

Arguments

includeInactive (Boolean)

branchCode(String)

consumptionSummary([ElectricityCostedConsumptionType!]!)

Fetch consumption for this meterpoint, bucketed into time slices of a variable granularity.

When the readings we have are less granular than the requested granularity (e.g. half-hourly or even monthly consumption requested on an interval meter), the consumption is divided evenly.

Note that, because the way that humans measure time is weird, so too are the results of this endpoint. For instance, a day may not have exactly 48 half-hour periods (because a DST transition happened), and a three-month interval of meter readings may not appear to be spread evenly between months (because months have different numbers of days).

The result will only include periods that are wholly between start_at and end_at; so, for instance, if you have a start_at of midday and a granularity of DAILY, you'll get results starting at midnight the following day.

This field requires the Authorization header to be set.

Arguments

endAt (DateTime!)

Include data ending at this datetime. If a datetime-naïve value (without a UTC offset) is passed, this will be assumed to be in the timezone specified in timezone; if the UTC offset is absent and it is a time that occurs more than once in the given timezone (e.g. 2am on a transition out of DST) the behaviour is undefined.

granularity (ConsumptionGranularity!)

How granular the returned results should be.

includeBasicMeters (Boolean)

Whether to include usage from BASIC meters. Note that because accumulation readings don't happen very often, the basic meter usage will be the average usage between two readings. This might not be the most useful information. The recommendation is to set this as false.

includeEstimates (Boolean)

Include estimated readings.

startAt (DateTime!)

Include data starting at this datetime.

If a datetime-naïve value (without a UTC offset) is passed, this will be assumed to be in the timezone specified in timezone; if the UTC offset is absent and it is a time that occurs more than once in the given timezone (e.g. 2am on a transition out of DST) the behaviour is undefined.

timezone (String!)

Olson timezone identifier to use (e.g. Australia/Melbourne). This is used to determine what time of day to split days and months.

customerClassification(String)

The classification of the end user at this connection point: BUSINESS or RESIDENTIAL.

customerClassificationThreshold(String)

The consumption threshold code as defined in National Energy Retail Regulations: LOW, MEDIUM, or HIGH.

distributionLossFactorCode(String)

The Distribution Loss Factor (DLF) code from the AEMO CATSDLFCODES table.

energizationStatus(EnergizationStatus)

The physical state of the meter point.

energizationStatusFrom(Date)

When the energization status was last changed.

energizationStatusTo(Date)

When the energization status record is recorded until.

enrolment(EnrolmentType)

Details about an enrolment of this meter point. Will be null if no enrolment is taking place.

feederClass(String)

The distribution feeder classification for this meter point.

hazards([String])

A list of known hazards at the meter point site.

id(Int)

The database identifier of the meter point.

identifier(String)

The external identifier for the meter point (NMI for electricity, MIRN for gas).

isOnSupply(Boolean)

Whether the meter point is on supply.

jurisdiction(String)

The Australian state or territory where the meter point is located, e.g. NSW, QLD, VIC.

lnsp(LNSPType)

The Local Network Service Provider responsible for this meter point.

meters([ElectricityMeterType])

The electricity meters installed at this meter point.

Arguments

id (Int)

Filter by meter database ID.

includeInactive (Boolean)

Include decommissioned meters.

nmiChecksum(String)

The check character that is sometimes suffixed to the NMI. For the NMI itself, refer to the identifier field.

nmiClassification(String)

The NMI classification describing the flow of electricity at the connection point, e.g. SMALL, LARGE, GENERATR.

predictedBill(PredictedBillType)

MVP solution for calculating a predicted bill based on costed consumption and standing charges for a given meter point.

The prediction is calculated by the following algorithm:

P(A, B, C, D, E, F) = ( (A + ((B+C)/2)*D ) * E ) + F

Where: A = Aggregated consumption for each register within this meter point in the billing period to date (kWh). B = 7 day average rolling window consumption per day (kWh). C = Average existing usage per day for the current billing period (kWh). D = Remaining days in the current billing period. E = Rate costs. F = Total standing charges for the billing period assuming the customer stays in the same current product rate.

Exceptions: 1. In the first day of the billing cycle, the variable C would tend towards zero. This would result in a poor result for the equation above. Instead, we replace the component ((B+C)/2)D by BD.

Notes: 1. The process of getting a meter reading and storing it usually takes about 24-48h in Kraken. This means that the prediction bill is always lagging 1 or 2 days behind. In order to circumvent this, concepts such as "usage to date" are translated as "usage until the date of the last reading" so that the calculation becomes more precise. In future, Kraken will start digesting and storing readings quicker, so that the date of the last reading will be today and the algorithm will catch up. 2. Building a predicted bill can be computationally expensive so we've imposed a cache of 600 seconds on the query.

This MVP Excludes: - accounts with flexible billing options. - Anything more or less granular than DAILY consumptions/standing charges. - Concessions. - Credits. - Rebates. - Seasonality.

Arguments

includeBasicMeters (Boolean)

Include basic meters.

includeEstimates (Boolean)

Include estimated readings.

includeQuarantined (Boolean)

Include readings that have been quarantined in Kraken.

includeUnbillableRegisters (Boolean)

Include registers that cannot be billed.

supportSteppedTariffs (Boolean)

Use new code path that supports stepped tariffs (defaults to false).

roles(RoleType)

The AEMO market participant roles assigned to this meter point.

sensitiveLoad(Boolean)

Whether the meter point has a sensitive load designation. A registered Life Support record takes precedence over this flag.

siteAddress(RichAddressType)

The structured address of the meter point site.

smartStartDate(Date)

solarScheme(SolarType)

The solar feed-in tariff scheme in place at the meterpoint, if any.

Arguments

asAt (DateTime)

The effective time for network tariff codes (defaults to now).

standingChargesSummary([SummarizedConsumptionType!]!)

Fetch standing charges on this meter point, bucketed into time slices of a variable granularity.

The result will only include periods that are wholly between start_at and end_at; so, for instance, if you have a start_at of midday and a granularity of DAILY, you'll get results starting at midnight the following day.

This field requires the Authorization header to be set.

Deprecated

The 'standingChargesSummary' field is deprecated.

Use standingChargesWindow instead.

- Marked as deprecated on 2022-09-02.
- Scheduled for removal on or after 2022-11-02.

Arguments

endAt (DateTime!)

Include data ending at this datetime.

If a datetime-naïve value (without a UTC offset) is passed, this will be assumed to be in the timezone specified in timezone

granularity (ConsumptionGranularity!)

How granular the returned results should be

startAt (DateTime!)

Include data starting at this datetime.

If a datetime-naïve value (without a UTC offset) is passed, this will be assumed to be in the timezone specified in timezone

timezone (String!)

Olson timezone identifier to use (e.g. Australia/Melbourne). This is used to determine what time of day to split days and months.

standingChargesWindow(StandingChargesWindowType)

Fetch standing charges on this meter point, bucketed into time slices of a variable granularity.

The result will only include periods that are wholly between start_at and end_at; so, for instance, if you have a start_at of midday and a granularity of DAILY, you'll get results starting at midnight the following day.

This field requires the Authorization header to be set.

Arguments

status(String)

The Financial Responsible Market Participant status.

Deprecated

The 'status' field is deprecated.

Use supplyStatus instead.

- Marked as deprecated on 2022-09-02.
- Scheduled for removal on or after 2022-10-10.

supplyDetails(SupplyDetailsType)

Supply details including agreed capacity and connection units.

supplyEndDate(DateTime)

supplyStartDate(DateTime)

supplyStatus(KrakenStatus)

The Financial Responsible Market Participant status.

supplyType(String)

The fuel/service type for this meter point.

transmissionNodeIdentifier(String)

The Transmission Node Identifier (TNI) code from the AEMO CATSTNICODES table.

Example

{
  "id": 1,
  "status": "abc123",
  "agreements": AusAgreementInterface,
  "identifier": "abc123",
  "meters": [ElectricityMeterType],
  "supplyType": "abc123",
  "supplyDetails": SupplyDetailsType,
  "enrolment": EnrolmentType,
  "supplyStatus": "OFF_SUPPLY",
  "supplyStartDate": "2020-01-01T00:00:00.000Z",
  "supplyEndDate": "2020-01-01T00:00:00.000Z",
  "isOnSupply": true,
  "nmiChecksum": "abc123",
  "smartStartDate": "2020-01-01",
  "lnsp": LNSPType,
  "energizationStatus": "A",
  "roles": RoleType,
  "address": MeterPointAddressType,
  "siteAddress": RichAddressType,
  "accessDetails": "abc123",
  "hazards": ["abc123"],
  "customerClassification": "abc123",
  "nmiClassification": "abc123",
  "customerClassificationThreshold": "abc123",
  "jurisdiction": "abc123",
  "feederClass": "abc123",
  "transmissionNodeIdentifier": "abc123",
  "distributionLossFactorCode": "abc123",
  "sensitiveLoad": true,
  "solarScheme": "PFIT",
  "predictedBill": PredictedBillType,
  "standingChargesSummary": SummarizedConsumptionType,
  "standingChargesWindow": StandingChargesWindowType,
  "consumptionSummary": ElectricityCostedConsumptionType,
  "branchCode": "abc123",
  "energizationStatusFrom": "2020-01-01",
  "energizationStatusTo": "2020-01-01"
}

MeterReadingEstimationReadingConnection

Paginator for estimations of meter readings.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([MeterReadingEstimationReadingEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": MeterReadingEstimationReadingEdge,
  "totalCount": 1,
  "edgeCount": 1
}

MeterReadingEstimationReadingEdge

A Relay edge containing a MeterReadingEstimationReading and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(MeterReadingEstimationReadingType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
estimatedByAlgorithm(String)

The algorithm used for the estimation.

intervalEnd(DateTime!)

The end date of the reading interval.

intervalStart(DateTime!)

The start date of the reading interval.

isNewlyEstimated(Boolean!)

Denotes if the reading was estimated.

value(Decimal!)

The value of the reading.

Example

{
  "intervalStart": "2020-01-01T00:00:00.000Z",
  "intervalEnd": "2020-01-01T00:00:00.000Z",
  "value": "1.0",
  "isNewlyEstimated": true,
  "estimatedByAlgorithm": "abc123"
}

Fields

NameDescription
deviceType(String)

The type of MFA device.

isConfirmed(Boolean)

Whether the MFA device is confirmed or not.

Example

{
  "deviceType": "abc123",
  "isConfirmed": true
}

MinimumContractLengthType

Represents the minimum term of a contract.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

length(Int)

The minimum length of the contract.

type(NonEmptyString)

The type of the term.

unitOfTime(String)

The unit of time for the contract length.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "length": 1,
  "unitOfTime": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
error(MirnSearchResultErrorType)

An error that occurred during the search.

meterDetails([MeterDetails])

Details of the gas meter point.

Example

{
  
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
address(String)

Address information. Formatted as a single line and derived from other fields on the Address.

buildingName(String)

Building name of the meter address.

dpidNumber(String)

Dpid number of the meter address.

flatUnitNumber(String)

Flat or unit number of the meter address.

flatUnitType(String)

Flat or unit type of the meter address.

floorNumber(String)

The floor number of the meter address.

floorType(String)

Floor or level type of the meter address.

houseNumber(String)

House number of the meter address.

houseNumberSuffix(String)

House number suffix of the meter address.

locationDescriptor(String)

Location descriptor of the meter address.

lotNumber(String)

Lot number of the meter address.

postcode(String)

Postcode of the meter address.

stateTerritory(StateChoices)

State of the meter address.

streetName(String)

Street name of the meter address.

streetSuffix(String)

Street suffix of the meter address.

streetType(StreetType)

Street type of the meter address.

suburbLocality(String)

Suburb of the meter address.

Example

{
  "houseNumber": "abc123",
  "houseNumberSuffix": "abc123",
  "streetName": "abc123",
  "streetType": "ACCESS",
  "suburbLocality": "abc123",
  "stateTerritory": "AUSTRALIAN_CAPITAL_TERRITORY",
  "postcode": "abc123",
  "streetSuffix": "abc123",
  "flatUnitType": "abc123",
  "flatUnitNumber": "abc123",
  "floorType": "abc123",
  "floorNumber": "abc123",
  "buildingName": "abc123",
  "locationDescriptor": "abc123",
  "lotNumber": "abc123",
  "dpidNumber": "abc123",
  "address": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
error(MoveInDatesErrorUnion)

Potential error message for the query.

moveInDates([Date])

Suitable dates for a move in.

Example

{
  "moveInDates": ["2020-01-01"],
  "error": DoesNotExistErrorType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
error(MoveOutDatesErrorUnion)

moveOutDates([Date])

Example

{
  "moveOutDates": ["2020-01-01"],
  "error": DoesNotExistErrorType
}

MoveToBucket

The possible errors that can be raised are:

  • KT-CT-7612: The Ink conversation was not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
conversation(InkConversation!)

The conversation that was moved to the bucket.

Example

{
  "conversation": InkConversation
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
field(String!)

The input field that matched more than one object in the database.

Example

{
  "field": "abc123"
}

Fields

NameDescription
account(AccountType)

The account associated with the NMI. This will be null if there is no linked account.

accountNumber(String)

The account number associated with the NMI. This will be null if there is no linked account.

Deprecated

The 'accountNumber' field is deprecated.

Use account to access the account.number instead.

- Marked as deprecated on 2024-01-19.
- Scheduled for removal on or after 2024-06-01.

isOccupier(Boolean)

Whether the account associated with NMI is an occupier account. This will be null if there is no linked account.

isOnSupply(Boolean)

Whether the NMI searched for is currently on supply.

krakenStatus(KrakenStatus)

Meter point Status for the NMI in Kraken. It will be null if the NMI is not on supply.

supplyStartDate(Date)

Date since when the NMI is on supply. It will be null if the NMI is not on supply.

Example

{
  "isOnSupply": true,
  "krakenStatus": "OFF_SUPPLY",
  "supplyStartDate": "2020-01-01",
  "isOccupier": true,
  "accountNumber": "abc123",
  "account": AccountType
}

Fields

NameDescription
error(NMIDiscoveryTypeErrorUnion)

nmi(String)

rawAemoResponse(String)

Example

{
  "nmi": "abc123",
  "rawAemoResponse": "abc123",
  "error": BothHouseAndLotNumberErrorType
}

Fields

NameDescription
error(NMIType2DsicoveryErrorUnion)

hasAllActiveRemotelyReadMeters(Boolean)

Returns true if there are active meters and they are all remotely-read, otherwise false.

hasAtLeastOneActiveSmartMeter(Boolean)

Returns true if any active meter is smart, otherwise false.

Deprecated

The 'hasAtLeastOneActiveSmartMeter' field is deprecated.

This is due to be replaced by hasAllActiveRemotelyReadMeters in order to make behaviour consistent throughout the system.

- Marked as deprecated on 2023-01-11.
- Scheduled for removal on or after 2024-01-01.

hasAtLeastOneActiveSolarNtc(Boolean)

hasAtLeastOneRemotelyReadDisconnectedMeter(Boolean)

Returns true if there are any remotely-read meters with the status of remotely disconnected, otherwise false.

rawAemoResponse(String)

Example

{
  "rawAemoResponse": "abc123",
  "hasAtLeastOneActiveSolarNtc": true,
  "hasAtLeastOneActiveSmartMeter": true,
  "hasAllActiveRemotelyReadMeters": true,
  "hasAtLeastOneRemotelyReadDisconnectedMeter": true,
  "error": AEMOAPIUnavailableErrorType
}

NextOperationsTeamRoundRobin

The possible errors that can be raised are:

  • KT-CT-10820: Operations team group not found.
  • KT-CT-10821: No active teams in operations team group.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
allInferredRoutingAttributes([String]!)

All inferred routing attributes for team, location, and team groups (e.g., ['OPERATIONSGROUP.TEAM.TeamA', 'OPERATIONSGROUP.LOCATION.London', 'OPERATIONSGROUP.GROUP_B']). Recommended for IVR usage.

location(TeamLocation!)

Location routing information for the selected team.

team(Team!)

The next operations team assigned in round-robin sequence.

teamGroups([TeamGroup]!)

All operations team groups that the selected team belongs to.

Example

{
  "allInferredRoutingAttributes": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

NotifiableApplicationType

Represents an application that can receive push notifications.

Fields

NameDescription
bundleId(String!)

Bundle ID or package name of the app.

description(String!)

externalProjectId(String!)

Project ID used in push notification delivery service. (Currently: AWS Pinpoint)

externalProvider(NotifiableApplicationExternalProvider!)

id(ID!)

name(String!)

Human readable name for the app.

pushNotificationBindings([PushNotificationBindingType!]!)

service(NotifiableApplicationService!)

Example

{
  "id": "abc123",
  "name": "abc123",
  "bundleId": "abc123",
  "service": "GCM",
  "externalProvider": "PINPOINT",
  "externalProjectId": "abc123",
  "description": "abc123",
  "pushNotificationBindings": PushNotificationBindingType
}

ObtainKrakenJSONWebToken

The unifying approach used to get a Kraken token (JWT: JSON Web Token) with different types of input.

The currently supported inputs are: - account user email/password combination - account user API key - organization live secret key - pre-signed key - refresh token

The possible errors that can be raised are:

  • KT-CT-1135: Invalid data.
  • KT-CT-1134: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
payload(GenericScalar!)

The body payload of the Kraken Token. The same information can be obtained by using JWT decoding tools on the value of the token field.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

refreshExpiresIn(Int)

A Unix timestamp representing the point in time at which the refresh token will expire.

refreshToken(String)

A token that can be used in a subsequent call to obtainKrakenToken to get a new Kraken Token with the same access conditions after the previous one has expired.

token(String!)

The Kraken Token. Can be used in the Authorization header for subsequent calls to the API to access protected resources.

Example

{
  "token": "abc123",
  "payload": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "refreshToken": "abc123",
  "refreshExpiresIn": 1,
  "possibleErrors": [PossibleErrorType]
}

ObtainLongLivedRefreshToken

Obtain a long-lived refresh token.

This mutation is limited to authorized third-party organizations only. Account users can only generate short-lived refresh tokens, obtainable from the 'refreshToken' field in the 'obtainKrakenToken' mutation.

The possible errors that can be raised are:

  • KT-CT-1120: The Kraken Token has expired.
  • KT-CT-1121: Please use Kraken Token to issue long-lived refresh tokens.
  • KT-CT-1132: Unauthorized.
  • KT-CT-1122: Long-lived refresh tokens can only be issued for account users.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
refreshExpiresIn(Int!)

refreshToken(String)

Example

{
  "refreshToken": "abc123",
  "refreshExpiresIn": 1
}

OccupancyPeriodType

An occupancy period for a property.

Fields

NameDescription
accountNumber(String)

Account number associated with this occupancy period.

effectiveFrom(DateTime)

Date the occupancy period is effective from.

effectiveTo(DateTime)

Date the occupancy period is effective to.

id(ID)

The unique ID of the occupancy period.

isOccupier(Boolean)

Whether the account associated with the occupancy period is an occupier account type.

numberOfOccupants(Int)

Number of occupants associated with this occupancy period.

Example

{
  "id": "abc123",
  "effectiveFrom": "2020-01-01T00:00:00.000Z",
  "effectiveTo": "2020-01-01T00:00:00.000Z",
  "isOccupier": true,
  "accountNumber": "abc123",
  "numberOfOccupants": 1
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([OccupyPropertyProcessConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": OccupyPropertyProcessConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

OccupyPropertyProcessConnectionTypeEdge

A Relay edge containing a OccupyPropertyProcessConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(OccupyPropertyProcessType)

The item at the end of the edge

Example

{
  "node": OccupyPropertyProcessType,
  "cursor": "abc123"
}

OccupyPropertyProcessType

Represents a Occupy Property process.

Fields

NameDescription
id(ID)

The ID or the primary key of the lifecycle process.

occupyAt(DateTime!)

status(LifecycleSupplyPointProcessStatus)

The status of the process.

supplyPoints(SupplyPointConnectionTypeConnection!)

The supply points associated with the process.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "id": "abc123",
  "status": "PENDING",
  "occupyAt": "2020-01-01T00:00:00.000Z",
  "supplyPoints": SupplyPointConnectionTypeConnection
}

Fields

NameDescription
createdAt(DateTime)

The date and time when Offer Group was created.

createdBy(ActorType)

The Actor who created the Offer Group.

identifier(ID)

Identifier of the Offer Group.

offers([OfferType])

One or more Offers contained in the Offer Group.

Example

{
  "identifier": "abc123",
  "offers": [OfferType],
  "createdAt": "2020-01-01T00:00:00.000Z",
  "createdBy": ActorType
}

OfferPaymentPlan

Offer a payment plan to a Customer.

The possible errors that can be raised are:

  • KT-AU-3918: Unable to create payment plan.
  • KT-AU-3921: The specified account ledger wasn't found.
  • KT-AU-3931: The payment plan had no payment components.
  • KT-AU-3932: The payment plan offer expiry must be before the first payment.
  • KT-AU-3939: Support User ID not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentPlan(PaymentPlanType)

The payment plan that is offered.

Example

{
  "paymentPlan": PaymentPlanType
}

Fields

NameDescription
acceptedAt(DateTime)

The date and time when Offer was accepted.

createdBy(ActorType)

The Actor who created the Offer.

description(String)

Description of the Offer.

identifier(ID)

Identifier of the Offer.

quote(QuoteType_)

The Quote this Offer is related to.

rejectedAt(DateTime)

The date and time when Offer was rejected.

validFrom(DateTime)

The date and time from which the Offer becomes valid.

validTo(DateTime)

The date and time until which the Offer remains valid.

Example

{
  "identifier": "abc123",
  "quote": QuoteType_,
  "description": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "acceptedAt": "2020-01-01T00:00:00.000Z",
  "rejectedAt": "2020-01-01T00:00:00.000Z",
  "createdBy": ActorType
}

OfferingComponentType

Represents a nested offering component within an offering.

Fields

NameDescription
component(OfferingType!)

The offering associated with this component.

identifier(ID!)

Unique identifier of the component.

initialQuantity(Int!)

Initial/default quantity for this component.

maximumQuantity(Int!)

Maximum quantity of this component that can be selected.

minimumQuantity(Int!)

Minimum quantity of this component that can be selected.

Example

{
  "identifier": "abc123",
  "minimumQuantity": 1,
  "maximumQuantity": 1,
  "initialQuantity": 1
}

OfferingType

Represents a product offering in the catalog.

Fields

NameDescription
customerDescription(String!)

Customer-facing description of the offering.

customerName(String!)

Customer-facing name of the offering.

groups([GroupType])

Groups of components with cardinality constraints.

identifier(ID!)

Unique identifier of the offering.

internalName(String!)

Internal name used to identify the offering.

isActive(Boolean!)

Whether this offering is currently active.

isAmendable(Boolean!)

Whether this offering can be amended (only DRAFT offerings).

isDraft(Boolean!)

Whether this offering is in draft status.

isExpired(Boolean!)

Whether this offering has expired.

isFirstDraft(Boolean!)

Whether this is the first draft version (version 1, not yet activated).

isLatestVersion(Boolean!)

Whether this is the latest version of the offering.

isSellable(Boolean!)

Whether this offering can be sold stand-alone.

lifecycle(LifecycleType!)

Lifecycle information for this offering.

offeringComponents([OfferingComponentType])

Nested offering components included in this offering.

productComponents([ProductComponentType])

Product components included in this offering.

tags([TagType])

Tags associated with this offering.

termTemplateComponents([TermTemplateComponentType])

Contract term template components included in this offering.

Example

{
  "identifier": "abc123",
  "internalName": "abc123",
  "customerName": "abc123",
  "customerDescription": "abc123",
  "isSellable": true,
  "isAmendable": true,
  "isExpired": true,
  "isActive": true,
  "isDraft": true,
  "isLatestVersion": true,
  "isFirstDraft": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([OnSiteJobsAssetConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": OnSiteJobsAssetConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

OnSiteJobsAssetConnectionTypeEdge

A Relay edge containing a OnSiteJobsAssetConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(OnSiteJobsAssetType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

OnSiteJobsAssetType

An On-Site Jobs Asset

Fields

NameDescription
additionalDetails(JSONString!)

externalIdentifier(String!)

fuelType(OnSiteJobsAssetFuelType)

The fuel type of the asset.

kind(OnSiteJobsAssetKind!)

The kind of the asset.

status(OnSiteJobsAssetStatus!)

The status of the asset.

supplyPointIdentifier(String)

The internal identifier of the supply point associated with the asset.

Deprecated

The 'supplyPointIdentifier' field is deprecated.

Use 'supplyPointInternalIdentifier' instead. This field is being removed as the underlying model field is being removed.

- Marked as deprecated on 2026-01-16.
- Scheduled for removal on or after 2026-03-01.

supplyPointInternalIdentifier(Int)

Example

{
  "externalIdentifier": "abc123",
  "additionalDetails": {"key": "value"},
  "supplyPointInternalIdentifier": 1,
  "supplyPointIdentifier": "abc123",
  "status": "EXISTING",
  "kind": "METER",
  "fuelType": "ELECTRICITY"
}

OnSiteJobsCheckResultsType

Check results for creating On-Site Jobs requests and appointments.

Fields

NameDescription
canCreateRequest(Boolean)

Whether a request can be created (overall request check is PASS/WARNING).

hasRequestWarnings(Boolean)

Whether any of the request checks have warnings.

requestCheckResults([CheckResultType])

Results of request checks.

Example

{
  "canCreateRequest": true,
  "hasRequestWarnings": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([OnSiteJobsRequestActionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": OnSiteJobsRequestActionConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

OnSiteJobsRequestActionConnectionTypeEdge

A Relay edge containing a OnSiteJobsRequestActionConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(OnSiteJobsRequestActionType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

OnSiteJobsRequestActionType

An action linked to an On Site Jobs Request.

Fields

NameDescription
actionTriggerStage(OnSiteJobsRequestActionTriggerStage)

The request stage at which this action is triggered.

workflowName(String)

The name of the workflow.

workflowStatus(Status)

The current status of the workflow.

Example

{
  "actionTriggerStage": "POST_REQUEST_COMPLETION",
  "workflowName": "abc123",
  "workflowStatus": "SKIPPED"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([OnSiteJobsRequestConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": OnSiteJobsRequestConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

OnSiteJobsRequestConnectionTypeEdge

A Relay edge containing a OnSiteJobsRequestConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(OnSiteJobsRequestType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

OnSiteJobsRequestType

An On Site Jobs Request

Fields

NameDescription
account(String)

Request account.

agent(String!)

assets(OnSiteJobsAssetConnectionTypeConnection)

A list of assets attached to this request.

Arguments

after (String)

before (String)

first (Int)

last (Int)

comment(String!)

createdBy(Int)

The ID of the support user who created the request.

externalReference(String!)

id(UUID!)

isEmergency(Boolean!)

marketSupplyPoints(SupplyPointConnectionTypeConnection)

List of supply points on request.

Arguments

after (String)

before (String)

first (Int)

last (Int)

overallActionsStatus(Status)

The overall priority status of all actions linked to the request and its appointments.

property(PropertyType)

Request property.

reason(String!)

requestActions(OnSiteJobsRequestActionConnectionTypeConnection)

A list of actions attached directly to this request.

Arguments

after (String)

before (String)

first (Int)

last (Int)

status(OnSiteJobsRequestStatus)

Request status.

subReason(String!)

Example

{
  "id": "500c164d-38c7-4f74-9ac6-be210197e9e4",
  "reason": "abc123",
  "subReason": "abc123",
  "isEmergency": true,
  "externalReference": "abc123",
  "agent": "abc123",
  "comment": "abc123",
  "account": "abc123",
  "marketSupplyPoints": SupplyPointConnectionTypeConnection,
  "property": PropertyType,
  "status": "APPOINTMENT_FAILED",
  "overallActionsStatus": "SKIPPED",
  "requestActions": OnSiteJobsRequestActionConnectionTypeConnection,
  "createdBy": 1
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
id(ID)

ID for the Operations Team.

name(String)

Name for the Operations Team.

Example

{
  "id": "abc123",
  "name": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([OpportunitiesEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": OpportunitiesEdge,
  "totalCount": 1,
  "edgeCount": 1
}

OpportunitiesEdge

A Relay edge containing a Opportunities and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(OpportunityOutput)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
category(OpportunityAttachmentCategory)

Attachment category.

filename(String)

Attachment filename.

id(ID)

Attachment ID.

Example

{
  "id": "abc123",
  "category": "LEAD_FILE",
  "filename": "abc123"
}

Fields

NameDescription
expiresAt(DateTime)

The date and time the file attachment will expire.

presignedUrl(String)

Presigned URL for the file attachment.

Example

{
  "presignedUrl": "abc123",
  "expiresAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
assignedToAffiliateNumber(String)

The affiliate's name this opportunity is assigned to.

assignedToTeam(String)

Team assigned to this opportunity.

Deprecated

The 'assignedToTeam' field is deprecated.

Please use 'assignedToTeamIdentifier' instead.

- Marked as deprecated on 2026-04-22.
- Scheduled for removal on or after 2026-06-22.

assignedToTeamIdentifier(String)

The identifier of the team assigned to this opportunity.

assignedToUser(String)

User assigned to this opportunity.

Deprecated

The 'assignedToUser' field is deprecated.

Please use 'assignedToUserIdentifier' instead.

- Marked as deprecated on 2026-04-22.
- Scheduled for removal on or after 2026-06-22.

assignedToUserIdentifier(String)

The identifier of the user assigned to this opportunity.

attachments([OpportunityAttachment])

Attachments for the opportunity.

conversionSalesChannel(String)

Sales channel at conversion time.

creationSalesChannel(String)

Sales channel recorded when the opportunity was first created.

email(String)

Lead account holder email.

extraDetailItems([ExtraDetail])

Extra details about the opportunity as key/value pairs.

extraDetails(JSONString)

Extra details about the opportunity.

Deprecated

The 'extraDetails' field is deprecated.

Use `extraDetailsItems` instead, which provides a structured key/value format.

- Marked as deprecated on 2026-01-14.
- Scheduled for removal on or after 2026-07-14.

funnel(SalesFunnel)

The sales funnel this opportunity is in.

leadNumber(String)

Lead number.

leadType(String)

Lead type.

name(String)

Lead legal name.

notes(String)

Notes for the opportunity.

number(String)

Opportunity number.

offerGroupId(String)

Offer group ID.

opportunityAddress(AddressOutput)

Opportunity address.

opportunityId(ID)

Opportunity ID.

Deprecated

The 'opportunityId' field is deprecated.

Use `number` instead.

- Marked as deprecated on 2025-12-16.
- Scheduled for removal on or after 2026-02-16.

opportunityRichAddress(RichAddressType)

Opportunity rich address.

phoneNumber(String)

Lead account holder phone number.

productOffering(OfferingType)

The product offering of the opportunity.

productOfferingId(String)

Product offering ID.

salesChannel(String)

Sales channel.

stage(String)

Current stage in a funnel.

supplyPoints([LeadSupplyPointType])

List of supply points associated with the opportunity.

Arguments

input (LeadSupplyPointFiltersInput)

Input fields for retrieving supply points by market.

Example

{
  "opportunityId": "abc123",
  "leadNumber": "abc123",
  "leadType": "abc123",
  "name": "abc123",
  "email": "abc123",
  "phoneNumber": "abc123",
  "number": "abc123",
  "stage": "abc123",
  "extraDetails": {"key": "value"},
  "opportunityRichAddress": RichAddressType,
  "salesChannel": "abc123",
  "creationSalesChannel": "abc123",
  "conversionSalesChannel": "abc123",
  "assignedToTeam": "abc123",
  "assignedToUser": "abc123",
  "assignedToUserIdentifier": "abc123",
  "assignedToTeamIdentifier": "abc123",
  "productOfferingId": "abc123",
  "offerGroupId": "abc123",
  "notes": "abc123",
  "assignedToAffiliateNumber": "abc123"
}

Fields

NameDescription
market(String)

The market for the Product.

productCharacteristics(GenericScalar)

The characteristics of the product.

productCode(String)

The code of the Product.

productIdentifier(String)

The UUID for the Product.

productOfferingIdentifier(String)

The UUID for the Product Offering.

Example

{
  "productOfferingIdentifier": "abc123",
  "productIdentifier": "abc123",
  "productCode": "abc123",
  "productCharacteristics": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "market": "abc123"
}

OrganisationReferenceType

A namespaced external reference attached to a partner organisation.

Fields

NameDescription
namespace(String!)

The code for the namespace this reference belongs to.

value(String!)

The reference value within the namespace.

Example

{
  "namespace": "abc123",
  "value": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
account(AccountType)

If known, this is the account that a call is about. For inbound calls, we attempt to identify the account based on the phone number of the incoming call. For outbound calls, the account will be automatically set if the call was initiated from an account page. For all call types, the account can be updated, for example to correct a misidentification of an incoming call.

id(ID!)

The ID of the call.

metadata([CallMetadataItemType]!)

Metadata related to the call, for example metrics or data passed via an interactive voice response (IVR).

tags([CallTagType]!)

Tags that have been applied to the call, for example during call wrap-up.

Example

{
  "id": "abc123",
  "account": AccountType
}

Fields

NameDescription
category(AppSessionOutcomeCategory)

reason(String)

type(AppSessionOutcomeType!)

Example

{
  "type": "SALE",
  "category": "SUCCESS",
  "reason": "abc123"
}

PageInfo

The Relay compliant PageInfo type, containing data necessary to paginate this connection.

Fields

NameDescription
endCursor(String)

When paginating forwards, the cursor to continue.

hasNextPage(Boolean!)

When paginating forwards, are there more items?

hasPreviousPage(Boolean!)

When paginating backwards, are there more items?

startCursor(String)

When paginating backwards, the cursor to continue.

Example

{
  "hasNextPage": true,
  "hasPreviousPage": true,
  "startCursor": "abc123",
  "endCursor": "abc123"
}

Fields

NameDescription
code(String!)

The unique code of the role.

description(String!)

The description of the role.

name(String!)

The unique displayable name of the role.

permissionCodes([String]!)

The permissions associated with the role.

Example

{
  "code": "abc123",
  "name": "abc123",
  "description": "abc123",
  "permissionCodes": "abc123"
}

PartnerTeamType

A partner team within an affiliate organisation.

Fields

NameDescription
name(String!)

The partner team's name.

number(String!)

The partner team's number.

parentTeamNumber(String)

The number of the parent team, if any.

teamMembers(PartnerTeamUserConnectionTypeConnection!)

Members directly assigned to this team (excluding subteam-only members).

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "number": "abc123",
  "name": "abc123",
  "parentTeamNumber": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PartnerTeamUserConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PartnerTeamUserConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PartnerTeamUserConnectionTypeEdge

A Relay edge containing a PartnerTeamUserConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PartnerUserType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

PartnerUserPermission

Holds information about a specific permission.

Fields

NameDescription
permission(String!)

The short name of the permission.

Example

{
  "permission": "abc123"
}

Fields

NameDescription
code(String!)

The unique code of the role.

description(String!)

The description of the role.

name(String!)

The unique displayable name of the role.

permissionCodes([String]!)

The permissions associated with the role.

Example

{
  "code": "abc123",
  "name": "abc123",
  "description": "abc123",
  "permissionCodes": "abc123"
}

PartnerUserRoleType

A role available for assignment to a partner user.

Fields

NameDescription
code(String!)

The role code.

description(String!)

The role description.

name(String!)

The role name.

Example

{
  "code": "abc123",
  "name": "abc123",
  "description": "abc123"
}

PartnerUserType

A partner user of an affiliate organisation.

Fields

NameDescription
createdAt(DateTime!)

When the partner user was created.

email(String)

The partner user's email address.

familyName(String)

The partner user's family name.

givenName(String)

The partner user's given name.

id(ID!)

The partner user's ID.

lastLogin(DateTime)

The last time the partner user logged in.

name(String!)

The partner user's full name.

number(String!)

The partner user's number.

organisation(AffiliateOrganisationType)

The organisation the partner user belongs to.

permissions([PartnerUserPermission!]!)

The effective permissions of the partner user.

roles([PartnerUserRoleType!])

Role codes assigned to the partner user.

Example

{
  "id": "abc123",
  "number": "abc123",
  "givenName": "abc123",
  "familyName": "abc123",
  "name": "abc123",
  "email": "abc123",
  "lastLogin": "2020-01-01T00:00:00.000Z",
  "createdAt": "2020-01-01T00:00:00.000Z"
}

PartnerViewerPermission

Holds information about a specific permission.

Fields

NameDescription
permission(String)

The short name of the permission.

Example

{
  "permission": "abc123"
}

PartnerViewerType

Type for the authenticated partner user viewer.

Fields

NameDescription
email(String!)

The partner user's email address.

name(String!)

The partner user's full name.

number(String!)

The partner user's unique number (e.g. PU-XXXXXXXX).

permissions([PartnerViewerPermission])

Holds information about the permissions of the current viewer.

Example

{
  "name": "abc123",
  "email": "abc123",
  "number": "abc123",
  "permissions": [PartnerViewerPermission]
}

PauseCollectionProcess

Manually pause a collection process.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-11214: Invalid pause length for collection process.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessPaused(PauseCollectionProcessOutput)

Collection process pause output.

Example

{
  
}

Fields

NameDescription
pauseRecords([CollectionProcessPauseStatusRecord])

Pause records on the collection process.

Example

{
  
}

PauseDunning

Pause the dunning process for an account.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11301: Account not in a dunning process for the given path name.
  • KT-CT-11302: No active dunning process found.
  • KT-CT-11303: Multiple active dunning processes found.
  • KT-CT-11304: Dunning pause process failed verifying the dates.
  • KT-CT-11305: Pausing the dunning process failed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
pauseCreated(Boolean)

Whether the pause has been successfully created.

Example

{
  "pauseCreated": true
}

Payment

A payment from the customer to the energy supplier.

Fields

NameDescription
accountNumber(String)

Unique identifier of the account the transaction belongs to.

amount(Int)

Gross amount including tax (when payable). Refer to the amounts field for a breakdown of this information.

amounts(TransactionAmountType)

The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.

balanceCarriedForward(Int)

The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.

billingDocumentIdentifier(ID)

The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.

createdAt(DateTime)

The date time when the transaction is created.

hasStatement(Boolean)

Returns True if the transaction is linked with a statement.

id(ID)

Unique identifier for the transaction.

isAccountCharge(Boolean)

Deprecated.

Deprecated

The 'isAccountCharge' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isAccountPayment(Boolean)

Deprecated.

Deprecated

The 'isAccountPayment' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isCredit(Boolean)

Deprecated.

Deprecated

The 'isCredit' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isHeld(Boolean)

Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.

isIssued(Boolean)

Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.

isLateFailedPayment(Boolean!)

Whether a payment has been reversed due to a late failure.Sometimes a payment is marked cleared, only for Kraken to be notified days/weeks later that the payment has failed.

isReversed(Boolean!)

methodCDR(PaymentMethodCDREnum)

The method of the payment using the CDR-defined method values.

note(String)

Returns the note field value for the transaction, which contains additional info.

paymentTransactionType(AccountPaymentTransactionTypeChoices)

The transaction type of the payment.

postedDate(Date)

Date when the transaction was posted to the account.

reasonCode(String)

Returns the reason.

statementId(ID)

Returns None if a statement is not linked with the transaction.

Deprecated

The 'statementId' field is deprecated.

Use `billingDocumentIdentifier` instead.

- Marked as deprecated on 2023-11-30.
- Scheduled for removal on or after 2024-06-01.

title(String)

Human-readable title describing the transaction.

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123",
  "amount": 1,
  "amounts": TransactionAmountType,
  "balanceCarriedForward": 1,
  "isCredit": true,
  "isAccountCharge": true,
  "isAccountPayment": true,
  "isHeld": true,
  "isIssued": true,
  "title": "abc123",
  "billingDocumentIdentifier": "abc123",
  "statementId": "abc123",
  "isReversed": true,
  "hasStatement": true,
  "note": "abc123",
  "reasonCode": "abc123",
  "isLateFailedPayment": true,
  "paymentTransactionType": "DD_FIRST_COLLECTION",
  "methodCDR": "DIRECT_DEBIT"
}

PaymentAdequacyChangeType

An applied Payment Adequacy review that updated the recurring payment schedule.

Fields

NameDescription
appliedDate(DateTime)

When the Payment Adequacy review was applied.

newPaymentAmount(Int)

New payment amount in minor currency after Payment Adequacy was applied.

previousPaymentAmount(Int)

Previous payment amount in minor currency before Payment Adequacy was applied.

Example

{
  "appliedDate": "2020-01-01T00:00:00.000Z",
  "previousPaymentAmount": 1,
  "newPaymentAmount": 1
}

PaymentAdequacyDetailsType

Payment adequacy adjusts fixed payment schedules to maintain a healthy ledger balance over a year.

Fields

NameDescription
isCurrentlyExempt(Boolean)

This ledger will be exempt from default Payment Adequacy. This may mean that it is completely exempt, or handled with special rules.

latestAppliedPaymentAdequacyChange(PaymentAdequacyChangeType)

The most recent Payment Adequacy review that has been applied to this ledger, or null if no review has been applied.

Example

{
  "isCurrentlyExempt": true,
  "latestAppliedPaymentAdequacyChange": PaymentAdequacyChangeType
}

Fields

NameDescription
isEligibleForPaymentExtension(Boolean)

Is the customer eligible for payment extension.

isInVictoria(Boolean)

Is the customer's billing address in Victoria or not.

requestedAt(RequestedAt)

Example

{
  "isEligibleForPaymentExtension": true,
  "requestedAt": "AFTER_DUE_DATE",
  "isInVictoria": true
}

Fields

NameDescription
paymentExtensionEligibility(PaymentExtensionEligibilityType)

Payment extension eligibility information.

paymentExtensionOptions(PaymentExtensionOptionsType)

Options for setting up a payment extension.

Example

{
  "paymentExtensionOptions": PaymentExtensionOptionsType,
  "paymentExtensionEligibility": PaymentExtensionEligibilityType
}

Fields

NameDescription
fortnightly([Date]!)

The allowable start dates on which a fortnightly payment can be initiated.

fullAmount(Int!)

The full amount that is due on the customer account.

instalmentAmount(Int!)

The instalment amount for the regular payments.

payInFull([Date]!)

The allowable dates on which a full payment can be made.

weekly([Date]!)

The allowable start dates on which a weekly payment can be initiated.

Example

{
  "payInFull": "2020-01-01",
  "weekly": "2020-01-01",
  "fortnightly": "2020-01-01",
  "fullAmount": 1,
  "instalmentAmount": 1
}

Fields

NameDescription
fingerprint(String)

Fingerprint.

isFound(Boolean)

Returns True if the fingerprint exists, False otherwise.

isRiskListed(Boolean)

Returns True if the fingerprint is risk-listed, False otherwise.

Example

{
  "fingerprint": "abc123",
  "isFound": true,
  "isRiskListed": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PaymentForecastConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PaymentForecastConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PaymentForecastConnectionTypeEdge

A Relay edge containing a PaymentForecastConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PaymentForecastType)

The item at the end of the edge

Example

{
  "node": PaymentForecastType,
  "cursor": "abc123"
}

Fields

NameDescription
amount(Int)

date(Date)

method(ScheduleType)

The payment method used for the forecasted payment.

paymentNumber(Int)

Example

{
  "paymentNumber": 1,
  "date": "2020-01-01",
  "amount": 1,
  "method": "BACS_TRANSFER"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PaymentInstructionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PaymentInstructionConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PaymentInstructionConnectionTypeEdge

A Relay edge containing a PaymentInstructionConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PaymentInstructionType)

The item at the end of the edge

Example

{
  "node": PaymentInstructionType,
  "cursor": "abc123"
}

Fields

NameDescription
accountUser(AccountUserType)

The account user who is an owner of this payment instruction.

business(BusinessType)

The business who is an owner of this payment instruction.

lead(LeadType)

The lead who is an owner of this payment instruction.

Example

{
  "accountUser": AccountUserType,
  "business": BusinessType,
  "lead": LeadType
}

PaymentInstructionType

Payment Instructions

Fields

NameDescription
accountHolder(String!)

accountType(String)

bankCode(String)

cardExpiryMonth(Int)

cardExpiryYear(Int)

cardNumber(String!)

cardPaymentNetwork(String)

cardType(String)

iban(String!)

id(ID!)

instructionType(String!)

maskedAccountIdentifier(String)

A masked reference to a recurring payment method.

owners([PaymentInstructionOwnerType])

The owners of the financial account this instruction represents.

sortCode(String!)

status(String!)

supplementaryLedger(SupplementaryLedgerType)

The supplementary ledger for this payment instruction.

validFrom(DateTime!)

vendor(String!)

Example

{
  "id": "abc123",
  "status": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "accountHolder": "abc123",
  "instructionType": "abc123",
  "cardPaymentNetwork": "abc123",
  "cardExpiryMonth": 1,
  "cardExpiryYear": 1,
  "sortCode": "abc123",
  "iban": "abc123",
  "bankCode": "abc123",
  "accountType": "abc123",
  "vendor": "abc123",
  "cardNumber": "abc123",
  "cardType": "abc123",
  "maskedAccountIdentifier": "abc123",
  "owners": [PaymentInstructionOwnerType],
  "supplementaryLedger": SupplementaryLedgerType
}

Fields

NameDescription
account(AccountType!)

details(JSONString)

id(ID!)

owners([PaymentInstructionOwnerType])

The owners of the financial account this instruction represents.

paymentMethodType(String)

reference(String!)

status(String!)

supplementaryLedger(SupplementaryLedgerType)

The supplementary ledger for this payment instruction.

validFrom(DateTime!)

validTo(DateTime)

Example

{
  "id": "abc123",
  "reference": "abc123",
  "status": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "paymentMethodType": "abc123",
  "details": {"key": "value"},
  "account": AccountType,
  "owners": [PaymentInstructionOwnerType],
  "supplementaryLedger": SupplementaryLedgerType
}

Fields

NameDescription
notificationService(String)

Notification service used to send payment notification.

reference(String)

Payment notification reference.

Example

{
  "notificationService": "abc123",
  "reference": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PaymentPlanConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PaymentPlanConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PaymentPlanConnectionTypeEdge

A Relay edge containing a PaymentPlanConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PaymentPlanType)

The item at the end of the edge

Example

{
  "node": PaymentPlanType,
  "cursor": "abc123"
}

PaymentPlanPaymentType

An object that represents a planned payment for a payment plan.

Fields

NameDescription
amount(Int!)

payableDate(Date!)

paymentType(String)

Example

{
  "payableDate": "2020-01-01",
  "amount": 1,
  "paymentType": "abc123"
}

Fields

NameDescription
amount(Int!)

The payable amount of this payment.

payableDate(Date!)

The payable date of this payment.

Example

{
  "payableDate": "2020-01-01",
  "amount": 1
}

PaymentPlanType

An object that represents a payment plan.

Fields

NameDescription
acceptedAt(DateTime)

account(AccountType!)

id(ID!)

initialScheduleType(String!)

ledgerNumber(String)

The ledger number for this payment plan or None if one does not exist.

nextPayment(PaymentPlanPaymentType)

The next planned payment for this payment plan.

offerExpiresAt(DateTime)

offeredAt(DateTime)

payments([PaymentPlanPaymentType!]!)

status(String!)

strategyDisplayName(String)

The display name of the strategy used for this payment plan or None if one does not exist.

strategyName(String!)

updatedAt(DateTime!)

Example

{
  "id": "abc123",
  "initialScheduleType": "abc123",
  "strategyName": "abc123",
  "status": "abc123",
  "offeredAt": "2020-01-01T00:00:00.000Z",
  "offerExpiresAt": "2020-01-01T00:00:00.000Z",
  "acceptedAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "account": AccountType,
  "payments": PaymentPlanPaymentType,
  "nextPayment": PaymentPlanPaymentType,
  "strategyDisplayName": "abc123",
  "ledgerNumber": "abc123"
}

PaymentPreferenceConnectionTypeConnection

Pagination object for PaymentPreferenceUnion

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PaymentPreferenceConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PaymentPreferenceConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PaymentPreferenceConnectionTypeEdge

A Relay edge containing a PaymentPreferenceConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PaymentPreferenceUnion)

The item at the end of the edge

Example

{
  "node": PreferredInstruction,
  "cursor": "abc123"
}

PaymentPromiseType

A payment promise applies to an account that does not have automatic payments. It records that a customer has told us they'll pay an amount by an agreed-upon date.

Fields

NameDescription
paymentPromises([AccountPaymentType])

Example

{
  "paymentPromises": [AccountPaymentType]
}

PaymentRequestConnectionTypeConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PaymentRequestConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PaymentRequestConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PaymentRequestConnectionTypeEdge

A Relay edge containing a PaymentRequestConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PaymentRequestType)

The item at the end of the edge

Example

{
  "node": PaymentRequestType,
  "cursor": "abc123"
}

Fields

NameDescription
customerAmount(Int)

The amount the customer is expected to pay in minor currency.

expectedPaymentDate(Date)

The date the payment is expected to be made.

fundingSourceAmounts(FundingSourceAmountConnectionTypeConnection)

The amount that was funded by each funding source.

Arguments

after (String)

before (String)

first (Int)

last (Int)

paymentStatus(String)

The status of the payment.

totalAmount(Int)

The total amount of the payment in minor currency.

Example

{
  "expectedPaymentDate": "2020-01-01",
  "paymentStatus": "abc123",
  "totalAmount": 1,
  "customerAmount": 1,
  "fundingSourceAmounts": FundingSourceAmountConnectionTypeConnection
}

Fields

NameDescription
paymentRequest(PaymentRequestConnectionTypeConnection)

A list of payment requests for a given ledger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example


PaymentScheduleChangeEventType

A recorded change to a payment schedule (creation, update or deletion), sourced from the financial events audit log.

Fields

NameDescription
category(PaymentScheduleChangeCategory)

The kind of change made to the schedule.

createdAt(DateTime)

When the change was recorded.

description(String)

A human-readable description of the change.

madeBySupportUser(Boolean)

Whether the change was made by a member of support staff. When false, the change was made by an automated/system process.

Example

{
  "createdAt": "2020-01-01T00:00:00.000Z",
  "category": "CREATED",
  "description": "abc123",
  "madeBySupportUser": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PaymentScheduleConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PaymentScheduleConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PaymentScheduleConnectionTypeEdge

A Relay edge containing a PaymentScheduleConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PaymentScheduleType)

The item at the end of the edge

Example

{
  "node": PaymentScheduleType,
  "cursor": "abc123"
}

PaymentScheduleDataType

Payment schedule details for a join supplier process.

This type represents the chosen payment schedule configuration. Only one of the schedule type fields will be populated, depending on which type of schedule was chosen.

Fields

NameDescription
balanceTriggered(BalanceTriggeredScheduleType)

Balance-triggered payment schedule details, if this schedule type was chosen.

billTriggered(BillTriggeredScheduleType)

Bill-triggered payment schedule details, if this schedule type was chosen.

billTriggeredBalanceTarget(BillTriggeredBalanceTargetScheduleType)

Bill-triggered with balance target schedule details, if this schedule type was chosen.

instalmentByMonthlyAmount(InstalmentByMonthlyAmountScheduleType)

Instalment by monthly amount schedule details, if this schedule type was chosen.

instalmentByTotalAmount(InstalmentByTotalAmountScheduleType)

Instalment by total amount schedule details, if this schedule type was chosen.

regular(RegularScheduleType)

Regular payment schedule details, if this schedule type was chosen.

Example

{
  "regular": RegularScheduleType,
  "billTriggered": BillTriggeredScheduleType,
  "balanceTriggered": BalanceTriggeredScheduleType,
  "billTriggeredBalanceTarget": BillTriggeredBalanceTargetScheduleType,
  "instalmentByMonthlyAmount": InstalmentByMonthlyAmountScheduleType,
  "instalmentByTotalAmount": InstalmentByTotalAmountScheduleType
}

Fields

NameDescription
args(JSONString)

The arguments of the delay configuration.

code(String)

The code of the delay configuration.

Example

{
  "code": "abc123",
  "args": {"key": "value"}
}

Fields

NameDescription
description(String)

A human-readable description of the value.

direction(PaymentDayDirectionType)

Direction of payment day.

Example

{
  "direction": "OF_MONTH",
  "description": "abc123"
}

PaymentScheduleType

An object that represents when we have agreed to take payments from a payment instruction.

Fields

NameDescription
changeHistory([PaymentScheduleChangeEventType])

The recorded history of changes to this payment schedule (creation, updates and deletion), most recent first.

delayConfiguration(PaymentScheduleDelayConfigurationType)

The delay configuration for this payment schedule.

id(ID!)

isExemptFromPaymentAdequacy(Boolean)

If the payment schedule is exempt from payment adequacy.

isPaymentHoliday(Boolean)

isVariablePaymentAmount(Boolean!)

ledgerNumber(String)

The ledger number of the payment schedule.

paymentAdequacyAdjustment(Int)

paymentAdequacyAdjustmentExpiryDate(Date)

paymentAmount(Int!)

paymentDay(Int)

paymentDayDetails(PaymentSchedulePaymentDayDetailsType)

Details of the payment_day value.

paymentFrequency(PaymentFrequencyOptions)

The frequency of the payment schedule.

paymentFrequencyMultiplier(Int!)

paymentHolidayReason(String!)

reason(PaymentScheduleReasonOptions)

The reason the payment schedule was created.

scheduleType(ScheduleType)

The method of payment for the schedule.

supplementaryLedger(SupplementaryLedgerType)

The supplementary ledger for this payment schedule, if it is on one.

totalDebtAmount(Int)

The sum of the payment adequacy contributions on the payment schedule that are expected to be taken before the debt repayment is complete.

trigger(ScheduleTrigger)

The cause for requesting payment on a schedule.

validFrom(Date!)

validTo(Date)

Example

{
  "id": "abc123",
  "validFrom": "2020-01-01",
  "validTo": "2020-01-01",
  "reason": "GENERAL_ACCOUNT_PAYMENT",
  "paymentHolidayReason": "abc123",
  "paymentDay": 1,
  "paymentFrequency": "Weekly",
  "paymentFrequencyMultiplier": 1,
  "paymentAmount": 1,
  "paymentAdequacyAdjustment": 1,
  "paymentAdequacyAdjustmentExpiryDate": "2020-01-01",
  "isVariablePaymentAmount": true,
  "totalDebtAmount": 1,
  "supplementaryLedger": SupplementaryLedgerType,
  "isPaymentHoliday": true,
  "scheduleType": "BACS_TRANSFER",
  "paymentDayDetails": PaymentSchedulePaymentDayDetailsType,
  "delayConfiguration": PaymentScheduleDelayConfigurationType,
  "isExemptFromPaymentAdequacy": true,
  "ledgerNumber": "abc123",
  "trigger": "PLAN",
  "changeHistory": [PaymentScheduleChangeEventType]
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PaymentWithNonConcludedRePresentationConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PaymentWithNonConcludedRePresentationConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PaymentWithNonConcludedRePresentationConnectionTypeEdge

A Relay edge containing a PaymentWithNonConcludedRePresentationConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PaymentWithNonConcludedRePresentationType)

The item at the end of the edge

Example

{
  "node": PaymentWithNonConcludedRePresentationType,
  "cursor": "abc123"
}

Fields

NameDescription
amountPayable(Int)

The amount expected for this payment in minor currency units.

payableDate(Date)

The date this payment is scheduled to be debited.

Example

{
  "amountPayable": 1,
  "payableDate": "2020-01-01"
}

PayoutReferralForAccount

Pay out a referral reward for an account.

The possible errors that can be raised are:

  • KT-CT-6712: Invalid reference.
  • KT-CT-6723: Unauthorized.
  • KT-CT-6730: Referral cannot be paid out.
  • KT-CT-6731: The account is unrelated to the referral.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
payoutResult(PayoutReferralForAccountResultType)

The result of the payout.

Example

{
  
}

PayoutReferralForAccountResultType

The result of the payout of a referral for an account.

Fields

NameDescription
accountCreditAmount(Int)

The amount of the account credit paid out to the referring account.

Example

{
  "accountCreditAmount": 1
}

PaysByDirectDebitType

Represents a restriction for if an account should pay only by direct debit in a contract.

Note: This type is a stub, and will be fleshed out in the future.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

paysByDirectDebit(Boolean!)

Whether the account is paying by direct debit or not.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "paysByDirectDebit": true
}

Fields

NameDescription
end(DateTime!)

The period end.

start(DateTime!)

The period start.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
accountNumber(String!)

The bill account number.

attachments(BillingAttachmentConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

averageDailyExport(Float)

This field returns the average daily solar export during the consumption period of a statement.

averageDailyUsage(Float)

This field returns the average daily usage (import only) during the consumption period of a statement.

billType(BillTypeEnum)

The type of the bill.

closingBalance(Int!)

The closing balance of an issued billing document.

Arguments

ledgerNumber (String)

When provided, the closing balance for this ledger on this statement. Required if multiple ledgers are affected by this statement.

consumptionEndDate(Date)

The last day of consumption that this statement includes.

consumptionStartDate(Date)

The first day of consumption that this statement includes.

documentDebtPosition(BillingDocumentPositionType)

Position of the billing document in the delinquent debt tracking system.

dueDate(Date)

The date by which the billed amount is due from the customer or null for unfinalized bills.

fromDate(Date)

The date of the constituent bill covered from.

heldStatus(StatementHeldStatus)

Retrieve the held status of a account statement.

id(ID)

The ID of the constituent bill.

identifier(ID)

The unique identifier for the billing document. Note: a pending billing document will not have an identifier yet; and not all finalized billing documents will have an identifier assigned to them, in which case this will be null.

isAnnulled(Boolean!)

Whether the billing document has been annulled.

isFinal(Boolean)

Whether the issued statement is considered 'final' for this account.

isHeld(Boolean!)

Whether the billing document is currently held.

issuedDate(Date)

The date the bill was sent to the customer.

openingBalance(Int)

This field returns the opening balance of a statement.

Arguments

ledgerNumber (String)

When provided, the opening balance for this ledger on this statement. Required if multiple ledgers are affected by this statement.

printedCopyRequests([Date])

List of dates when a printed copy of this bill was requested.

representations(BillRepresentationConnectionTypeConnection)

Arguments

after (String)

before (String)

code (String)

The code of a representation. Used to identify different types of representations.

first (Int)

last (Int)

reversalsAfterClose(StatementReversalsAfterClose!)

How many charges have been reversed after the close date.

temporaryUrl(String)

Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead.

Deprecated

The 'temporaryUrl' field is deprecated.

This field is deprecated. Use the 'attachments' field instead.

- Marked as deprecated on 2024-09-16.
- Scheduled for removal on or after 2025-09-01.

toDate(Date)

The date of the constituent bill covered to.

totalCharges(StatementTotalType)

The total amounts for all charges on the billing document.

totalCredits(StatementTotalType)

The total amounts for all credits on the statement.

totalRepayments(BigInt)

This field returns the total amount of repayments on a statement.

transactions(BillTransactionConnectionTypeConnection)

Transactions on the given billing document.

Arguments

after (String)

before (String)

first (Int)

last (Int)

ledgerNumber (String)

When provided, only entries that are linked to that ledger are returned.

orderBy (TransactionsOrderBy)

The order in which to return the transactions.

transactionTypes ([TransactionTypeFilter])

Include only these specific transaction types in the result.

transactionsTmp(TransactionConnectionTypeConnection)

Transactions on the bill. Note: this field is temporary while we design an an updated version of these APIs for new issuance.

Arguments

after (String)

before (String)

first (Int)

last (Int)

offset (Int)

unfulfilledContributionItems([ContributionItemType])

Returns a list of unfulfilled contribution items by scheme name.

unfulfilledDeposits(BigInt)

This field returns the total amount of unfulfilled deposits on a statement.

Example

{
  "id": "abc123",
  "billType": "STATEMENT",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01",
  "temporaryUrl": "abc123",
  "issuedDate": "2020-01-01",
  "attachments": BillingAttachmentConnectionTypeConnection,
  "reversalsAfterClose": "ALL",
  "identifier": "abc123",
  "totalCharges": StatementTotalType,
  "totalCredits": StatementTotalType,
  "isAnnulled": true,
  "isHeld": true,
  "transactions": BillTransactionConnectionTypeConnection,
  "openingBalance": 1,
  "closingBalance": 1,
  "documentDebtPosition": BillingDocumentPositionType,
  "representations": BillRepresentationConnectionTypeConnection,
  "printedCopyRequests": ["2020-01-01"],
  "averageDailyUsage": 1.0,
  "averageDailyExport": 1.0,
  "dueDate": "2020-01-01",
  "isFinal": true,
  "transactionsTmp": TransactionConnectionTypeConnection,
  "accountNumber": "abc123",
  "totalRepayments": 1,
  "unfulfilledDeposits": 1,
  "unfulfilledContributionItems": [ContributionItemType],
  "consumptionStartDate": "2020-01-01",
  "consumptionEndDate": "2020-01-01",
  "heldStatus": StatementHeldStatus
}

Fields

NameDescription
accountAllMatches(AccountConnectionTypeConnection!)

All accounts that are linked to this phone number. A maximum of 26 results are returned. Results are ordered by most likely first.

Arguments

after (String)

before (String)

first (Int)

last (Int)

accountBestMatch(AccountType)

Our best guess for which account a call with this phone number would be about.

accountUserAllMatches(AccountUserConnectionTypeConnection!)

All account users that are linked to this phone number. A maximum of 26 results are returned. Results are ordered by most likely first.

Arguments

after (String)

before (String)

first (Int)

last (Int)

accountUserBestMatch(AccountUserType)

Our best guess for which account user would be calling from this phone number.

Example

{
  "accountBestMatch": AccountType,
  "accountAllMatches": AccountConnectionTypeConnection,
  "accountUserBestMatch": AccountUserType,
  "accountUserAllMatches": AccountUserConnectionTypeConnection
}

Fields

NameDescription
buttonAction(ActionType!)

The action to perform when the button is pressed.

buttonStyle(ButtonStyle)

The button style.

id(ID)

Unique identifier of the object.

title(String!)

Title text of the button.

typename(String)

The name of the object's type.

Example

{
  "buttonStyle": "PRIMARY",
  "title": "abc123",
  "buttonAction": DeeplinkActionType,
  "id": "abc123",
  "typename": "abc123"
}

Fields

NameDescription
isBlocked(Boolean)

Whether the viewer has been blocked due to spending all its allowed points.

limit(Int)

The maximum number of points the viewer gets for requests per hour.

remainingPoints(Int)

The remaining points for the viewer in one hour time limit.

ttl(Int)

Time To Live: UNIX timestamp when the viewer will get a new allowance of points.

usedPoints(Int)

The points used so far in one hour time limit.

Example

{
  "limit": 1,
  "remainingPoints": 1,
  "usedPoints": 1,
  "ttl": 1,
  "isBlocked": true
}

PointsSizeType

A measurement in points.

Fields

NameDescription
id(ID)

Unique identifier of the object.

points(Int!)

The points value.

typename(String)

The name of the object's type.

Example

{
  "id": "abc123",
  "typename": "abc123",
  "points": 1
}

PortfolioConnectionTypeConnection

Paginator of Operations Team

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PortfolioConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PortfolioConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PortfolioConnectionTypeEdge

A Relay edge containing a PortfolioConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PortfolioType)

The item at the end of the edge

Example

{
  "node": PortfolioType,
  "cursor": "abc123"
}

PortfolioType

An object that represents a portfolio.

Fields

NameDescription
accounts(AccountConnectionTypeConnection)

The accounts associated with this portfolio.

Arguments

after (String)

before (String)

first (Int)

last (Int)

ancestors(PortfolioConnectionTypeConnection)

The ancestors of the given portfolio.

Arguments

after (String)

before (String)

first (Int)

last (Int)

billingName(String)

brand(String)

The brand code associated with the portfolio.

collectiveBilling(Boolean!)

createdAt(DateTime!)

depth(Int)

The depth of the portfolio in the hierarchy.

descendants(PortfolioConnectionTypeConnection)

The descendants of the given portfolio.

Arguments

after (String)

before (String)

first (Int)

last (Int)

id(ID!)

leadAccountNumber(String)

The lead account for this portfolio.

name(String)

The name of the portfolio.

number(String!)

operationsTeam(OperationsTeamType)

Operations team for this portfolio.

parent(PortfolioType)

The parent portfolio of the given portfolio, if any.

updatedAt(DateTime!)

Example

{
  "id": "abc123",
  "number": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "billingName": "abc123",
  "collectiveBilling": true,
  "leadAccountNumber": "abc123",
  "brand": "abc123",
  "name": "abc123",
  "depth": 1,
  "parent": PortfolioType,
  "ancestors": PortfolioConnectionTypeConnection,
  "descendants": PortfolioConnectionTypeConnection,
  "accounts": AccountConnectionTypeConnection
}

PortfolioUserRoleType

The role a user has in association with one portfolio.

Fields

NameDescription
id(ID!)

portfolio(PortfolioType!)

Portfolio object.

role(RoleString)

The portfolio role.

user(AccountUserType!)

Example

{
  "id": "abc123",
  "user": AccountUserType,
  "role": RoleString,
  "portfolio": PortfolioType
}

PossibleErrorType

The GraphQL error type for displaying information about GraphQL errors that might be raised from the API.

Fields

NameDescription
code(String)

The error code that might be returned from the query/mutation.

description(String)

The error description that might be returned from the query/mutation.

message(String)

The error message that might be returned from the query/mutation.

type(String)

The error type that might be returned from the query/mutation.

Example

{
  "message": "abc123",
  "code": "abc123",
  "type": "abc123",
  "description": "abc123"
}

PossibleErrorsOutputType

Information and possible errors of the requested query/mutation.

Fields

NameDescription
authErrors(Boolean)

Whether the possible authentication errors are included.

name(String)

Name of the query/mutation whose possible errors are returned.

possibleErrors([PossibleErrorType])

List of the errors the query/mutation is susceptible of raising.

type(query_type)

Type of the query (query or mutation).

Example

{
  "name": "abc123",
  "type": "query",
  "authErrors": true,
  "possibleErrors": [PossibleErrorType]
}

PostCredit

Post credit to a ledger.

The possible errors that can be raised are:

  • KT-CT-5316: Invalid data.
  • KT-CT-5311: The credit reason with the requested code is deprecated.
  • KT-CT-5312: The credit reason with the requested code does not exist.
  • KT-CT-5313: An error occurred whilst posting the credit.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
credit(Credit)

Posted account credit.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "credit": Credit,
  "possibleErrors": [PossibleErrorType]
}

Fields

NameDescription
attachments(BillingAttachmentConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

averageDailyUsage(Float)

billType(BillTypeEnum)

The type of the bill.

fromDate(Date)

The date of the constituent bill covered from.

grossAmount(BigInt)

The gross amount of the historical bill.

id(ID)

The ID of the constituent bill.

identifier(String)

The unique identifier of a historical bill. It will usually be present on the billing document itself.

isReversed(Boolean)

Whether the bill has been reversed. Null will be returned if this information wasn't sent in through the data import pipeline.

issuedDate(Date)

The date the bill was sent to the customer.

params(JSONString)

The params associated with the historical bill.

reversalsAfterClose(StatementReversalsAfterClose!)

How many charges have been reversed after the close date.

temporaryUrl(String)

Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead.

Deprecated

The 'temporaryUrl' field is deprecated.

This field is deprecated. Use the 'attachments' field instead.

- Marked as deprecated on 2024-09-16.
- Scheduled for removal on or after 2025-09-01.

toDate(Date)

The date of the constituent bill covered to.

totalConsumption(Float)

totalConsumptionCost(Float)

totalFeedInCost(Float)

totalFeedInEnergy(Float)

totalSupplyCost(Float)

Example

{
  "id": "abc123",
  "billType": "STATEMENT",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01",
  "temporaryUrl": "abc123",
  "issuedDate": "2020-01-01",
  "attachments": BillingAttachmentConnectionTypeConnection,
  "reversalsAfterClose": "ALL",
  "identifier": "abc123",
  "params": {"key": "value"},
  "grossAmount": 1,
  "averageDailyUsage": 1.0,
  "totalConsumption": 1.0,
  "totalConsumptionCost": 1.0,
  "totalSupplyCost": 1.0,
  "totalFeedInEnergy": 1.0,
  "totalFeedInCost": 1.0,
  "isReversed": true
}

PreSignedToken

A pre-signed, expiring and opaque tokens that can be swapped for a limited scope JWT (Kraken Token).

Fields

NameDescription
isValid(Boolean)

key(String!)

scope(ExpiringTokenScope!)

The scope that the token will grant to the account user.

Example

{
  "scope": "SUBMIT_METER_READINGS",
  "key": "abc123",
  "isValid": true
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
costInCents(Decimal!)

costInCentsWithGst(Decimal!)

Example

{
  "costInCents": "1.0",
  "costInCentsWithGst": "1.0"
}

Fields

NameDescription
capacityChargesToDate(PredictedBillChargeType!)

Capacity charges since the beginning of the current billing period.

concessionCreditToDate(PredictedBillCreditType!)

Concession credit since the beginning of the current billing period.

consumptionChargesToDate(PredictedBillChargeType!)

Consumption charges since the beginning of the current billing period.

demandChargesToDate(PredictedBillChargeType!)

Demand charges since the beginning of the current billing period.

pastWeekCapacityCharges(PredictedBillChargeType!)

7-day rolling average capacity charges (for prediction like consumption).

pastWeekConsumptionCharges(PredictedBillChargeType!)

pastWeekDemandCharges(PredictedBillChargeType!)

7-day rolling average demand charges (for prediction like consumption).

predictedCapacityCharges(PredictedBillChargeType!)

Capacity charges predicted from now until the end of the current billing period.

predictedConcessionCredit(PredictedBillCreditType!)

Concession credit predicted from now until the end of the current billing period.

predictedConsumptionCharges(PredictedBillChargeType!)

Consumption charges predicted from now until the end of the current billing period.

predictedDemandCharges(PredictedBillChargeType!)

Demand charges predicted from now until the end of the current billing period.

predictedStandingCharges(PredictedBillChargeType!)

Standing charges predicted from now until the end of the current billing period.

secondsSinceBeginningOfBillingPeriod(Int!)

secondsUntilEndOfBillingPeriod(Int!)

standingChargesToDate(PredictedBillChargeType!)

Standing charges since the beginning of the current billing period.

Example

{
  "consumptionChargesToDate": PredictedBillChargeType,
  "predictedConsumptionCharges": PredictedBillChargeType,
  "pastWeekConsumptionCharges": PredictedBillChargeType,
  "standingChargesToDate": PredictedBillChargeType,
  "predictedStandingCharges": PredictedBillChargeType,
  "capacityChargesToDate": PredictedBillChargeType,
  "pastWeekCapacityCharges": PredictedBillChargeType,
  "predictedCapacityCharges": PredictedBillChargeType,
  "demandChargesToDate": PredictedBillChargeType,
  "pastWeekDemandCharges": PredictedBillChargeType,
  "predictedDemandCharges": PredictedBillChargeType,
  "predictedConcessionCredit": PredictedBillCreditType,
  "concessionCreditToDate": PredictedBillCreditType,
  "secondsUntilEndOfBillingPeriod": 1,
  "secondsSinceBeginningOfBillingPeriod": 1
}

Fields

NameDescription
creditInCents(Decimal!)

Credit amount in cents (ex GST).

creditInCentsWithGst(Decimal!)

Credit amount in cents (inc GST).

Example

{
  "creditInCents": "1.0",
  "creditInCentsWithGst": "1.0"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
averageDailyChargesPredicted(PredictedBillChargeType)

Average daily charges considering the whole billing period. If a nullable is returned, the billing options haven't been set properly and might require an Energy Specialist to fix it.

averageDailyChargesToDate(PredictedBillChargeType)

Average daily charges from the beginning of the billing period to date. Where 'to date' currently refers to the date of the last reading. If a nullable is returned, not enough days (less than one) have accrued since the beginning of the billing period. Therefore the daily average cost can't be calculated yet.

Example

{
  "averageDailyChargesPredicted": PredictedBillChargeType,
  "averageDailyChargesToDate": PredictedBillChargeType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
billEndsAt(DateTime)

billStartsAt(DateTime)

components(PredictedBillComponentsType)

Components used to calculate the prediction equation.

costInCents(Decimal)

costInCentsWithGst(Decimal)

lastReading(ElectricityMeterReadingType)

lastReadingDatetime(DateTime)

metrics(PredictedBillMetricsType)

Additional metrics calculated from the predicted bill.

predictedBillError(PredictedBillErrorUnion)

Example

{
  "costInCents": "1.0",
  "costInCentsWithGst": "1.0",
  "lastReadingDatetime": "2020-01-01T00:00:00.000Z",
  "billStartsAt": "2020-01-01T00:00:00.000Z",
  "billEndsAt": "2020-01-01T00:00:00.000Z",
  "lastReading": ElectricityAccumulationMeterReadingType,
  "components": PredictedBillComponentsType,
  "predictedBillError": PredictedBillBasicMeterNotSupportedErrorType,
  "metrics": PredictedBillMetricsType
}

PreferredInstruction

Represents the preference of the user to be charged using a specific payment instruction.

Fields

NameDescription
forPaymentsAfter(String)

The start time of the payment preference.

paymentMethod(PaymentInstructionType)

The payment instruction preferred by the user.

status(String)

The status of the payment preference.

Example

{
  "forPaymentsAfter": "abc123",
  "status": "abc123",
  "paymentMethod": PaymentInstructionType
}

Fields

NameDescription
accountNumber(String)

The account number of the newly created account or the existing account to be re-used.

isNewAccount(Boolean)

Was a new account created.

isNewUser(Boolean)

Was a new user created.

userId(ID)

The ID of the newly created or existing account user.

userNumber(String)

The user number of the newly created or existing account user.

Example

{
  "isNewAccount": true,
  "accountNumber": "abc123",
  "isNewUser": true,
  "userId": "abc123",
  "userNumber": "abc123"
}

PreviewAndCreatePaymentPlan

Preview a new payment plan, or create it if requested.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-3923: Unauthorized.
  • KT-AU-3917: Unable to preview payment plan.
  • KT-AU-3919: Unable to create payment plan.
  • KT-AU-3918: Unable to create payment plan.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
createdPaymentPlan(PaymentPlanType)

Data for newly created payment plan of one was created.

paymentPlanPreview([PaymentPlanPreviewPaymentType])

Preview payments for a new payment plan.

Example

{
  "paymentPlanPreview": [PaymentPlanPreviewPaymentType],
  "createdPaymentPlan": PaymentPlanType
}

PriceForStream

Rate group prices for a product.

Fields

NameDescription
characteristicMapping(JSONString!)

The characteristic mapping for the price.

Deprecated

The 'characteristicMapping' field is deprecated.

Please use 'characteristics' instead.

- Marked as deprecated on 2026-07-17.
- Scheduled for removal on or after 2026-07-31.

characteristics(GenericScalar!)

The characteristic values for the variant.

price(Decimal!)

The price per unit.

schemeLabels(JSONString)

The scheme labels for the price.

Deprecated

The 'schemeLabels' field is deprecated.

Please use 'schemes' instead.

- Marked as deprecated on 2026-07-17.
- Scheduled for removal on or after 2026-07-31.

schemes(GenericScalar)

The scheme labels for the variant.

Example

{
  "characteristicMapping": {"key": "value"},
  "characteristics": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "schemeLabels": {"key": "value"},
  "schemes": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "price": "1.0"
}

Fields

NameDescription
amount(Decimal!)

        Monetary value of a single unit of the measurement.
        This is the smallest unit of currency e.g. cents for USD or yen for JPY.

unit(Unit)

Unit that monetary amount relates to eg. 27 cents per kwh.

Example

{
  "amount": "1.0",
  "unit": "KILOWATT_HOURS"
}

Fields

NameDescription
label(String)

Human readable label for the Gas pricing zone.

value(String)

Identifier value for the Gas pricing zone.

Example

{
  "value": "abc123",
  "label": "abc123"
}

Fields

NameDescription
fromDate(Date!)

Inclusive, industrytime

id(ID!)

property(PropertyType)

toDate(Date)

Exclusive, industrytime

updatedAt(DateTime)

user(AccountUserType)

Example

{
  "id": "abc123",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01",
  "updatedAt": "2020-01-01T00:00:00.000Z",
  "property": PropertyType,
  "user": AccountUserType
}

PrintAttachmentType

Represents a print attachment

Fields

NameDescription
filename(String!)

id(ID!)

s3Bucket(String!)

s3Key(String!)

temporaryUrl(String)

Temporary URL at which the attachment is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page).

Example

{
  "id": "abc123",
  "filename": "abc123",
  "s3Bucket": "abc123",
  "s3Key": "abc123",
  "temporaryUrl": "abc123"
}

PrintBatchType

Represents print batch details

Fields

NameDescription
id(ID!)

messages(PrintMessageTypeConnection)

Messages in a print batch.

Arguments

after (String)

before (String)

first (Int)

isHighPriority (Boolean)

Whether to filter to include or exclude high priority messages. If not supplied, no filtering will be performed.

last (Int)

offset (Int)

status(PrintBatchStatus)

The status of the print batch.

Example

{
  "id": "abc123",
  "status": "OPEN",
  "messages": PrintMessageTypeConnection
}

Fields

NameDescription
eventType(String!)

id(ID!)

The ID of the object

message(PrintMessageType)

Print message of the print event.

occurredAt(DateTime!)

Example

{
  "id": "abc123",
  "eventType": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "message": PrintMessageType
}

PrintMessageType

Represents a print communication.

Fields

NameDescription
account(AccountType)

Represents associated account.

addressBlock([String])

The address block that should match what is shown on the print PDF.

addressLines([String])

The address that the letter is sent to.

addressee(String)

Addressee name on the letter.

attachments([PrintAttachmentType])

Attachments of the message.

billingAddressAdministrativeArea(String)

The administrative area of the address that the letter will be sent to.

documentId(ID)

The unique identifier for this print message.

documentTypeCode(String)

Document type code set by Origin team depending on the correspondence type.

envelopeType(String)

The mail priority of this comm - REG if regular otherwise PRT if priority.

highPriority(Boolean)

Comms that are marked as high priority.

id(ID!)

The ID of the object

inserts([String])

The set of inserts to be added in the mailhouse, typically pamphlets. Currently returns an empty array as a placeholder.

numberOfSheets(Int)

The number of sheets required to print this comm, which is calculated as the number of pages, divided by two, rounded up to the nearest integer.

pageSize(String)

The page size of this comm - either standard A4 or large print A3.

supplyAddressAdministrativeArea(String)

The administrative area of the supply point of the account.

templateCode(String!)

Example

{
  "id": "abc123",
  "templateCode": "abc123",
  "attachments": [PrintAttachmentType],
  "account": AccountType,
  "highPriority": true,
  "addressee": "abc123",
  "addressLines": ["abc123"],
  "addressBlock": ["abc123"],
  "billingAddressAdministrativeArea": "abc123",
  "supplyAddressAdministrativeArea": "abc123",
  "documentTypeCode": "abc123",
  "inserts": ["abc123"],
  "envelopeType": "abc123",
  "pageSize": "abc123",
  "numberOfSheets": 1,
  "documentId": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PrintMessageTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PrintMessageTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PrintMessageTypeEdge

A Relay edge containing a PrintMessageType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PrintMessageType)

The item at the end of the edge

Example

{
  "node": PrintMessageType,
  "cursor": "abc123"
}

ProcessHouseMove

Mutation to process a house move that supports multiple markets.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

The account created or associated with the move in.

error(ProcessHouseMoveErrorUnion)

Error type for the house move in process.

Example

{
  "account": AccountType,
  "error": DoesNotExistErrorType
}

ProcessHouseMoveInElectricity

Process a house move in for a related account, triggering a move in process for a defined user. Allows configuration of the user's: - Move in details - Billing preferences

Depending on the related user's state in kraken, this mutation will either return or create an account within kraken.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

error(ProcessHouseMoveInElectricityErrorUnion)

Error type for the move in process.

Example

{
  "account": AccountType,
  "error": DoesNotExistErrorType
}

ProcessHouseMoveInGas

Process a gas house move in for a related account, triggering a gas move in process for a defined user. Allows configuration of the user's: - Move in details - Billing preferences - Life support status - business_details Depending on the related user's state in kraken, this mutation will either return or create an account within kraken.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

error(ProcessHouseMoveInGasErrorUnion)

Error type for the gas move in process.

Example

{
  "account": AccountType,
  "error": DoesNotExistErrorType
}

Fields

NameDescription
addonRates([AddonFamilyType])

Groupings of product rates associated with an add on.

Arguments

availableAt (DateTime)

Datetime the rate is available at.

availabilityStatus(ProductAvailability)

The availability status of the product (eg. for public or restricted use).

availableTo(DateTime)

The date until which the product is available to be purchased.

clientParams(JSONString)

Additional metadata from client sources stored against the product. This data is not structural and should not be relied upon for customer-facing applications.

code(String)

description(String)

The description shown to customers during sign up process.

displayName(String)

The display name shown to customers during sign up process.

dmoReference(ProductDmoReferenceType)

Arguments

networkTariffCodes ([String])

Electricity product related DMO reference.

emissionsReduction(Decimal)

The percentage of the product's emissions that are offset, if applicable, as a decimal number between 0 and 1.

error(ProductErrorUnion)

fullName(String)

The full descriptive name of the product.

id(ID)

isStandingOffer(Boolean)

isVariable(Boolean)

Whether the product's prices are variable or fixed.

loyalty(LoyaltyType)

Loyalty details if required for product.

marketName(MarketName)

Market the product is associated with.

paginatedRates(RatesConnectionFieldConnection)

Rates associated with a product.

Arguments

after (String)

before (String)

first (Int)

isBusiness (Boolean)

Optional boolean to determine the price default (only electricity).

last (Int)

mirn (String)

Applies only for gas products.

nmi (String)

Applies only for electricity products.

onlyActiveRates (Boolean)

When false, negate any filtering done by RatesActiveAt and return every rate.

postcode (String)

Optional postcode to determine the price zone (gas/electricity).

ratesActiveAt (Date)

Return only rates active at this time. Defaults to now.

suburb (String)

Optional suburb to determine the price default (only electricity).

params(JSONString)

Additional metadata from various sources stored against the product. Used for servicing Consumer Data Right requirements.This data is not structural and should not be used for customer-facing applications.

Deprecated

The 'params' field is deprecated.

Don't use this field for customer queries as data in this JSON isn't structured and may change.

- Marked as deprecated on 2023-09-27.
- Scheduled for removal on or after 2023-10-27.

productRates([RateInterface])

Deprecated

The 'productRates' field is deprecated.

Use paginatedRates instead.

- Marked as deprecated on 2022-09-02.
- Scheduled for removal on or after 2022-10-16.

rank(Int)

The rank of the product.

term(Int)

The length of time during which the product benefits apply for (in months).

Example

{
  "id": "abc123",
  "productRates": RateInterface,
  "paginatedRates": RatesConnectionFieldConnection,
  "addonRates": [AddonFamilyType],
  "dmoReference": ProductDmoReferenceType,
  "code": "abc123",
  "displayName": "abc123",
  "fullName": "abc123",
  "description": "abc123",
  "isStandingOffer": true,
  "marketName": "AUS_ELECTRICITY",
  "isVariable": true,
  "emissionsReduction": "1.0",
  "availabilityStatus": "EVERYONE",
  "availableTo": "2020-01-01T00:00:00.000Z",
  "term": 1,
  "rank": 1,
  "params": {"key": "value"},
  "clientParams": {"key": "value"},
  "loyalty": LoyaltyType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

ProductComponentType

Represents a product component within an offering.

Fields

NameDescription
component(CatalogProductType!)

The product associated with this component.

identifier(ID!)

Unique identifier of the component.

initialQuantity(Int!)

Initial/default quantity for this component.

maximumQuantity(Int!)

Maximum quantity of this component that can be selected.

minimumQuantity(Int!)

Minimum quantity of this component that can be selected.

Example

{
  "identifier": "abc123",
  "minimumQuantity": 1,
  "maximumQuantity": 1,
  "initialQuantity": 1
}

ProductDmoReferenceType

Deprecated: only used for mass-market elec and replaced by PriceReferenceInterface above.

Fields

NameDescription
annualCost(Decimal!)

The calculated annual cost, in $.

effectiveFrom(Date!)

The date the reference became effective.

effectiveTo(Date)

The last date on which the reference is effective.

id(ID!)

The unique identifier of the ProductDmoReference or ProductDMOComparison.

ntcCombination([String]!)

Relevant NTCs for this reference.

planId(String)

Plan Id.

savingPercentage(Int!)

The savings percentage, relative to the Usage Reference annual cost.

Example

{
  "id": "abc123",
  "effectiveFrom": "2020-01-01",
  "effectiveTo": "2020-01-01",
  "ntcCombination": "abc123",
  "planId": "abc123",
  "annualCost": "1.0",
  "savingPercentage": 1
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

ProductRateOverrideConfigurationType

Configuration for Product Rate Override Configuration term.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

indexationOptions(IndexationOptionsType)

The indexation options for the product rate override configuration.

isVariable(Boolean)

Whether the term is variable.

schedules([ProductRateOverrideScheduleType])

The schedules for the product rate override configuration.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "indexationOptions": IndexationOptionsType,
  "schedules": [ProductRateOverrideScheduleType]
}

ProductRateOverrideItemType

Item for Product Rate Override Configuration term.

Fields

NameDescription
pricePerUnit(Decimal)

The price per unit for the product rate override item.

productCode(String)

The product code for the product rate override item.

rateBand(String)

The rate band for the product rate override item.

Example

{
  "productCode": "abc123",
  "rateBand": "abc123",
  "pricePerUnit": "1.0"
}

ProductRateOverrideScheduleType

Schedule for Product Rate Override Configuration term.

Fields

NameDescription
effectiveFrom(DateTime)

The effective from date for the product rate override schedule.

items([ProductRateOverrideItemType])

The items for the product rate override schedule.

Example

{
  "items": [ProductRateOverrideItemType],
  "effectiveFrom": "2020-01-01T00:00:00.000Z"
}

ProductRateType

Generic product rate.

Fields

NameDescription
bandCategory(BandCategory)

Category of band associated with a product rate.

bandSubcategory(String)

Subcategory of band associated with a product rate.

currency(String)

id(ID)

ID associated with product rate.

pricePerUnit(Decimal!)

Price in cents per unit.

rateDescription(String)

Description that will show up on the customer's bill.

rateExcludingTax(Float)

Unit cost before tax.

rateIncludingTax(Float)

Unit cost including tax.

stepEnd(Float)

End of the step the rate applies to (Exclusive).

stepStart(Float)

Start of the step the rate applies to.

unitType(UnitType!)

What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.

validFrom(DateTime)

validTo(DateTime)

Example

{
  "currency": "abc123",
  "pricePerUnit": "1.0",
  "bandCategory": "STANDING_CHARGE",
  "bandSubcategory": "abc123",
  "rateExcludingTax": 1.0,
  "rateIncludingTax": 1.0,
  "rateDescription": "abc123",
  "unitType": "DAYS_ON_SUPPLY",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "stepStart": 1.0,
  "stepEnd": 1.0,
  "id": "abc123"
}

Fields

NameDescription
annualCost(Int!)

pricingZone(ProductReferencePricingZone!)

product(Product!)

The product associated with this reference.

savingPercentage(Int!)

The saving percentage variance

Example

{
  "pricingZone": "AGLNSW",
  "annualCost": 1,
  "savingPercentage": 1,
  "product": Product
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

PropertyConnection

Paginated list of properties.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([PropertyEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": PropertyEdge,
  "totalCount": 1,
  "edgeCount": 1
}

PropertyEdge

A Relay edge containing a Property and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(PropertyInterface)

The item at the end of the edge

Example

{
  "node": PropertyInterface,
  "cursor": "abc123"
}

PropertyMoveOut

Trigger the Leave Property lifecycle journey for a property in the CES embedded electricity market. Initially supports CES market supply points and is designed to expand to support all markets in the future.

The possible errors that can be raised are:

  • KT-CT-6622: Unauthorized.
  • KT-CT-6623: Unauthorized.
  • KT-AU-6610: Move out process validation failed.
  • KT-AU-6611: Unable to move out of property.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

workflow(WorkflowType!)

Information on the workflow which is processing the move out.

Example

{
  "workflow": WorkflowType,
  "possibleErrors": [PossibleErrorType]
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
administrativeArea(String)

Top-level administrative subdivision, e.g. US state, AU state/territory, NZ, region, IT region, JP prefecture.

AU: Australia

This must be one of NSW, VIC, QLD, TAS, ACT, SA, NT, WA. For addresses not within these locations, use the value that Australia Post uses, e.g. ACT for the Jervis Bay Territory or WA for Christmas Island.

asString(String)

The entire formatted address represented as a single string, as it would be written on an envelope.

The formatting of this field may vary according to the country of the address (which may not match this Kraken installation's home country). It may also change if we update our address-formatting code or if our understanding of the correct formatting for a given country changes. Avoid parsing individual components of an address out of this field's value; use the other fields on this type instead.

Arguments

showCountry (Boolean)

Whether to include the country. The country will be spelled out in all-caps on the last line, as per Universal Postal Union standards.

showName (Boolean)

Whether to include the name attached to this address.

showPostalCode (Boolean)

Whether to include the postal code attached to this address.

country(String)

ISO 3166-1 alpha-2 code of the country this address belongs to, e.g. AU, GB, NZ.

deliveryPointIdentifier(String)

Identifier used by the local postal service for this address, e.g. AU DPID, GB postcode + Delivery Point Suffix, US Zip-9 + Delivery Point.

This is the value that gets encoded in the barcode printed on the envelope by large-volume bulk mail providers.

dependentLocality(String)

UK dependent localities, or neighbourhoods or boroughs in some other locations.

locality(String)

City or town portion of an address, e.g. US city, AU suburb/town, NZ suburb and city/town, IT comune, UK post town.

name(String)

A personal name.

organization(String)

The name of a business or organisation.

postalCode(String)

Postal code (ZIP code in the US).

sortingCode(String)

Sorting code, e.g. FR CEDEX code. This field is not used in many countries.

streetAddress(String)

The 'street address' component.

This value can (and often will) contain newline characters when appropriate.

In some cases, data may appear in this field instead of the below fields; e.g. a UK post town name may appear here instead of in the dependent_locality field. This happens when data has been migrated from a legacy format, and that format had insufficient metadata to determine the appropriate field.

If structured_street_address is also set, the value of this field will be a string generated from that value.

structuredStreetAddress(GenericScalar)

The 'street address' component, in a structured format.

This field stores the same value as street_address, but with more detail; for instance, instead of 123 Example Street it might be {'street_number': '123', 'street_name': 'Example', 'street_type': 'Street'}. In many cases this will be blank; we only use this field for Krakens where we need to supply this level of granularity to some third-party service, like a bulk mail provider.

The exact structure of this value depends on the country of the address, which is not necessarily the same as the country this Kraken is configured to serve. For addresses outside of the countries listed below, this field will be left blank.

AU: Australia

The following keys may be present; all are optional. All keys have string values, and their meaning is the same as their aseXML counterparts. (Note that, unlike aseXML, all keys are provided at the top level, rather than being nested.)

  • flat_or_unit_type
  • flat_or_unit_number
  • floor_or_level_type
  • floor_or_level_number
  • building_or_property_name
  • location_descriptor
  • lot_number
  • house_number_1
  • house_number_suffix_1
  • house_number_2
  • house_number_suffix_2
  • street_name
  • street_type
  • street_suffix
  • postal_delivery_type
  • postal_delivery_number_prefix
  • postal_delivery_number_value
  • postal_delivery_number_suffix

JP: Japan

The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

  • chome
  • banchi
  • go
  • edaban
  • kana_building_name
  • kanji_building_name
  • building_number
  • room_number
  • address_code
  • physical_location_identifier
  • kana_company_name
  • kanji_company_name

NZ: New Zealand

The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

  • flat_or_unit_type
  • flat_or_unit_number
  • floor_or_level_type
  • floor_or_level_number
  • property_name
  • building_name
  • house_number_1
  • house_number_suffix_1
  • house_number_2
  • house_number_suffix_2
  • street_prefix
  • street_name
  • street_type
  • street_suffix
  • rural_delivery_number
  • mailtown
  • postal_delivery_type
  • postal_delivery_location
  • postal_delivery_number_prefix
  • postal_delivery_number_value
  • postal_delivery_number_suffix

Example

{
  "name": "abc123",
  "organization": "abc123",
  "streetAddress": "abc123",
  "structuredStreetAddress": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "dependentLocality": "abc123",
  "locality": "abc123",
  "administrativeArea": "abc123",
  "postalCode": "abc123",
  "sortingCode": "abc123",
  "country": "abc123",
  "deliveryPointIdentifier": "abc123",
  "asString": "abc123"
}

Fields

NameDescription
property(PropertyType!)

The matched property.

score(Decimal!)

A score representing the degree of confidence for a match.

Example

{
  "score": "1.0",
  "property": PropertyType
}

Fields

NameDescription
address(String)

The address of the property, formatted into a single string.

addressLine1(String!)

addressLine2(String!)

addressLine3(String!)

addressLine4(String!)

addressLine5(String!)

ancestors(PropertyConnection)

Ancestor properties in the specified hierarchy, ordered from root to immediate parent. Returns empty list if the property is not in the hierarchy.

Arguments

after (String)

before (String)

first (Int)

hierarchyName (String)

The name of the hierarchy to query within.

last (Int)

benchmarks([EnergyBenchmarkType])

Estimated daily energy usage for households of different sizes in this property's neighbourhood (selected by postcode) for the season which overlaps the current billing period.

If the property isn't on supply, or isn't on a fixed billing schedule, then we will return the benchmarks which would apply today instead.

Returns null if we don't have benchmark data for this combination of postcode and season.

coordinates(CoordinatesType)

Coordinates for the property, useful for displaying the property on a map.

descendants(PropertyConnection)

Descendant properties in the specified hierarchy. Returns empty list if the property is not in the hierarchy.

Arguments

after (String)

before (String)

depth (Int)

Maximum depth of descendants to return. Defaults to 1 (immediate children). Set to null for all descendants.

first (Int)

hierarchyName (String)

The name of the hierarchy to query within.

last (Int)

electricityMeterPoints([MeterPointType])

Deprecated

The 'electricityMeterPoints' field is deprecated.

Use meterPoints instead.

- Marked as deprecated on 2022-09-02.
- Scheduled for removal on or after 2022-10-02.

embeddedNetwork(EmbeddedNetworkType)

The embedded network this property belongs to, if any.

id(String)

label(String)

An optional label for the property.

measurements(MeasurementConnection)

Measurements at a property

Arguments

after (String)

before (String)

endAt (DateTime)

Defaults to the far future which will return the most recent readings.

endOn (Date)

Latest date to return measurements for (inclusive).

first (Int)

last (Int)

startAt (DateTime)

Defaults to the far past which will return the oldest readings.

startOn (Date)

Earliest date to return measurements from.

timezone (String)

Timezone to use for grouping. Defaults to Kraken localtime.

utilityFilters ([UtilityFiltersInput])

Filters for each utility being measured.

meterPoints([MeterPointInterface])

occupancyPeriods([OccupancyPeriodType])

Time periods during which the property is associated with an account. Useful to display information about house-moves, as performing a move out of a property will set the end date for the occupancy period.

parent(PropertyInterface)

The parent property in the specified hierarchy. Returns null if the property has no parent or is not in the hierarchy.

Arguments

hierarchyName (String)

The name of the hierarchy to query within.

postcode(String!)

richAddress(PropertyRichAddressType)

Property rich address.

splitAddress([String])

List of address lines.

state(StateChoices)

State that the property resides in.

unmeteredSupplyPoints([UnmeteredSupplyPointInterface])

The unmetered supply points linked to this property.

Example

{
  "id": "abc123",
  "postcode": "abc123",
  "label": "abc123",
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "addressLine3": "abc123",
  "addressLine4": "abc123",
  "addressLine5": "abc123",
  "address": "abc123",
  "richAddress": PropertyRichAddressType,
  "splitAddress": ["abc123"],
  "occupancyPeriods": [OccupancyPeriodType],
  "coordinates": CoordinatesType,
  "embeddedNetwork": EmbeddedNetworkType,
  "parent": PropertyInterface,
  "descendants": PropertyConnection,
  "ancestors": PropertyConnection,
  "measurements": MeasurementConnection,
  "electricityMeterPoints": [MeterPointType],
  "meterPoints": MeterPointInterface,
  "benchmarks": [EnergyBenchmarkType],
  "state": "AUSTRALIAN_CAPITAL_TERRITORY",
  "unmeteredSupplyPoints": UnmeteredSupplyPointInterface
}

Fields

NameDescription
displayName(String!)

The customer-facing display name of the provider.

emergencyPhoneNumber(String!)

The emergency contact phone number for the provider.

id(String!)

The AEMO participant identifier code for this provider.

longName(String!)

The full registered name of the provider.

outagePhoneNumber(String)

The outage reporting phone number for the provider.

shortName(String!)

The abbreviated name of the provider.

Example

{
  "id": "abc123",
  "shortName": "abc123",
  "longName": "abc123",
  "displayName": "abc123",
  "emergencyPhoneNumber": "abc123",
  "outagePhoneNumber": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ProvisionalTransactionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ProvisionalTransactionConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ProvisionalTransactionConnectionTypeEdge

A Relay edge containing a ProvisionalTransactionConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ProvisionalTransactionType)

The item at the end of the edge

Example

{
  "node": ProvisionalTransactionType,
  "cursor": "abc123"
}

ProvisionalTransactionType

A provisional transaction represents some debit or credit to or from a customer's account which we cannot yet finalise for some reason, but which is still useful to keep a note of, and display to the customer. Provisional transactions are purely to give guidance in the absence of finalised information. We therefore only return provisional transactions that have not been finalised. When a transaction is finalised, it is available through the transactions field.

Fields

NameDescription
amount(Int)

The amount in pence for this provisional transaction. It will be negative for charges, positive for credits.

date(Date)

The date at which the charge should be applied to the account.

id(ID!)

title(String)

A user readable string that indicates what this transaction relates to.

Example

{
  "id": "abc123",
  "title": "abc123",
  "amount": 1,
  "date": "2020-01-01"
}

PublishMeterDataIssueEmail

Publish the transactional messaging trigger to send an email to the meter data issue's MDP.

The possible errors that can be raised are:

  • KT-CT-13802: Meter data issue not found.
  • KT-AU-13820: No operational contact found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
result(PublishMeterDataIssueEmailOutputType)

The result of publishing a meter data issue email.

Example

{
  
}

Fields

NameDescription
issueId(ID)

The ID of the MeterDataIssue.

Example

{
  "issueId": "abc123"
}

PublishTransactionalMessagingExternalTrigger

Publish an externally defined transactional messaging trigger.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-5421: Account user not found.
  • KT-CT-9901: Invalid trigger type code.
  • KT-CT-9905: Top-level context fields are missing.
  • KT-CT-9906: Template variables do not match the defined schema.
  • KT-CT-9908: Invalid recipient information.
  • KT-CT-9909: Invalid recipient information.
  • KT-CT-9910: Invalid input field combination.
  • KT-CT-9912: Required context entity not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
trigger(Trigger)

The trigger that has been published.

Example

{
  
}

PublishTransactionalMessagingTrigger

Publish a trigger within the transactional messaging service.

The possible errors that can be raised are:

  • KT-CT-9901: Invalid trigger type code.
  • KT-CT-9902: Invalid trigger type params.
  • KT-CT-9903: Trigger type cannot be published externally.
  • KT-CT-9912: Required context entity not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

trigger(Trigger)

The trigger that has been published.

Example

{
  "possibleErrors": [PossibleErrorType]
}

PurchaseVoucher

Purchase a voucher.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4178: No account found with given account number.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-13201: Invalid voucher type.
  • KT-CT-3924: Unauthorized.
  • KT-CT-13204: A voucher purchase with this idempotency key already exists.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
voucherPurchase(VoucherPurchaseType)

The voucher purchase created from the mutation.

Example

{
  "voucherPurchase": VoucherPurchaseType
}

PurchaseVouchers

Purchase multiple vouchers.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4178: No account found with given account number.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-13201: Invalid voucher type.
  • KT-CT-3924: Unauthorized.
  • KT-CT-13202: Exactly one of chargeAmountInCents or chargeAmountInCentsWithTax expected.
  • KT-CT-13203: Multiple account numbers found in voucher batch.
  • KT-CT-13204: A voucher purchase with this idempotency key already exists.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
voucherPurchases([VoucherPurchaseType])

The voucher purchases created from the mutation.

Example

{
  "voucherPurchases": [VoucherPurchaseType]
}

PushNotificationBindingType

Represents a pairing of a single app installation to an account user.

Fields

NameDescription
application(NotifiableApplicationType!)

expiresAt(DateTime!)

id(ID!)

messages(PrintMessageTypeConnection!)

Arguments

after (String)

before (String)

first (Int)

last (Int)

offset (Int)

registeredAt(DateTime!)

token(String!)

user(AccountUserType!)

Example

{
  "id": "abc123",
  "registeredAt": "2020-01-01T00:00:00.000Z",
  "expiresAt": "2020-01-01T00:00:00.000Z",
  "user": AccountUserType,
  "messages": PrintMessageTypeConnection,
  "application": NotifiableApplicationType,
  "token": "abc123"
}

Fields

NameDescription
eventType(String!)

id(ID!)

The ID of the object

message(PushNotificationMessageType)

Push notification message of the push notification event.

occurredAt(DateTime!)

Example

{
  "id": "abc123",
  "eventType": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "message": PushNotificationMessageType
}

PushNotificationMessageType

Represents a push notification communication.

Fields

NameDescription
createdAt(DateTime!)

The date and time the push notification was created.

id(ID!)

The ID of the push notification.

sentAt(DateTime)

The date and time the push notification was sent.

supportSiteUrl(String)

URL to view the push notification in the support site.

templateCode(String!)

The trigger type code of the push notification.

textBody(String)

The body text of the push notification.

title(String!)

The title of the push notification.

Example

{
  "id": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "sentAt": "2020-01-01T00:00:00.000Z",
  "templateCode": "abc123",
  "title": "abc123",
  "textBody": "abc123",
  "supportSiteUrl": "abc123"
}

QuantityType

Graphene type object to represent Quantity(magnitude, unit)

Fields

NameDescription
magnitude(Float!)

The numeric value of this field.

unit(String!)

Unit of this field.

Example

{
  "magnitude": 1.0,
  "unit": "abc123"
}

QuarantineElectricitySelfMeterRead

Quarantine the provided customer self meter read.

The possible errors that can be raised are:

  • KT-AU-5611: Cannot find register with the provided ID.
  • KT-AU-6411: Cannot find reading with the provided ID.
  • KT-AU-6412: Missing quarantine reading reason.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
reading(ElectricityAccumulationMeterReadingType)

The reading, which is quarantined.


Fields

NameDescription
complexityValue(Int)

The complexity of the query.

Example

{
  "complexityValue": 1
}

Fields

NameDescription
identifier(String)

Unique identifier for the term.

isVariable(Boolean)

Whether this term uses variable rates.

schedules([QuoteBespokeRateScheduleType!])

Rate schedules for this bespoke rate configuration.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "identifier": "abc123",
  "isVariable": true
}

Fields

NameDescription
identifier(String)

Unique identifier for this rate item.

pricePerUnit(Decimal)

Price per unit for this rate item.

rateSpecificationCode(String)

Code identifying the rate specification.

variantProfile(QuoteConfigurationVariantProfileType)

The variant profile for this rate item.

Example

{
  "identifier": "abc123",
  "rateSpecificationCode": "abc123",
  "pricePerUnit": "1.0"
}

Fields

NameDescription
identifier(String)

Unique identifier for this schedule.

items([QuoteBespokeRateItemType!])

Rate items in this schedule.

validFrom(DateTime)

Start of validity for this schedule.

validTo(DateTime)

End of validity for this schedule.

Example

{
  "identifier": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
identifier(String)

Unique identifier for the term.

isVariable(Boolean)

Whether this term uses variable rates.

numberOfDays(Int)

Number of days to pay the bill before debt becomes delinquent.

type(NonEmptyString)

The type of the term.

typeOfDays(String)

Whether days are WORKING or CALENDAR days.

Example

{
  "type": NonEmptyString,
  "identifier": "abc123",
  "isVariable": true,
  "numberOfDays": 1,
  "typeOfDays": "abc123"
}

Fields

NameDescription
costs([QuoteCostType])

The cost for quoting this product.

createdAt(DateTime)

The date and time when the quote component was created.

identifier(ID)

Identifier of the Quote.

productComponentIdentifier(ID)

Identifier of the Product Component.

quotingParamsInputData([QuotingParamType])

The input data used for quoting this product component.

termsAndConditionsS3Urls([TermsAndConditionsS3UrlType])

S3 URLs for terms and conditions linked to this quote component.

Arguments

expireIn (Int)

Expiration time for S3 URLs in seconds. Defaults to 1 hour (3600 seconds).

Example

{
  "identifier": "abc123",
  "productComponentIdentifier": "abc123",
  "costs": [QuoteCostType],
  "quotingParamsInputData": [QuotingParamType],
  "createdAt": "2020-01-01T00:00:00.000Z",
  "termsAndConditionsS3Urls": [TermsAndConditionsS3UrlType]
}

Fields

NameDescription
fieldCode(String)

Field code for this extra detail.

fieldType(String)

Type of the value (STRING, INTEGER, FLOAT, DATETIME).

fieldValue(String)

Value for this extra detail.

Example

{
  "fieldCode": "abc123",
  "fieldValue": "abc123",
  "fieldType": "abc123"
}

Fields

NameDescription
contractEnd(DateTime)

End of the contract period.

contractStart(DateTime)

Start of the contract period.

createdBy(String)

Email address of the Support Site user who created this quote configuration.

expiresAt(DateTime)

When this quote configuration expires.

extraDetailsItems([QuoteConfigurationExtraDetailItemType!])

Extra detail items for this quote configuration.

extraQuotingParams(ExtraQuotingParamsType)

Extra quoting parameters including forecast consumption entries.

number(String)

Unique number identifying this quote configuration.

opportunityNumber(String)

Number of the opportunity this quote configuration belongs to.

status(QuoteConfigurationStatus)

Current status of the quote configuration.

terms([QuoteTermInterface!])

Terms included in this quote configuration.

Example

{
  "number": "abc123",
  "createdBy": "abc123",
  "contractStart": "2020-01-01T00:00:00.000Z",
  "contractEnd": "2020-01-01T00:00:00.000Z",
  "expiresAt": "2020-01-01T00:00:00.000Z",
  "opportunityNumber": "abc123",
  "status": "DRAFT",
  "terms": QuoteTermInterface
}

Fields

NameDescription
characteristicValues(JSONString)

Characteristic values for this variant profile.

schemeLabels(JSONString)

Scheme labels for this variant profile.

Example

{
  "characteristicValues": {"key": "value"},
  "schemeLabels": {"key": "value"}
}

Fields

NameDescription
identifier(String)

Unique identifier for the term.

isVariable(Boolean)

Whether this term uses variable rates.

periods([QuoteContractedVolumePeriodType!])

Contracted volume periods.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "identifier": "abc123",
  "isVariable": true
}

Fields

NameDescription
marketName(String)

Market name for this contracted volume period.

unit(String)

Unit of measurement for the volume.

validFrom(DateTime)

Start of validity for this period.

validTo(DateTime)

End of validity for this period.

value(Decimal)

Volume value for this period.

Example

{
  "value": "1.0",
  "unit": "abc123",
  "marketName": "abc123",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
key(String!)

Name of the cost field.

value(QuoteCostUnionType)

Value of the cost field.

Example

{
  "key": "abc123",
  "value": DecimalType
}

Fields

NameDescription
identifier(String)

Unique identifier for the term.

isVariable(Boolean)

Whether this term uses variable rates.

schedules([QuoteRateGroupEligibilityScheduleType!])

Rate group eligibility schedules.

timeSeriesSpecificationSchedules([QuoteTimeSeriesSpecificationEligibilityScheduleType!])

Time series specification eligibility schedules.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "identifier": "abc123",
  "isVariable": true
}

Fields

NameDescription
end(DateTime)

End of the effective period (None if open-ended).

start(DateTime)

Start of the effective period.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
effectivePeriod(QuoteRateGroupEligibilityPeriodType)

The period during which this eligibility is effective.

isEligible(Boolean)

Whether this rate group is eligible.

productCode(String)

The product code associated with the rate group.

rateGroupCode(String)

The rate group code.

supplyPointIdentifier(String)

Optional supply point identifier.

Example

{
  "productCode": "abc123",
  "rateGroupCode": "abc123",
  "isEligible": true,
  "supplyPointIdentifier": "abc123"
}

Fields

NameDescription
code(UUID!)

id(ID!)

quotedSupplyPoints([QuotedSupplyPointType])

Example

{
  "id": "abc123",
  "code": "500c164d-38c7-4f74-9ac6-be210197e9e4"
}

Fields

NameDescription
effectivePeriod(QuoteRateGroupEligibilityPeriodType)

The period during which this eligibility is effective.

isEligible(Boolean)

Whether this time series specification is eligible.

productCode(String)

The product code associated with the time series specification.

supplyPointIdentifier(String)

Optional supply point identifier.

timeSeriesSpecificationCode(String)

The time series specification code.

Example

{
  "productCode": "abc123",
  "timeSeriesSpecificationCode": "abc123",
  "isEligible": true,
  "supplyPointIdentifier": "abc123"
}

Fields

NameDescription
createdAt(DateTime)

The date and time when the quote was created.

createdBy(ActorType)

The Actor who created the Quote.

identifier(ID)

Identifier of the Quote.

productOfferingIdentifier(ID)

The product offering identifier this Quote is related to.

quoteComponents([QuoteComponentType])

Quote components of this quote.

Example

{
  "identifier": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "productOfferingIdentifier": "abc123",
  "quoteComponents": [QuoteComponentType],
  "createdBy": ActorType
}

Fields

NameDescription
offeringComponents([QuotedOfferingParamsType])

Quoting components of this quote.

offeringIdentifier(ID)

Product offering identifier.

productComponents([QuotedProductComponentType])

Product component data including its quoting parameters.

Example

{
  "offeringIdentifier": "abc123",
  "productComponents": [QuotedProductComponentType],
  "offeringComponents": [QuotedOfferingParamsType]
}

Fields

NameDescription
productCode(ID)

Product code.

quotingParams([QuotingParamType])

Quoting parameter definitions for this product.

Example

{
  "productCode": "abc123",
  "quotingParams": [QuotingParamType]
}

QuotedProductType

Quoted product for a supply point

Fields

NameDescription
id(ID!)

priceReference(PriceReferenceInterface)

Return the Price Reference for the quoted supply point and product.

product(Product)

The associated product.

productReference(ProductReferenceType)

Return the DMO Usage Reference Data for the quoted MIRN.

quotedRates([RateInterface])

Current or future rates for this quote.

wasSelected(Boolean!)

Example

{
  "id": "abc123",
  "wasSelected": true,
  "product": Product,
  "productReference": ProductReferenceType,
  "quotedRates": RateInterface
}

QuotedSupplyPointType

Quoted supply point

Fields

NameDescription
agreement(AusAgreementInterface)

distributor(DistributorType)

The distributor used for the quote.

id(ID!)

marketName(String!)

quotedProducts([QuotedProductType])

Arguments

filterHeroProducts (Boolean)

Return only the top hero products relating to the quote.

referenceUsage(UsageReferenceType)

Return the DMO Usage Reference Data for the quoted MIRN.

supplyPoint(SupplyPointInterface)

The associated supply point.

usageReference(UsageReferenceInterface)

Return the Usage Reference for the quoted supply point.

Example

{
  "marketName": "abc123",
  "id": "abc123",
  "supplyPoint": SupplyPointInterface,
  "agreement": AusAgreementInterface,
  "referenceUsage": UsageReferenceType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
choices([String])

Choices of the quoting parameter if present.

label(String)

Human-readable label when provided (e.g. product catalog characteristic name).

name(String)

Stable key for the quoting parameter (e.g. characteristic code).

source(String)

Source of the quoting parameter.

type(String)

Type of the quoting parameter.

value(String)

Value of the quoting parameter.

Example

{
  "name": "abc123",
  "label": "abc123",
  "type": "abc123",
  "choices": ["abc123"],
  "source": "abc123",
  "value": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

RateGroupEligibilityConfigurationType

Represents a rate group eligibility term of in a contract.

Note: This type is a stub, and will be fleshed out in the future.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

schedules([RateGroupEligibilityScheduleType])

A list of rate group eligibility schedules associated with the contract.

timeSeriesSpecificationSchedules([TimeSeriesSpecificationEligibilityScheduleType])

A list of time series specification eligibility schedules associated with the contract.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true,
  "schedules": [RateGroupEligibilityScheduleType],
  "timeSeriesSpecificationSchedules": [TimeSeriesSpecificationEligibilityScheduleType]
}

RateGroupEligibilityPeriodType

Represents a period with a start and optional end date.

Note: This type is a stub, and will be fleshed out in the future.

Fields

NameDescription
end(DateTime)

The end date and time of the period.

start(DateTime)

The start date and time of the period.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z"
}

RateGroupEligibilityScheduleType

Represents a schedule for rate group eligibility within a contract.

Note: This type is a stub, and will be fleshed out in the future.

Fields

NameDescription
effectivePeriod(RateGroupEligibilityPeriodType)

The period during which this eligibility is effective.

isEligible(Boolean)

Indicates if the rate group is eligible.

productCode(String)

The product code associated with the rate group.

rateGroupCode(String)

The rate group code.

supplyPointIdentifier(String)

The external identifier of the supply point this schedule targets. When null, the schedule targets all agreements for the product.

Example

{
  "productCode": "abc123",
  "rateGroupCode": "abc123",
  "supplyPointIdentifier": "abc123",
  "isEligible": true,
  "effectivePeriod": RateGroupEligibilityPeriodType
}

RateGroupPrices

Rate group prices for a product.

Fields

NameDescription
prices([PriceForStream!]!)

The prices for the rate group.

rateGroup(String!)

The rate group code.

Example

{
  "rateGroup": "abc123"
}

RatesConnectionFieldConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([RatesConnectionFieldEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": RatesConnectionFieldEdge,
  "totalCount": 1,
  "edgeCount": 1
}

RatesConnectionFieldEdge

A Relay edge containing a RatesConnectionField and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(RateInterface)

The item at the end of the edge

Example

{
  "node": RateInterface,
  "cursor": "abc123"
}

ReactivateCollectionProcessRecord

Reactivate a Collection Process Record that was previously activated.

Unlike UpdateCollectionProcessRecordToActive, this mutation does not require or update the externalreference field. Use this when reactivating a collection process that already has an externalreference set from its initial activation.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-11217: Invalid collection process record status for reactivation.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessReactivated(ReactivateCollectionProcessRecordOutputType)

The reactivated collection process record.

Example

{
  
}

ReactivateCollectionProcessRecordOutputType

Output for reactivating a Collection process Record.

Fields

NameDescription
number(String)

The number of the collection process record.

status(CollectionProcessRecordStatusTypes)

The current status of the collection process record.

Example

{
  "number": "abc123",
  "status": "PENDING"
}

Fields

NameDescription
intervalEnd(DateTime)

The exclusive end of this reading's interval.

intervalStart(DateTime)

The inclusive start of this reading's interval.

qualities([ReadingQualityMeta])

A breakdown of this reading's value and raw reading count by quality group.

units(String)

This reading's units.

value(Decimal)

The recorded value for this reading.

Example

{
  "value": "1.0",
  "units": "abc123",
  "intervalStart": "2020-01-01T00:00:00.000Z",
  "intervalEnd": "2020-01-01T00:00:00.000Z",
  "qualities": [ReadingQualityMeta]
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

ReadingQualityMeta

A breakdown of a reading's value and count for a specific quality.

Fields

NameDescription
count(Int)

The number of raw readings contributing to this quality group.

quality(MeterDataQualities)

The quality of the readings in this group.

value(Decimal)

The aggregated value for readings of this quality. For interval readings this is the sum of kWh; for peak readings this is the maximum demand recorded.

Example

{
  "quality": "ACTUAL",
  "value": "1.0",
  "count": 1
}

Fields

NameDescription
exportReadings(ExportReadingsConnection)

Readings representing outgoing utility flow e.g., solar generation.

Arguments

after (String)

before (String)

first (Int)

last (Int)

importReadings(ImportReadingsConnection)

Readings representing incoming utility flow e.g., usage or consumption..

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "exportReadings": ExportReadingsConnection,
  "importReadings": ImportReadingsConnection
}

Fields

NameDescription
appliedTo([AppliedTo]!)

What the rebate applies to.

creditReason(String!)

The value that populates the reason field in AccountCredits for this rebate.

displayName(String!)

Label for displaying the rebate on statements etc.

endAt(DateTime)

When eligibility for the rebate ends. If this field is null, the rebate should be treated as ongoing.

percentageDiscount(Decimal)

The percentage discount for the rebate, represented as a decimal number between 0 and 1, returned for percentage discount rebates.

rebateCents(Decimal)

The number of cents per day for the rebate, returned for pro rata rebates.

startAt(DateTime)

When eligibility for the rebate starts.

Example

{
  "displayName": "abc123",
  "creditReason": "abc123",
  "rebateCents": "1.0",
  "percentageDiscount": "1.0",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "appliedTo": "INVOICE"
}

RecordActivatedPaymentMethod

Record an activated payment method.

The possible errors that can be raised are:

  • KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3987: Invalid payment method type code.
  • KT-CT-3991: Received no financial account details.
  • KT-CT-3992: Received multiple financial account details.
  • KT-CT-3993: The type of financial account details does not match the provided payment method type.
  • KT-CT-3994: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentMethod(PaymentMethodType)

The stored payment method.

Example

{
  "paymentMethod": PaymentMethodType
}

RecordChargedBackPayment

Record one or more charged back payments.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information.
  • KT-CT-3985: Received multiple inputs for action intent.
  • KT-CT-3986: Received no input for action intent.
  • KT-CT-3987: Invalid payment method type code.
  • KT-CT-3988: Number of items in list exceeds maximum value.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
noticeBatchIdentifier(String!)

The unique identifier of the notice batch created from the input.

Example

{
  "noticeBatchIdentifier": "abc123"
}

RecordDepositAgreementAccepted

Record the customer's acceptance of a deposit agreement.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
isRecorded(Boolean)

Example

{
  "isRecorded": true
}

RecordFailedPayment

Record one or more failed payments.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information.
  • KT-CT-3985: Received multiple inputs for action intent.
  • KT-CT-3986: Received no input for action intent.
  • KT-CT-3987: Invalid payment method type code.
  • KT-CT-3988: Number of items in list exceeds maximum value.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
noticeBatchIdentifier(String!)

The unique identifier of the notice batch created from the input.

Example

{
  "noticeBatchIdentifier": "abc123"
}

RecordInvalidatedPaymentMethod

Record an invalidated payment method.

The possible errors that can be raised are:

  • KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information.
  • KT-CT-3996: Unauthorized.
  • KT-CT-3997: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
noticeBatchIdentifier(String!)

The unique identifier of the notice batch created from the input.

Example

{
  "noticeBatchIdentifier": "abc123"
}

RecordPendingPayment

Record one or more pending payments.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information.
  • KT-CT-3985: Received multiple inputs for action intent.
  • KT-CT-3986: Received no input for action intent.
  • KT-CT-3987: Invalid payment method type code.
  • KT-CT-3988: Number of items in list exceeds maximum value.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
noticeBatchIdentifier(String!)

The unique identifier of the notice batch created from the input.

Example

{
  "noticeBatchIdentifier": "abc123"
}

RecordSuccessfulPayment

Record one or more successful payments.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-1609: The provided datetime ISO string is not timezone aware, please provide timezone information.
  • KT-CT-3985: Received multiple inputs for action intent.
  • KT-CT-3986: Received no input for action intent.
  • KT-CT-3987: Invalid payment method type code.
  • KT-CT-3988: Number of items in list exceeds maximum value.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
noticeBatchIdentifier(String!)

The unique identifier of the notice batch created from the input.

Example

{
  "noticeBatchIdentifier": "abc123"
}

Fields

NameDescription
buttonAction(ActionType!)

The action to perform when the button is pressed.

buttonStyle(ButtonStyle)

The button style.

id(ID)

Unique identifier of the object.

title(String!)

Title text of the button.

typename(String)

The name of the object's type.

variant(ButtonVariance)

Colour style of button eg. filled, outlined, text_only.

Example

{
  "buttonStyle": "PRIMARY",
  "title": "abc123",
  "buttonAction": DeeplinkActionType,
  "id": "abc123",
  "typename": "abc123",
  "variant": "FILLED"
}

RedeemLoyaltyPointsForAccountCredit

Redeem the specified number of Loyalty Points as account credit.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9201: No Loyalty Point ledger found for the user.
  • KT-CT-9202: Loyalty Points adapter not configured.
  • KT-CT-9203: No ledger entries for the ledger.
  • KT-CT-9205: Insufficient Loyalty Points.
  • KT-CT-9206: Indivisible points.
  • KT-CT-9204: Negative or zero points set.
  • KT-CT-9208: Invalid posted at datetime.
  • KT-CT-9209: Negative Loyalty Points balance.
  • KT-CT-9210: Unhandled Loyalty Points exception.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
pointsRedeemed(Int)

The number of loyalty points that were redeemed.

Example

{
  "pointsRedeemed": 1
}

RedeemReferralClaimCode

Redeem the referral claim code from certain referral scheme.

The possible errors that can be raised are:

  • KT-CT-6723: Unauthorized.
  • KT-CT-6724: Referral claim code not found.
  • KT-CT-6725: Referral claim code redeeming error.
  • KT-CT-6726: Referral claim code has already been redeemed.
  • KT-CT-6727: Referral claim code is not available.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
success(Boolean!)

Whether or not the request was successful.

Example

{
  "success": true
}

ReferralClaimCodeType

Referral claim code is a way of claiming promotional benefit coming from the partner-reward referral schemes.

Fields

NameDescription
accountReferral(ReferralType)

Account referral associated with the claim code.

createdAt(DateTime)

Datetime when claim code was generated.

id(Int)

Id of claim code instance.

isValid(Boolean)

Whether the referral claim code is valid and available for use.

referralScheme(ReferralSchemeType)

Referral scheme claim code belongs to.

value(String)

Value of claim code.

Example

{
  "id": 1,
  "value": "abc123",
  "referralScheme": ReferralSchemeType,
  "accountReferral": ReferralType,
  "isValid": true,
  "createdAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ReferralConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

referringUserTotalPaymentAmount(Int!)

Total payment amount given to the referring account in the smallest unit. of the client's currency.

If you filter the referrals by status, this will only return the total payment amount of referrals with the specified status.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ReferralConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1,
  "referringUserTotalPaymentAmount": 1
}

ReferralConnectionTypeEdge

A Relay edge containing a ReferralConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ReferralType)

The item at the end of the edge

Example

{
  "node": ReferralType,
  "cursor": "abc123"
}

ReferralSchemeType

A referral scheme is a way for one account to earn a reward for referring another. This is achieved by the referred account using a url (provided by the referring account) to sign up.

Fields

NameDescription
canBeReferred(Boolean)

Whether the current account is eligible to be referred under this scheme.

code(String)

The unique code for the scheme.

combinedRewardAmount(Int)

The reward amount received by the referrer and the referee combined.

isUsageAtCapacity(Boolean)

True if the the scheme has limit of uses, and if the usage is at capacity.

loyaltyPointsBonus(Int)

The number of loyalty points to be awarded to the referrer in addition to the reward amount.

maxRecurrence(Int)

Max number of times this referral code can be credited to a given account.

referralDisplayUrl(String)

A referral url for display purposes.

referralUrl(String)

A fully qualified url give people to create accounts referred by this scheme.

referredRewardAmount(Int)

The reward amount received by the referred party.

referrerFamilyName(String)

The family name of the person making the referral.

Deprecated

The 'referrerFamilyName' field is deprecated.

Only make use of the referrerGivenName for privacy reasons.

- Marked as deprecated on 2022-11-07.
- Scheduled for removal on or after 2023-01-07.

referrerGivenName(String)

The given name of the person making the referral.

referrerRewardAmount(Int)

The reward amount received by the referrer.

schemeType(String)

Scheme type of the referral scheme.

Example

{
  "referralUrl": "abc123",
  "referralDisplayUrl": "abc123",
  "referrerRewardAmount": 1,
  "referredRewardAmount": 1,
  "combinedRewardAmount": 1,
  "loyaltyPointsBonus": 1,
  "canBeReferred": true,
  "code": "abc123",
  "referrerGivenName": "abc123",
  "referrerFamilyName": "abc123",
  "schemeType": "abc123",
  "maxRecurrence": 1,
  "isUsageAtCapacity": true
}

Fields

NameDescription
business(ReferralSchemeType)

A business scheme type.

domestic(ReferralSchemeType)

A domestic scheme type.

friendsAndFamily(ReferralSchemeType)

A friends and family scheme type.

Deprecated

The 'friendsAndFamily' field is deprecated.

Please use domestic instead.

- Marked as deprecated on 2020-03-05.
- Scheduled for removal on or after 2024-01-01.

Example

{
  "domestic": ReferralSchemeType,
  "business": ReferralSchemeType,
  "friendsAndFamily": ReferralSchemeType
}

ReferralType

Details of an account referral

Fields

NameDescription
code(String)

The referral code.

combinedPaymentAmount(Int)

The payment amount in the smallest unit of the clients currency received by the referrer and the referee combined.

id(ID!)

paymentDate(Date)

The date when the payment was made.

paymentStatus(String)

The status of the payment.

referredUserJoinDate(DateTime)

The date the referred user joined.

referredUserName(String)

The name of the referred user.

referredUserPaymentAmount(Int)

Payment amount given to the referred account in the smallest unit of the client's currency.

referringUserPaymentAmount(Int)

Payment amount given to the referring account in the clients fractional currency unit.

schemeType(ReferralSchemeTypeChoices)

The type of reward scheme.

Example

{
  "paymentDate": "2020-01-01",
  "schemeType": "REFERRAL_REWARD",
  "code": "abc123",
  "referredUserName": "abc123",
  "paymentStatus": "abc123",
  "referredUserJoinDate": "2020-01-01T00:00:00.000Z",
  "referredUserPaymentAmount": 1,
  "referringUserPaymentAmount": 1,
  "combinedPaymentAmount": 1,
  "id": "abc123"
}

RefreshToken

An opaque token that can be used to renew a Kraken Token.

Fields

NameDescription
expiryDt(DateTime!)

The datetime when the token will expire.

isValid(Boolean)

key(String!)

Example

{
  "expiryDt": "2020-01-01T00:00:00.000Z",
  "key": "abc123",
  "isValid": true
}

Refund

A refund to the customer from the energy supplier.

Fields

NameDescription
accountNumber(String)

Unique identifier of the account the transaction belongs to.

amount(Int)

Gross amount including tax (when payable). Refer to the amounts field for a breakdown of this information.

amounts(TransactionAmountType)

The net, tax and gross amounts for the transaction. Note: for payments and repayments, only the net amount is returned.

balanceCarriedForward(Int)

The customer's resulting balance after this transaction has been applied, in the smallest unit of currency.

billingDocumentIdentifier(ID)

The unique identifier for the most recent billing document linked with the transaction.Note: a transaction may be linked with multiple documents, but this field will only return the identifier for the most recent billing document.

createdAt(DateTime)

The date time when the transaction is created.

hasStatement(Boolean)

Returns True if the transaction is linked with a statement.

id(ID)

Unique identifier for the transaction.

isAccountCharge(Boolean)

Deprecated.

Deprecated

The 'isAccountCharge' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isAccountPayment(Boolean)

Deprecated.

Deprecated

The 'isAccountPayment' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isCredit(Boolean)

Deprecated.

Deprecated

The 'isCredit' field is deprecated.

This information is provided by the __typename introspection query.

- Marked as deprecated on 2020-06-19.
- Scheduled for removal on or after 2022-11-15.

isHeld(Boolean)

Whether the statement this transaction is on has been held. A held statement is not sent to a customer automatically, but is instead marked for manual attention by operations staff. Returns False if a statement is not linked with the transaction.

isIssued(Boolean)

Whether this transaction has been issued on any billing document.Note: Look for the most recently issued transaction instead of looking through all transactions as some accounts may have initial transactions that were not issued.This will return False if the transaction is not associated with any billing documents.

isReversed(Boolean!)

note(String)

Returns the note field value for the transaction, which contains additional info.

postedDate(Date)

Date when the transaction was posted to the account.

reasonCode(String)

Returns the reason.

statementId(ID)

Returns None if a statement is not linked with the transaction.

Deprecated

The 'statementId' field is deprecated.

Use `billingDocumentIdentifier` instead.

- Marked as deprecated on 2023-11-30.
- Scheduled for removal on or after 2024-06-01.

title(String)

Human-readable title describing the transaction.

Example

{
  "id": "abc123",
  "postedDate": "2020-01-01",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "accountNumber": "abc123",
  "amount": 1,
  "amounts": TransactionAmountType,
  "balanceCarriedForward": 1,
  "isCredit": true,
  "isAccountCharge": true,
  "isAccountPayment": true,
  "isHeld": true,
  "isIssued": true,
  "title": "abc123",
  "billingDocumentIdentifier": "abc123",
  "statementId": "abc123",
  "isReversed": true,
  "hasStatement": true,
  "note": "abc123",
  "reasonCode": "abc123"
}

RefundPayment

Refund a cleared payment.

The possible errors that can be raised are:

  • KT-CT-3924: Unauthorized.
  • KT-CT-3928: Idempotency key used for another repayment request.
  • KT-CT-3929: The payment is not in a refundable state.
  • KT-CT-3933: Refund amount greater than payment amount.
  • KT-CT-3937: Payment not eligible for refund.
  • KT-CT-3938: Partial refund not allowed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
repayment(AccountRepaymentType)

The repayment for the requested refund.

Example

{
  "repayment": AccountRepaymentType
}

Fields

NameDescription
amount(Int)

The amount of money requested.

payment(AccountPaymentType)

The payment which is being refunded.

reasonCode(String)

Internal code for the reason the refund is being requested.

requestId(ID)

The ID of the refund request.

status(RepaymentRequestStatus)

The current status of the refund request.

Example

{
  "requestId": "abc123",
  "amount": 1,
  "payment": AccountPaymentType,
  "reasonCode": "abc123",
  "status": "REQUESTED"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([RefundRequestConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": RefundRequestConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

RefundRequestConnectionTypeEdge

A Relay edge containing a RefundRequestConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(RefundPaymentRequestType)

The item at the end of the edge

Example

{
  "node": RefundPaymentRequestType,
  "cursor": "abc123"
}

RefundVoucher

Refund a voucher purchase.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-13205: Voucher purchase not found.
  • KT-CT-13206: Voucher has already been redeemed and cannot be refunded.
  • KT-CT-13207: Voucher has already been refunded.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
voucherPurchase(VoucherPurchaseType)

The voucher purchase that was refunded.

Example

{
  "voucherPurchase": VoucherPurchaseType
}

RegenerateSecretKey

Regenerate the user's API key.

The possible errors that can be raised are:

  • KT-CT-11100: API key authentication unavailable.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
key(String!)

The generated key value, which is only ever available once (here).

viewer(AccountUserType)

The currently authenticated user.

Example

{
  "key": "abc123",
  "viewer": AccountUserType
}

RegisterCustomerAsset

Register a new customer asset for an account

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-14602: Customer asset already exists.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
customerAsset(CustomerAssetType)

The registered customer asset.

Example

{
  "customerAsset": CustomerAssetType
}

RegisterLeadFlowStatusEvent

Register a flow status event for a lead.

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
flowId(String)

ID of the registered flow status event.

Example

{
  "flowId": "abc123"
}

RegisterNTCOverrideType

The network tariff code (NTC) the register will be billed to. This indicates the NTC has been overridden.

Fields

NameDescription
effectiveNetworkTariffCode(String!)

endAt(DateTime)

id(Int)

startAt(DateTime!)

Example

{
  "id": 1,
  "effectiveNetworkTariffCode": "abc123",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z"
}

RegisterOpportunityFlowStatusEvent

Register a flow status event for an opportunity.

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
flowId(String)

ID of the registered flow status event.

Example

{
  "flowId": "abc123"
}

RegisterPushNotificationBinding

Register a device token to be used for push notifications for an app.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
pushNotificationBinding(PushNotificationBindingType)

Example

{
  "pushNotificationBinding": PushNotificationBindingType
}

Fields

NameDescription
digits(Int)

id(Int)

The ID of the register reading.

identifier(String)

isQuarantined(Boolean)

name(String)

qualityFlag(QualityFlag)

Possible values: A: ACTUALMETERINGDATA E: FORWARDESTIMATEDDATA F: FINALSUBSTITUTEDDATA N: NULLDATA S: SUBSTITUTEDDATA V: VARIABLE_DATA

qualityMethod(String)

Possible values: 11: CHECK 12: CALCULATED 13: SCADA 14: RETROSPECTIVELIKEDAY 15: RETROSPECTIVEAVERAGELIKEDAY 16: AGREEDREMOTE 17: LINEARREMOTE 18: ALTERNATIVE 19: ZERO 20: PROSPECTIVELIKEDAY 21: FIVEMINUTENOHISTORICALDATA 22: PROSPECTIVEAVERAGELIKEDAY 23: PREVIOUSYEAR 24: DATASCALING 25: AVERAGEDAILYLOAD 51: PREVIOUSYEARMRIM 52: PREVIOUSREADMRIM 53: REVISIONMRIM 54: LINEARMRIM 55: AGREEDMRIM 56: AGREEDPRIORTOFIRSTREAD 57: CUSTOMERCLASSMRIM 58: ZEROMRIM 59: MRIMFIVEMINUTENOHISTORICALDATA 61: PREVIOUSYEARBASIC 62: PREVIOUSREADBASIC 63: CUSTOMERCLASSBASIC 64: AGREEDBASIC 65: ADL 66: REVISIONBASIC 67: CUSTOMERREAD 68: ZEROBASIC 69: LINEARINTERPOLATION 71: RECALCULATION 72: REVISEDTABLE 73: REVISEDALGORITHM 74: AGREEDCALCULATED 75: EXISTINGTABLE KI: KRAKENINTERPOLATION KP: KRAKENINTERPOLATIONPREVIOUSYEAR KE: KRAKENEXTRAPOLATION KA: KRAKENADL RA: KRAKENREMOVALALIGNED

value(String)

Example

{
  "identifier": "abc123",
  "name": "abc123",
  "value": "abc123",
  "digits": 1,
  "isQuarantined": true,
  "id": 1,
  "qualityFlag": "A",
  "qualityMethod": "abc123"
}

RegistersConnection

Pagination for device registers.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([RegistersEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": RegistersEdge,
  "totalCount": 1,
  "edgeCount": 1
}

RegistersEdge

A Relay edge containing a Registers and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(DeviceRegister)

The item at the end of the edge

Example

{
  "node": DeviceRegister,
  "cursor": "abc123"
}

Fields

NameDescription
frequency(String)

The base unit of frequency at which payments are to be taken.

frequencyMultiplier(Int)

The multiple of the frequency at which payments are taken.

paymentDay(Int)

The day of the month/week at which to take payment.

Example

{
  "paymentDay": 1,
  "frequency": "abc123",
  "frequencyMultiplier": 1
}

Fields

NameDescription
assigneeId(ID)

The id of the user responsible for completing the reminder.

assigneeTeamId(ID)

The id of the team responsible for completing the reminder.

assigneeTeamName(String)

The name of the team responsible for completing the reminder.

assigneeUsername(String)

The username of the user responsible for completing the reminder.

content(String)

Reminder content.

createdAt(DateTime)

The date and time the account reminder was created.

dueAt(DateTime)

When the reminder is due.

id(Int)

The unique ID of the reminder.

isKrakenManaged(Boolean)

If the reminder is managed by Kraken.

params(JSONString)

Additional parameters for the reminder type.

reminderTypeName(String)

The reminder type name.

reopenInkConversation(Boolean)

Reopen ink conversation.

Example

{
  "id": 1,
  "reminderTypeName": "abc123",
  "isKrakenManaged": true,
  "content": "abc123",
  "dueAt": "2020-01-01T00:00:00.000Z",
  "assigneeUsername": "abc123",
  "assigneeId": "abc123",
  "assigneeTeamName": "abc123",
  "assigneeTeamId": "abc123",
  "reopenInkConversation": true,
  "createdAt": "2020-01-01T00:00:00.000Z",
  "params": {"key": "value"}
}

RemoveBankDetailsForLead

Soft delete the payment method reference for a lead.

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-8955: Payment method reference does not match.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
leadNumber(String)

The unique number of the lead.

Example

{
  "leadNumber": "abc123"
}

RemoveCampaignFromAccount

The possible errors that can be raised are:

  • KT-CT-7424: Failed to remove campaign from account.
  • KT-CT-7426: The account is not part of the given campaign.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
campaignRemoved(Boolean)

Whether the campaign was successfully removed from the account.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "campaignRemoved": true,
  "possibleErrors": [PossibleErrorType]
}

RemoveCampaignItems

The possible errors that can be raised are:

  • KT-CT-11501: Voice campaign not found.
  • KT-CT-11502: Cannot remove items from multiple campaigns at once.
  • KT-CT-11505: Voice campaign item not found.
  • KT-CT-11506: Invalid campaign ID.
  • KT-CT-11507: Invalid campaign item ID.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
campaignItems([VoiceCampaignItemType])

Example

{
  
}

RemoveConcession

Mutation to remove a concession for a user account

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
concession(ConcessionType)

Example

{
  "concession": ConcessionType
}

RemoveItemsFromRiskList

Remove existing items from the risk list.

The possible errors that can be raised are:

  • KT-CT-12106: Risk list item removal failed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
riskIdentifiers([RiskListItemType])

List of successfully removed risk identifiers.

Example

{
  
}

RemovePartnerUserFromTeam

Remove an existing partner user from a partner team.

The possible errors that can be raised are:

  • KT-CT-7725: Unauthorized.
  • KT-CT-7726: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
partnerUser(PartnerUserType)

The partner user that was removed from the team.

Example

{
  
}

RemovePropertyFromHierarchy

Remove a property from a hierarchy.

This operation is idempotent - if the property is not in the hierarchy, it will succeed without error. When a property is removed, its descendants are reparented to the removed property's parent. If removing a root node, its children become new root nodes.

The possible errors that can be raised are:

  • KT-CT-6622: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
property(PropertyType)

The property that was removed from the hierarchy.

Example

{
  "property": PropertyType
}

Fields

NameDescription
outcome(String)

The repayment intervention outcome.

reason(String)

The repayment intervention reason.

Example

{
  "outcome": "abc123",
  "reason": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([RepaymentRequestConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": RepaymentRequestConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

RepaymentRequestConnectionTypeEdge

A Relay edge containing a RepaymentRequestConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(RepaymentRequestType)

The item at the end of the edge

Example

{
  "node": RepaymentRequestType,
  "cursor": "abc123"
}

Fields

NameDescription
amount(Int)

The amount of money requested.

instruction(PaymentInstructionType)

The payment instruction, if any, associated with the repayment request.

method(RepaymentMethod)

The method by which the money will be transferred to the customer.

reasonCode(String)

Classifier code for repayment reason.

requestId(String)

The ID of the repayment request.

status(RepaymentRequestStatus)

The current status of the repayment request.

Example

{
  "requestId": "abc123",
  "amount": 1,
  "reasonCode": "abc123",
  "method": "BANK_TRANSFER",
  "instruction": PaymentInstructionType,
  "status": "REQUESTED"
}

ReplaceLatestPaymentSchedule

Replaces the active payment schedule with a new payment schedule. Requires the new schedule type to be passed in, as well as whether the schedule should be fixed.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
newSchedule(PaymentScheduleType)

The new payment schedule that has replaced the specified one.

replacedSchedule(PaymentScheduleType)

The payment schedule that was replaced.

Example

{
  "replacedSchedule": PaymentScheduleType,
  "newSchedule": PaymentScheduleType
}

ReplacePartnerReferences

Replace all references for a partner

The possible errors that can be raised are:

  • KT-CT-7701: The affiliate organisation was not found.
  • KT-CT-7732: The supplied reference namespace is not configured for this client.
  • KT-CT-7733: Another partner organisation already has a reference with this value in this namespace.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
partner(AffiliateOrganisationType)

The updated partner.

Example

{
  
}

RequestCADReport

Request a customer access data (CAD) report.

The possible errors that can be raised are:

  • KT-AU-3811: Missing or invalid mutation inputs.
  • KT-CT-3823: Unauthorized.
  • KT-CT-6420: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

The account.

successful(Boolean)

Whether the email with the data was sent.

Example

{
  "account": AccountType,
  "successful": true
}

RequestDoubleOptIn

Request a double opt in for a consent.

This mutation will create a consent with a value of PENDING and publish a double opt-in requested transactional messaging trigger.

The possible errors that can be raised are:

  • KT-CT-9019: Invalid input.
  • KT-CT-9018: Account not found.
  • KT-CT-1111: Unauthorized.
  • KT-CT-9016: Consent management not enabled.
  • KT-CT-9017: Consent type not found.
  • KT-CT-9023: Consent already accepted.
  • KT-CT-1199: Too many requests.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
consent(ConsentType)

The consent that was created or updated.

Example

{
  "consent": ConsentType
}

RequestMIRNDiscovery

Taking a MIRN identifier trigger an async request to resolve its origin

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
discoveryRequest(MDHXProcessDiscoveryType)

error(MIRNDiscoveryErrorUnion)


Fields

NameDescription
email(String)

The email that requested a password reset email.

userNumber(String)

The number of the user that requested a password reset email.

Example

{
  "email": "abc123",
  "userNumber": "abc123"
}

RequestPrintedBill

Request an issued bill to be printed and (re)posted to billing address of the account.

The possible errors that can be raised are:

  • KT-CT-3824: Unauthorized.
  • KT-CT-9705: The billing document has not been issued.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
success(Boolean)

Whether the request was successful.

Example

{
  "success": true
}

Fields

NameDescription
canRequestRefund(Boolean!)

Whether the account can request a refund.

reason(String)

The reason why a refund cannot be requested.

Example

{
  "canRequestRefund": true,
  "reason": "abc123"
}

RequestRepaymentOutputType

Output for creating a repayment request.

Fields

NameDescription
requestId(String)

The ID of the repayment request.

status(RepaymentRequestStatus)

The current status of the repayment request.

Example

{
  "requestId": "abc123",
  "status": "REQUESTED"
}

Fields

NameDescription
endDate(Date)

The end date of the date range.

startDate(Date)

The start date of the date range.

Example

{
  "startDate": "2020-01-01",
  "endDate": "2020-01-01"
}

ReschedulePayment

Reschedule an existing payment by a certain number of days

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
error(ReschedulePaymentErrorUnion)

newAccountPayment(AccountPaymentType)

Example


Fields

NameDescription
contract(Contract)

The contract rescinded.

Example

{
  "contract": Contract
}

ResetPasswordMutationPayload

Reset the password of an account user indicated by the userId to the value supplied.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
clientMutationId(String)

A unique identifier for the client performing the mutation.

Deprecated

The 'clientMutationId' field is deprecated.

This field is a relic of early Relay conventions and is no longer necessary.

- Marked as deprecated on 2026-07-29.
- Scheduled for removal on or after 2027-07-29.

errors([SerializerFieldErrorsType])

Example

{
  "errors": [SerializerFieldErrorsType],
  "clientMutationId": "abc123"
}

Fields

NameDescription
failureCodes([String])

A list of codes of which password validation the new password failed against if applicable. One of: - password_too_short - password_too_common - password_reused - password_matches_current - password_has_too_few_numeric_characters - password_has_too_few_special_characters - password_has_too_few_lowercase_characters - password_has_too_few_uppercase_characters - password_contains_account_number - password_contains_part_of_email_address

Deprecated

The 'failureCodes' field is deprecated.

Please handle the KT-CT-5450 error and inspect the `validationErrors[].code` extension instead.

Note that the KT-CT-5450 error will not be raised if you request any of the `failureCodes`, `failureReasons`, or `passwordUpdated` fields.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-10-04.

failureReasons([String])

A list of messages of which password validations the new password failed against if applicable.

Deprecated

The 'failureReasons' field is deprecated.

Please handle the KT-CT-5450 error and inspect the `validationErrors[].message` extension instead.

Note that the KT-CT-5450 error will not be raised if you request any of the `failureCodes`, `failureReasons`, or `passwordUpdated` fields.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-10-04.

passwordUpdated(Boolean)

True if the password update was successful, false otherwise.

Deprecated

The 'passwordUpdated' field is deprecated.

Please handle the KT-CT-5450 error instead.

Note that the KT-CT-5450 error will not be raised if you request any of the `failureCodes`, `failureReasons`, or `passwordUpdated` fields.

- Marked as deprecated on 2025-04-07.
- Scheduled for removal on or after 2025-10-04.

userId(ID!)

The ID of the user whose password was changed.

Example

{
  "userId": "abc123",
  "passwordUpdated": true,
  "failureReasons": ["abc123"],
  "failureCodes": ["abc123"]
}

ResolveMeterDataIssue

Resolve a Meter Data Issue by setting its status to RESOLVED.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-13802: Meter data issue not found.
  • KT-CT-13805: Meter data issue is already resolved.
  • KT-CT-13806: Invalid market name provided.
  • KT-CT-13808: No active flow exists for this issue.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
meterDataIssueResolved(ResolveMeterDataIssueOutputType)

The resolved meter data issue.

Example

{
  
}

ResolveMeterDataIssueOutputType

Output for resolving a MeterDataIssue.

Fields

NameDescription
issueId(Int)

The ID of the MeterDataIssue.

status(MeterDataIssueStatus)

The new status of the meter data issue.

Example

{
  "issueId": 1,
  "status": "OPEN"
}

ResumeCollectionProcess

Manually resume a collection process.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-11215: Unable to resume, collection process is not paused.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessResumed(ResumeCollectionProcessOutput)

Collection process resume output.

Example

{
  
}

Fields

NameDescription
pauseRecords([CollectionProcessPauseStatusRecord])

Pause records on the collection process.

Example

{
  
}

RetireCustomerAsset

Retire a customer asset for an account

The possible errors that can be raised are:

  • KT-CT-14603: Unable to retire customer asset.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
customerAsset(CustomerAssetType)

The retired customer asset.

Example

{
  "customerAsset": CustomerAssetType
}

RevokeAgreement

Revoke an agreement.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-1501: Agreement not found.
  • KT-CT-1502: Billed agreements cannot be revoked.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

Account responsible for the revoked agreement.

Example

{
  "account": AccountType
}

Fields

NameDescription
contract(Contract)

The contract revoked.

Example

{
  "contract": Contract
}

RevokePartnerUserAccess

Revoke all active role allocations a partner user has on a partner organisation.

The possible errors that can be raised are:

  • KT-CT-7701: The affiliate organisation was not found.
  • KT-CT-7725: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
partnerUser(RevokePartnerUserAccessType)

The result of the deletion.

Example

{
  
}

RevokePartnerUserAccessType

The result of revoking a partner user access.

Fields

NameDescription
partnerUserNumber(String!)

The number of the revoking partner user access.

Example

{
  "partnerUserNumber": "abc123"
}

RevokeUserAccessFromBusiness

Revoke the selected role from the user for the business.

The possible errors that can be raised are:

  • KT-CT-5463: Unauthorized.
  • KT-CT-11107: Unauthorized.
  • KT-CT-13501: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
roleCode(String)

The code of the role revoked from the user.

Example

{
  "roleCode": "abc123"
}

RewardType

        A reward is based on a scheme that an account has applied for in order to be
        eligible for a discount. Examples can include signup, promo, or partner codes that
        were applied to an account.

Fields

NameDescription
code(String)

The referral code.

id(ID!)

paymentDate(Date)

The date when the payment was made.

paymentStatus(ReferralStatusChoices)

The status of the reward payment.

rewardAmount(Int)

Reward amount given to the account in the smallest unit of the clients currency.

schemeType(ReferralSchemeTypeChoices)

The type of reward scheme.

Example

{
  "paymentDate": "2020-01-01",
  "schemeType": "REFERRAL_REWARD",
  "code": "abc123",
  "rewardAmount": 1,
  "paymentStatus": "Pending",
  "id": "abc123"
}

RichAddressType

A postal address.

This data model is based on the structure used by Google's libaddressinput library—so you can use it, or other libraries that use its data model and reference data, to accept input.

All fields can be blank, except for country which must always be supplied.

If you only need the address in a single string, use the asString property. If you need the address as a list of lines, use the asString property, then use .splitlines() (or your programming language's equivalent) on the resulting value.

Fields

NameDescription
administrativeArea(String)

Top-level administrative subdivision, e.g. US state, AU state/territory, NZ, region, IT region, JP prefecture.

AU: Australia

This must be one of NSW, VIC, QLD, TAS, ACT, SA, NT, WA. For addresses not within these locations, use the value that Australia Post uses, e.g. ACT for the Jervis Bay Territory or WA for Christmas Island.

asString(String)

The entire formatted address represented as a single string, as it would be written on an envelope.

The formatting of this field may vary according to the country of the address (which may not match this Kraken installation's home country). It may also change if we update our address-formatting code or if our understanding of the correct formatting for a given country changes. Avoid parsing individual components of an address out of this field's value; use the other fields on this type instead.

Arguments

showCountry (Boolean)

Whether to include the country. The country will be spelled out in all-caps on the last line, as per Universal Postal Union standards.

showName (Boolean)

Whether to include the name attached to this address.

showPostalCode (Boolean)

Whether to include the postal code attached to this address.

country(String)

ISO 3166-1 alpha-2 code of the country this address belongs to, e.g. AU, GB, NZ.

deliveryPointIdentifier(String)

Identifier used by the local postal service for this address, e.g. AU DPID, GB postcode + Delivery Point Suffix, US Zip-9 + Delivery Point.

This is the value that gets encoded in the barcode printed on the envelope by large-volume bulk mail providers.

dependentLocality(String)

UK dependent localities, or neighbourhoods or boroughs in some other locations.

locality(String)

City or town portion of an address, e.g. US city, AU suburb/town, NZ suburb and city/town, IT comune, UK post town.

name(String)

A personal name.

organization(String)

The name of a business or organisation.

postalCode(String)

Postal code (ZIP code in the US).

sortingCode(String)

Sorting code, e.g. FR CEDEX code. This field is not used in many countries.

streetAddress(String)

The 'street address' component.

This value can (and often will) contain newline characters when appropriate.

In some cases, data may appear in this field instead of the below fields; e.g. a UK post town name may appear here instead of in the dependent_locality field. This happens when data has been migrated from a legacy format, and that format had insufficient metadata to determine the appropriate field.

If structured_street_address is also set, the value of this field will be a string generated from that value.

structuredStreetAddress(GenericScalar)

The 'street address' component, in a structured format.

This field stores the same value as street_address, but with more detail; for instance, instead of 123 Example Street it might be {'street_number': '123', 'street_name': 'Example', 'street_type': 'Street'}. In many cases this will be blank; we only use this field for Krakens where we need to supply this level of granularity to some third-party service, like a bulk mail provider.

The exact structure of this value depends on the country of the address, which is not necessarily the same as the country this Kraken is configured to serve. For addresses outside of the countries listed below, this field will be left blank.

AU: Australia

The following keys may be present; all are optional. All keys have string values, and their meaning is the same as their aseXML counterparts. (Note that, unlike aseXML, all keys are provided at the top level, rather than being nested.)

  • flat_or_unit_type
  • flat_or_unit_number
  • floor_or_level_type
  • floor_or_level_number
  • building_or_property_name
  • location_descriptor
  • lot_number
  • house_number_1
  • house_number_suffix_1
  • house_number_2
  • house_number_suffix_2
  • street_name
  • street_type
  • street_suffix
  • postal_delivery_type
  • postal_delivery_number_prefix
  • postal_delivery_number_value
  • postal_delivery_number_suffix

JP: Japan

The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

  • chome
  • banchi
  • go
  • edaban
  • kana_building_name
  • kanji_building_name
  • building_number
  • room_number
  • address_code
  • physical_location_identifier
  • kana_company_name
  • kanji_company_name

NZ: New Zealand

The following keys may be present; all are optional. If keys are empty, they may be omitted from the response entirely.

  • flat_or_unit_type
  • flat_or_unit_number
  • floor_or_level_type
  • floor_or_level_number
  • property_name
  • building_name
  • house_number_1
  • house_number_suffix_1
  • house_number_2
  • house_number_suffix_2
  • street_prefix
  • street_name
  • street_type
  • street_suffix
  • rural_delivery_number
  • mailtown
  • postal_delivery_type
  • postal_delivery_location
  • postal_delivery_number_prefix
  • postal_delivery_number_value
  • postal_delivery_number_suffix

Example

{
  "name": "abc123",
  "organization": "abc123",
  "streetAddress": "abc123",
  "structuredStreetAddress": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "dependentLocality": "abc123",
  "locality": "abc123",
  "administrativeArea": "abc123",
  "postalCode": "abc123",
  "sortingCode": "abc123",
  "country": "abc123",
  "deliveryPointIdentifier": "abc123",
  "asString": "abc123"
}

RiskListItemType

Represents the result of importing/removing risk identifiers into the risk list with detailed information.

Fields

NameDescription
riskIdentifierId(ID)

The unique identifier of the edited risk identifier.

Example

{
  "riskIdentifierId": "abc123"
}

Fields

NameDescription
role(RoleInterface!)

The role that has been assigned.

validFrom(DateTime!)

The timestamp when the role becomes valid.

validTo(DateTime)

The timestamp when the role is no longer valid.

Example

{
  "role": RoleInterface,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
frmp(String)

The Financially Responsible Market Participant for this meter point.

lnsp(String)

The Local Network Service Provider for this meter point.

mc(String)

The Metering Coordinator responsible for managing metering at this connection point.

mdp(String)

The Meter Data Provider responsible for collecting and delivering metering data.

mpb(String)

The Metering Provider (Business) responsible for meter provision.

mpc(String)

The Metering Provider (Collection) responsible for meter data collection.

Example

{
  "frmp": "abc123",
  "lnsp": "abc123",
  "mc": "abc123",
  "mdp": "abc123",
  "mpb": "abc123",
  "mpc": "abc123"
}

Fields

NameDescription
category(String!)

The category of the attribute (LANGUAGE, OPERATIONS_GROUP, SKILL).

friendlyName(String!)

Human-readable name for the attribute.

isActive(Boolean!)

Whether this attribute is currently active and can be used for routing.

ref(String!)

The reference string used to identify this attribute (e.g., SKILL.ENERGY, LANGUAGE.ENGLISH).

subcategory(String)

Optional subcategory (e.g., TEAM, LOCATION).

Example

{
  "ref": "abc123",
  "category": "abc123",
  "subcategory": "abc123",
  "friendlyName": "abc123",
  "isActive": true
}

RunAgreementRollover

Run an agreement rollover.

The possible errors that can be raised are:

  • KT-CT-13705: Agreement rollover not found.
  • KT-CT-13706: Agreement rollover has an invalid status for this operation.
  • KT-CT-13709: Agreement rollover workflow has an invalid status for this operation.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreementRollover(AgreementRolloverType)

The executed agreement rollover.

Example

{
  "agreementRollover": AgreementRolloverType
}

Fields

NameDescription
eventType(String!)

id(ID!)

The ID of the object

message(SMSMessageType)

SMS message of the SMS event.

occurredAt(DateTime!)

Example

{
  "id": "abc123",
  "eventType": "abc123",
  "occurredAt": "2020-01-01T00:00:00.000Z",
  "message": SMSMessageType
}

SMSMessageType

Represents a SMS communication.

Fields

NameDescription
account(AccountType)

The account found.

attachments([AttachmentType])

Attachments of the message.

id(ID!)

The ID of the SMS.

recipient(String)

SMS recipient.

sender(String)

SMS sender.

sentAt(DateTime)

The date and time the SMS was sent.

textBody(String)

SMS body.

Example

{
  "id": "abc123",
  "sentAt": "2020-01-01T00:00:00.000Z",
  "account": AccountType,
  "sender": "abc123",
  "recipient": "abc123",
  "textBody": "abc123",
  "attachments": [AttachmentType]
}

SalesChannelType

A sales channel.

Fields

NameDescription
code(String)

The sales channel code.

description(String)

The sales channel description.

hierarchicalName(String)

The hierarchical name of the sales channel.

name(String)

The name of the sales channel.

Example

{
  "name": "abc123",
  "code": "abc123",
  "description": "abc123",
  "hierarchicalName": "abc123"
}

Fields

NameDescription
code(String)

The code of this sales funnel.

collections([Collection])

The collections of this sales funnel.

funnelType(FunnelTypeChoices)

The type of this sales funnel.

name(String)

The name of this sales funnel.

rules([SalesFunnelRule])

The rules of this sales funnel.

stages([SalesFunnelStage])

The stages of this sales funnel, in order.

status(FunnelStatusChoices)

The status of this sales funnel.

uncollectedFields([FunnelField])

Fields not associated with a collection.

Deprecated

The 'uncollectedFields' field is deprecated.

Is not necessary since fields are part of a collection

- Marked as deprecated on 2026-04-20.
- Scheduled for removal on or after 2026-05-20.

Example

{
  "code": "abc123",
  "name": "abc123",
  "funnelType": "LEAD",
  "status": "DRAFT"
}

Fields

NameDescription
funnelCode(String!)

The code of the funnel.

productOffering(OfferingType)

The product offering of the rule.

productOfferingIdentifier(String!)

The identifier of the product offering of the rule.

salesChannel(String!)

The code of the sales channel of the rule.

Example

{
  "funnelCode": "abc123",
  "productOfferingIdentifier": "abc123",
  "salesChannel": "abc123"
}

Fields

NameDescription
code(String!)

The per-funnel unique code for this stage.

name(String!)

The human-readable name for this stage.

order(Int)

The order of the stage.

Example

{
  "code": "abc123",
  "name": "abc123",
  "order": 1
}

Fields

NameDescription
canReschedule(Boolean!)

description(String!)

Example

{
  "description": "abc123",
  "canReschedule": true
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

ScheduleQuoteFollowUp

Schedule a quote follow up message to the provided recipient.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4632: Invalid recipient information.
  • KT-CT-4633: Mutation not enabled in this environment.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
success(Boolean!)

Whether the message was scheduled successfully.

Example

{
  "success": true
}

Fields

NameDescription
action(String)

Whether the scheduled transaction is a 'charge' or a 'credit'.

ancillaryData(JSONString)

Additional data that is consumed and associated with the scheduled transaction.

displayNote(String)

Optional short note about the scheduled transaction for customer display.

grossAmount(BigInt)

The gross amount of the scheduled transaction.

internalNote(String)

Optional short note about the scheduled transaction for internal use.

ledgerNumber(String)

The ledger the scheduled transaction is for.

metadata(JSONString)

Any extra data that is associated with scheduled transaction.

netAmount(BigInt)

The net amount of the scheduled transaction.

postedAfter(DateTime)

The datetime after which the scheduled transaction can be added to the ledger.

reason(String)

The reason why the scheduled transaction is added to the account.

salesTaxAmount(BigInt)

The tax amount of the scheduled transaction.

salesTaxRate(Decimal)

The tax rate of the scheduled transaction.

Example

{
  "action": "abc123",
  "grossAmount": 1,
  "netAmount": 1,
  "salesTaxAmount": 1,
  "salesTaxRate": "1.0",
  "reason": "abc123",
  "ancillaryData": {"key": "value"},
  "metadata": {"key": "value"},
  "internalNote": "abc123",
  "displayNote": "abc123",
  "postedAfter": "2020-01-01T00:00:00.000Z",
  "ledgerNumber": "abc123"
}

ScreenActionType

An action which calls another backend screen via its screen id.

Fields

NameDescription
allowBack(Boolean!)

Whether to allow returning to the original caller screen.

id(ID)

Unique identifier of the object.

params([BackendScreenParam]!)

Map of the parameters (key-value pairs) to pass to the next backend screen.

screenId(String!)

The ID of the screen to navigate to.

typeName(String)

The name of the action object's type.

typename(String)

The name of the object's type.

Example

{
  "id": "abc123",
  "typename": "abc123",
  "typeName": "abc123",
  "screenId": "abc123",
  "params": BackendScreenParam,
  "allowBack": true
}

Fields

NameDescription
endDay(Int!)

End day of the season.

endMonth(Int!)

End month of the season.

name(String!)

Season name.

startDay(Int!)

Start day of the season.

startMonth(Int!)

Start month of the season.

Example

{
  "name": "abc123",
  "startDay": 1,
  "startMonth": 1,
  "endDay": 1,
  "endMonth": 1
}

SectionType

A section containing a list of cards or carousel items

Fields

NameDescription
content(SectionContent!)

The content of the section.

id(ID)

Unique identifier of the object.

order(Int!)

The order of the section.

typename(String)

The name of the object's type.

Example

{
  "id": "abc123",
  "typename": "abc123",
  "content": CardComponentType,
  "order": 1
}

Fields

NameDescription
name(String!)

The segment name.

Example

{
  "name": "abc123"
}

SelectProducts

Mark chosen quoted products for quoted supply points on a quote request as selected.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4634: Quoted product with given id not found.
  • KT-CT-4626: No product selected for the given quote code.
  • KT-CT-4635: Missing a quoted product for at least one quoted supply point on the quote request.
  • KT-CT-4636: Quoted product not linked to a product.
  • KT-CT-4646: Attempted to select multiple products for the same quoted supply point.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
success(Boolean!)

Whether we successfully marked the chosen quoted products as selected.

Example

{
  "success": true
}

Fields

NameDescription
code(String)

The selected product code.

displayName(String)

The selected product display name.

Example

{
  "code": "abc123",
  "displayName": "abc123"
}

SendAgreementRescissionConfirmation

Publish a transactional message confirming an agreement rescission.

The possible errors that can be raised are:

  • KT-CT-14101: Agreement rescission not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreementRescission(AgreementRescissionType)

The agreement rescission for which we are sending a message.

Example

{
  
}

SendCDRNotification

Send a CDR notification to a named recipient for a given account.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
messages([MessageType])

The list of Messages created and sent.

Example

{
  "messages": [MessageType]
}

SendChangeNMIDetailsRequest

Send a Change NMI Details request to create a pending data update.

The possible errors that can be raised are:

  • KT-CT-13802: Meter data issue not found.
  • KT-AU-13822: Change NMI details request precondition not met.
  • KT-AU-13823: Redundant NMI status update.
  • KT-AU-13824: Unable to verify NMI status against SDR.
  • KT-AU-13825: Change NMI details request blocked because the connection point has safety de-energisation enabled.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
result(SendChangeNMIDetailsRequestOutputType)

The result of sending the Change NMI Details request.

Example

{
  
}

Fields

NameDescription
issueId(Int)

The ID of the MeterDataIssue.

nmi(String)

The NMI for which the Change NMI Details request was sent.

Example

{
  "issueId": 1,
  "nmi": "abc123"
}

SendCustomerDetailsRequest

Trigger a CustomerDetailsRequest to be sent to industry.

The possible errors that can be raised are:

  • KT-AU-5613: Cannot find meter point with the provided ID.
  • KT-AU-12604: Could not create Customer Details Request for NMI.
  • KT-AU-12605: There was no repsonse to your request.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
transaction(ChromaTransactionType)

The transaction returned from the market gateway.

Example

{
  
}

SendInkOutboundMessage

Send an Ink outbound message.

The possible errors that can be raised are:

  • KT-CT-7625: Invalid email address.
  • KT-CT-7650: Cannot send messages to internal handles.
  • KT-CT-7670: Invalid mutation input.
  • KT-CT-7671: Could not send message.
  • KT-CT-7672: Invalid outbound handle.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
message(InkMessage!)

The Ink message that was enqueued for sending.

Example

{
  "message": InkEmail
}

SendOfferQuoteSummary

Send an offer quote summary to all active account users.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4178: No account found with given account number.
  • KT-CT-12407: The offer group does not contain an accepted offer.
  • KT-CT-5518: Account user not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
success(Boolean!)

Whether the triggering of the offer quote summary was successful.

Example

{
  "success": true
}

SendQuoteSummary

Send a quote summary to the provided recipient.

The possible errors that can be raised are:

  • KT-CT-4619: Quote with given code not found.
  • KT-CT-4178: No account found with given account number.
  • KT-CT-4632: Invalid recipient information.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
success(Boolean!)

Whether the triggering of the quote summary was successful.

Example

{
  "success": true
}

SendSiteAccessNotification

Trigger a SiteAccessNotification to be sent to industry.

The possible errors that can be raised are:

  • KT-AU-5613: Cannot find meter point with the provided ID.
  • KT-CT-4502: Market message already sent.
  • KT-CT-4503: Market message failed validation.
  • KT-AU-4511: Error communicating with Chroma.
  • KT-AU-4512: Chroma request validation error.
  • KT-AU-4513: Chroma response validation error.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
transaction(ChromaTransactionType)

The transaction returned from Chroma.

Example

{
  
}

SendTrustpilotReviewInvitation

Send a Trustpilot review invitation email to an account user.

The possible errors that can be raised are:

  • KT-CT-1128: Unauthorized.
  • KT-CT-5523: Invalid account or account user.
  • KT-CT-5524: Account user does not have an email address.
  • KT-CT-5525: Unable to send the Trustpilot review invitation.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
sendAt(DateTime)

The datetime at which Trustpilot will send the review invitation.

Example

{
  "sendAt": "2020-01-01T00:00:00.000Z"
}

SendVerificationEmail

Verify user's email address.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
verificationStatus(Boolean)

If the verification email was sent.

Example

{
  "verificationStatus": true
}

Fields

NameDescription
code(String)

message(String)

Example

{
  "message": "abc123",
  "code": "abc123"
}

Fields

NameDescription
errors([ErrorTypeUnion!])

field(String)

Example

{
  "field": "abc123",
  "errors": SerializerErrorType
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ServiceOrderChargeRecordConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ServiceOrderChargeRecordConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ServiceOrderChargeRecordConnectionTypeEdge

A Relay edge containing a ServiceOrderChargeRecordConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ServiceOrderChargeRecordType)

The item at the end of the edge

Example

{
  "node": ServiceOrderChargeRecordType,
  "cursor": "abc123"
}

Fields

NameDescription
account(AccountType!)

charge(AccountChargeType)

The charge.

description(String!)

effectiveAt(DateTime!)

id(ID!)

netAmount(Int!)

Price in Australian cents, excluding GST.

productCode(String!)

Example

{
  "id": "abc123",
  "productCode": "abc123",
  "netAmount": 1,
  "description": "abc123",
  "effectiveAt": "2020-01-01T00:00:00.000Z",
  "account": AccountType,
  "charge": AccountChargeType
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([ServiceOrderFeeConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": ServiceOrderFeeConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

ServiceOrderFeeConnectionTypeEdge

A Relay edge containing a ServiceOrderFeeConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(ServiceOrderFeeType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
description(String)

A short description of the charge, to be displayed on customer-facing bills.

effectiveFrom(Date)

Date from which the fee is effective from.

effectiveTo(Date)

Date from which the fee is effective to. Can be null if it has no end.

id(ID)

Identifier for the associated service order fee.

jurisdiction(JurisdictionChoices)

marketParticipant(String)

The market the fee is participating in.

price(Int)

Price in Australian cents, excluding GST.

productCode(String)

The product code from the service order that will be charged.

supplyType(SupplyType)

Type of supplied good/service associated with the fee.

Example

{
  "id": "abc123",
  "productCode": "abc123",
  "supplyType": "ELECTRICITY",
  "marketParticipant": "abc123",
  "jurisdiction": "AUSTRALIAN_CAPITAL_TERRITORY",
  "price": 1,
  "description": "abc123",
  "effectiveFrom": "2020-01-01",
  "effectiveTo": "2020-01-01"
}

SetCallRecordingState

The possible errors that can be raised are:

  • KT-CT-11801: Call recording in a confused state.
  • KT-CT-7813: Support user not found with that username.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
success(Boolean)

Whether any call recording state was successfully changed.

Example

{
  "success": true
}

SetLastConsumerChangeDateRecordToBeExpired

Expire a Last Consumer Change Date record for a given NMI and date

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
lastConsumerChangeDateId(String)

The ID of the LastConsumerChangeDate record that was updated.

Example

{
  "lastConsumerChangeDateId": "abc123"
}

SetLoyaltyPointsUser

Set the Loyalty Points user for the account.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9210: Unhandled Loyalty Points exception.
  • KT-CT-9214: Couldn't assign user loyalty points role.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
newLoyaltyPointsUserId(String)

ID of the new Loyalty Points user.

Example

{
  "newLoyaltyPointsUserId": "abc123"
}

SetOpportunityOutcome

Update the opportunity outcome to mark the opportunity as won or lost.

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
message(String)

Success message for now.

Example

{
  "message": "abc123"
}

SetPaymentPreference

Choose how automatic payments will be collected.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3967: Payment method is not valid.
  • KT-CT-3968: Preference cannot be set this soon.
  • KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountNumber(String)

Number of the account on which the payment preference was set.

Example

{
  "accountNumber": "abc123"
}

SetQuoteConfigurationRatesRequestErrorsOutput

Output for the setQuoteConfigurationRatesRequestErrors mutation.

Fields

NameDescription
quoteConfiguration(QuoteConfigurationType!)

The quote configuration associated with the updated rates request.

Example

{
  
}

SetUpDirectDebitInstruction

Set up a new direct debit instruction.

The possible errors that can be raised are:

  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-3940: Invalid data.
  • KT-CT-5415: Account user not found.
  • KT-CT-11103: Business not found.
  • KT-CT-3971: Instruction owners are not valid.
  • KT-CT-3979: Invalid ledger.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentInstruction(DirectDebitInstructionType)

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "paymentInstruction": DirectDebitInstructionType,
  "possibleErrors": [PossibleErrorType]
}

SetUpDirectDebitInstructionForBusiness

Set up a new direct debit instruction for a business.

The possible errors that can be raised are:

  • KT-CT-3940: Invalid data.
  • KT-CT-3956: Temporary error occurred.
  • KT-CT-11107: Unauthorized.
  • KT-CT-3948: Could not set up direct debit instruction.
  • KT-CT-3971: Instruction owners are not valid.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentInstruction(DirectDebitInstructionType)

The created direct debit instruction.

Example

{
  "paymentInstruction": DirectDebitInstructionType
}

SetUpDirectDebitInstructionFromStoredDetails

Set up a new direct debit instruction from stored details.

The possible errors that can be raised are:

  • KT-CT-3956: Temporary error occurred.
  • KT-CT-3948: Could not set up direct debit instruction.
  • KT-CT-3971: Instruction owners are not valid.
  • KT-CT-5415: Account user not found.
  • KT-CT-11103: Business not found.
  • KT-CT-4123: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentInstruction(DirectDebitInstructionType)

The payment instruction that was created from stored details.

Example

{
  "paymentInstruction": DirectDebitInstructionType
}

SetupPaymentDetails

Setup the payment schedules and payment instructions, usually after a product switch.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentInstruction(PaymentInstructionType)

The payment instruction.

paymentSchedule(PaymentScheduleType)

The payment schedule created.

Example

{
  "paymentInstruction": PaymentInstructionType,
  "paymentSchedule": PaymentScheduleType
}

ShareGoodsQuote

Share a goods quote.

The possible errors that can be raised are:

  • KT-CT-4122: Invalid email.
  • KT-CT-8203: Received an invalid quote code.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
share(GoodsQuoteShare)

Goods quote shared.

Example

{
  "share": GoodsQuoteShare
}

ShowInputFieldErrorsActionType

An action that instructs the app to display validation errors on input fields.

Fields

NameDescription
errors([InputFieldErrorType]!)

List of field-level validation errors to display.

id(ID)

Unique identifier of the object.

screenId(String)

Optional ID of the form screen these errors apply to.

typeName(String)

The name of the action object's type.

typename(String)

The name of the object's type.

Example

{
  "typeName": "abc123",
  "id": "abc123",
  "typename": "abc123",
  "screenId": "abc123",
  "errors": InputFieldErrorType
}

SimpleServicesAgreementType

An agreement for a Simple Services supply point (e.g. Direct Metering Agreement, Value Added Service).

Fields

NameDescription
account(AccountType)

The accounts for this agreement.

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

bestOffer(BestOfferForAgreement)

Get the best offer for an agreement.

Arguments

asOf (DateTime)

The date time to calculate the best offer. Defaults to now.

pricesAsOf (DateTime)

The date time to calculate cost details.

eligibleRebates([RebateType])

Data about concession rebates that users associated with the agreement are eligible for.

Arguments

endAt (DateTime)

Include eligibility data ending at this datetime. If this isn't provided, an open-ended range will be used.

rebateAmountEffectiveAt (DateTime)

The effective time for rebateCents and percentageDiscount data (defaults to now).

startAt (DateTime)

Include eligibility data starting at this datetime. If this isn't provided, an open-ended range will be used.

id(Int)

The ID of the agreement.

isActive(String)

isRevoked(Boolean)

Whether the agreement is revoked.

meterPoint(MeterPointInterface)

product(Product)

The product for this agreement.

ratesAgreedAt(DateTime)

The datetime the rates were agreed.

rescissionDeadlineAt(DateTime)

The deadline datetime for rescinding the agreement.

supplyPoint(SupplyPointInterface!)

supplyType(String)

terminatedAt(DateTime)

validFrom(DateTime)

The start datetime of the agreement.

validTo(DateTime)

The end datetime of the agreement.

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "product": Product,
  "supplyType": "abc123",
  "isActive": "abc123",
  "meterPoint": MeterPointInterface,
  "supplyPoint": SupplyPointInterface,
  "eligibleRebates": [RebateType],
  "bestOffer": BestOfferForAgreement,
  "account": AccountType
}

SpecialCircumstanceRecordType

Any special circumstances that the user has notified us about, which may entitle them to some specialist services.

Fields

NameDescription
createdAt(DateTime)

The date and time the special circumstance record was created.

id(ID)

internalCode(String)

summary(String)

Example

{
  "id": "abc123",
  "summary": "abc123",
  "internalCode": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z"
}

SpecialCircumstancesType

Information about the special circumstances that relate to a user.

Fields

NameDescription
isSharingConsentGiven(Boolean)

Whether the user has consented for their data to be given to the appropriate industry or regulatory bodies. We typically only ask for this once, so this field can be used to decide whether to ask the user for their initial consent.

records([SpecialCircumstanceRecordUnion])

Example

{
  "isSharingConsentGiven": true,
  "records": SpecialCircumstanceRecordType
}

Fields

NameDescription
charges([SummarizedConsumptionType!])

Summarized standing charges.

error(StandingChargesWindowErrorUnion)

Potential internal error types.


StartCollectionProcess

Start a collection process.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11208: Invalid billing document identifier for collection process.
  • KT-CT-11209: Collection process configuration does not have published version.
  • KT-CT-11210: Active collection process for entity already exists.
  • KT-CT-11211: Too many active collection processes for config.
  • KT-CT-11212: Invalid collection process config code.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessStarted(StartCollectionProcessOutput)

Details of collection process that has been started.

Example

{
  
}

Fields

NameDescription
accountNumber(String)

Account number associated to the collection process.

number(String)

The number of the collection process record.

Example

{
  "number": "abc123",
  "accountNumber": "abc123"
}

StartCustomerVerification

Start the customer verification using the provided verification method.

The possible errors that can be raised are:

  • KT-CT-1701: Brand does not exist.
  • KT-CT-4194: Verification type not supported yet.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
verificationProcess(VerificationProcess)

The newly created verification process.

Example

{
  "verificationProcess": VerificationProcess
}

StartGroupedCollectionProcess

Start a collection process grouped with a previously existing one. Use this when a new collection process (e.g. disconnection) must be linked to an earlier one (e.g. comms) for end-to-end traceability. Callers who do not need grouping should use startCollectionProcess instead.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11208: Invalid billing document identifier for collection process.
  • KT-CT-11209: Collection process configuration does not have published version.
  • KT-CT-11210: Active collection process for entity already exists.
  • KT-CT-11211: Too many active collection processes for config.
  • KT-CT-11212: Invalid collection process config code.
  • KT-CT-11308: Previous collection process not found.
  • KT-CT-11309: Previous collection process does not belong to the same entity.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessStarted(StartGroupedCollectionProcessOutput)

Details of the collection process that has been started.

Example

{
  
}

Fields

NameDescription
accountNumber(String)

Account number associated to the collection process.

number(String)

The number of the collection process record.

Example

{
  "number": "abc123",
  "accountNumber": "abc123"
}

StartMirnIdentification

Trigger an asynchronous MIRN discovery process based on (partial) address details.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(StartMirnIdentificationErrorUnion)

Any error that occurs during the fulfilment of this mutation.

identification(IdentificationType)

Mirn Identification reference.

Example

{
  "identification": IdentificationType,
  "error": InvalidContactDetails
}

StatementBillingDocumentConnectionTypeConnection

A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([StatementBillingDocumentConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": StatementBillingDocumentConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

StatementBillingDocumentConnectionTypeEdge

A Relay edge containing a StatementBillingDocumentConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(StatementBillingDocumentType)

The item at the end of the edge

Example

{
  "node": StatementBillingDocumentType,
  "cursor": "abc123"
}

StatementBillingDocumentType

A statement is a billing document that contains all entries on a ledger during a period of time. A customer can understand how their ledger's balance has changed by looking at each statement in series.

Fields

NameDescription
annulledBy(AnnulmentBillingDocumentType)

Billing document that annuls this statement.

documentDebtPosition(BillingDocumentPositionType)

Position of the billing document in the delinquent debt tracking system.

dueDate(Date)

The final date before missing payment is considered overdue.

earliestChargeAt(DateTime)

The earliest charge date of the statement.

endAt(DateTime!)

The end of the statement's period.

firstIssuedAt(DateTime)

The date and time the statement was sent to the customer.

id(Int)

ID for the statement billing document.

identifier(String)

The unique reference of the statement that can be used for identifying the statement externally.

isFinal(Boolean)

Whether this statement is marked as final.

latestChargeAt(DateTime)

The latest charge date of the statement.

paymentDueDate(Date)

The date due for payment for the statement.

Deprecated

The 'paymentDueDate' field is deprecated.

This field name is ambiguous and inconsistently populated. Use `paymentDate` for the date on which payment will be collected. Use `dueDate` for the last date any payment can be made before the bill is considered overdue.

- Marked as deprecated on 2026-06-15.
- Scheduled for removal on or after 2027-08-15.

pdfUrl(String)

URL to the PDF of the statement.

scheduledPaymentDate(Date)

The scheduled date for payment (may be before the due_date).

startAt(DateTime!)

The start of the statement's period.

totalCharges(StatementTotalType)

The total amounts for all charges on the statement.

totalCredits(StatementTotalType)

The total amounts for all credits on the statement.

transactions(BillTransactionConnectionTypeConnection)

Transactions on the statement

Arguments

after (String)

before (String)

first (Int)

last (Int)

orderBy (TransactionsOrderBy)

The order in which to return the transactions.

Example

{
  "id": 1,
  "identifier": "abc123",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "firstIssuedAt": "2020-01-01T00:00:00.000Z",
  "earliestChargeAt": "2020-01-01T00:00:00.000Z",
  "latestChargeAt": "2020-01-01T00:00:00.000Z",
  "dueDate": "2020-01-01",
  "scheduledPaymentDate": "2020-01-01",
  "paymentDueDate": "2020-01-01",
  "isFinal": true,
  "pdfUrl": "abc123",
  "annulledBy": AnnulmentBillingDocumentType,
  "totalCharges": StatementTotalType,
  "totalCredits": StatementTotalType,
  "transactions": BillTransactionConnectionTypeConnection,
  "documentDebtPosition": BillingDocumentPositionType
}

StatementHeldStatus

The held status of a statement.

Fields

NameDescription
isHeld(Boolean)

Whether a statement is currently held.

reasons([String])

Reasons for statement being held.

Example

{
  "isHeld": true,
  "reasons": ["abc123"]
}

Fields

NameDescription
grossTotal(Int)

The gross total amount for the statement (in minor currency units).

netTotal(Int)

The net total amount for the statement (in minor currency units).

taxTotal(Int)

The total amount of tax on the statement (in minor currency units).

Example

{
  "netTotal": 1,
  "taxTotal": 1,
  "grossTotal": 1
}

Fields

NameDescription
attachments(BillingAttachmentConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

averageDailyUsage(Float)

This field returns the average daily usage during the time period of a statement.

Arguments

estimatedConsumptionOnly (Boolean)

Whether to calculate average daily usage with estimated consumption only.

billType(BillTypeEnum)

The type of the bill.

closingBalance(Int)

This field returns the closing balance of an issued statement.

consumptionEndDate(Date)

The last day of consumption that this statement includes.

consumptionStartDate(Date)

The first day of consumption that this statement includes.

fromDate(Date)

The date of the constituent bill covered from.

heldStatus(HeldStatus)

Retrieve the held status of a account statement.

id(ID)

The ID of the constituent bill.

isExternalBill(Boolean)

Whether the bill originated in Kraken or externally.

isFinal(Boolean)

Whether the statement is a final statement.

issuedDate(Date)

The date the bill was sent to the customer.

openingBalance(Int)

This field returns the opening balance of a statement.

paymentDueDate(Date)

The date the bill is due to be paid.

reversalsAfterClose(StatementReversalsAfterClose!)

How many charges have been reversed after the close date.

status(AccountStatementStatus)

Current status of the associated statement.

temporaryUrl(String)

Requesting this field generates a temporary URL at which bill is available. This URL will expire after approximately an hour. It is intended for redirection purposes, NOT persistence in any form (e.g. inclusion in emails or the body of a web page). This field can raise an error with errorClass NOT_FOUND if the bill document has not been created/issued yet. This field is deprecated use 'attachments' field instead.

Deprecated

The 'temporaryUrl' field is deprecated.

This field is deprecated. Use the 'attachments' field instead.

- Marked as deprecated on 2024-09-16.
- Scheduled for removal on or after 2025-09-01.

toAddress(String)

Email recipient address.

toDate(Date)

The date of the constituent bill covered to.

totalCharges(StatementTotalType)

The total amounts for all charges on the statement.

totalCredits(StatementTotalType)

The total amounts for all credits on the statement.

transactions(TransactionConnectionTypeConnection)

Transactions on the bill.

Arguments

after (String)

before (String)

first (Int)

last (Int)

userId(Int)

Email recipient user ID.

Example

{
  "id": "abc123",
  "billType": "STATEMENT",
  "fromDate": "2020-01-01",
  "toDate": "2020-01-01",
  "temporaryUrl": "abc123",
  "issuedDate": "2020-01-01",
  "attachments": BillingAttachmentConnectionTypeConnection,
  "reversalsAfterClose": "ALL",
  "closingBalance": 1,
  "openingBalance": 1,
  "isExternalBill": true,
  "transactions": TransactionConnectionTypeConnection,
  "userId": 1,
  "toAddress": "abc123",
  "paymentDueDate": "2020-01-01",
  "consumptionStartDate": "2020-01-01",
  "consumptionEndDate": "2020-01-01",
  "isFinal": true,
  "status": "OPEN",
  "heldStatus": HeldStatus,
  "totalCharges": StatementTotalType,
  "totalCredits": StatementTotalType,
  "averageDailyUsage": 1.0
}

Fields

NameDescription
costExclTax(EstimatedMoneyType)

Monetary cost of the statistic (excluding tax), if applicable.

costInclTax(EstimatedMoneyType)

Monetary cost of the statistic (including tax), if applicable.

description(String)

Description of the statistic for the parent node.

label(String)

Display label of the statistic for the parent node.

type(ReadingStatisticTypeEnum)

The type of statistic being measured for the parent node.

value(Decimal)

Consumption / generation value of the statistic, if applicable.

Example

{
  "type": "STANDING_CHARGE_COST",
  "label": "abc123",
  "description": "abc123",
  "costExclTax": EstimatedMoneyType,
  "costInclTax": EstimatedMoneyType,
  "value": "1.0"
}

StepType

A single step in a workflow.

Fields

NameDescription
id(ID!)

name(String)

The name of the single step in the workflow.

status(Status)

The step's current processing status.

Example

{
  "id": "abc123",
  "name": "abc123",
  "status": "SKIPPED"
}

StopAutomatedPayments

Set a preference to stop collecting automated payments.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3968: Preference cannot be set this soon.
  • KT-CT-3969: Preferences must change on a specific day of the week for weekly schedules.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountNumber(String)

Number of the account for which automated payments were stopped.

Example

{
  "accountNumber": "abc123"
}

StoreBankDetailsForLead

Store bank details for a lead and return the mandate UUID.

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-3940: Invalid data.
  • KT-CT-3956: Temporary error occurred.
  • KT-CT-8954: Unable to store payment method reference on lead.
  • KT-CT-8959: Unable to set payment details for lead.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentMethodReference(String)

Reference of the mandate generated for the lead.

Example

{
  "paymentMethodReference": "abc123"
}

StoreDirectDebitPaymentMethodDetails

Store bank details with the vendor.

The possible errors that can be raised are:

  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-3940: Invalid data.
  • KT-CT-3956: Temporary error occurred.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
storedPaymentMethodDetailsReference(String)

Example

{
  "storedPaymentMethodDetailsReference": "abc123"
}

StorePaymentInstruction

Store a new payment instruction created through the embedded process.

The possible errors that can be raised are:

  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-4177: Unauthorized.
  • KT-CT-3822: Unauthorized.
  • KT-CT-3979: Invalid ledger.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentInstruction(PaymentInstructionType)

The stored payment instruction.

Example

{
  "paymentInstruction": PaymentInstructionType
}

Fields

NameDescription
characteristic(CharacteristicType)

The product characteristic.

stringValue(String!)

The string value of the characteristic.

value(String)

A string representation of a characteristic value, for convenience.

Example

{
  "value": "abc123",
  "characteristic": CharacteristicType,
  "stringValue": "abc123"
}

StringType

Graphene type object to represent string values

Fields

NameDescription
stringValue(String!)

Value of this field.

Example

{
  "stringValue": "abc123"
}

SubmitAllowedRepayment

Submit a repayment.

The possible errors that can be raised are:

  • KT-CT-3944: Account repayment does not exist.
  • KT-CT-3945: Unable to allow a repayment to be submitted.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
repaymentId(ID)

The repayment ID.

repaymentStatus(RepaymentRequestStatus)

The current status of the repayment request.

Example

{
  "repaymentId": "abc123",
  "repaymentStatus": "REQUESTED"
}

SubmitCustomerFeedback

Submit customer feedback.

The possible errors that can be raised are:

  • KT-CT-5514: Unable to submit feedback.
  • KT-CT-5511: The feedback_id should be provided for feedback source.
  • KT-CT-5512: The feedback doesn't match the account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
customerFeedback(CustomerFeedbackType)

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "customerFeedback": CustomerFeedbackType,
  "possibleErrors": [PossibleErrorType]
}

SubmitRepaymentRequest

Submit a repayment request.

The possible errors that can be raised are:

  • KT-CT-1132: Unauthorized.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-3823: Unauthorized.
  • KT-CT-3926: Unauthorized.
  • KT-CT-3927: Invalid Amount.
  • KT-CT-3928: Idempotency key used for another repayment request.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
repaymentRequest(RequestRepaymentOutputType)

The newly created repayment request.

Example

{
  "repaymentRequest": RequestRepaymentOutputType
}

Fields

NameDescription
consumption(Float!)

cost(Float)

The cost of this consumption, in Australian cents.

Note that this value is approximate, and only takes into account the rate at which consumption is charged. It does not include supply charges, pay-on-time discounts, concessions, card fees, or anything else of the sort.

It may also be absent, if the rate at which consumption was (or will be) charged isn't known to Kraken at the time.

costWithGst(Float)

The same value as the cost field but with GST included.

endAt(DateTime!)

startAt(DateTime!)

Example

{
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z",
  "consumption": 1.0,
  "cost": 1.0,
  "costWithGst": 1.0
}

SupplementaryLedgerType

Ledgers provide the foundation of Kraken’s bookkeeping functionality. Similar to a bank account, they allow us to keep track of financial activity on a particular Kraken account.

Fields

NameDescription
currentBalance(Int)

The current final balance of the ledger in pence.

id(ID)

Deprecated

The 'ledgerId' field is deprecated.

Please use 'ledgerNumber' instead. This is in the form of 'L-123456789A'

- Marked as deprecated on 2024-10-22.
- Scheduled for removal on or after 2025-06-25.

ledgerType(String)

name(String)

The display name of the ledger.

number(String)

The canonical name of the ledger.

paymentAdequacy(PaymentAdequacyDetailsType)

Example

{
  "id": "abc123",
  "name": "abc123",
  "ledgerType": "abc123",
  "number": "abc123",
  "currentBalance": 1,
  "paymentAdequacy": PaymentAdequacyDetailsType
}

Fields

NameDescription
agreedCapacity(String)

The agreed capacity for this supply.

connectionUnits(String)

The connection units for this supply.

Example

{
  "agreedCapacity": "abc123",
  "connectionUnits": "abc123"
}

SupplyOrServiceCharge

Supporting information for a customer charge resulting from a supply or service agreement

Fields

NameDescription
agreements(AgreementConnection)

Agreements which were charged

Arguments

after (String)

before (String)

first (Int)

last (Int)

period(Period!)

The period that was charged.

Example

{
  "period": Period,
  "agreements": AgreementConnection
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([SupplyPointConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": SupplyPointConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

SupplyPointConnectionTypeEdge

A Relay edge containing a SupplyPointConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(SupplyPointType)

The item at the end of the edge

Example

{
  "node": SupplyPointType,
  "cursor": "abc123"
}

Fields

NameDescription
externalIdentifier(String)

Supply point external identifier.

marketName(String)

Supply point market name.

requestedSupplyStartDate(Date)

Requested supply start date.

selectedProduct(SelectedProductType)

The selected product information for this supply point or None if no product is selected.

Example

{
  "externalIdentifier": "abc123",
  "marketName": "abc123",
  "requestedSupplyStartDate": "2020-01-01",
  "selectedProduct": SelectedProductType
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

SupplyPointType

Represents a SupplyPoint.

Fields

NameDescription
devices(DevicesConnection)

Get list of devices under a supply point.

Arguments

after (String)

before (String)

deviceIdentifiers ([String])

The ids of the devices to get. If not provided, all devices for the supply point will be returned.

first (Int)

last (Int)

externalIdentifier(String)

The external identifier of the supply point.

id(ID!)

The ID of the supply point.

marketName(String!)

The market this supply point belongs to.

property(PropertyType)

The supply point's property.

readings(Readings)

Get readings from a readable device e.g., a supply point, device, or register.

Arguments

endAt (DateTime!)

The exclusive end of the time period as an isoformatted string.

readingType (ReadingTypes!)

Get readings of only this type.

startAt (DateTime!)

The inclusive start of the time period as an isoformatted string.

timeGranularity (TimeGranularities)

Time buckets to group readings into.

timezone (String)

The timezone in which to return readings.

units ([Units])

Optional filter to return readings only for specific list of units or unit (e.g., KILOWATTHOURS, METERSCUBED, LITER, etc.).

Example

{
  "id": "abc123",
  "marketName": "abc123",
  "externalIdentifier": "abc123",
  "readings": Readings,
  "property": PropertyType,
  "devices": DevicesConnection
}

SupplyProductTagType

A product tag.

Fields

NameDescription
code(String)

Tag code.

displayName(String)

Tag display name.

Example

{
  "code": "abc123",
  "displayName": "abc123"
}

SupplyProductType

GraphQL type for a supply product.

Fields

NameDescription
availabilityStatus(ProductAvailability)

The product availability status.

availableFrom(DateTime)

The date and time the product is available from.

availableTo(DateTime)

The date and time the product is available to.

brandCode(String)

The brand code of the product.

code(String)

The product code.

description(String)

The product description.

displayName(String)

The product description.

endsAt(DateTime)

The date the product ends.

fullName(String)

The product title.

id(ID!)

The product ID.

isHidden(Boolean)

Whether the product is hidden.

marketName(String)

The name of the market the product belongs to.

notes(String)

The product notes.

params(JSONString)

The product parameters.

rates([ApplicableRateType!]!)

Rates applicable to the product.

tags([SupplyProductTagType!]!)

Tags associated with the product.

term(Int)

The product term in months.

termsAndConditions([TermsAndConditionsType!]!)

Terms and conditions for this market supply product.

termsAndConditionsTypes([TermsAndConditionsType!]!)

Deprecated alias of 'termsAndConditions'.

Deprecated

The 'termsAndConditionsTypes' field is deprecated.

This field returned the incorrect terms and conditions. Please use 'termsAndConditions' instead.

- Marked as deprecated on 2026-07-14.
- Scheduled for removal on or after 2026-09-14.

termsContractType(String)

The product contract type.

Example

{
  "id": "abc123",
  "brandCode": "abc123",
  "marketName": "abc123",
  "code": "abc123",
  "notes": "abc123",
  "fullName": "abc123",
  "displayName": "abc123",
  "description": "abc123",
  "availableFrom": "2020-01-01T00:00:00.000Z",
  "availableTo": "2020-01-01T00:00:00.000Z",
  "isHidden": true,
  "term": 1,
  "endsAt": "2020-01-01T00:00:00.000Z",
  "availabilityStatus": "EVERYONE",
  "termsContractType": "abc123",
  "termsAndConditions": TermsAndConditionsType,
  "termsAndConditionsTypes": TermsAndConditionsType,
  "params": {"key": "value"},
  "tags": SupplyProductTagType
}

SwitchAccountToVariablePaymentSchedule

Switch account to variable payment schedule. Current schedule type will be preserved.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-3921: Account not found.
  • KT-CT-3922: Ledger not found for the account.
  • KT-CT-3947: An unexpected error occurred.
  • KT-CT-3984: Could not delete conflicting future payment schedule.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
schedule(PaymentScheduleType!)

New payment schedule.

Example

{
  "schedule": PaymentScheduleType
}

Fields

NameDescription
campaign(SyncCampaignType)

The campaign that is linked to the account.

expiryDate(String)

Date when this link between account and campaign is no longer valid.

startDate(String)

Date when this link between account and campaign begins.

Example

{
  "startDate": "abc123",
  "expiryDate": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([SyncAccountConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": SyncAccountConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

SyncAccountConnectionTypeEdge

A Relay edge containing a SyncAccountConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(SyncAccountType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
accountType(AccountTypeChoices)

The type of account.

agreements([SyncAgreementType])

The account's agreements.

billingAddressLine1(String)

First line of the billing address.

billingAddressLine2(String)

Second line of the billing address.

billingAddressLine3(String)

Third line of the billing address.

billingAddressLine4(String)

Forth line of the billing address.

billingAddressLine5(String)

Fifth line of the billing address.

billingPostcode(String)

The billing address's postcode.

brand(BrandChoices)

The brand code of the account's portfolio.

business(SyncBusinessType)

The account's business information if .

campaigns([SyncAccountCampaignType])

Linked account campaigns.

commsDeliveryPreference(CommsDeliveryPreference)

The account's delivery preference.

linkedUserIds([String])

The linked users' IDs.

number(String)

The account's number.

portfolioNumber(String)

The portfolio's number.

status(AccountStatus)

The status of account.

Example

{
  "number": "abc123",
  "portfolioNumber": "abc123",
  "brand": "ORIGIN",
  "accountType": "BUSINESS",
  "status": "PENDING",
  "commsDeliveryPreference": "EMAIL",
  "billingAddressLine1": "abc123",
  "billingAddressLine2": "abc123",
  "billingAddressLine3": "abc123",
  "billingAddressLine4": "abc123",
  "billingAddressLine5": "abc123",
  "billingPostcode": "abc123",
  "linkedUserIds": ["abc123"]
}

Fields

NameDescription
accountNumber(String)

The account's number.

role(RoleString)

The user's role for the account.

Example

{
  "accountNumber": "abc123",
  "role": RoleString
}

Fields

NameDescription
id(ID)

The agreement's ID.

isActive(Boolean)

Whether the agreement is active.

product(SyncProductType)

The agreement's product.

supplyPoint(SyncSupplyPointType)

The agreement's supply point.

supplyType(String!)

The agreement's supply type.

validFrom(DateTime)

The agreement's valid from datetime.

validTo(DateTime)

The agreement's valid to datetime.

Example

{
  "id": "abc123",
  "isActive": true,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "supplyType": "abc123"
}

Fields

NameDescription
name(String)

The account's business name.

number(String)

The account's business number.

Example

{
  "name": "abc123",
  "number": "abc123"
}

Fields

NameDescription
businessId(ID)

The business's ID.

businessName(String)

The business's name.

businessNumber(String)

The business's number.

role(RoleString)

The user's role for the business.

Example

{
  "businessId": "abc123",
  "businessNumber": "abc123",
  "businessName": "abc123",
  "role": RoleString
}

Fields

NameDescription
expiryDate(String)

Date when the campaign is no longer valid.

name(String)

Corresponding unique campaign's name.

slug(String)

Corresponding unique campaign's slug.

startDate(String)

Date when the campaign begins.

Example

{
  "name": "abc123",
  "slug": "abc123",
  "startDate": "abc123",
  "expiryDate": "abc123"
}

Fields

NameDescription
account(AccountType)

The account for the event sync.

accountUser(AccountUserType)

The account user for the event sync.

eventType(EventTypeChoices)

message(String)

syncBatchId(String)

Example

{
  "eventType": "ACCOUNT_CREATED",
  "account": AccountType,
  "accountUser": AccountUserType,
  "syncBatchId": "abc123",
  "message": "abc123"
}

Fields

NameDescription
notSafeToReceiveMoveInComms(Boolean)

Whether it is not safe to send move-in communications to this user.

notSafeToSendFdvPolicy(Boolean)

Whether it is not safe to send the FDV policy to this user.

Example

{
  "notSafeToSendFdvPolicy": true,
  "notSafeToReceiveMoveInComms": true
}

Fields

NameDescription
identifier(ID)

The meter point identifier.

identifierType(MeterPointIdentifierType)

The meter point identifier type.

Example

{
  "identifier": "abc123",
  "identifierType": "NMI"
}

Fields

NameDescription
effectiveFrom(DateTime!)

The occupancy effective from datetime.

effectiveTo(DateTime)

The occupancy effective to datetime.

Example

{
  "effectiveFrom": "2020-01-01T00:00:00.000Z",
  "effectiveTo": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
portfolioId(ID)

The portfolio's ID.

portfolioNumber(String)

The portfolio's number.

role(RoleString)

The user's role in the portfolio.

Example

{
  "portfolioId": "abc123",
  "portfolioNumber": "abc123",
  "role": RoleString
}

Fields

NameDescription
code(String)

The product's code.

displayName(String)

The product's display name shown to customers during sign up process.

Example

{
  "code": "abc123",
  "displayName": "abc123"
}

Fields

NameDescription
addressLine1(String)

The property's first address line.

addressLine2(String)

The property's second address line.

addressLine3(String)

The property's third address line.

addressLine4(String)

The property's forth address line.

addressLine5(String)

The property's fifth address line.

id(ID)

The property identifier.

occupancyPeriods([SyncOccupancyPeriodType])

Occupancy periods for this property linked to the upstream account.

postcode(String)

The property's postcode.

Example

{
  "id": "abc123",
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "addressLine3": "abc123",
  "addressLine4": "abc123",
  "addressLine5": "abc123",
  "postcode": "abc123"
}

Fields

NameDescription
id(ID)

The supply point's ID.

meterPoint(SyncMeterPointType)

The supply point's meter point.

property(SyncPropertyType)

The supply point's property.

Example

{
  "id": "abc123"
}

TagType

Represents a tag used for classifying offerings and products.

Fields

NameDescription
code(String!)

Unique tag code.

displayName(String!)

Display name of the tag.

Example

{
  "code": "abc123",
  "displayName": "abc123"
}

Fields

NameDescription
demandThreshold(Decimal)

Demand threshold.

endDate(String)

The end date of the tariff period in a calendar year in mm-dd format.

startDate(String)

The start date of the tariff period in a calendar year in mm-dd format.

timeOfUse([TimeOfUseType])

Times of use for this rate.

Example

{
  "startDate": "abc123",
  "endDate": "abc123",
  "timeOfUse": [TimeOfUseType],
  "demandThreshold": "1.0"
}

Fields

NameDescription
error(String)

The error message if the task failed.

result(JSONString)

The result of the task.

status(TaskStatusEnum)

The status of the task.

Example

{
  "status": "STARTED",
  "result": {"key": "value"},
  "error": "abc123"
}

TaxItemType

The tax information about a charge.

Fields

NameDescription
amount(Decimal!)

The amount to be charged for this tax.

charge(AccountChargeType)

The charge.

taxType(String!)

A description of the tax applied (e.g. 'VAT', 'CCL', 'Sales').

unitType(TaxItemUnitType!)

The dimension of the tax rate.

valueTaxed(Decimal!)

The value that has been taxed. If a tax is applied to only a part of a charge, this should be the value on which the tax was calculated.

Example

{
  "amount": "1.0",
  "taxType": "abc123",
  "valueTaxed": "1.0",
  "unitType": "PROPORTION",
  "charge": AccountChargeType
}

Fields

NameDescription
id(ID!)

The ID of the operations team.

name(String!)

The name of the operations team.

ref(String!)

The team reference for routing (e.g., 'OPERATIONSGROUP.TEAM.TEAMA').

Example

{
  "id": "abc123",
  "name": "abc123",
  "ref": "abc123"
}

Fields

NameDescription
name(String!)

The name of the team group (e.g., 'GROUP_A').

ref(String!)

The team group reference for routing (e.g., 'OPERATIONSGROUP.GROUP.GROUPA').

Example

{
  "name": "abc123",
  "ref": "abc123"
}

Fields

NameDescription
friendlyName(String!)

The human-readable location name (e.g., 'London').

ref(String!)

The location reference for routing (e.g., 'OPERATIONS_GROUP.LOCATION.London').

Example

{
  "ref": "abc123",
  "friendlyName": "abc123"
}

TemporarySpecialCircumstanceRecordType

Any special circumstances that the user has notified us about, which may entitle them to some specialist services. These circumstances have an end date, after which they will not longer apply. Having young children is an example of this in the UK.

Fields

NameDescription
createdAt(DateTime)

The date and time the special circumstance record was created.

expiryDate(Date)

id(ID)

internalCode(String)

summary(String)

Example

{
  "id": "abc123",
  "summary": "abc123",
  "internalCode": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "expiryDate": "2020-01-01"
}

TermTemplateComponentType

Represents a contract term template component within an offering.

Fields

NameDescription
component(TermTemplateType!)

The contract term template associated with this component.

identifier(ID!)

Unique identifier of the component.

initialQuantity(Int!)

Initial/default quantity for this component.

maximumQuantity(Int!)

Maximum quantity of this component that can be selected.

minimumQuantity(Int!)

Minimum quantity of this component that can be selected.

Example

{
  "identifier": "abc123",
  "minimumQuantity": 1,
  "maximumQuantity": 1,
  "initialQuantity": 1
}

TermTemplateType

Represents a contract term template in the catalog.

Fields

NameDescription
description(String!)

The description of this contract term template.

name(String!)

The name of this contract term template.

templateData(JSONString!)

The data associated with this contract term template.

termType(String!)

The type of contract term.

Example

{
  "termType": "abc123",
  "templateData": {"key": "value"},
  "name": "abc123",
  "description": "abc123"
}

TerminateAgreement

Terminate an agreement.

The possible errors that can be raised are:

  • KT-CT-1501: Agreement not found.
  • KT-CT-1513: Unable to terminate agreement.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreement(CommonAgreementType)

The created agreement.

possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

Example

{
  "agreement": CommonAgreementType,
  "possibleErrors": [PossibleErrorType]
}

Fields

NameDescription
contract(Contract)

The contract terminated.

Example

{
  "contract": Contract
}

TerminateCreditTransferPermission

Terminate a credit transfer permission.

The possible errors that can be raised are:

  • KT-CT-3822: Unauthorized.
  • KT-CT-3825: Credit transfer permission not found.
  • KT-CT-3827: The ledger is not valid.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
validTo(DateTime)

Datetime when the credit transfer permission ends.

Example

{
  "validTo": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

TermsAndConditionsConnectionTypeConnection

Pagination for terms and conditions.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([TermsAndConditionsConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": TermsAndConditionsConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

TermsAndConditionsConnectionTypeEdge

A Relay edge containing a TermsAndConditionsConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(TermsAndConditionsType)

The item at the end of the edge

Example

{
  "node": TermsAndConditionsType,
  "cursor": "abc123"
}

Fields

NameDescription
name(String)

The display name of the terms and conditions.

s3Url(String)

The S3 URL to the terms and conditions file.

Example

{
  "name": "abc123",
  "s3Url": "abc123"
}

Fields

NameDescription
brandCode(String)

effectiveFrom(DateTime)

html(String)

The html of the terms and conditions document rendered as a JSON string.

markdown(String)

The markdown text of the terms and conditions.

name(String)

pdfUrl(String)

version(String)

Example

{
  "name": "abc123",
  "pdfUrl": "abc123",
  "brandCode": "abc123",
  "markdown": "abc123",
  "html": "abc123",
  "version": "abc123",
  "effectiveFrom": "2020-01-01T00:00:00.000Z"
}

TextType

A block of text.

Fields

NameDescription
id(ID)

Unique identifier of the object.

textAlignment(Alignment)

The text alignment.

textStyle(TextStyleV1)

The text style, i.e. header, body.

typename(String)

The name of the object's type.

value(String!)

The text content.

Example

{
  "value": "abc123",
  "textStyle": "TITLE1",
  "textAlignment": "START",
  "id": "abc123",
  "typename": "abc123"
}

ThirdPartyOrganizationType

Type for the third party organization.

Fields

NameDescription
name(String!)

The name of the third party.

permissions([ThirdPartyPermission])

Holds information about the permissions of the current viewer.

Example

{
  "name": "abc123"
}

ThirdPartyPermission

Holds information about a specific permission.

Fields

NameDescription
permission(String)

The short name of the permission.

Example

{
  "permission": "abc123"
}

TimeOfUseOverrideType

Represents a time-of-use override to be applied in a contract.

Note: This type is a stub, and will be fleshed out in the future.

Fields

NameDescription
description(NonEmptyString)

The description of the term.

displayName(NonEmptyString)

The display name of the term.

identifier(NonEmptyString)

The identifier of the term.

isVariable(Boolean)

Whether the term is variable.

type(NonEmptyString)

The type of the term.

Example

{
  "type": NonEmptyString,
  "displayName": NonEmptyString,
  "description": NonEmptyString,
  "identifier": NonEmptyString,
  "isVariable": true
}

Fields

NameDescription
name(String!)

Name of the time of use scheme.

timeslots([TimeSlotWithActivationRuleType!]!)

List of timeslots in the scheme.

timezone(String)

Timezone of the time of use scheme.

Example

{
  "name": "abc123",
  "timezone": "abc123",
  "timeslots": TimeSlotWithActivationRuleType
}

Fields

NameDescription
label(String)

The label for this time of use slot.

usage(Decimal)

The estimated usage for this time of use slot.

Example

{
  "label": "abc123",
  "usage": "1.0"
}

Fields

NameDescription
days([Weekday])

The days that the rate applies to.

endTime(DateTime)

End time on the last day of the period this year.

startTime(DateTime)

Start time on the first day of the period this year.

Example

{
  "days": "MON",
  "startTime": "2020-01-01T00:00:00.000Z",
  "endTime": "2020-01-01T00:00:00.000Z"
}

TimeSeriesSpecificationEligibilityScheduleType

Represents a schedule for time series specification eligibility within a contract.

Note: This type is a stub, and will be fleshed out in the future.

Fields

NameDescription
effectivePeriod(RateGroupEligibilityPeriodType)

The period during which this eligibility is effective.

isEligible(Boolean)

Indicates if the time series specification is eligible.

productCode(String)

The product code associated with the time series specification.

supplyPointIdentifier(String)

The external identifier of the supply point this schedule targets. When null, the schedule targets all agreements for the product.

timeSeriesSpecificationCode(String)

The time series specification code.

Example

{
  "productCode": "abc123",
  "timeSeriesSpecificationCode": "abc123",
  "supplyPointIdentifier": "abc123",
  "isEligible": true,
  "effectivePeriod": RateGroupEligibilityPeriodType
}

Fields

NameDescription
activeFrom(Time!)

Active from time.

activeTo(Time!)

Active to time.

holidays(Boolean!)

Indicates applies on holidays or not.

saturdays(Boolean!)

Indicates applies on Saturdays or not.

season(SeasonType!)

Season the rule applies to.

sundays(Boolean!)

Indicates applies on Sundays or not.

timeslot(String!)

Timeslot name.

weekdays(Boolean!)

Indicates applies on weekdays or not.

weekends(Boolean!)

Indicates applies on weekends or not.

workdays(Boolean!)

Indicates applies on workdays or not.

Example

{
  "timeslot": "abc123",
  "activeFrom": "00:00:00.000Z",
  "activeTo": "00:00:00.000Z",
  "weekdays": true,
  "weekends": true,
  "saturdays": true,
  "sundays": true,
  "workdays": true,
  "holidays": true,
  "season": SeasonType
}

Fields

NameDescription
gross(Int)

The gross amount (in minor currency units).

net(Int)

The net amount (in minor currency units).

tax(Int)

The amount of tax (in minor currency units).

Example

{
  "net": 1,
  "tax": 1,
  "gross": 1
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([TransactionConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": TransactionConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

TransactionConnectionTypeEdge

A Relay edge containing a TransactionConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(TransactionType)

The item at the end of the edge

Example

{
  "node": TransactionType,
  "cursor": "abc123"
}

TransferLeadOpportunities

Transfer opportunities across leads.

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
opportunitiesTransferred(Int)

Number of opportunities transferred.

Example

{
  "opportunitiesTransferred": 1
}

TransferLedgerBalance

Transfer value from a source ledger to a destination ledger. This decreases the balance of the source ledger by the given amount and increases the balance of the destination ledger by the same amount. If the amount is negative, the effect is reversed (the source ledger's balance increases and the destination ledger's balance decreases).

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-3822: Unauthorized.
  • KT-CT-3823: Unauthorized.
  • KT-CT-9701: Balance transfer to same account is not allowed.
  • KT-CT-9702: Balance transfer is not support for debit account with Zero balance.
  • KT-CT-9703: Balance transfer is not supported for debit account.
  • KT-CT-9704: Balance transfer amount should be non-zero.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
balanceTransfer(AccountBalanceTransferType)

Balance transfer details.

Example

{
  
}

TransferLoyaltyPointsBetweenUsers

Transfer Loyalty Points between users.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9205: Insufficient Loyalty Points.
  • KT-CT-9204: Negative or zero points set.
  • KT-CT-9208: Invalid posted at datetime.
  • KT-CT-9209: Negative Loyalty Points balance.
  • KT-CT-9210: Unhandled Loyalty Points exception.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
pointsTransferred(Int)

The number of loyalty points that were transferred.

Example

{
  "pointsTransferred": 1
}

Fields

NameDescription
accounts(AccountConnectionTypeConnection!)

The accounts related to this trigger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

accountsLinkedAt(DateTime)

The datetime that account linking was completed for this trigger. If null, the accounts field will be empty because linking hasn't occurred yet.

createdAt(DateTime!)

The date/time that the trigger was created.

id(String!)

The ID of the trigger.

messages(MessageConnection!)

The messages created in response to this trigger.

Arguments

after (String)

before (String)

first (Int)

last (Int)

processingStatus(TriggerProcessingStatus!)

The current processing status of this trigger.

triggerTypeCode(String!)

The trigger type code for this trigger.

Example

{
  "id": "abc123",
  "triggerTypeCode": "abc123",
  "createdAt": "2020-01-01T00:00:00.000Z",
  "accountsLinkedAt": "2020-01-01T00:00:00.000Z",
  "accounts": AccountConnectionTypeConnection,
  "processingStatus": "UNPROCESSED"
}

TriggerC4Request

Trigger a C4 request to be sent to the market gateway.

The possible errors that can be raised are:

  • KT-CT-13802: Meter data issue not found.
  • KT-AU-5613: Cannot find meter point with the provided ID.
  • KT-AU-13814: Invalid C4 request parameters.
  • KT-AU-13815: Unable to send C4 request.
  • KT-AU-13816: C4 request already in progress.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
result(TriggerC4RequestOutputType)

The result of triggering the C4 request.

Example

{
  
}

Fields

NameDescription
issueId(Int)

The ID of the MeterDataIssue.

nmi(String)

The NMI for which the C4 request was sent.

Example

{
  "issueId": 1,
  "nmi": "abc123"
}

TriggerCollectionProcessMessage

Send a communication for a collection process.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
triggerResult(TriggerCollectionProcessMessageOutput)

Details of the triggered communication.

Example

{
  
}

Fields

NameDescription
fuguTriggerId(String)

The unique identifier of the triggered communication.

Example

{
  "fuguTriggerId": "abc123"
}

TriggerElectricityHouseMoveOut

Trigger the electricity house move out process for a related account asynchronously. This creates a workflow instance with step instances executed as tasks; use the workflow ID in the response to track progress.

The possible errors that can be raised are:

  • KT-CT-6623: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(TriggerElectricityHouseMoveErrorUnion)

The error encountered when trying to trigger the electricity house move out process, if any.

workflow(WorkflowType)

The workflow information which can be used to track the async processing progress.


TriggerGasHouseMoveOut

Trigger the gas house move out process for a related account, asynchronously.

It won't return the occupier account immediately, instead, it will create a workflow instance linking to a few step instances. The steps will be executed as tasks and clients can use the workflow id in the response to track the progress.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(TriggerGasHouseMoveErrorUnion)

workflow(WorkflowType)

The workflow information which can be used to track the async processing progress.

Example


TriggerPmdRequest

Trigger a PMD (Provide Meter Data) request to be sent to the market gateway.

The possible errors that can be raised are:

  • KT-CT-13802: Meter data issue not found.
  • KT-AU-13821: PMD request precondition not met.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
result(TriggerPmdRequestOutputType)

The result of triggering the PMD request.

Example

{
  
}

Fields

NameDescription
failedDateRanges([FailedDateRangeType!])

The date ranges for which PMD requests failed to send.

issueId(ID)

The ID of the MeterDataIssue.

nmi(String)

The NMI for which the PMD request was sent.

requestedDateRanges([RequestedDateRangeType!])

The date ranges for which PMD requests were successfully sent.

Example

{
  "issueId": "abc123",
  "nmi": "abc123"
}

TriggerStandalonePaymentRequest

Trigger standalone payment request.

The possible errors that can be raised are:

  • KT-CT-3998: Unauthorized.
  • KT-CT-3999: Multiple recipient input.
  • KT-CT-39100: Unable to find manual standalone method configuration to use.
  • KT-CT-5463: Unauthorized.
  • KT-CT-39101: Insufficient contact details provided for adhocRecipient.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
paymentNotification(PaymentNotification)

Payment notification trigerred for standalone payment request.

Example

{
  "paymentNotification": PaymentNotification
}

TriggerVmdRequest

Trigger a VMD (Verify Meter Data) request to be sent to the market gateway.

The possible errors that can be raised are:

  • KT-CT-13802: Meter data issue not found.
  • KT-AU-13817: Invalid VMD request parameters.
  • KT-AU-13818: Unable to send VMD request.
  • KT-AU-13819: VMD request precondition not met.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
result(TriggerVmdRequestOutputType)

The result of triggering the VMD request.

Example

{
  
}

Fields

NameDescription
issueId(Int)

The ID of the MeterDataIssue.

nmi(String)

The NMI for which the VMD request was sent.

Example

{
  "issueId": 1,
  "nmi": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
maxDate(Date)

Max date that the payment can be rescheduled to.

maxDays(Int)

Maximum number of days the payment can be extended by.

message(String!)

Example

{
  "message": "abc123",
  "maxDate": "2020-01-01",
  "maxDays": 1
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

UnenrollAccountFromLoyaltyProgram

Unenroll an account from the loyalty program.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-9220: Ineligible loyalty points unenrollment.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
outcome(UnenrollAccountFromLoyaltyProgramOutcome)

Outcome of the loyalty points campaign enrollment.

Example

{
  
}

Fields

NameDescription
hasUnenrolled(Boolean)

Indicates whether the account has been unenrolled from the loyalty points campaign.

Example

{
  "hasUnenrolled": true
}

Fields

NameDescription
account(AccountType!)

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

bestOffer(BestOfferForAgreement)

Get the best offer for an agreement.

Arguments

asOf (DateTime)

The date time to calculate the best offer. Defaults to now.

pricesAsOf (DateTime)

The date time to calculate cost details.

eligibleRebates([RebateType])

Data about concession rebates that users associated with the agreement are eligible for.

Arguments

endAt (DateTime)

Include eligibility data ending at this datetime. If this isn't provided, an open-ended range will be used.

rebateAmountEffectiveAt (DateTime)

The effective time for rebateCents and percentageDiscount data (defaults to now).

startAt (DateTime)

Include eligibility data starting at this datetime. If this isn't provided, an open-ended range will be used.

id(Int)

The ID of the agreement.

isActive(String)

isRevoked(Boolean)

Whether the agreement is revoked.

meterPoint(MeterPointInterface)

product(Product)

The product for this agreement.

ratesAgreedAt(DateTime)

The datetime the rates were agreed.

rescissionDeadlineAt(DateTime)

The deadline datetime for rescinding the agreement.

supplyPoint(SupplyPointInterface!)

supplyType(String)

terminatedAt(DateTime)

validFrom(DateTime)

The start datetime of the agreement.

validTo(DateTime)

The end datetime of the agreement.

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "product": Product,
  "supplyType": "abc123",
  "isActive": "abc123",
  "meterPoint": MeterPointInterface,
  "supplyPoint": SupplyPointInterface,
  "eligibleRebates": [RebateType],
  "bestOffer": BestOfferForAgreement,
  "account": AccountType
}

UnmeteredElectricityRateType

Product rates for unmeterd electricity.

Fields

NameDescription
bandCategory(BandCategory)

Category of band associated with a product rate.

bandSubcategory(String)

Subcategory of band associated with a product rate.

currency(String)

id(ID)

ID associated with unmeterd electricity product rate.

pricePerUnit(Decimal!)

Price in cents per unit.

rateDescription(String)

Description that will show up on the customer's bill.

rateExcludingTax(Float)

Unit cost before tax.

rateIncludingTax(Float)

Unit cost including tax.

stepEnd(Float)

End of the step the rate applies to (Exclusive).

stepStart(Float)

Start of the step the rate applies to.

unitType(UnitType!)

What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.

validFrom(DateTime)

validTo(DateTime)

Example

{
  "id": "abc123",
  "currency": "abc123",
  "pricePerUnit": "1.0",
  "bandCategory": "STANDING_CHARGE",
  "bandSubcategory": "abc123",
  "rateExcludingTax": 1.0,
  "rateIncludingTax": 1.0,
  "rateDescription": "abc123",
  "unitType": "DAYS_ON_SUPPLY",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "stepStart": 1.0,
  "stepEnd": 1.0
}

UnmeteredElectricitySupplyPointType

An unmetered electricity supply point.

Fields

NameDescription
applianceType(UnmeteredElectricitySupplyPointApplianceType!)

id(ID)

The unique identifier of the supply point.

marketName(String)

The market this supply point belongs to.

meterPoint(MeterPointInterface)

The meter point associated with this supply point.

multiplier(Decimal!)

parentNmi(String)

property(PropertyType)

The property associated with this supply point.

quotableSupplyPointId(ID)

The quotable supply point for an UnmeteredElectricitySupplyPointType must be used to accept a quote and is different to the id of the unmetered supply point.

Example

{
  "multiplier": "1.0",
  "id": "abc123",
  "marketName": "abc123",
  "property": PropertyType,
  "meterPoint": MeterPointInterface,
  "applianceType": "AIR_CONDITIONING",
  "parentNmi": "abc123",
  "quotableSupplyPointId": "abc123"
}

Fields

NameDescription
account(AccountType!)

agreedAt(DateTime)

agreedFrom(DateTime)

The datetime the agreement was entered.

agreedTo(DateTime)

The datetime the agreement was terminated.

bestOffer(BestOfferForAgreement)

Get the best offer for an agreement.

Arguments

asOf (DateTime)

The date time to calculate the best offer. Defaults to now.

pricesAsOf (DateTime)

The date time to calculate cost details.

eligibleRebates([RebateType])

Data about concession rebates that users associated with the agreement are eligible for.

Arguments

endAt (DateTime)

Include eligibility data ending at this datetime. If this isn't provided, an open-ended range will be used.

rebateAmountEffectiveAt (DateTime)

The effective time for rebateCents and percentageDiscount data (defaults to now).

startAt (DateTime)

Include eligibility data starting at this datetime. If this isn't provided, an open-ended range will be used.

id(Int)

The ID of the agreement.

isActive(String)

isRevoked(Boolean)

Whether the agreement is revoked.

meterPoint(MeterPointInterface)

product(Product)

The product for this agreement.

ratesAgreedAt(DateTime)

The datetime the rates were agreed.

rescissionDeadlineAt(DateTime)

The deadline datetime for rescinding the agreement.

supplyPoint(SupplyPointInterface!)

supplyType(String)

terminatedAt(DateTime)

validFrom(DateTime)

The start datetime of the agreement.

validTo(DateTime)

The end datetime of the agreement.

Example

{
  "id": 1,
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "agreedAt": "2020-01-01T00:00:00.000Z",
  "terminatedAt": "2020-01-01T00:00:00.000Z",
  "agreedFrom": "2020-01-01T00:00:00.000Z",
  "agreedTo": "2020-01-01T00:00:00.000Z",
  "isRevoked": true,
  "rescissionDeadlineAt": "2020-01-01T00:00:00.000Z",
  "ratesAgreedAt": "2020-01-01T00:00:00.000Z",
  "product": Product,
  "supplyType": "abc123",
  "isActive": "abc123",
  "meterPoint": MeterPointInterface,
  "supplyPoint": SupplyPointInterface,
  "eligibleRebates": [RebateType],
  "bestOffer": BestOfferForAgreement,
  "account": AccountType
}

UnmeteredGasRateType

Product rates for unmetered gas.

Fields

NameDescription
bandCategory(BandCategory)

Category of band associated with a product rate.

bandSubcategory(String)

Subcategory of band associated with a product rate.

currency(String)

id(ID)

ID associated with unmetered gas product rate.

pricePerUnit(Decimal!)

Price in cents per unit.

rateDescription(String)

Description that will show up on the customer's bill.

rateExcludingTax(Float)

Unit cost before tax.

rateIncludingTax(Float)

Unit cost including tax.

stepEnd(Float)

End of the step the rate applies to (Exclusive).

stepStart(Float)

Start of the step the rate applies to.

unitType(UnitType!)

What the rate is for, e.g. kWh of electricity, MJ or Units of gas, or days on supply.

validFrom(DateTime)

validTo(DateTime)

Example

{
  "id": "abc123",
  "currency": "abc123",
  "pricePerUnit": "1.0",
  "bandCategory": "STANDING_CHARGE",
  "bandSubcategory": "abc123",
  "rateExcludingTax": 1.0,
  "rateIncludingTax": 1.0,
  "rateDescription": "abc123",
  "unitType": "DAYS_ON_SUPPLY",
  "validFrom": "2020-01-01T00:00:00.000Z",
  "validTo": "2020-01-01T00:00:00.000Z",
  "stepStart": 1.0,
  "stepEnd": 1.0
}

UnmeteredGasSupplyPointType

An unmetered gas supply point.

Fields

NameDescription
applianceType(UnmeteredGasSupplyPointApplianceType!)

id(ID)

The unique identifier of the supply point.

marketName(String)

The market this supply point belongs to.

meterPoint(MeterPointInterface)

The meter point associated with this supply point.

multiplier(Decimal!)

parentMirn(String)

pricingZone(UnmeteredGasSupplyPointPricingZone)

property(PropertyType)

The property associated with this supply point.

quotableSupplyPointId(ID)

The quotable supply point for an UnmeteredGasSupplyPointType must be used to accept a quote and is different to the id of the unmetered supply point.

Example

{
  "multiplier": "1.0",
  "id": "abc123",
  "marketName": "abc123",
  "property": PropertyType,
  "meterPoint": MeterPointInterface,
  "applianceType": "COOKTOP",
  "pricingZone": "ACTEWAGL",
  "parentMirn": "abc123",
  "quotableSupplyPointId": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

UpdateAPIException

Mutation to update an existing APIException instance.

The possible errors that can be raised are:

  • KT-CT-7804: No fields present in the input for updating the APIException.
  • KT-CT-7803: Received an invalid apiExceptionId.
  • KT-CT-7809: Update results in no changes to API Exception.
  • KT-CT-7805: Too many tags associated with this API Exception.
  • KT-CT-7806: Cannot create duplicate tags for the same API exception.
  • KT-CT-7801: Received an invalid operationsTeamId.
  • KT-CT-7811: Received an invalid assignedUserId.
  • KT-CT-7812: Support user is inactive.
  • KT-CT-7814: Received an invalid accountNumber.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
apiException(APIExceptionType)

The updated APIException.

Example

{
  
}

UpdateAPIExceptionNote

Mutation to update an existing APIExceptionNote instance.

The possible errors that can be raised are:

  • KT-CT-7807: Received an invalid apiExceptionNoteId.
  • KT-CT-7808: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
apiException(APIExceptionType)

The updates APIExceptionNote.

Example

{
  
}

UpdateAccountAddressMutation

Update address in legacy format for the specified account.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
viewer(AccountUserType)

The currently authenticated user.

This field requires the Authorization header to be set.

Example

{
  "viewer": AccountUserType
}

UpdateAccountBillingAddress

Update the account billing address.

The possible errors that can be raised are:

  • KT-CT-4145: Invalid address.
  • KT-CT-7123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

The updated account.

Example

{
  "account": AccountType
}

UpdateAccountBillingEmail

Update the billing email for the given account.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-4122: Invalid email.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountInterface)

Account that was changed.

Example

{
  "account": AccountInterface
}

UpdateAccountBillingName

Update the billing name and billing sub name for the input account number. Fields that are omitted, null, or empty are left unchanged; this mutation cannot clear a name.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountInterface)

Account that was changed.

Example

{
  "account": AccountInterface
}

UpdateAccountConsents

Update the consents for an account using the consent management system.

The possible errors that can be raised are:

  • KT-CT-9014: Duplicate consent.
  • KT-CT-9016: Consent management not enabled.
  • KT-CT-9017: Consent type not found.
  • KT-CT-9018: Account not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
consents([ConsentType!]!)

Consents linked to this account.

Example

{
  "consents": ConsentType
}

UpdateAccountElectricityProduct

This mutation is used for processing an electricity product switch. This is when an existing user opts in for a different product during the tenure of their agreement.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

error(ElectricityProductSwitchingErrorUnion)

Example

{
  "account": AccountType,
  "error": UnsupportedBrandErrorType
}

UpdateAccountGasProduct

This mutation is used for processing a gas product switch. This is when an existing user opts in for a different product during the tenure of their agreement.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

error(GasProductSwitchingErrorUnion)

Example

{
  "account": AccountType,
  "error": UnsupportedBrandErrorType
}

UpdateAccountReference

Update a reference for a particular account and namespace.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-8310: Invalid data.
  • KT-CT-8311: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountReference(AccountReferenceType)

Example

{
  "accountReference": AccountReferenceType
}

UpdateAccountReferralStatus

Update the status of an AccountReferral.

Status transitions can only move forward: - Pending → Paid (allowed) - Pending → Cancelled (allowed) - Paid → any (not allowed) - Cancelled → any (not allowed)

The possible errors that can be raised are:

  • KT-CT-6712: Invalid reference.
  • KT-CT-6732: Invalid referral status transition.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountReferral(ReferralType)

The updated account referral instance.

Example

{
  "accountReferral": ReferralType
}

UpdateAccountRichAddressMutation

Update address for the specified account.

The possible errors that can be raised are:

  • KT-CT-4412: The supplied address is not valid.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
viewer(AccountUserType)

The currently authenticated user.

This field requires the Authorization header to be set.

Example

{
  "viewer": AccountUserType
}

UpdateAccountUserCommsPreferencesMutationPayload

Update the comms preferences of the account user (the authenticated user).

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
clientMutationId(String)

commsPreferences(AccountUserCommsPreferences)

emailFormat(String)

errors([ErrorType])

fontSizeMultiplier(Float)

isOptedInMeterReadingConfirmations(Boolean)

isOptedInToClientMessages(Boolean)

isOptedInToOfferMessages(Boolean)

isOptedInToRecommendedMessages(Boolean)

isOptedInToSmsMessages(Boolean)

isOptedInToThirdPartyMessages(Boolean)

isOptedInToUpdateMessages(Boolean)

isUsingInvertedEmailColours(Boolean)

preferredHoldMusic(String)

Example

{
  "isOptedInToClientMessages": true,
  "isOptedInToOfferMessages": true,
  "isOptedInToRecommendedMessages": true,
  "isOptedInToUpdateMessages": true,
  "isOptedInToThirdPartyMessages": true,
  "isOptedInMeterReadingConfirmations": true,
  "isOptedInToSmsMessages": true,
  "isUsingInvertedEmailColours": true,
  "fontSizeMultiplier": 1.0,
  "emailFormat": "abc123",
  "preferredHoldMusic": "abc123",
  "errors": [ErrorType],
  "commsPreferences": AccountUserCommsPreferences,
  "clientMutationId": "abc123"
}

UpdateAccountUserConsents

Update the consents from an account user using consent management system

The possible errors that can be raised are:

  • KT-CT-9014: Duplicate consent.
  • KT-CT-9016: Consent management not enabled.
  • KT-CT-9017: Consent type not found.
  • KT-CT-1111: Unauthorized.
  • KT-CT-5421: Account user not found.
  • KT-CT-5422: Invalid data.
  • KT-CT-1605: Invalid input.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
accountUserConsents(AccountUserConsents)

All the consents for an account user.

Example

{
  "accountUserConsents": AccountUserConsents
}

UpdateAccountUserMutationPayload

DEPRECATED: Please use updateUser instead

Update the account user details of the authenticated user. Only one field can be updated per day. This prevents users from switching accounts to someone else (usually when moving homes) All account changes should be handled by operations or the move out journey. New customers are exempt from this rule for the first 31 days.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
clientMutationId(String)

dateOfBirth(Date)

email(String)

errors([ErrorType])

familyName(String)

givenName(String)

landline(String)

mobile(String)

pronouns(String)

Example

{
  "givenName": "abc123",
  "familyName": "abc123",
  "pronouns": "abc123",
  "mobile": "abc123",
  "email": "abc123",
  "dateOfBirth": "2020-01-01",
  "landline": "abc123",
  "errors": [ErrorType],
  "clientMutationId": "abc123"
}

UpdateActivePurchase

Update an active purchase.

The possible errors that can be raised are:

  • KT-CT-8225: Received an invalid purchaseId.
  • KT-CT-8226: The provided purchase is not active.
  • KT-CT-8206: Invalid data.
  • KT-CT-8227: Available grants could not be applied.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
goodsPurchase(GoodsPurchase)

Goods purchase updated.

Example

{
  "goodsPurchase": GoodsPurchase
}

Update an affiliate link of an existing sales agent.

The possible errors that can be raised are:

  • KT-CT-7711: Invalid data.
  • KT-CT-7713: Invalid data.
  • KT-CT-7714: Invalid data.
  • KT-CT-7715: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
affiliateLink(AffiliateLinkType)

The updated affiliate link.

Example

{
  
}

UpdateAffiliateOrganisation

Update an existing affiliate organisation.

The possible errors that can be raised are:

  • KT-CT-7717: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
affiliateOrganisation(AffiliateOrganisationType)

The updated affiliate organisation.

Example

{
  
}

UpdateAgentAuxiliaryStatus

The possible errors that can be raised are:

  • KT-CT-7813: Support user not found with that username.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
success(Boolean)

Whether the auxiliary status was successfully updated.

Example

{
  "success": true
}

UpdateAgreementPeriod

Update the period of an agreement.

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-1501: Agreement not found.
  • KT-CT-1503: Agreement validto date must be later than validfrom date.
  • KT-CT-1504: Account does not match with the agreement.
  • KT-CT-1505: Unable to edit agreement.
  • KT-CT-1506: Agreement period is not within the supply and property period.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

Account responsible for the update agreement.

Example

{
  "account": AccountType
}

UpdateAgreementRescission

Update an agreement rescission.

This mutation allows updating the status and tracking information for an agreement rescission process. Updates are not allowed if the rescission has already been completed.

The possible errors that can be raised are:

  • KT-CT-14101: Agreement rescission not found.
  • KT-CT-14102: Cannot update completed agreement rescission.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreementRescission(AgreementRescissionType)

The updated agreement rescission instance.

Example

{
  
}

UpdateAgreementRollover

Update an agreement rollover.

The possible errors that can be raised are:

  • KT-CT-4910: No product exists with the given input.
  • KT-CT-13705: Agreement rollover not found.
  • KT-CT-13706: Agreement rollover has an invalid status for this operation.
  • KT-CT-13707: Agreement rollover has an invalid type for this operation.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
agreementRollover(AgreementRolloverType)

The update agreement rollover.

Example

{
  "agreementRollover": AgreementRolloverType
}

UpdateAutoTopUpAmount

Change the auto top up amount for the payment schedule.

The possible errors that can be raised are:

  • KT-CT-3815: No active payment schedule found for this account.
  • KT-CT-3941: Invalid data.
  • KT-CT-3942: An unexpected error occurred.
  • KT-CT-3947: An unexpected error occurred.
  • KT-CT-3953: The payment schedule is not a balance triggered schedule.
  • KT-CT-3820: Received both ledger ID and number.
  • KT-CT-3821: Received neither ledger ID nor ledger number.
  • KT-CT-3822: Unauthorized.
  • KT-CT-4123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
schedule(PaymentScheduleType)

The new schedule created.

Example

{
  "schedule": PaymentScheduleType
}

UpdateCampaignAccountExpiryDate

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-4123: Unauthorized.
  • KT-CT-7428: Failed to update campaign account.
  • KT-CT-7429: No active campaign account found for the given account and campaign.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
campaignAccount(AccountCampaignType)

The campaign account with the updated expiry date.

Example

{
  "campaignAccount": AccountCampaignType
}

UpdateCollectionProcessRecordLatestStep

Update the latest step of a Collection Process Record.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
updatedCollectionProcessRecord(UpdateCollectionProcessRecordLatestStepOutputType)

The updated collection process record.

Example

{
  
}

UpdateCollectionProcessRecordLatestStepOutputType

Output for updating a Collection process Record's latest step.

Fields

NameDescription
latestStep(CollectionProcessStepType)

The updated latest step of the collection process record.

number(String)

The number of the collection process record.

Example

{
  "number": "abc123"
}

UpdateCollectionProcessRecordToActive

Update the Collection Process Record from raised status to active.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-11202: No External reference provided.
  • KT-CT-11207: Unsupported external source for collection process.
  • KT-CT-11218: External reference cannot be updated once it has been set.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessActivated(UpdateCollectionProcessRecordToActiveOutputType)

Whether the collection process was successfully updated.

Example

{
  
}

UpdateCollectionProcessRecordToActiveOutputType

Output for updating a Collection process Record to Active.

Fields

NameDescription
number(String)

The number of the collection process record.

status(CollectionProcessRecordStatusTypes)

The current status of the collection process record.

Example

{
  "number": "abc123",
  "status": "PENDING"
}

UpdateCollectionProcessRecordToComplete

Update the Collection Process Record from raised status to complete.

The possible errors that can be raised are:

  • KT-CT-1111: Unauthorized.
  • KT-CT-11201: No Collection Process Records associated with id.
  • KT-CT-11203: No Completion reason provided.
  • KT-CT-11204: No Completion details provided.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
collectionProcessComplete(UpdateCollectionProcessRecordToCompleteOutputType)

Whether the collection process was successfully updated.

Example

{
  
}

UpdateCollectionProcessRecordToCompleteOutputType

Output for updating a Collection process Record to Complete.

Fields

NameDescription
number(String)

The number of the collection process record.

status(CollectionProcessRecordStatusTypes)

The current status of the repayment request.

Example

{
  "number": "abc123",
  "status": "PENDING"
}

UpdateCommsDeliveryPreference

Update the comms delivery preference for the given account.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-4136: Cannot set comms preference to email when account has no email.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountInterface)

Example

{
  "account": AccountInterface
}

UpdateConcession

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
concession(ConcessionType)

Example

{
  "concession": ConcessionType
}

UpdateCreditCardInstruction

Update an existing credit card instruction.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-3926: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
creditCardInstruction(DirectDebitInstructionType)

The updated credit card instruction.

Example

{
  "creditCardInstruction": DirectDebitInstructionType
}

UpdateDCAProceeding

Update the status of a DCA proceeding.

The possible errors that can be raised are:

  • KT-CT-11610: unable to edit the debt collection proceeding.
  • KT-CT-11604: Active debt collection proceeding does not exist for account.
  • KT-CT-11605: Multiple active Proceeding's found for same agency and campaign on account.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
dcaProceedingUpdateStatus(DCAProceedingUpdateStatus)

Whether the update has been applied.

Example

{
  
}

UpdateDocumentAccessibilityPreference

Update the document accessibility preference for the given account.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

Account that was changed.

Example

{
  "account": AccountType
}

UpdateElecMeterPointAccessDetails

Requires either/both accessDetails or hazard inputs. This mutation overrides existing access details.

The possible errors that can be raised are:

  • KT-CT-6420: Unauthorized.
  • KT-CT-4011: No meter points found with the given ID.
  • KT-AU-7810: Missing mutation inputs.
  • KT-AU-5610: Max number of meter point hazards exceeded.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
meterPoint(MeterPointType)

The target meter point.

Example

{
  "meterPoint": MeterPointType
}

UpdateExportPaymentMethod

Update the method of payment for a solar export repayment. Allows customers to add or change their payment method for receiving solar export repayments.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-3823: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
exportRepaymentDetails(ExportRepaymentDetailsType)

Updated export repayment details.

Example

{
  "exportRepaymentDetails": ExportRepaymentDetailsType
}

UpdateHardshipAgreement

Update an existing hardship agreement for an account.

The possible errors that can be raised are:

  • KT-CT-11611: Hardship agreement not found.
  • KT-CT-11612: Overlapping hardship agreement exists.
  • KT-CT-10950: Invalid date range.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
updatedHardshipAgreement(HardshipAgreementType)

The updated hardship agreement.

Example

{
  "updatedHardshipAgreement": HardshipAgreementType
}

UpdateLeadDetails

Update the details of a lead.

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-8912: Funnel not found.
  • KT-CT-8913: Organisation is not valid to be assigned.
  • KT-CT-8931: Extra detail value is invalid.
  • KT-CT-8935: National ID bad input.
  • KT-CT-8956: Conflicting address inputs.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
updatedLeadData(JSONString)

Arguments passed.

Example

{
  "updatedLeadData": {"key": "value"}
}

UpdateLeadStage

Update the stage of a lead.

The possible errors that can be raised are:

  • KT-CT-8907: Lead not found.
  • KT-CT-8914: Stage not found.
  • KT-CT-8915: Stages are not in the same funnel.
  • KT-CT-8916: Current stage mismatch.
  • KT-CT-8917: Stage transition not allowed.
  • KT-CT-8918: Stage precondition not met.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
updatedLeadData(JSONString)

Arguments passed.

Example

{
  "updatedLeadData": {"key": "value"}
}

UpdateMessageTags

The possible errors that can be raised are:

  • KT-CT-7611: The message was not found.
  • KT-CT-7614: The Ink tag was not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
tags([InkTag!]!)

Confirmed tags.

Example

{
  
}

UpdateMetadata

Update existing metadata on an object.

The possible errors that can be raised are:

  • KT-CT-4177: Unauthorized.
  • KT-CT-4124: Unauthorized.
  • KT-CT-6622: Unauthorized.
  • KT-CT-6637: Unauthorized.
  • KT-CT-8411: Invalid data.
  • KT-CT-4123: Unauthorized.
  • KT-CT-8413: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
metadata(Metadata)

Example

{
  "metadata": Metadata
}

UpdateNotesOnOpportunity

Update the notes of an opportunity.

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
opportunityNumber(String)

The number of the opportunity.

Example

{
  "opportunityNumber": "abc123"
}

UpdateOfferGroupOnOpportunity

Update the offer group of an opportunity.

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
opportunityNumber(String)

The number of the opportunity.

Example

{
  "opportunityNumber": "abc123"
}

UpdateOnSiteJobsRequest

Update an On Site Jobs Request.

The possible errors that can be raised are:

  • KT-CT-13032: Request does not exist.
  • KT-CT-13035: Request is inactive.
  • KT-CT-13038: Invalid request status.
  • KT-CT-13045: Failed to update appointment assets.
  • KT-CT-13050: Cannot provide both supplypointidentifiertomarketnamemapping and supplypointinternal_id when creating assets.
  • KT-CT-13051: Supply point not found when creating assets.
  • KT-CT-13052: Multiple supply points found when creating assets.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
onSiteJobsRequest(OnSiteJobsRequestType)

The updated request.

Example

{
  
}

UpdateOpportunityAssignment

Update assignment fields for an Opportunity.

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-8913: Organisation is not valid to be assigned.
  • KT-CT-8946: A team must also be provided when assigning a user.
  • KT-CT-8947: The team you specified was not found.
  • KT-CT-8948: The user you specified was not found.
  • KT-CT-8949: The selected team does not belong to the specified partner.
  • KT-CT-8950: The selected user does not belong to the specified partner.
  • KT-CT-8951: The selected user is not a member of the specified team.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
updatedOpportunityData(JSONString)

Arguments passed.

Example

{
  "updatedOpportunityData": {"key": "value"}
}

UpdateOpportunityDetails

Update the details of an opportunity.

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-8930: Unable to parse address.
  • KT-CT-8931: Extra detail value is invalid.
  • KT-CT-8912: Funnel not found.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
updatedData(JSONString)

Arguments updated.

Example

{
  "updatedData": {"key": "value"}
}

UpdateOpportunityExtraDetails

Update the extra details of a opportunity.

The possible errors that can be raised are:

  • KT-CT-8906: Opportunity not found.
  • KT-CT-8926: Unable to create opportunity.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
extraDetails(JSONString)

The opportunity's extra details to be added or updated.

Example

{
  "extraDetails": {"key": "value"}
}

UpdateOpportunityStage

Update the stage of a opportunity.

The possible errors that can be raised are:

  • KT-CT-8903: Unable to update opportunity.
  • KT-CT-8910: Received opportunity current stage is not valid.
  • KT-CT-8914: Stage not found.
  • KT-CT-8915: Stages are not in the same funnel.
  • KT-CT-8916: Current stage mismatch.
  • KT-CT-8917: Stage transition not allowed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
message(String)

Placeholder success message for now.

Example

{
  "message": "abc123"
}

UpdateOptionsLanguagePreference

Update the language preference for an account. Determines the language in which communications about the account are sent. It does not affect the language seen in the UI.

The possible errors that can be raised are:

  • KT-CT-4123: Unauthorized.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
optionsLanguagePreference(OptionsLanguagePreferenceChoices)

The selected language preference.

Example

{
  "optionsLanguagePreference": "ENGLISH"
}

UpdatePassword

Update user's password.

Note this is different from the ResetPassword mutation, which is used to reset a password when the user has forgotten it. This mutation is used to update the password when the user is already authenticated and wants to change their password.

Ideally, this mutation would simply receive a "new_password" and use the current password update usecase, but, until we're ready for a breaking change, we'll need to use the Django form to also validate the old password and two new passwords.

The possible errors that can be raised are:

  • KT-CT-5460: Old password is invalid.
  • KT-CT-5450: Password is invalid.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
viewer(AccountUserType)

The currently authenticated user.

This field requires the Authorization header to be set.

Example

{
  "viewer": AccountUserType
}

UpdatePaymentSchedule

Update a payment schedule for an account.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(UpdatePaymentScheduleErrorUnion)

Handled errors related to payment schedule updates.

schedule(PaymentScheduleType)

Updated payment schedule.

Example

{
  "schedule": PaymentScheduleType,
  "error": DoesNotExistErrorType
}

UpdatePrimaryResidence

Update an existing primary residence for the given user and property.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
error(UpdatePrimaryResidenceErrorUnion)

The error type and message.

primaryResidence(PrimaryResidenceType)

The updated primary residence.

Example

{
  "primaryResidence": PrimaryResidenceType,
  "error": AccountUserCanNotFoundErrorType
}

UpdateProcessedHouseMoveDate

Mutation to trigger an update the date of house move in or out

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
account(AccountType)

error(UpdateProcessedHouseMoveDateErrorUnion)

Example

{
  "account": AccountType,
  "error": DoesNotExistErrorType
}

UpdateProductPricesOutput

Rate group prices for a product.

Fields

NameDescription
prices([RateGroupPrices!]!)

The rate group prices.

Example

{
  
}

UpdatePropertyAddress

Update the address of an existing property.

The possible errors that can be raised are:

  • KT-CT-6622: Unauthorized.
  • KT-CT-6638: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
property(PropertyType)

The property whose address was updated.

Example

{
  "property": PropertyType
}

UpdateQuoteConfigurationOutput

Output for the updateQuoteConfiguration mutation.

Fields

NameDescription
quoteConfiguration(QuoteConfigurationType!)

The updated quote configuration.

Example

{
  
}

UpdateRegisterNTCOverride

Updates the given NTC override for the register under Meter point.

The possible errors that can be raised are:

  • KT-AU-5611: Cannot find register with the provided ID.
  • KT-AU-5612: Error in creating the override.
  • KT-AU-5613: Cannot find meter point with the provided ID.
  • KT-AU-5614: Cannot find register network tariff code override with the provided ID.
  • KT-AU-5617: Override period falls outside the register's active period.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
meterPoint(MeterPointType)

The target meter point.

Example

{
  "meterPoint": MeterPointType
}

UpdateSiteworksRequest

Update a Request.

The possible errors that can be raised are:

  • KT-CT-4231: Unauthorized.
  • KT-CT-4232: Status passed is not valid.
  • KT-CT-4233: Request does not exist.
  • KT-CT-4234: Terminated Request cannot be updated.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
siteworksRequest(CoreSiteworksRequestType)

The siteworks request after the update.

Example

{
  
}

UpdateUserAddressMutation

Update address in legacy format for all accounts for this user.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
viewer(AccountUserType)

The currently authenticated user.

This field requires the Authorization header to be set.

Example

{
  "viewer": AccountUserType
}

UpdateUserMutation

Update the account user details of the authenticated user.

firstName and givenName fields are blocked and can't be updated via this mutation. There is no limit in the number of fields and number of times they can be updated per day.

This field requires the Authorization header to be set.

The possible errors that can be raised are:

  • KT-CT-5413: Invalid data.
  • KT-CT-5414: Invalid data.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
possibleErrors([PossibleErrorType])

Field with the possible errors of the query/mutation.

Deprecated

The 'possibleErrors' field is deprecated.

Please use the 'possibleErrors' query or the 'X-Kraken-Possible-Errors' header instead.

- Marked as deprecated on 2025-01-31.
- Scheduled for removal on or after 2025-03-01.

viewer(AccountUserType)

Example

{
  "viewer": AccountUserType,
  "possibleErrors": [PossibleErrorType]
}

UpdateUserRichAddressMutation

Update address for all accounts for this user.

The possible errors that can be raised are:

  • KT-CT-4412: The supplied address is not valid.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
viewer(AccountUserType)

The currently authenticated user.

This field requires the Authorization header to be set.

Example

{
  "viewer": AccountUserType
}

Fields

NameDescription
accountType(UsageReferenceAccountType!)

pricingZone(UsageReferencePricingZone!)

state(UsageReferenceState!)

totalUsage(Int!)

The reference supply usage in MJ

Example

{
  "pricingZone": "AGLNSW",
  "state": "ACT",
  "accountType": "DOMESTIC",
  "totalUsage": 1
}

Fields

NameDescription
controlledLoad(Decimal)

Controlled load usage summary.

endAt(DateTime)

The ending date and time this usage summary covers.

export([TimeOfUseSummaryType])

Solar export usage summary. Will be null for system generated usage estimates.

standard([TimeOfUseSummaryType])

Usage summary for the different time of use slots. Basic meters will have a single ALLDAY entry.

startAt(DateTime)

The starting date and time this usage summary covers.

Example

{
  "controlledLoad": "1.0",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z"
}

UserManagedPayment

Represents the preference of the user to pay himself, instead of get charged.

Fields

NameDescription
forPaymentsAfter(String)

The start time of the payment preference.

Example

{
  "forPaymentsAfter": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}

Fields

NameDescription
code(String!)

The unique code of the role.

description(String!)

The description of the role.

name(String!)

The unique displayable name of the role.

permissionCodes([String]!)

The permissions associated with the role.

Example

{
  "code": "abc123",
  "name": "abc123",
  "description": "abc123",
  "permissionCodes": "abc123"
}

Fields

NameDescription
accountUserId(ID)

The account user's ID.

accountUserRoles([SyncAccountUserRoleType])

List of account user roles.

accounts(SyncAccountConnectionTypeConnection)

List of accounts on the portfolios.

Arguments

after (String)

before (String)

first (Int)

last (Int)

offset (Int)

alternativePhoneNumbers([String])

List of alternative phone numbers for the account user.

businessUserRoles([SyncBusinessUserRoleType])

List of business user roles.

dateOfBirth(String)

The account user's date of birth.

email(String)

The account user's email address.

familyIssues(SyncFamilyIssuesType)

The account user's family issues record.

familyName(String)

The account user's family name.

givenName(String)

The account user's given name.

hasFamilyIssues(Boolean)

Whether the account user has family issues.

landline(String)

The account user's landline phone number.

mobile(String)

The account user's mobile phone number.

portfolioUserRoles([SyncPortfolioUserRoleType])

List of portfolio user roles.

Example

{
  "accountUserId": "abc123",
  "givenName": "abc123",
  "familyName": "abc123",
  "dateOfBirth": "abc123",
  "hasFamilyIssues": true,
  "email": "abc123",
  "mobile": "abc123",
  "landline": "abc123",
  "alternativePhoneNumbers": ["abc123"]
}

ValidateAddress

Validate an address without persisting it. Accepts address form values (matching the structure from the addressFields query), runs validation, and returns the full descriptor with cleaned/normalised values and per-field errors so the client can compare submitted vs. normalised data.

The possible errors that can be raised are:

  • KT-CT-4413: The supplied address field descriptor identifier is not recognised.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
cleanedDescriptor(AddressFieldDescriptorType)

The address field descriptor with cleaned/normalised values and per-field validation errors populated. Each field's errors list is empty when valid. Returned on both success and failure.

isValid(Boolean!)

Whether the address passed all validation checks.

Example

{
  "isValid": true,
  "cleanedDescriptor": AddressFieldDescriptorType
}

ValidateConcession

The possible errors that can be raised are:

  • KT-AU-8812: User has no active concession.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
concession(ConcessionType)

Example

{
  "concession": ConcessionType
}

ValidateEmail

Validate whether a user's email address is valid via the Kickbox API.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
isValid(Boolean)

Whether the email is valid or not.

Example

{
  "isValid": true
}

ValidateMfaDevice

Validate a multi-factor authentication (MFA) device for a user.

The possible errors that can be raised are:

  • KT-CT-1150: MFA device not found.
  • KT-CT-1151: MFA device not found.
  • KT-CT-1152: Invalid MFA token.
  • KT-CT-1155: Enabled backup device is needed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
deviceIsValid(Boolean)

Flag to indicate if the device has been verified, so it can be used for MFA.

Example

{
  "deviceIsValid": true
}

ValidatePhone

Validate whether a user's phone number is valid.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
isValid(Boolean)

Whether the phone number is valid or not.

Example

{
  "isValid": true
}

Fields

NameDescription
inputPath([String])

message(String)

Example

{
  "inputPath": ["abc123"],
  "message": "abc123"
}

ValidationErrorType

Error type for resolving input validation errors.

Fields

NameDescription
fieldErrors([ValidationErrorFieldType])

Example

{
  "fieldErrors": [ValidationErrorFieldType]
}

ValidityPeriod

Represents a validity period defined by specific start and end date times.

Fields

NameDescription
end(DateTime)

The end date and time of the period. Null indicates an open-ended period.

start(DateTime)

The start date and time of the period.

Example

{
  "start": "2020-01-01T00:00:00.000Z",
  "end": "2020-01-01T00:00:00.000Z"
}

VariantProfile

Object representing a variant profile.

Fields

NameDescription
characteristicValues(JSONString!)

The characteristic values for the variant.

Deprecated

The 'characteristicValues' field is deprecated.

Please use 'characteristics' instead.

- Marked as deprecated on 2026-07-17.
- Scheduled for removal on or after 2026-07-31.

characteristics(GenericScalar!)

The characteristic values for the variant.

schemeLabels(JSONString)

The scheme labels for the variant.

Deprecated

The 'schemeLabels' field is deprecated.

Please use 'schemes' instead.

- Marked as deprecated on 2026-07-17.
- Scheduled for removal on or after 2026-07-31.

schemes(GenericScalar)

The scheme labels for the variant.

Example

{
  "characteristicValues": {"key": "value"},
  "schemeLabels": {"key": "value"},
  "characteristics": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType,
  "schemes": "abc123" | 1 | 1.0 | true | ["abc123"] | AccountType
}

VaryContractTermsOutput

Output type for varying contract terms.

Fields

NameDescription
contract(Contract)

The contract with the varied terms.

Example

{
  "contract": Contract
}

Fields

NameDescription
status(String)

Verification process status.

type(String)

Verification type.

userNumber(String)

Customer with pending verification.

Example

{
  "userNumber": "abc123",
  "status": "abc123",
  "type": "abc123"
}

VerifyCustomer

Verify a customer using the provided verification code and type.

The possible errors that can be raised are:

  • KT-CT-4191: Error while verifying the customer.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
user(AccountUserType)

The currently authenticated user.

Example

{
  "user": AccountUserType
}

VerifyEmail

Verify user's email address.

The possible errors that can be raised are:

  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
isVerified(Boolean)

Whether the email is verified.

Example

{
  "isVerified": true
}

VerifyIdentity

Provide identifying information about an account and user to get a scoped token that will permit access to associate an email address with the account's user.

The possible errors that can be raised are:

  • KT-CT-1145: Account/user details do not match.
  • KT-CT-1113: Disabled GraphQL field requested.

Fields

NameDescription
token(String!)

An expiring token that can be used to request to update the user's email address.

Example

{
  "token": "abc123"
}

VerifySupplyAbolishment

Verify supply abolishment job.

The possible errors that can be raised are:

  • KT-AU-11710: Supply abolishment verification is not enabled.
  • KT-AU-11711: Verification code is not in expected format: {jobid}{verification_code}.
  • KT-AU-11712: Supply abolishment job not found.
  • KT-AU-11713: Supply abolishment journey is not in a proper status.
  • KT-AU-11714: Job is not subject to verification.
  • KT-AU-11715: Job is already verified.
  • KT-AU-11716: Verification code does not match.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
isVerified(Boolean)

A flag that shows whether verification was done successfully.

Example

{
  "isVerified": true
}

VoiceCampaignConnectionTypeConnection

Paginator of Voice Campaigns

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([VoiceCampaignConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": VoiceCampaignConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

VoiceCampaignConnectionTypeEdge

A Relay edge containing a VoiceCampaignConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(VoiceCampaignType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([VoiceCampaignItemConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": VoiceCampaignItemConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

VoiceCampaignItemConnectionTypeEdge

A Relay edge containing a VoiceCampaignItemConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(VoiceCampaignItemType)

The item at the end of the edge

Example

{
  "cursor": "abc123"
}

Fields

NameDescription
accountId(ID)

The account ID associated with the item.

If the phone number for the item is not set, the account ID will be used to determine the phone number to call.

callWindowEnd(DateTime)

Together with call_window_start, this determines the time window in which the item should be called. Specified as ISO 8601 format.

callWindowStart(DateTime)

Together with call_window_end, this determines the time window in which the item should be called. Specified as ISO 8601 format.

id(ID)

The ID of the campaign item.

metadata(JSONString)

Metadata about the item.

This enables items to be filtered based on additional information such as location. It is a dictionary of key-value pairs, with both keys and values being strings.

phoneNumber(String)

The phone number of the campaign item.

This is used to determine the phone number to call when the item is processed. If it is not set, the account ID will be used instead to call the phone number associated with the account.

status(CampaignItemStatus!)

The status of the campaign item that determines what actions can be taken on it.

"UNASSIGNED":  An item that is ready to be assigned to an agent
"ASSIGNED":    An item that is assigned to an agent and ready to contact
"IN_PROGRESS": An item where a call is currently in progress
"COMPLETE":    An item has been contacted, and does not need to be re-contacted
"REMOVED":     An item that was removed without being contacted

Example

{
  "id": "abc123",
  "phoneNumber": "abc123",
  "status": "UNASSIGNED",
  "callWindowStart": "2020-01-01T00:00:00.000Z",
  "callWindowEnd": "2020-01-01T00:00:00.000Z",
  "accountId": "abc123",
  "metadata": {"key": "value"}
}

Fields

NameDescription
campaignItems(VoiceCampaignItemConnectionTypeConnection)

The items that are part of the campaign.

These are the items that contain information about what phone numbers or accounts to call while this campaign is active.

Arguments

after (String)

before (String)

first (Int)

last (Int)

campaignType(TypeOfVoiceCampaign)

The type of campaign, e.g. preview or predictive.

customOutboundPhoneNumber(String)

If appropriate, a custom number to use as the caller id for calls from this campaign.

description(String)

Additional information to describe the purpose of the campaign.

id(ID)

The ID of the campaign.

name(String!)

The name of the campaign.

This is used to identify the campaign in the system, and must be unique.

preventDuplicateRecords(Boolean)

Flag to indicate whether not to create a duplicate record when uploading campaign items that already exist for a given account number and/or phone number

status(CampaignStatus)

The status of the campaign.

Indicates whether calls can be made for items in the campaign or not.

tags(CallTagConnectionTypeConnection)

The call tags that can be used within this campaign.

Arguments

after (String)

before (String)

first (Int)

last (Int)

Example

{
  "id": "abc123",
  "name": "abc123",
  "description": "abc123",
  "customOutboundPhoneNumber": "abc123",
  "status": "ACTIVE",
  "campaignType": "PREVIEW",
  "preventDuplicateRecords": true
}

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([VoucherPurchaseConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": VoucherPurchaseConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

VoucherPurchaseConnectionTypeEdge

A Relay edge containing a VoucherPurchaseConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(VoucherPurchaseType)

The item at the end of the edge

Example

{
  "node": VoucherPurchaseType,
  "cursor": "abc123"
}

Fields

NameDescription
availableFrom(Date)

When the voucher becomes available to be redeemed.

balance(Int)

The current balance left in the voucher.

charge(AccountChargeType)

The amount charged for the voucher.

chargeBalanceTransfer(AccountBalanceTransferType)

A balance transfer for the voucher charge, if any.

clientParams(JSONString)

Additional metadata from client sources stored against the voucher. This data is not structural and won't be relied on by Kraken internally.

displayName(String)

Display name for the voucher purchase.

id(ID)

The purchase ID.

payment(AccountPaymentType)

The payment associated with the voucher purchase, if any.

purchasedAt(DateTime)

When the purchase was performed.

redemptions([VoucherRedemptionType])

Fetch the redemptions for this voucher.

refundedAt(DateTime)

When the voucher was refunded, if it was refunded.

voucherValue(Int)

The value of the voucher in cents.

Example

{
  "id": "abc123",
  "charge": AccountChargeType,
  "payment": AccountPaymentType,
  "displayName": "abc123",
  "clientParams": {"key": "value"},
  "purchasedAt": "2020-01-01T00:00:00.000Z",
  "voucherValue": 1,
  "availableFrom": "2020-01-01",
  "balance": 1,
  "redemptions": [VoucherRedemptionType],
  "refundedAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
claimedAt(DateTime)

When the redemption was claimed.

credit(AccountCreditType)

The amount credited for the voucher redemption.

id(ID)

The redemption ID.

isReversed(Boolean)

Whether the redemption has been reversed.

Example

{
  "id": "abc123",
  "credit": AccountCreditType,
  "claimedAt": "2020-01-01T00:00:00.000Z",
  "isReversed": true
}

Fields

NameDescription
redeemableInFuture(Int)

The balance from vouchers that will be redeemable in future.

redeemableToday(Int)

The balance from vouchers that can be redeemable today.

Example

{
  "redeemableToday": 1,
  "redeemableInFuture": 1
}

Fields

NameDescription
deviceId(String)

Serial number.

marketSupplyPointId(String)

Meter point reference.

readingFrequencyType(ReadingFrequencyType)

The frequency of the reading.

Example

{
  "marketSupplyPointId": "abc123",
  "deviceId": "abc123",
  "readingFrequencyType": "RAW_INTERVAL"
}

Fields

NameDescription
endAt(DateTime)

id(ID!)

startAt(DateTime!)

status(ConnectionPeriodStatus!)

Example

{
  "id": "abc123",
  "status": "CONNECTED",
  "startAt": "2020-01-01T00:00:00.000Z",
  "endAt": "2020-01-01T00:00:00.000Z"
}

Fields

NameDescription
agreements([AusAgreementInterface])

A list of agreements belonging to an account that is linked to the logged in user.

Arguments

includeInactive (Boolean)

Include inactive agreements.

heatingPlant(HotWaterPlantType)

Heating plant or boiler.

Deprecated

The 'heatingPlant' field is deprecated.

Field will be moved to the meter point instead.

- Marked as deprecated on 2023-05-04.
- Scheduled for removal on or after 2024-01-01.

id(Int)

The database identifier of the meter point.

identifier(String)

The external identifier for the meter point (NMI for electricity, MIRN for gas).

meters([Meter])

Returns all meters by default, but can be filtered by meter id.

Arguments

id (Int)

Filter meters by database ID.

parentMirn(String)

pricingZone(CESPricingZone)

Pricing zone.

Deprecated

The 'pricingZone' field is deprecated.

Field will be moved to the meter point instead.

- Marked as deprecated on 2023-05-04.
- Scheduled for removal on or after 2024-01-01.

property(PropertyType!)

status(String)

supplyDetails(SupplyDetailsType)

Supply details including agreed capacity and connection units.

supplyPoint(WaterSupplyPointType!)

supplyType(String)

The fuel/service type for this meter point.

Example

{
  "id": 1,
  "pricingZone": "ACTEWAGL",
  "parentMirn": "abc123",
  "status": "abc123",
  "agreements": AusAgreementInterface,
  "identifier": "abc123",
  "meters": Meter,
  "supplyType": "abc123",
  "supplyDetails": SupplyDetailsType,
  "property": PropertyType,
  "supplyPoint": WaterSupplyPointType,
  "heatingPlant": HotWaterPlantType
}

Fields

NameDescription
accessDetails(String!)

accumulationReadings(EmbeddedWaterAccumulationReadingConnectionTypeConnection)

Arguments

after (String)

before (String)

first (Int)

last (Int)

activeFrom(DateTime!)

activeTo(DateTime)

connectionPeriods([WaterMeterConnectionPeriodType])

constructionDate(Date)

consumption(ConsumptionConnection)

Energy consumption recorded by the meter.

Arguments

after (String)

before (String)

first (Int)

grouping (ConsumptionGroupings!)

Aggregate consumption according to this grouping.

last (Int)

startAt (DateTime!)

Earliest consumption reading to return. Must specify a timezone.

timezone (String!)

Timezone to use for grouping.

consumptionUnits(String)

The units of consumption for a smart meter.

fuelType(String)

The type of fuel this meter uses.

heatingPlant(HotWaterPlantType)

Heating plant or boiler.

Deprecated

The 'heatingPlant' field is deprecated.

Field will be moved to the meter point instead.

- Marked as deprecated on 2023-05-04.
- Scheduled for removal on or after 2024-01-01.

id(ID!)

installationDate(Date!)

keyDetails(String)

location(MeterLocation!)

makeAndModel(String!)

measurementUnit(MeterMeasurementUnit!)

meterPoint(WaterMeterPointType!)

nextScheduledReadDate(Date)

The next scheduled read date of the meter.

numberOfDials(Int!)

pricingZone(CESPricingZone)

Pricing zone.

Deprecated

The 'pricingZone' field is deprecated.

Field will be moved to the meter point instead.

- Marked as deprecated on 2023-05-04.
- Scheduled for removal on or after 2024-01-01.

readMethod(WaterMeterReadMethod!)

requiresCotFinalReading(Boolean)

Whether this meter requires a final change of tenancy (COT) reading.

serialNumber(String!)

Example

{
  "id": "abc123",
  "serialNumber": "abc123",
  "makeAndModel": "abc123",
  "readMethod": "REMOTE",
  "location": "ACCESS_HATCH",
  "accessDetails": "abc123",
  "measurementUnit": "DECILITRES",
  "numberOfDials": 1,
  "keyDetails": "abc123",
  "installationDate": "2020-01-01",
  "constructionDate": "2020-01-01",
  "activeFrom": "2020-01-01T00:00:00.000Z",
  "activeTo": "2020-01-01T00:00:00.000Z",
  "consumptionUnits": "abc123",
  "requiresCotFinalReading": true,
  "fuelType": "abc123",
  "consumption": ConsumptionConnection,
  "nextScheduledReadDate": "2020-01-01",
  "connectionPeriods": [WaterMeterConnectionPeriodType],
  "accumulationReadings": EmbeddedWaterAccumulationReadingConnectionTypeConnection,
  "heatingPlant": HotWaterPlantType,
  "pricingZone": "ACTEWAGL",
  "meterPoint": WaterMeterPointType
}

Fields

NameDescription
id(ID)

The unique identifier of the supply point.

marketName(String)

The market this supply point belongs to.

meterPoint(WaterMeterPointType)

The associated meter point.

property(PropertyType)

The property associated with this supply point.

Example

{
  "id": "abc123",
  "marketName": "abc123",
  "property": PropertyType,
  "meterPoint": WaterMeterPointType
}

Fields

NameDescription
body(String!)

Whatsapp text message body.

Example

{
  "body": "abc123"
}

WithdrawDunning

Withdraw a dunning process for an account

The possible errors that can be raised are:

  • KT-CT-4178: No account found with given account number.
  • KT-CT-11301: Account not in a dunning process for the given path name.
  • KT-CT-11302: No active dunning process found.
  • KT-CT-11303: Multiple active dunning processes found.
  • KT-CT-11306: Withdrawing the dunning process failed.
  • KT-CT-1113: Disabled GraphQL field requested.
  • KT-CT-1111: Unauthorized.
  • KT-CT-1112: 'Authorization' header not provided.

Fields

NameDescription
withdrawSuccessful(Boolean)

Whether the dunning process was withdrawn successfully.

Example

{
  "withdrawSuccessful": true
}

Fields

NameDescription
identifier(String!)

The identifier of the work schedule (also known as the 'slug').

isOpen(Boolean!)

Whether the work schedule is currently open.

isPublicHoliday(Boolean!)

Whether today is a public holiday, according to the work schedule.

name(String!)

Name of the work schedule.

openOrClosedReason(WorkScheduleOpenOrClosedReason!)

The reason the Work Schedule is open or closed.

Example

{
  "identifier": "abc123",
  "name": "abc123",
  "isOpen": true,
  "isPublicHoliday": true,
  "openOrClosedReason": "CLOSED_DUE_TO_PUBLIC_HOLIDAY"
}

WorkflowType

A workflow manages a set of long-running steps of a user journey. This type represents a single run of a given workflow.

Fields

NameDescription
id(ID!)

name(String)

The name of the business flow that the workflow is affiliated to.

status(Status)

The workflow's current processing status.

steps([StepType])

The steps of the workflow.

Example

{
  "id": "abc123",
  "name": "abc123",
  "status": "SKIPPED",
  "steps": [StepType]
}

WorkflowTypeConnectionTypeConnection

This field is a connection type. Connections are used to implement cursor based pagination.

Fields

NameDescription
edgeCount(Int!)

Number of nodes in the edge.

edges([WorkflowTypeConnectionTypeEdge]!)

Contains the nodes in this connection.

pageInfo(PageInfo!)

Pagination data for this connection.

totalCount(Int!)

Total number of nodes.

Example

{
  "pageInfo": PageInfo,
  "edges": WorkflowTypeConnectionTypeEdge,
  "totalCount": 1,
  "edgeCount": 1
}

WorkflowTypeConnectionTypeEdge

A Relay edge containing a WorkflowTypeConnectionType and its cursor.

Fields

NameDescription
cursor(String!)

A cursor for use in pagination

node(WorkflowType)

The item at the end of the edge

Example

{
  "node": WorkflowType,
  "cursor": "abc123"
}

Fields

NameDescription
message(String!)

Example

{
  "message": "abc123"
}